News

General tag for all news, to collect under one heading.

Parrot 7.1.0 "Lilian's Lovebird" released

"Recently, cases of Lilian's lovebird poisoning have intensified although it is not known why poachers are poisoning the birds. Lilian's lovebird researchers assume poachers mean to poison larger mammals and lovebirds fall victims." - en.wikipedia.org/wiki/Lilian%27s_lovebird#Threats

On behalf of the Parrot team, I'm proud to announce Parrot 7.1.0, also known as "Lilian's Lovebird". Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 7.1.0 is available on Parrot's FTP site, or by following the download instructions. For those who want to hack on Parrot or languages that run on top of Parrot, we recommend our organization page on GitHub, or you can go directly to the official Parrot Git repo on Github

Parrot 7.1.0 News:

    - Core
        + Fix SIGBUS in GC trace_mem_block on alignment-strict CPUs (arm), #1200.
          We traced all pointers by +1 and not by +4 or +8.
    - Tests
        + Add a common GC stress test to the normal testsuite. #1189
        + Fix tests for --ccflags=-DSTRUCT_DEBUG. #1195
    - Community
        + rakudo perl6 announced to drop parrot support.
tags:

Parrot 7.0.2 Hotfix released

We detected and fixed two bugs and regressions from 6.10.0 which failed to build parrot on Microsoft Windows with Microsoft Visual Studio C++.

- Wrong function ptr cast
  https://github.com/parrot/parrot/issues/1190
- Wrong SAL annotations (also 32 bit)
  https://github.com/parrot/parrot/issues/1192

Other minor changes in this hotfix:

Parrot 7.0.1 Hotfix released

We detected and fixed two serious and two minor bugs which required a 7.0.1 hotfix release.

- GC regression --optimize caused by PARROT_CANNOT_RETURN_NULL, which 
was visible on machines with low memory. 
https://github.com/parrot/parrot/issues/1186

This causes segfaults with --optimize, which is the default for nqp
and rakudo, on better (i.e. newer) compilers. The bug was there since
3.6, but turned evil only with 7.0, when packfile got refactored.

- threads deadlock in gc_gms_mark_and_sweep()
https://github.com/parrot/parrot/issues/1187

With cc -O3 the lock code is too far away from the guard, thus causing
our threads example examples/threads/chameneos.pbc to hang, a
regression from 6.11.0

And 2 minor ones for --m=64 or --m=32:

- fix --m=64 with gcc on ppc64 and mips64 #1181,

--m=64 produced wrong ld and linkflags since 6.10, GH #1110

- fix icu probes with --m #1182

We never linked icu again the libs in the configure step, so we failed
to detect wrong architectures, and worse, added wrong arch include and
libpaths to the flags (e.g. amd64 --m=32), causing all sorts of icu
errors, when has_icu=1 but either linking or runtime failed. This
always caused problems.

Parrot 7.0.0 "Crimson Shining Parrot" released

"We'll show him! We'll show them *all*!"

"Okay," said Susan, "that was *definitely* evil -"

"No," said Lavender, "that's a Chaos Legion motto, actually. Only she
didn't do the insane laughter."

"That's right," Tracey said, her voice low and grim. "This time I'm not
laughing." The girl went on stalking through the corridor, like she had
dramatic music accompanying her that only she could hear.

(Hermione was starting to worry about what *exactly* the impressionable
youths of the Chaos Legion were learning from Harry Potter.)

    -- Harry Potter and the Methods of Rationality
       http://hpmor.com/                chapter/70

On behalf of the Parrot team, I'm proud to announce Parrot 7.0.0, also known as "Crimson Shining Parrot". Parrot is a virtual machine aimed at running all dynamic languages.

tags:

New faster release Parrot 6.11.0 "Fischer's Lovebird"

On behalf of the Parrot team, I'm proud to announce Parrot 6.11.0, also known as "Fischer's Lovebird". Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 6.11.0 is available on Parrot's FTP site, or by following the download instructions. For those who want to hack on Parrot or languages that run on top of Parrot, we recommend our organization page on GitHub, or you can go directly to the official Parrot Git repo on Github

Highlights: Performance: 15-25% faster, fixed GC, experimental VMS port.

Parrot 6.11.0 News:

    - Core
        + Rewrote ResizablePMCArray with moving offset, esp on shift.
          Even better than nqp/qrpa. 20% faster overall. #1152
        + Fixed wrong maybe_mark_and_sweep call in --gc ms #1142
        + Added GC maybe_gc_mark vtable function #1142
        + Fixed Memory_Block prolog access in --gc inf #1136
        + Added MEMORY_DEBUG tracing to --gc inf and ms2, added
          GC validation to ms2.
        + Fix bignum.i_substract and i_multiply #1144
        + Fix cmod_p_p_n* math dynops for NaN and Inf #1147
        + Fix floor, ceil and complex, integer math ops for NaN and Inf #422
        + Optimize printing of single numbers #828
        + More --debugging protections when accessing empty registers
          from :immediate #1024
        + Change ResizablePMCArray.delete to throw out of bounds errors,
          but just warn on deprecated delete[0] with size 0 for backcompat. #1153
        + Add check for illegal delete of capture blocks in PGE.match #1154
        + Add new traceflag -t20 for ResizablePMCArray states.
        + Add experimental vms support by mvorl. Untested. GH #866
        + Provide Parrot_new_string and Parrot_compile_string in the extend api
    - Build
        + Extend auto::infnan probe to other --floatval #1146
        + Warn in Configure on experimental flags intval, floatval and gc #1148
        + Die in Configure on unsupported intval sizes #1148, #642, ...
        + Renamed auto::labs to auto::mathl, probe and use more long math
          functions: fabsl powl ceill floorl fmodl expl logl #1111
        + Fixed pbc_to_exe and wrong Parrot_{g,s,uns}etenv declarations on windows #1156
    - Documentation
        + Rewrote docs/pmc/array.pod
    - Tests
        + Fix t/steps/auto/arch-01.t darwin regression #1142
        + Added bigger t/stress/gc.t test to catch most GC issues.
        + Add optional copyright year test on TEST_SLOW #719
        + Fix most --floatval='long double' tests, just embed API broken #1111
        + Adjust tests for VALGRIND=valgrind #1150
        + Added tests to t/pmc/resizablepmcarray.t to cover all offset cases. #1152
        + Replace included IO::CaptureOutput with our own capture function. #892
        + Fixed most embed and extend tests. #41511 #829
    - Community

Parrot 6.10.0 "New Caledonian lorikeet" released

    Now instead of four in the eights place
    You've got three,
    'Cause you added one,
    That is to say, eight, to the two,
    But you can't take seven from three,
    So you look at the sixty-fours...

    Sixty-four?  "How did sixty-four get into it?"  I hear you cry!
    Well, sixty-four is eight squared, don't you see?
        -- Tom Lehrer, "New Math"
            (Which starts in decimal, but ends in octal)

On behalf of the Parrot team, I'm proud to announce Parrot 6.10.0, also known as "New Caledonian lorikeet".

tags:

New supported release Parrot 6.9.0 "Rosy-faced Lovebird"

On behalf of the Parrot team, I'm proud to announce the new supported release Parrot 6.9.0, also known as "Rosy-faced Lovebird". Parrot is a virtual machine aimed at running all dynamic languages.
The name Lovebird stems from the parrots' strong, monogamous pair bonding and the long periods which paired birds spend sitting together. Lovebirds live in small flocks and eat fruit, vegetables, grasses and seed.

Parrot 6.9.0 is available on Parrot's FTP site, or by following the download instructions. For those who want to hack on Parrot or languages that run on top of Parrot, we recommend our organization page on GitHub, or you can go directly to the official Parrot Git repo on Github.

Parrot 6.9.0 News:

    - Core
        + Changed behavior with illegal escape sequences, GH #1103. Do not silently
          skip the \ anymore, throw an EXCEPTION_INVALID_CHARACTER error with
          "Illegal escape sequence \o in 'string\o'".
        + Add platform encoding functions for darwin, FreeBSD, OpenBSD and NetBSD,
          fixing rakudo problems with UTF-8 locales. #1092
        + Enable trap op (int3) on x86_64 also
        + Add const to env api STRING args
        + Do no pre-allocate 256 IO tables for the standard handles, only 3. #1093
        + Renamed ops2c to parrot-ops2c. Get the new name if exists in config
          key ops2c. #900
        + Reenable parrot -t [flags] traceflags to enable the flags 2 find_method and
          4 invoke/retcc/yield again.
        + Enable >2GB RAM on darwin also. #268
        + Fix crash with parrot -d8 DEBUG_IMC dump_instructions
        + Fix sprintf width count for unicode strings. #956
        + Fix sprintf width for NaN/Inf/-Inf [GH #1099/perl6 RT#116280]
        + Optimize utf8_substr. Do not use the slow utf8 iterator.
        + Regenerated and fixed the iso_8859_1_typetable. Add \x2028, \x2029
          and \v to be of cclass newline. [GH #1086, perl6 RT #122341].
          Several chars 160..191 are not in the [[:punct:]] class anymore.
          Removed defunct Parrot_ascii_typetable, unused since 2010.
        + Protect callmethod from an empty object, missed by fixup_subs
          immediate. #1024
        + Add Couroutine reset and autoreset methods. #564
        + Add -t8 trace flag for Coroutine states
        + Disabled trace flags -t4 and -t8 with --optimize. #1105
        + Harmonize parrot usage messages
    - Build
        + Fix all -Wshadow instances
        + Added bootstrap-tables make target
        + Configure options consistency: --{en,dis}able- for shared, rpath,
          threads, --with{,out}- for: llvm pcre ... + threads. [GH #1101]
        + Deprecated --parrot_is_shared in favor of --enable-shared. [GH #1101]
        + Change default of the config key debugging from 1 to 0, i.e. you need to
          provide now --debugging[=flags] for debugging. [GH #1099]
        + Enable --disable-shared (or --parrot_is_shared=0) to link against static
          libparrot [GH #1101]
    - Documentation
        + Add missing manpages for pbc_disassemble, pbc_dump, pbc_merge
        + Improved src/string/encoding/tables.c pod.
    - Tests
        + Run fulltests with the runcore=fast,-O1,-O2 fast, without -D040, --gc-debug
          [GH #1086]
        + Added tests for LexInfo.declare_lex_preg and .lex quoting roundtrips
          [GH #1095]
        + Simplify smolder resend usage
        + Fix mingw issues with \r\n
        + Updated the missing native_pbc 64-bit big-endian files on mips64 qemu.

Parrot 6.8.0 "Little Lorikeet" released!

Lories and lorikeets (tribe Lorini) are small to medium-sized arboreal parrots characterized by their specialized brush-tipped tongues for feeding on nectar of various blossoms and soft fruits, preferably berries. -- en.wikipedia.org/wiki/Lories_and_lorikeets
(Parrots that eat like hummingbirds!)

On behalf of the Parrot team, I'm proud to announce Parrot 6.8.0, also known as "Little Lorikeet". Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 6.8.0 is available on Parrot's FTP site, or by following the download instructions. For those who want to hack on Parrot or languages that run on top of Parrot, we recommend our organization page on GitHub, or you can go directly to the official Parrot Git repo on Github

Parrot 6.8.0 News:

    - Build
        + pbc_to_exe created executables use now the absolute execname on most platforms
          and not only argv[0] which needs to be looked up in the path. [GH #1088]
    - Documentation
        + Fix various new podchecker syntax errors with the new Pod::Simple 3.28
    - Tests
        + Update embedded Pod::Simple to 3.28 to fix the missing whiteline_handler method
          from non-embedded podchecker [GH #1089]
        + Skip 3 crashing codingstd tests with 5.8 DEBUGGING [GH #1090]

tags:

Parrot 6.7.0 "Grey-headed Lovebird" Released

On behalf of the Parrot team, I'm proud to announce Parrot 6.7.0, also known as "Grey-headed Lovebird". Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 6.7.0 is available on Parrot's FTP site, or by following the download instructions. For those who want to hack on Parrot or languages that run on top of Parrot, we recommend our organization page on GitHub, or you can go directly to the official Parrot Git repo on Github


Parrot 6.7.0 News:

- Core
+ find_codepoint: added more name aliases for perl6 (LF,FF,CR and NEL)
+ Optimize internal pcc CallContext calls from VTABLE to direct calls
and inline CallContext ATTR accessors to omit the obj check. [GH #1083]
- Documentation
+ Updated documentation for StringHandle.readall and FileHandle.readall, which
reads just the rest of the buffer if tell > 0. [GH #1084]
- Tests
+ Improve test plan for t/library/pg.t
- Community
+ Our GSoC student Chirag Agrawal successfully passed the final evaluation.
All three project parts have been merged already.

tags:

Parrot 6.6.0 "Parrothead" released!

As a dreamer of dreams and a travelin' man,
I have chalked up many a mile.
Read dozens of books about heroes and crooks,
And I've learned much from both of their styles.
    -- Heard playing in Margaritaville bar,
       in Orlando after YAPC::NA::2014.

On behalf of the Parrot team, I'm proud to announce Parrot 6.6.0, also known as "Parrothead". Parrot is a virtual machine aimed at running all dynamic languages.

Syndicate content