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