Parrot 0.8.2 "Feliz Loro" Released!

On behalf of the Parrot team, I'm proud to announce Parrot 0.8.2 "Feliz Loro." Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 0.8.2 is available via CPAN (soon), or follow the download instructions. For those who would like to develop on Parrot, or help develop Parrot itself, we recommend using Subversion on our source code repository to get the latest and best Parrot code.

Parrot 0.8.2 News:

- Implementation
  + fixed lexical semantics
  + added the 'capture_lex' opcode
  + added automatic resume for nonfatal exceptions
  + added multidispatch cache
  + applied miscellaneous performance improvements, including startup time
  + fixed several bugs and leaks found by Coverity Scan
  + removed race conditions from parallel testing
- Compilers
  + IMCC
    - removed undocumented .param int  =>  syntax
    - .line directive now only takes an integer argument
    - new .file directive to specify the file name being compiled
  + PCT
    - properly handles lexical generation and closure semantics
    - uses :subid instead of name lookups to reference PAST::Block nodes
    - added PAST::Control node type (exception handlers)
  + PGE
    - add support for <?{{...}}> and  assertions
    - Match objects use Capture PMC instead of Capture_PIR
  + PIRC
    - add macro handling to PASM mode
    - disable vanilla register allocation in PASM mode, but do allow optimization
    - add tests and bug fixes
    - first bits of bytecode generation. No sub calling/returning yet.
- Languages
  + Rakudo
    - fixed lexical handling and recursion
    - refactored subtypes implementation
    - support for quotes with multi-character delimiters
    - implemented list slices (Positional role)
    - list assignment
    - reduction meta operators
    - hyper meta operators
    - cross meta operators
    - more builtin functions
    - added Nil type
    - basic support for protos
    - iterator on filehandle objects
    - basic support for exception handlers
    - warn
  + Lua
    - added complex & mathx libraries
    - merged LuaClosure & LuaFunction PMC
  + Pipp
    - added support for a return value from user defined functions
    - added incomplete implemention of 'require_once'
  + Ecmascript
    - parser fixes, parses spidermonkey's top level test/shell.js
- Deprecations
  + PARROT_API is now PARROT_EXPORT
  + PIR
    - :lexid is now :subid
    - .arg is now .set_arg
    - .result is now .get_result
    - .yield (in .begin/end_yield) is now .set_yield
    - .return (in .begin/end_return) is now .set_return
    - .namespace x / .endnamespace x syntax is removed
  + Capture_PIR (runtime/parrot/library/Parrot/Capture_PIR.pir)

Thanks to all our contributors for making this possible, and our sponsors for supporting this project. Our next release is 20 January 2009.

Enjoy!