* src/pmc/coroutine.pmc:
[parrot.git] / NEWS
blob1a31d7dc1e86daeeff283e67b24e8dfbfe2829ce
1 # $Id$
3 New in 0.4.17
4 - Implementation
5  + Bug fixes (including Coverity IDs 20, 22, 30, 119-122, 124-126, 129-131)
6    Also various GC, memory, and segfault issues
7  + Fix & reenable CGP core  
8  + Parrot's -r flag now works again (compile to and execute bytecode)
9  + Updates to pmc2c & PIR syntaxes
10  + Fix Complex PMC
11  + Minor performance improvements, especially in PGE
12 - Documentation
13  + PDD02 "Vtables" - superceded by PDD17
14  + PDD06 "PASM" - minor updates
15  + PDD17 "PMC" - add VTABLE syntax, update core PMC struct, restore UnionVal
16  + PDD19 "PIR" - early review started
17  + PDD21 "Namespaces" - cleanup
18  + PDD24 "Events" - draft approved
19  + PDD25 "Concurrency" - minor updates
20  + PDD26 "AST" - draft version begun
21  + PIR tutorials updated
22 - Languages/Compilers
23  + Make scheme work with the current calling conventions, other major work.
24  + Updates to m4, lua, compilers/pirc, languages/PIR, dotnet, tcl
25 - Miscellaneous:
26  + make -j functional again
27  + Code cleanup (refactoring, optimizations)
29 New in 0.4.16
30 - Implementation:
31  + Performed code review on every PMC
32  + Modified PMC code generation to use Storable, reducing compile times
33  + Added a makefile target to generate test coverage data of C sources
34 - Languages:
35  + NQP: added lists, for loops, operators, comparison and multiplicative operators
36  + Announced Kea-CL, Kea Common Lisp, an ANSI Common Lisp implementation
37    The repository is available at https://rgrjr.dyndns.org/svn/kea-cl/trunk/
38 - Documentation
39  + PDD17 "PMCs" - draft approved, the design is complete
40  + Added more PIR tutorials, see examples/tutorial/00_README.pod
41 - Miscellaneous:
42  + Many bugfixes, enhancements, documentation, and coding standard updates
43  + Deprecated PMC constants and other crufty syntax, see DEPRECATED.pod
44  + Improved icc compiler compatibility for error line reporting
46 New in 0.4.15
47 - Implementation:
48  + Lots of code review, many bugs fixed
49  + Many more code cleanups and compiler warning levels
50  + Started a new jit engine for 64-bit processors
51  + Refactored configure process, with tests and new diagnostic options
52  + Added new CodeString PMC for dynamic generation of PIR code
53  + More pdd15 support for object metamodel.
54 - Languages:
55  + Added NQP ("Not Quite Perl"), a very lightweight Perl 6-like language
56  + Significant improvements and refactors to PCT (Parrot Compiler Toolkit)
57  + perl6 passes more spec tests
58  + Lua works now with a PGE/TGE/PAST-pm based compiler, lives in one pbc,
59    and the interpreter has same behavior as original.
60 - Documentation
61  + Added a committers' HOWTO
62  + More PIR tutorial examples
63  + Added PAUSE guide
65 New in 0.4.14
66 - Now, with Seat Belts!
67  + added makefile targets for Sun lint, BSD lint, and splint
68  + corrected many errors picked up by these tools
69  + decorated source code with compiler hints, assertions, and attribute macros
70  + automated creation of function declarations to prevent common errors
71  + increased compiler warnings levels
72  + converted more exceptions to a recoverable form
73 - Languages:
74  + updated Lisp, Lua, Perl 6, tcl, regex, Scheme ("Pheme")
75  + Perl 6 now fetches selected tests from pugs, and even passes some
76  + PGE modified to handle {*} action subs for top-down and bottom-up parsers,
77    and to allow grammar subclassing
78  + HLLCompiler now has better exception, eval, and exit support
79  + Introduced PCT, a refactor of HLLCompiler and PAST-pm
80 - Design:
81  + PDD15 "Objects" - details added to 'new' and 'getattribute' opcodes
82  + PDD17 "PMCs" - notes added on instantiation and dynamic extention in PIR
83 - Documentation:
84  + added Parrot-related text from "Perl6 and Parrot Essentials" book,
85    tutorial examples from "Learning PIR" talk, and PDD15 metamodel diagrams
86 - Implementation:
87  + reduced memory footprint when using named registers
88  + implemented overridding of vtable methods by PDD15 classes
89  + improved PDD15 support for 'new', 'instantiate', and others
90  + added makefile targets to ease core and HLL makefile regeneration
91  + updated parrot dubugger, "pdb", to allow loading of commands from file
92 - Misc:
93  + many bugfixes, enhancements, documentation, and coding standard updates
95 New in 0.4.13
96 - Languages:
97  + Updated Lisp, Lua, PHP ("Plumhead"), Python ("Pynie"), ABC,
98    WMLScript, and Tcl ("ParTcl").
99  + Perl 6 passes all of the sanity tests.
100  + PGE supports latest Perl 6 grammar syntax. Perl 6, Python
101    ("Pynie"), and ABC parsers updated to match.
102  + Updated PHP ("Plumhead") to Antlr 3.0.
103  + Lua added the beginnings of a PGE/TGE based compiler (not yet
104    replacing the Perl/Yapp compiler).
105  + Lisp updated for current features, added a test suite.
106 - Core Implementation:
107  + Filled in features and backward compatibility for PDD 15 objects.
108    New object metamodel passes 85% of old test suite.
109  + GCC API symbols are visible externally only when explicitly exported.
110  + Added generated GCC compiler attributes to increase warnings, and
111    cleaned up resulting warnings.
112  + Code cleanup efforts and fixed memory leaks by the cage cleaners,
113    resulting in notable speed increases.
114 - Misc:
115  + Updated Parrot distribution to Artistic License 2.0, from dual
116    Artistic 1/GPL license.
117  + SDL examples brought up-to-date with current features.
119 New in 0.4.12
120 - Build:
121  + even more refactorings and improvements in configuration system
122  + improved tests and documentation for configuration system
123 - Languages:
124  + Updated abc, PHP ("Plumhead"), Lua, Tcl
125  + Reclaimed Lisp
126 - Design:
127  + new PMC PDD draft partially completed
128 - Implementation:
129  + continued implementation of PDD 15 (Objects)
130  + minor garbage collector and memory management improvements
131  + several memory leaks resolved
132  + extended support for compilers other than GCC
133  + improved C++ compiler compatibility
134  + enhanced support for Solaris, non-MSVC Win32, and other platforms
136 New in 0.4.11
138 - Compilers:
139  + IMCC: added documentation for C-based Parrot Calling Conventions,
140    refactorings and bug fixes
141  + PGE: new perl6regex front end reflecting recent S05 syntax changes
142  + PIRC: new prototype PIR parser
143 - Languages:
144  + Updated Lua, PHP ("Plumhead"), BASIC, pynie
145  + Lua implements environment
146 - Design:
147  + PDD15 "Objects" - details added, and draft approved
148 - Documentation:
149  + Added guidelines for PMC documentation
150 - Implementation:
151  + PDD15 implementation is largely complete, including role-based composition,
152    introspection, and C3 method resolution order
153  + new Exporter PMC for importing globals between namespaces
154  + new string utilities for radix conversion
155  + PCCINVOKE and Parrot_PCCINVOKE allow calling using the full Parrot Calling
156    Conventions from PMCs and C code respectively
157 - Build:
158  + Refactorings and improvements in test coverage for 'Configure.pl'
159 - Misc:
160  + many bugfixes, enhancements, and code cleanup
161  + added example subversion config file
162  + extended support for gcc, icc, and other compilers
163  + extended support for Solaris and other platforms
166 New in 0.4.10
168 - Compilers:
169  + IMCC: Parrot calling conventions now available between two C PMCs (PMINVOKE)
170  + PGE: Match object improvements
171  + smop: added Attribute and Class PMCs
172  + HLLCompiler: improvements for interactive mode
173 - PAST:
174  + extended binding to a list of variables
175 - Languages:
176  + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), Ruby ("Cardinal")
177  + Update PIR, regex, Zcode
178  + New language: Pynie - a Python compiler for Parrot
179  + Lua implements require and many other ops, improved regex support
180  + Remove parakeet
181 - Design:
182  + PDD01 "Overview" - updated architecture and platform information
183  + PDD15 "Objects" - details on roles, objects, and classes added
184  + PDD22 "I/O" - added async ops and Status PMC details
185 - Documentation:
186  + Added guides for Metacommitter, Relase Manager, and Cage Cleaner roles
187 - Implementation:
188  + Object, Class, Role, and Attribute PMC implementation has begun
189  + Perl 5 module "Parrot::Embed" now compiles and links on all platforms
190 - Build:
191  + Major improvements in test coverage for 'ops2c.pl'
192 - Misc:
193  + New utility: Crow, a template processor
194  + New library module: Config/JSON for reading/writing JSON files
195  + many bugfixes, enhancements, and coding standard updates, code cleanup
197 New in 0.4.9
199 - Compilers:
200    + IMCC: Parrot calling conventions now available in C PMCs, allowing
201      named, optional, slurpy, and flat parameter passing
202    + PGE: extended support for Perl 5 Regexes
203    + smop: prototype object model implementation
204    + hllcompiler: refactored to run a configurable set of compilation stages
205 - PAST:
206    + redesigned assign/binding to support Perl 6 binding semantics
207 - Languages:
208    + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), perl6, perl5
209    + New language: PIR - a PGE-based implementation of Parrot PIR
210    + perl6 now supports binding (':=') and 'join'
211    + lua generates tail calls, and supports its own regex flavor (PGE-based)
212    + Pheme still works, huzzah!
213 - Design:
214    + PDD21 "Objects" - rewritten
215    + PDD22 "I/O" - updated and 'TODO' tests added
216 - Documentation:
217    + Interface stability classification standards approved
218    + Roles and Responsibilities documented approved
219    + Official 'drafts' directory created (was 'clip')
220 - Implementation:
221    + More NameSpace and OS PMC methods implemented
222    + Parrot executable fullname and basename now available in PIR/PASM code
223    + new 'chomp' library function
224 - Build:
225    + Major improvements in test coverage for 'ops2pm.pl'
226 - Misc:
227    + many bugfixes, enhancements, and coding standard updates
228    + extended support for Sun Workshop Compilers
229    + Parrot now builds on PocketPC platform
231 New in 0.4.8
233 - Compilers:
234    + HLLCompiler: added tracing options, modified api
235    + PGE & TGE bugfixes and updates
236 - PAST:
237    + added global and lexical variable support
238    + added looping constructs, arrays, hashes
239 - Languages:
240    + Updated PHP ("Plumhead"), Tcl ("ParTcl"),
241      forth, perl6, lua, abc, APL, WMLScript, punie
242    + ParTcl is passing > 24.9% of Tcl cvs-latest test suite
243    + perl6 now supports hashes, arrays, method calls, arity-based
244      multisubs, quoted terms, ranges (non-lazy), try blocks, $!
245 - Design:
246    + PDD01 "Overview" - updated
247    + PDD22 "I/O" - rewritten and approved
248 - Test Suite:
249    + Converted Perl 5 Regex tests to PIR, with notable speedup
250    + Added tests for opcodes, compilers, languages, and coding standards
251 - Build:
252    + Major improvements in test coverage for 'pmc2c.pl'
253 - Misc:
254    + many bugfixes, enhancements, and coding standard updates
255    + extended support for non-core platforms including Cygwin, Tru64
257 New in 0.4.7
259 - New languages: PHP ("Plumhead"), Forth
260 - Updated languages: Ruby ("Cardinal"), Tcl, Lua
261 - Remove old Python implementation from Parrot repository; the new Python
262   language code is hosted at http://pirate.tangentcode.com
263 - Compilers:
264    + PGE updated with more expressions, latest changes to S05
265    + new Perl6 grammar compiler
266 - Integration:
267    + Perl 5 module "Parrot::Embed" allows easy embedding of a Parrot
268      runtime into a Perl 5 program
269 - PIR:
270    + new :init pragma for subs that must run before the main function
271    + new :vtable pragma to identify subs that override PMC vtable methods,
272      eliminating the need for special subroutine names
273    + PIR parser/compiler does not stop on first syntax error
274    + Vanilla register allocator ("register alligator") greatly improves
275      performance compiling large functions
276    + Eliminated limit on number of PIR macros
277 - PMCs:
278    + hash lookups return null instead of None for missing keys
279 - Design:
280    + PDD13 "Bytecode files: format and manipulation" - new
281    + PDD10 "Embedding" - new
282    + PDD25 "Concurrency" - rewritten
283    + PDD15 "Objects" - new section on redesign requirements
284    + PDD07 "Coding standards" - significant updates and automated tests
285 - Test Suite:
286    + Many many more new tests
287 - Build Process:
288    + autoconf compatible install options
289 - Misc:
290    + Namespace refinements
291    + Coroutine improvements
292    + An impressive swarm of other bugfixes and enhancements
294 New in 0.4.6
296 - New languages: Ruby ("Cardinal"), Javascript ("ecmascript")
297 - Updated languages: Tcl, dotnet, bc, Pheme, Punie, WMLScript
298 - Updated compilers: PGE, TGE
299 - IMCC updates:
300    + ".loadlib" directive expresses dependencies
301    + ".namespace" with no parameter goes to HLL root
302    + lexer is reentrant (reentrant grammar in progress)
303 - Namespace improvements:
304    + new suite of opcodes to access namespaces and globals
305      ("find_global" and "store_global" will be phased out)
306    + namespace '' no longer means HLL root
307 - Design document updates:
308     namespaces (pdd23), basic types (pdd17), embedding
309 - Updated tool requirements for developers:
310     flex 2.5.33, bison 2.1, perl 5.6.1
311 - New to-do list for people new to Parrot:
312     cage/todo.pod
313 - The usual plethora of bugfixes and enhancements
315 New in 0.4.5
317 - unicode subroutine names
318 - hierarchical class names finished including MMD support
319 - new dotnet CLI to PIR translator
320 - improved TGE code and compiler
321 - APL: vector handling
322 - new STM branch in the svn repository
323 - the usual bugfixes and enhancements
325 New in 0.4.4
327 - hierarchical class names
328 - APL compiler
329   - under development
330   - understands simple vector ops, strings
331   - demonstrates use of Unicode in Parrot
332 - pgc, a compiler for rules and operator precedence parsers
333 - Major redesign and improvements for PGE
334   - compilers understand named parameter options
335   - :ratchet option implemented to support non-backtracking quantifiers
336 - TGE (tree grammar engine) for tree transformations
337   - tgc, tree grammar compiler
338 - perl6 compiler
339   - support for many operators, lexical scalars, regex matches
340 - new pheme (Parrot scheme) compiler
342 New in 0.4.3
344 - namespaces partially implemented
345 - rulec, Perl6 rule compiler
346 - PGE improvements including return values for closure
347 - parts of a Perl6 parser based on PGE
348 - complex trigonometric methods
349 - type of Sub PMC is now overridable by HLL
350 - NetBSD support
351 - many bug fixes and improvements
353 New in 0.4.2
355 - improved PPC and x86 JIT support including JIT compilation
356   of very simple PASM/PIR subroutines
357 - preliminary libreadline support
358 - better trace and debug features
359 - pkgconfig support
360 - META.yml to support proper indexing on CPAN
361 - new opcode: hcf (in "my_ops" in dynamic op library)
362 - new File pmc for file specific ops (is_dir, is_file, copy, rename...)
363 - named arguments and parameters (both :named("") and => syntaxes)
364 - ongoing config improvements
365 - tons of bug fixes and other small improvements - too much to list all
367 New in 0.4.1
369 - Installation: 'make install' is using standard locations now
370   (/usr/local is the default --prefix)
371 - Produce static and shared libraries on some systems
372 - Configure system rearragement
373 - OS pmc started (mkdir,cd,cwd,rm,umask,stat)
374 - Shootout examples
375 - Test files are now testable with 'prove'
376 - Smoke (and smokej) outputs progress
377 - PIR supports: I = A < B (>,<=,>=,==,!=)
378 - Add support for octal number constants
379 - partcl updates:
380   - almost finish [string]; start [file]
381   - add build tool for generating inline'd tcl builtins from templates.
382 - Jako updates: NCI, subroutines, global variables and constants all work.
383   (Gregor)
385 New in 0.4.0
387 - New lexical handling and closure support including better
388   introspection for caller and outer
389 - PGE (Parrot Grammar Engine) provides now compilers for P6Rule,
390   P6Grammar, P5Regexp, and Glob
391 - ca. 1000 new tests including 800 for Perl5 regexp
392 - Improved unicode charset and encoding support
393 - Calling conventions for exception handlers
394 - Punie (Perl 1) uses TGE (Tree Grammar Engine) to convert from
395   PGE match objects to AST via two steps of tree transformation grammars
396 - New languages: amber and lua
397 - The usual code fixes, cleanup, and improvements, including an overhaul
398   of the config and test framework
400 New in 0.3.1
402 - Variable sized register frames are finished. Each subroutine gets
403   the amount of registers that it actually needs. No more spilling.
404 - Vastly improved PGE (Parrot Grammar Engine) including shift-reduce,
405   precedence-based expression parser and support for matching of
406   bracketed text delimited by e.g. ()[]{}'"
407 - uniccode character classification (is_upper ...)
408 - support for heredoc syntax in assembler
409 - improved examples, basic JSON support
410 - debian packaging support
411 - the usual improvements, bug fixes, and cleanup
412 - test count exceeds 3000
414 New in 0.3.0
416 - New calling conventions implemented: see PDD03 for details
417 - Merge multiple Parrot bytecode (PBC) files into a singe PBC file
418 - 'make smoke' target going beta
419 - bc now supports if statements, comparison ops, prefix inc/dec
420 - ParTcl adds [lassign], [switch] (partially); [expr] converted to a compiler
421 - Many exciting doc updates, tests, and bugfixes, too numerous to mention
423 New in 0.2.3
425 - Dynamic classes now compile on Windows (including ParTcl)
426 - New Super PMC allows easy access to superclass methods
427 - Implement C3 method resolution order (just like Perl6 & Python)
428 - ParTcl has new PIR-based parser and passes more Tcl tests
429 - added character class support in Globs to PGE
430 - added language implementations of unlambda, Lazy-k
431 - many bugfixes, including GC and memory leaks
432 - the new calling scheme continued to evolve in branches/leo-ctx5
434 New in 0.2.2
436 - new call scheme: docs/pdds/pdd03_calling_conventions.pod
437 - partial implementation of the new calling conventions
438   PASM only, don't mix PIR foo() call syntax with the new scheme
439 - grammar and rule support in PGE - the Parrot Grammar Engine
440 - TCL passes >10% of the tcl test suite
441 - the usual bugfixes and improvements
443 New in 0.2.1
445 - better HLL support (short names for object attributes, and
446   .HLL and n_operators pragmas)
447 - string encoding and charset can now be set independently
448 - experimental mmap IO layer for slurping files
449 - distinct debug and trace flag settings
450 - glob support in PGE
451 - new character classification opcodes and interfaces
453 New in 0.2.0
455 - parrot repository is now under subversion
456 - MMD (Multi Method Dispatch) enhanced
457 - new unary and infix opcodes that return new result PMCs
458 - dynamic scalar PMCs inherit now almost all from Parrot core PMCs
459 - more unification of PMCs and ParrotObjects
460 - tailcalls for functions and methods
461 - PGE (Parrot Grammar Engine) reworked
462 - Pugs creates Parrot code and Pugs is a registered compiler now
463 - new languages/lisp
464 - the usual bug fixes and improvements
466 New in 0.1.2
468 - New string handling code. Strings now have charset and encoding
469 - Parts of a generation garbage collector
470 - Better Python code, separated in dynclasses
471 - Parrot Grammar Engine
472 - Improved test coverage and documentation
474 New in 0.1.1
476 Parrot 0.1.1 is an intermediate release with tons of updates and fixes.
477  - Python support: Parrot runs 4/7 of the pie-thon test suite
478  - Better OS support: more platforms, compiler, OS functions
479  - Improved PIR syntax for method calls and <op>= assignment
480  - Dynamic loading reworked including a "make install" target
481  - MMD - multi method dispatch for binary vtable methods
482  - Library improvement and cleanup
483  - BigInt, Complex, *Array, Slice, Enumerate, None PMC classes
484  - IA64 and hppa JIT support
485  - Tons of fixes, improvements, new tests, and documentation updates.
486 A lot is unfinished and keeps changing. Nethertheless Parrot is stable
487 and usable at the surface, while internals are moving.
489 New in 0.1.0
490  - "Ladies and gentlemen, I give you... objects!"
491  - Huge documentation overhaul
492  - More supported platforms, s. PLATFORMS
493  - Basic thread support for pthread based architectures
494  - Basic event handling for timers and signals including:
495  - PASM callbacks for NCI (native C) functions.
496  - Improved platform configuration
497  - COW stacks now working, stacks code redone
498  - Structure handling vastly improved
499  - Random PMC and rand primitives
500  - Better subroutine call syntax in PIR
501  - Make PIR subroutines compliant with pdd03
502  - Improved profiling (DOD, GC timings)
503  - Hash code improvements, incl. random key order support
504  - Experimental freeze/thaw code for some PMC types
505  - IO improvements for buffered layer and Win32
506  - String iterators
507  - String bitwise vtables
508  - Many new opcodes
509  - Support for JIT, where malloced memory isn't executable
510  - Priority DOD scheme for objects that need timely destruction
511  - Improved byte code loading (e.g. onLoad functions)
512  - Language updates: forth, Perl6/P6C, m4
513  - Libraries: Getopt_Long, SDL, Dumper, Sort
514  - new JAPH examples
515  - Unified imcc and parrot test handling
516  - Many new tests (make test reports 1386 tests)
517  - Numerous bug fixes
519 New in 0.0.13
520  - The Big Move: Parrot source and build files rearranged into sub dirs
521  - Build imcc as parrot
522  - Objects more finished
523  - Delegate vtable methods to byte code
524  - Binary multi-method dispatching
525  - Isa and does methods for PMCs
526  - Call byte code from C
527  - Start of extension interface
528  - Experimental struct handling
529  - Catch access to NULL PMCs
530  - Experimental network socket interface code and opcodes
531  - IO fixes and improvements
532  - Dynamic opcode libraries
533  - Fix-assigned opcode numbers
534  - Argument flattening for function calls
535  - More native call interface (NCI) signatures
536  - Ncurses, postgres, and pcre interface libraries
537  - Forth language is vastly improved
538  - BSD and Win32 build improvements
539  - Many new tests and fixes
541 New in 0.0.12
542  - This number intentionally left blank
544 New in 0.0.11
545  - Executable output
546  - Dynamic PMC registration
547  - Trial exception system
548  - Beginnings of object system
549  - Iterators
550  - Ordered hashes
551  - I/O system improvements
552  - References
553  - Documentation for basic PMC types
554  - IMCC support of Parrot Calling Conventions
555  - Runtime loading of chartypes (and other string improvements)
556  - Conditional breakpoints
557  - Dramatically accelerated sweeps for finalizable objects
558  - Small PMCs (PMCs split into core and extensions)
559  - Loadable bytecode packfiles
560  - Constant PMCs
561  - Sub variants that deal with the stack correctly
562  - Switched runops core
563  - Line numbers in warnings
564  - Environment access
565  - Many documentation cleanups
566  - Conversion to CPS style!
567  - BASIC debugger and many other wacky features
568  - Filename, line number parsing support in IMCC
570 New in 0.0.10
571  - IMCC integration
572  - eval
573  - some more benchmarking
574  - cgp core
575  - optimized math ops
576  - intersegment branches
577  - more complete use of PObjs
578  - beefed up packfiles
579  - sub/continuation/coroutine fixes
580  - better NCI (native calling interface)
581  - many imcc improvements
582  - jako improvements
584 New in 0.0.9
586 - Native function calling interface (Dan)
587 - Stack/list aggregate rewrite (Leo)
588 - Scratchpads (Jonathan Sillito)
589 - Preliminary DotGNU support -- type conversion ops (Gopal V + Leo)
590 - Buffer/PMC unification (Leo)
591 - stabs debugging support for JIT (Leo)
592 - Jako overhaul (Gregor)
593 - Optional Lea allocator (Leo)
594 - Parrot sprintf (Brent)
595 - Miniparrot (Josh)
596 - PMC Properties (Dan)
597 - Various JIT improvements (D. Grunblatt + Leo)
598 - Extensible packfiles (Juergen)
599 - Restructured PMC hierarchy (Leo)
600 - Real Scheme (Juergen)
602 New in 0.0.8
604 - Several new grammars and a BNF -> perl5 and perl6 converter (Jeff)
605 - Working Perl6 REs (Sean)
606 - Keyed Access (Tom Hughes et al)
607 - New PMCs (Alberto et al)
608 - Better Documentation
609 - New COW semantics
610 - GC acceleration (Mike Lambert)
611 - Lexical scope (Jonathan Sillito)
612 - IMCC patches
613 - JIT for the ARM
615 New in 0.0.7
617 - Perl 6 Grammar and Compiler (Sean)
618 - Subroutines, coroutines, and continuations (Melvin)
619 - GC improvements (Peter Gibbs, Mike Lambert)
620 - Global variables (Melvin)
621 - Intermediate bytecode compiler (Melvin, Angel)
622 - And much, much more.
624 New in 0.0.6
626 - New assembler that support keyed types (Jeff)
627 - New macro layer, allowing constants (Jeff)
628 - New Configure.pl (Brent)
629 - Changes to bytecode format, endian issues resolved (Melvin)
630 - GC improvements and bug fixes (Peter Gibbs, Mike Lambert)
631 - JIT compiler rewrite (Jason and Daniel)
632 - Parrot assembler in Parrot (Daniel)
633 - Parrot debugger (Daniel)
634 - BASIC polished, Eliza.bas is new (Clint)
635 - Cola compiler committed and working, with limited OOP (Melvin)
636 - Keyed aggregates (Steve Fink)
637 - Global ops (Melvin)
638 - Compile-time speedup (Melvin)
639 - Much documentation
640 - New PDDs (Dan)
641 - Contributed tetris and lzw files
642 - And many more, from the cast of thousands
644 New in 0.0.5
646 - Full GC
647 - Perl Scalar support in PMCs
648 - Array and Hash types almost ready for prime-time
649 - Internal support for keyed types
650 - EMACS editing mode
651 - New PDDs
652 - New Language - BASIC
653 - Regular expression compiler
654 - More tests
655 - Many, many bug fixes, enhancements, and speedups
657 New in 0.0.4
659 - Arena-based memory allocation system
660 - Copying GC
661 - New IO subsystem
662 - "Predereferencing" mode - ./parrot -P - 22% speedup
663 - JIT compiler - ./parrot -j
664 - Parrot now builds warnings-clean on many platforms
665 - Many more PMC methods implemented
666 - Regular expression operations
667 - Added a FAQ
668 - Basic support for embedding Parrot in other programs
669 - Warnings support
670 - Added PDDs to distribution
671 - Bignum library
673 - PMC inheritance
674 - Added an assembly optimizer
675 - Improved string encoding/type support
676 - Many more tests
677 - Source reformatting
678 - Major refactoring in packfile library
679 - More Miniperl functionality
680 - New PMC "clone" operator
681 - Beginnings of key-based access to PMCs - arrays and hashes
682 - MOPS comparisons in examples/mops/
684 New in 0.0.3
686 - PMCs!
687 - Perl base scalar types implemented
688 - A new minilanguage, Scheme
689 - Much improved documentation
690 - Register stacks pushing and popping
691 - User stack pushing, popping and rotating
692 - Jako updates: subroutines, more example programs, optimizations
693 - test_prog renamed to 'parrot'
695 - Added features to the assembler: @ for current location, and global
696   labels
697 - Build tweaks for VMS
698 - Bytecode typing clean-ups
699 - More platforms: OS X, HPUX, OS/2
700 - The proliferation of runops cores reduced to one fast and one slow one
701 - Opcode tracing, bounds checking, profiling
702 - Vastly improved string support, with separation of encoding and
703   charset
704 - Lots more tests
705 - Multiple interpreter creation support - the beginnings of threading
706 - Much better resource handling - the beginnings of GC
708 New in 0.0.2
710 - Parrot now works on all core platforms
711 - A large number of tests, in the standard Perl testing framework
712 - A new minilanguage (Jako) which compiles to Parrot assembly
713 - Documentation about the assembly language (docs/parrot_assembly.pod)
715 - Separate modules for assembly (Parrot::Assemble) and bytecode
716   manipulation (Parrot::PackFile::*, packfile.c)
717 - Assembler completely rewritten
718 - Better operand-type guessing in the assembler
719 - Assembler support for '\n' etc. in string constants
720 - Code reformatted to match the coding standards
721 - New ops for register-constant INTEGER comparisons
722 - Macro expansion in the assembler
723 - IVs and NVs renamed to more friendly INTVAL and NUMVAL
724 - Hard-coded pack("") formats removed
725 - Better handling of floating-point numbers in assembler
726 - Moved floats to constant table (fixing many alignment issues)