Pass latest tools/dev/checkdepend.pl
[parrot.git] / NEWS
blob3a321e5c9ba65e161097b0eccca709d7bc3fd980
1 # $Id$
3 New in 2.0.0
4 - Functionality
5 - Compilers
6 - Platforms
7 - Performance
8 - New deprecations
9 - Realized deprecations
10 - Tests
11 - Documentation
12 - Tools
13 - Miscellaneous
15 New in 1.9.0
16 - Core
17   + Made profiling runcore output format configurable and extensible
18     options include "pprof" and "none" ("binary" and "callgrind" are planned)
19   + Added environment variables to specify profiling output type and filename
20     (PARROT_PROFILING_OUTPUT and PARROT_PROFILING_FILENAME)
21   + Began merging Freeze/Thaw and Bytecode generator/loader
22 - Compilers
23   + Included latest nqp-rx compiler, with many improvements
24     - GLOBAL:: package identifier
25     - dynamic variables look in global namespace
26     - $obj."$method" syntax
27     - :p(os) and :c(ontinue) option on regexes
28     - try/CATCH/CONTROL handling
29     - support leading & on subroutine declarations
30     - allow "category:<symbol>" names (for builtin operators)
31     - simple version of smartmatch operator
32     - simple regex matches
33     - updated HLL::Compiler with new import/export methods
34 - Miscellaneous
35   + Portability updates for RTEMS, and Intel architectures with GNU compilers
36   + Completed conversion of ticket tracking system from RT to Trac
37   + New draft of PDD31 for HLL export API and import implementation
38   + Several (build time, runtime) performance improvements
39   + Converted many tests to PIR, reducing test execution time
40   + Various bugfixes, code cleanups, and coding standard fixes
42 New in 1.8.0
43 - Functionality
44   + The FileHandle PMC now exposes the exit code of child process that was run as pipe.
45   + Experimental support for overriding VTABLE invoke in PIR objects was added.
46   + The method 'type' was added to the PackfileAnnotations PMC.
47   + The internals of the parrot calling conventions, PCC, were reworked.
48     All call paths now use a CallSignature object for passing arguments and return values.
49   + The new API-function  'Parrot_ext_call' was added for calling into C-land.
50   + The fixed-size allocator was improved.
51   + The files installed by 'make install-dev' are now covered by 'make install' as well.
52   + The experimental ops 'fetch' and 'vivify' were added.
53   + The -I option to the command 'parrot' now prepends items to the search path.
54   + The Context struct was substituted with auto attributes (context_auto_attrs branch).
55   + Use the osname determined in auto::arch in subsequent configuration steps (convert_OSNAME branch).
56   + Eliminated dependence on Perl 5 '%Config' in auto::format (auto_format_no_Config branch).
57   + MultiSub PMCs now stringify to the name of their first candidate,
58     instead of the number of candidates.
59   + The platform detection at the start of the configuration process was improved.
60   + The 'lineof' method on CodeString objects now precomputes line number information
61     to be more efficient on variable-width encoded strings.
62   + P6object now supports .WHO and .WHERE methods on protoobjects.
63 - Compilers
64   + A shiny new self-hosting implementation of NQP has been added in ext/nqp-rx.
65     - New NQP available as nqp-rx.pbc or parrot-nqp fakecutable.
66     - NQP includes direct support for grammars and regexes, including protoregexes.
67     - NQP has a new PAST-based regex engine (intended to replace PGE).
68     - Regexes may contain code assertions, parameters, lexical declarations, and more.
69     - Double-quoted strings now interpolate scalar variables and closures.
70     - Subroutine declarations are now lexical by default.
71   + PCT
72     - PAST::Block now supports an 'nsentry' attribute.
73     - PAST::Var allows 'contextual' scope.
74     - Attribute bindings now return the bound value.
75 - Platforms
76   + Fixes for the port of Parrot to RTEMS were applied. Yay, first port to a real time OS!
77   + On NetBSD, shared libs are now used.
78 - Performance
79   + Use the the fixed-sized allocator in the Context and the CallSignature PMC.
80   + Many small speed improvements.
81 - New deprecations
82   + MT19937, the Mersenne twisted pseudorandom number generator, is now hosted on github and 
83     will be removed from the Parrot core. (eligible in 2.1)
84   + The 'Parrot_call_*' functions for invoking a sub/method object from C are
85     deprecated. They are replaced by 'Parrot_ext_call'. (eligible in 2.1)
86   + All bitwise VTABLE functions are deprecated. (eligible in 2.1)
87   + All bitwise ops will become dynops. (eligible in 2.1)
88 - Realized deprecations
89   + The slice VTABLE entry was removed.
90   + The last traces of the 'malloc' garbage collector were removed.
91   + Parrot_pcc_constants() was renamed to Parrot_pcc_get_constants().
92   + The deprecated functions from the Embedding/Extension interface were removed.
93   + The library YAML/Parser/Syck.pir was removed.
94   + The VTABLE function instantiate_str() was removed.
95   + Building of parrot_nqp was removed.
96 - Tests
97   + The test coverage of the time-related ops was much improved.
98   + New testing functions in Test::More: lives_ok() and dies_ok().
99   + The Perl 5 based test scripts t/op/bitwise.t, t/op/comp.t, t/op/inf_nan.t,
100     t/op/literal.t, t/op/number.t, t/op/sprintf2.t, and t/op/00ff-dos.t were converted to PIR.
101   + The test scripts t/op/annotate.t and t/op/time.t have begun
102     to be translated from Perl 5 to PIR.
103   + In some tests the dependency on %Config from Perl 5 was eliminated.
104 - Documentation
105   + The meaning of 'p' means in NCI function call signatures was clarified.
106 - Tools
107   + The stub for a new language, as created by mk_language_shell.pl,
108     now relies on the PIR-based tools, which are replacing the Perl 5-based tools.
109   + The library Configure.pir was added.
110   + The library distutils.pir was added.
111 - Miscellaneous
112   + The mailing list parrot-users and a corresponding google group was created,
113     http://groups.google.com/group/parrot-users.
114   + Many bugfixes, code cleanups, and coding standard fixes.
116 New in 1.7.0
117 - Functionality
118   + Parrot_capture_lex has been added to the PARROT_EXPORT API
119   + PARROT_MAX_ARGS has been increased from 8 to 16 to allow for ops that take more than 8 args
120 - Performance
121   + The profiling runcore now caches metadata for improved performance
122 - Maintenance and cleanup
123   + Expanded the Parrot debugger documentation
124   + Parrot debugger now uses the new Parrot STRING API
125   + Continue to port rest of internals to use the STRING API
126 - Deprecations
127   + The JIT subsystem has been removed and is being written from the ground up. More
128     information can be found at https://trac.parrot.org/parrot/wiki/JITRewrite
129   + Implicit optional named parameters (eligible in 2.1)
130   + Continuation-based ExceptionHandlers (eligible in 2.1)
131   + Use of undocumented variables in class_init (eligible in 2.1)
132   + Parrot_oo_get_namespace (eligible in 2.1)
133 - Bugfix
134   + Improved line number tracking in IMCC
135 - Tests
136   + Converted many more Perl 5 tests to PIR
137   + Expanded test coverage of the CallSignature, Namespace, FixedPMCArray,
138     ResizeableIntegerArray and ExceptionHandler PMCs
140 New in 1.6.0
141 - Functionality
142   + Added a fixed-size structure allocator to the Garbage Collector
143   + Added a "lazy" mode to the PObj and Fixed-Size memory allocators
144   + Added a profiling runcore, which generates Callgrind-compatible output
145   + Added lexical subsystem opcodes: find_dynamic_lex, store_dynamic_lex
146   + Converted Contexts to garbage-collectable PMC structures
147   + Created a new Context API
148   + Enhanced the PMC allocator to automatically allocate ATTR structures
149 - Performance
150   + Optimized opcodes to cache the current Context for subsequent lookups
151   + Reduced string comparisons in VTABLE_isa
152 - Maintenance and cleanup
153   + Began proper encapsulation of STRING API
154   + Unified all PMC destruction functions
155   + Unified Continuation PMC and Parrot_cont structure
156   + Unified Sub PMC and Parrot_sub structure
157   + Removed PMC_EXT structure
158   + Removed PMC_Sync from PMC
159   + Removed UnionVal from PMC structure
160 - Bugfix
161   + Fixed several stack-walking bugs in Garbage Collector code
162   + Fixed bug when copying a NULL STRING, now returns empty STRING struct
163 - Tests
164   + Converted several Perl5 tests to PIR
165   + Expanded test coverage of NameSpace PMC
166 - Compilers
167   + Made Parrot Compiler Toolkit available in the base install
169 New in 1.5.0
170 - Core
171   + Removed several deprecated functions and features
172   + Removed bsr, jsr, branch_cs, and ret opcodes
173   + Removed global stacks system
174   + Changed OPS file format to include explicit preamble
175   + Changed all "new 'Iterator'" instructions into 'iter' instructions
176   + Removed Configure.pl options for specifying non-working GC cores
177   + Removed unexecuting code as found by Coverity
178   + Improvements to the Parrot Debugger
179   + Added experimental fixed-size structure allocator to the GC
180   + Added experimental lazy arena allocation to the GC
181   + Refactored hashes, keys, and iterators
182   + Added "corevm" make target to build Parrot without all the supporting libraries
183   + Removed Random PMC type and added in a "rand" dynop
184   + Optimization and Improvements to the NCI thunk generator
185   + New include file libpaths.pasm
186 - Compilers
187   + Multiple .local with same name and different type is now an error on IMCC.
188 - Platforms
189   + Improved support for detecting Fink and Macports
190   + Updated search directories for libraries
191 - Documentation
192   + "Parrot Developers Guide: PIR" released to publisher and available to purchase
193   + Improved documentation about Parrot Debugger
194   + Update PGE Documentation
195 - Miscellaneous
196   + Deprecate 'PASM1' compiler object, update to warn instead of segfault
197   + Added tests
198   + Fixes to code, documentation, and standards
200 New in 1.4.0
201 - Core
202   + Key and Iterator refactor
203   + Major pbc_to_exe generated code speed improvement
204   + New "Infinite Memory" GC core for demonstration purposes
205   + gc_debug runcore and GC-related heisenbug fixes
206   + Elimination of variable expansion in parrot_config
207   + CLI arguments are processed as Unicode by default
208   + Substantial optimizations in NCI
209   + Parrot builds on Win64
210   + Hashes can use native types as keys and values
211   + Fixed installed pbc_to_exe
212   + Simplification of PMC generation code
213   + Improved GC encapsulation and API documentation
214 - Documentation
215   + List of candidates for embedding API (docs/embed.pod)
216   + PIR book sent to publisher
217 - Testing
218   + Several conversions of Perl test to pure PIR.
219   + C indentation coding standards test improvement
220   + Improved test coverage of example code
221 - Deprecations
222   + Removal of PGE rules: <null> <fail> <sp> <lt> <gt> <dot>
223   + Removal of PGE methods: .text .item .result_object
224   + Deprecation of most dynops
225 + Miscellaneous
226   + Beginnings of OpenGL::Math library; OpenGL bindings and library marked experimental
227   + Localizing and consting fixes
228   + Many memory and thread-related leaks plugged
230 New in 1.3.0
231 - Core
232   + Optimized parts of the IO system
233   + Fixed inheritance hierarchy of FileHandle and Socket PMC types
234   + Fixed leaks involving subroutines and Parrot_Context
235   + Cleaned up and refactored GC internals, including fixes and optimizations
236   + Optimized PMC class manipulations to use type numbers instead of string names
237   + Fixed problems involving hashval calculations in strings
238   + Removed unnecessary MULTI dispatches in built-in PMCs
239   + Fixed memory leaks involving PMCs that were not properly destroyed
240   + Fixed creation of PMCProxy PMCs in correct namespaces
241   + Added preliminary Pipe support
242   + Fixed cloning of Object PMCs
243   + Added root_new opcode
244   + Added initial versions of Packfile PMCs with read/write capabilities
245 - Compilers
246   + Fixed several memory leaks in IMCC
247   + Updated PCT to use root_new opcode
248   + Added support for keyword "self" in NQP
249 - Documentation
250   + Improved and expanded /docs/book
251   + Updated project documentation
252   + Defined 'experimental' status and procedures in DEPRECATED.pod
253 - Miscellaneous
254   + Cleaned code and improved code-level documentation
255   + Various bugfixes, code cleanups, and coding standard fixes
256   + Added an experimental compiler library to help use PIR libraries from HLLs
257   + Updated OpenGL library and examples to support experimental HLL import
259 New in 1.2.0
260 - Core
261   + Fixes for pir classes inheriting from core pmcs.
262   + Cleaned up headers and reorganized some sources into subsystem directories.
263   + Clean up PMCs so libparrot.so exports far fewer vtable/method symbols.
264   + Clean up the GC API.
265   + Several unicode identifier improvements in IMCC.
266 - Deprecations
267   + Protoobject stringification is gone.
268 - Documentation
269   + Rewrite several core documents.
270   + Many reworks, improvements & additions to the Parrot Book.
271   + Installation PDD is launched out of draft.
272 - Tools
273   + Fixes for running the language shell generator outside the parrot tree.
274   + Several fixes for developing and building HLLs from an installed parrot.
275   + Configure.pl now has a --no-line-directives option to ease source level debugging.
276 - Miscellaneous
277   + Portability updates for macports, netbsd, mingw32, hpux.
278   + Several (build time, runtime) performance improvements.
279   + Lots of updates to examples and tests.
280   + Various bugfixes, code cleanups, and coding standard fixes.
282 New in 1.1.0
283 - Core
284   + Added op: load_language, find_caller_lex
285   + Socket IO are back as PMC
286   + Refactor some PMC: Hash, ManagedStruct
287   + Refactor GC API
288 - Compiler
289   + PGE
290     - Allow \x, \c, and \o in enumerated character classes (incl ranges)
291     - Add initial greedy-only version of ** <exp> quantifier
292   + PCT
293     - Add HLL source line bytecode annotations
294     - Add another dumper format to assist syntax highlighters
295     - Revise mk_language_shell.pl to updated create_language.pl
296 - Deprecations
297   + Removed ops: gcd, exec, classname, need_finalize, runinterp, substr_r
298   + Removed dynamic op: mul
299   + Removed .HLL_map directive; use interp's .hll_map() instead
300   + Removed PMCs: slice, bound_nci, ref
301   + Removed Configure.pl option: --pmc
302   + Removed PMC union struct
303 - Documentation
304   + Book
305     - Reorganization and many improvements & additions
306 - Tools
307   + Add a parrot-fuzzer
308 - Miscellaneous
309   + Improve Debian/Ubuntu package
310   + various bugfixes, code cleanups, and coding standard fixes
313 New in 1.0.0
314 - Documentation
315   + New user documentation for exceptions.
316   + Updates to Chapters 4 & 5 of the Parrot book.
317   + Improved and expanded generated HTML documentation, as the input for
318     http://docs.parrot.org.
319   + Added Compiled HTML Help (.chm) version of documentation.
320   + Cleanups and fixes.
321 - Languages
322   + Pynie
323     - left the nest and is now at http://pynie.googlecode.com/
324   + Cardinal
325     - left the nest and is now at http://github.com/cardinal
326   + APL
327     - left the nest and is now at http://paraplegic.googlecode.com/
328   + ABC, Squaak, and Befunge moved to examples/.
329   + All remaining languages moved to https://svn.parrot.org/languages/
330 - Tools
331   + Support for language builds from an installed Parrot.
332   + Expanded language shell generator for new languages.
333   + 'parrotbug' utility repurposed for the Trac interface.
334 - Deprecations
335   + Removed deprecated Tqueue and Closure PMCs.
336   + String, Key, NCI, LexPad, Iterator, Sub, Continuation, RetContinuation,
337     ExceptionHandler, ParrotLibrary, ParrotInterpreter, ParrotThread,
338     ParrotRunningThread, Rational, FixedPMCArray, ResizablePMCArray, and
339     GDBMHash PMCs now use declared attributes (ATTR), in place of the
340     deprecated UnionVal.
343 New in 0.9.1
344 - Implementation
345   + Support for portable 'Inf', 'NaN' and -0.0
346   + pbc_disassemble prints constants in constants table
347   + New experimental BigNum implementation
348   + Pair is now a dynamic loadable PMC
349   + Various function name sanification
350   + New implementation of Strings component
351   + Replace various PMC value union access code by VTABLE method invocations
352   + Replace various PMC value unions by ATTRibutes
353   + Removed SArray PMC. Use FixedPMCArray instead.
354 - Documentation
355   + Book
356     - updates to Chapter 2 (getting started)
357     - updates to Chapter 3 (PIR basics)
358     - updates to Chapter 4 (PIR subroutines)
359     - updates to Chapter 10 (HLLs)
360     - updates to Chapter 12 (opcodes)
361   + Function documentation
362   + Pod documentation style modernized; no longer Perl 5 style.
363   + PMC has an additional acronym: Poly Morphic Container
364   + The DOD (Dead Object Detection) acronym is no longer used;
365     use 'GC' to refer to the Garbage Collector component.
366 - Compilers
367   + IMCC
368     - :named flag can now take string registers as argument
369     - A single '=cut' directive is now ignored (without initial Pod directive)
370     - :vtable subs now have proper access to 'self' pseudo variable
371 - Languages
372   + add new 'Pod' documentation parser
373   + Pipp (PHP implementation):
374     - Pipp is now at http://github.com/bschmalhofer/pipp
375     - support for 'print', 'dirname', 'implode', 'str_replace',
376     - various grammar fixes
377   + ECMAScript
378     + add 'quit', 'readline' builtins
379     + fix 'Boolean' type and 'print' builtin
380   + Lua
381     - left the nest and is now at http://github.com/fperrad/lua/
382   + Rakudo
383     - left the nest and is now at http://github.com/rakudo/rakudo/
384     - build instructions can be found at http://tinyurl.com/rakudo
385   + lazy-k
386     - left the nest and is now at http://github.com/bschmalhofer/lazy-k.git
387   + unlambda
388     - left the nest and is now at http://github.com/bschmalhofer/unlambda/
389   + WMLScript
390     - left the nest and is now at http://github.com/fperrad/wmlscript.git
391   + removed Zcode implementation
392 - Tools
393   + pmc2C
394     - ATTRs are now inherited automatically in subclassing PMCs
395 - Deprecations
396   + Parrot_readbc, Parrot_loadbc renamed to Parrot_pbc_read, Parrot_pbc_load.
397   + .HLL_map directive in favour of 'hll_map' method on Parrot interpreter
398   + Data::Escape library
399 - Tools
400   + pbc_disassemble options added
401   + pbc_dump renamed from pdump
402 - Miscellaneous
403   + Parrot is now Copyright Parrot Foundation
404   + Parrot's SVN repository is now hosted at https://svn.parrot.org
405   + Various code cleanups, consting, 64-bit incompatibilities and other bug fixes
408 New in January 2009 release (0.9.0)
409 - Implementation
410   + Implemented bytecode annotations
411   + Role composition is now aware of multi-subs
412   + Unbuffered IO PMCs now autopromote when buffering is necessary
413   + Installation parrot binary and libparrot shared library now supported
414   + Class registry now respects HLLs
415 - Compilers
416   + IMCC
417     - removed keyed string indexing, e.g. $S0[1].
418     - removed slice syntax, e.g. $P0[1..2]
419     - removed .namespace <ident>/.endnamespace <ident> pair
420     - fixed 'new $P0, [classname]' syntax
421   + PIRC
422     - refactoring of various data structures
423     - various bug fixes and updates
424     - complete bytecode generation
425     - add '-x' commandline option to run compiled code
426   + PCT
427     - add 'hll' and 'subid' attributes to PAST::Block
428     - refactor loop handling code to handle last/redo/next
429     - add :pasttype('stmts') and :pasttype('null')
430     - improve "scope not found" error message
431     - allow PAST::Val nodes to contain block references
432   + PGE
433     - add "skipkey" option to PGE::OPTable
434     - allow spaces before modifiers in regexes
435     - add '(' ~ ')' goal matching syntax
436     - skip creating a class/grammar if it already exists
437 - Languages
438   + Rakudo
439     - improved error mesages in multi dispatch
440     - implemented clone method for all objects
441     - implemented MAIN sub
442     - Unicode versions of infix hyper operators
443     - refactored IO.readline
444     - basic support for Inf and NaN
445     - list and array slices with whatever star
446     - hash slices
447     - implemented last and redo
448     - pointy blocks as terms
449     - refactored variable and parameter passing
450     - improved assignment semantics
451     - improved parsing of type names and subs
452     - mostly implemented parametric roles
453     - separate types for blocks, subs and methods
454     - basic support for submethods
455     - implemented Junction autothreading of user code (not builtins yet)
456     - eval supports :lang attribute
457     - proto makes other subs in scope multis, including in role composition
458   + Befunge
459     - back to working state
460     - ported to pir
461   + Pipp
462     - add support for predefined constant __CLASS__ and __METHOD__
463     - add initial support for static members
464     - add support for namespaced constants
465     - constants are now handled as package vars
466     - variables are now lexical variables
467     - add support for superglobals in functions
468     - Call the class __constructor when there is one
469     - added incomplete support for closures
470     - removed support for the alternative parsing strategies
471     - added support for 'elsif'
472     - added support for 'do-while'
473   + HQ9+
474     - left the nest and is now at https://github.com/bschmalhofer/hq9plus/
475   + Eclectus
476     - left the nest and is now at http://github.com/bschmalhofer/eclectus/
477   + m4
478     - left the nest and is now at http://github.com/bschmalhofer/m4/
479   + Lua:
480     - add a minimalist user back trace
481   + PIR
482     - "does" and "morph" VTABLE interfaces are now overridable from PIR
483 - Miscellaneous
484   + Infrastructure
485     - 'make smoke' now generates Smolder reports sent to
486       http://smolder.plusthree.com/app/public_projects/smoke_reports/8
487   + Improved const and null correctness for C function parameters
488   + Sped up STRING manipulation (append, chop), improving PGE about 30%
489   + BOOK
490     - Added sections about Classes, OO programming, and methods.
491     - Added information about Annotations, Exceptions, and Handlers
492   + STM
493     - Removed non-functional STM subsystem
496 New in 0.8.2
497 - Implementation
498   + fixed lexical semantics
499   + added the 'capture_lex' opcode
500   + added automatic resume for nonfatal exceptions
501   + added multidispatch cache
502   + applied miscellaneous performance improvements, including startup time
503   + fixed several bugs and leaks found by Coverity Scan
504   + removed race conditions from parallel testing
505 - Compilers
506   + IMCC
507     - removed undocumented .param int <stringc> => <ident> syntax
508     - .line directive now only takes an integer argument
509     - new .file directive to specify the file name being compiled
510   + PCT
511     - properly handles lexical generation and closure semantics
512     - uses :subid instead of name lookups to reference PAST::Block nodes
513     - added PAST::Control node type (exception handlers)
514   + PGE
515     - add support for <?{{...}}> and <!{{...}}> assertions
516     - Match objects use Capture PMC instead of Capture_PIR
517   + PIRC
518     - add macro handling to PASM mode
519     - disable vanilla register allocation in PASM mode, but do allow optimization
520     - add tests and bug fixes
521     - first bits of bytecode generation. No sub calling/returning yet.
522 - Languages
523   + Rakudo
524     - fixed lexical handling and recursion
525     - refactored subtypes implementation
526     - support for quotes with multi-character delimiters
527     - implemented list slices (Positional role)
528     - list assignment
529     - reduction meta operators
530     - hyper meta operators
531     - cross meta operators
532     - more builtin functions
533     - added Nil type
534     - basic support for protos
535     - iterator on filehandle objects
536     - basic support for exception handlers
537     - warn
538   + Lua
539     - added complex & mathx libraries
540     - merged LuaClosure & LuaFunction PMC
541   + Pipp
542     - added support for a return value from user defined functions
543     - added incomplete implemention of 'require_once'
544   + Ecmascript
545     - parser fixes, parses spidermonkey's top level test/shell.js
546 - Deprecations
547   + PARROT_API is now PARROT_EXPORT
548   + PIR
549     - :lexid is now :subid
550     - .arg is now .set_arg
551     - .result is now .get_result
552     - .yield (in .begin/end_yield) is now .set_yield
553     - .return (in .begin/end_return) is now .set_return
554     - .namespace x / .endnamespace x syntax is removed
555   + Capture_PIR (runtime/parrot/library/Parrot/Capture_PIR.pir)
557 New in 0.8.1
558 - Implementation
559   + added CPAN module Storable 2.12 as a configuration and build dependency
560   + removed the pseudo PIR opcode 'addr'
561   + added the 'box' opcode
562   + fixed 'pop_eh' handling in PIR libraries and examples
563   + removed usage of .return for tailcalls (use .tailcall instead)
564   + removed 'get_hash' and 'get_array' from Capture PMC and Capture_PIR
565   + improved debugger and HLL coordination
566   + allowed MMD primitive autoboxing
567   + fixed all known memory leaks in PIR "Hello, world!"
568   + NCI signatures now JITted on x86-32 platforms (Windows and Linux)
569   + made the .const directive take a quoted type name instead of a constant
570   + made IMCC more re-entrant
571 - Languages
572   + Rakudo
573     - refactored Junctions implementation
574     - added "fire and forget" tool to rebase/rebuild/test Parrot and Rakudo
575     - updated container/reference semantics
576     - added more builtin methods and functions
577     - improved support for multilevel namespaces
578     - added support for .Str, .succ, .pred in user-defined classes
579     - implemented pointy blocks on if/loops
580     - increased STD.pm convergence
581     - added %*VM hash
582     - improved MMD candidate sorting
583     - improved integration of Num and Int
584     - implemented increment on protoobjects
585     - added initial support for MAIN subs
586     - added .PARROT method
587   + Pipp
588     - added some predefined constants
589     - added implemention of the function basename()
590   + Cardinal (Ruby)
591     - Added initial support for the classes Proc, Continuation, Queue, Dir, File, and FileStat
592     - fixed various minor bugs
593     - fixed broken Regexes
594 - Compilers
595   + PCT
596     - added '.isa' method to PCT::Node
597     - cleaned up 'immediate block' handling
598     - allowed arguments to immediate blocks in loops/conditionals
599     - metaclass objects can now 'add_method'
600   + PIRC
601     - integrated macro processing in PIRC's lexer
602     - integrated heredoc lexer in PIRC executable
603     - added preprocess and heredoc-preprocess commandline options
604     - integrated the PASM grammar into PIRC
605     - added a register allocator to optimize the built-in vanilla allocator
606     - code cleanups and documentation
607     - added 'make test' target
608    + TGE
609     - updated to work with new namespace/classname syntax
610 - Deprecations
611   + PARROT_API will become PARROT_EXPORT
612   + :lexid will become :subid
613 - Miscellaneous
614   + Documentation
615     - updates and additions to the Parrot book (see docs/book/)
616   + OpenGL
617     - minor fixes to Parrot's base OpenGL bindings
618     - converted OpenGL PIR examples to Perl 6 (two complete, one WIP)
619     - added simplified OpenGL PIR example for NCI JIT testing
620   + Tests
621     - further improvements to parallel tests
622     - tests no longer leave filesystem breadcrumbs
623     - more thorough testing of Parrot::Test itself
625 New in 0.8.0
626 - Implementation
627   + float precision expanded to 15 significant digits from 6
628   + large integers autopromoted in PIR so as not to lose precision
629   + improved precision of complex square root
630   + exception handlers can register types of exceptions they catch
631 - Languages
632   + Cardinal (Ruby)
633     - implemented gather, take, and yield builtins
634     - Range, Time, Math, GC, Kernel classes
635     - many more tests
636     - added a new committer
637   + Markdown : new lightweight markup language
638     - start implementation with PCT/NQP
639   + partcl (Tcl 8.5.4)
640     - Moved to its own repository: http://code.google.com/p/partcl/
641   + Rakudo (Perl 6)
642     - split() works with regexes
643     - implemented Str.comb
644     - ord() and chr() builtins
645     - improved parsing of literal numbers
646     - support for hyphens and dashes in identifiers
647     - next() on for-loops
648     - fixed floating point constant precision
649     - improved namespace handling, closer to STD.pm model
650     - support for exporting symbols
651 - Compilers
652   + P6object
653     - now generates classes in nested namespaces instead of :: names
654     - supports class creation in caller's HLL namespace
655   + PCT / PGE
656     - now using true nested namespaces instead of :: names
657     - cleaned up HLLCompiler interactive prompts and readline mode
658     - updated to use typed exception handler registration
659     - added initial support for loop control exceptions
660   + PIRC
661     - fixed Heredoc preprocessor
662     - cleaned up Macro preprocessor
663     - many code clean-ups, warning fixes and consting
664     - updated Makefile for easier compilation
665   + IMCC
666     - Added .tailcall syntax to replace .return in tailcall context
667 - Examples
668   + pirric (BASIC)
669     - an old style line numbered Basic interpreter able to use parrot objects
670     - example connecting to mysql via nci
671     - example using classes to write and run an embedded Basic program
672 - Documentation
673   + Book
674     - Added chapters for PCT, PMCs, and Opcodes/Runcores
675     - Expanded and improved formatting in various chapters
676     - Renumbered chapters
679 New in 0.7.1
680 - Implementation
681   + add -I and -L command line options
682   + support for null strings in NCI calls
683   + preliminary support for resumable exceptions
684   + add '.hll_map' method for dynamic HLL type mapping
685   + more parrot_debugger fixes
686   + remove obsolete '.past' extension
687 - Languages
688   + Rakudo (Perl 6)
689     - now over 3300 passing spectests
690     - precompiled modules
691     - precompiled scripts  (--target=pir can now be executed standalone)
692     - Support for @*INC and %*INC varialbes
693     - additional builtin methods and subs
694     - added 'fail' function, warnings on use of undefined values
695     - m/.../ regexes
696     - qq, qw, q quoting forms
697     - run tests in parallel
698     - gather/take
699     - Perl6MultiSub
700   + Cardinal (Ruby):
701     - 'require' and precompiled modules
702     - many new tests
703     - all Array tests pass
704     - regexes
705     - default arguments to functions
706     - new committer
707 - Compilers
708   + PCT:
709     - add :loadinit attribute for PAST::Block
710   + PIRC:
711     - major refactoring to allow all PIR keywords as identifiers
712     - links to libparrot now, so all Parrot ops are recognized as such
713     - implemented .loadlib, .HLL_map, .HLL
714 - Miscellaneous
715   + add Xlib and Mysql modules and test programs to NCI examples
716   + many updates and cleanups to PDD documents
718 New in 0.7.0
719 - Specification
720   + PDD27: add multisub lookup
721 - Implementation
722   + new concurrency implementation (see PDD25)
723   + Exception PMC now captures a return continuation
724   + improved PMC encapsulation (Iterator, Key, Pair)
725 - Languages
726   + Cardinal (Ruby):
727     - class variables
728     - parsing improvements
729     - minor additions to class builtins
730     - add support for block parameters to functions
731   + Lua:
732     - various language fixes
733     - refactor all libraries (namespace, method registration)
734     - add a OpenGL binding (still incomplete)
735     - lost user back trace (see ppd25 & pushaction)
736   + Pipp (PHP):
737     - add support for while- and for-loops
738     - add support for increment and decrement
739     - designate PHP 5.3 as the reference implementation
740     - improve support for string literals
741   + Pugs (Perl 6):
742     - removed due to bit rot
743   + Rakudo (Perl 6):
744     - now over 2200 passing spectests
745     - updated the Rakudo roadmap
746     - Perl 6 multi dispatch
747     - dispatch with slurpies
748     - class attributes ("my $.x")
749     - anonymous classes
750     - OO and metaclass improvements (.WHAT, .WHICH, .WHENCE)
751     - additional builtin methods and subs
752     - improved make test targets and harness
753   + Tcl:
754     - implement [lreverse], [lsort -command]
755     - allow [incr] to autovivify
756     - update tclsh spec target to 8.5.3
757     - fix bug in TclDict PMC, allowing ~200 more [dict] spec tests to pass
758     - update 'make spectest' fudging, using TODO instead of SKIP if possible
759 - Compilers
760   + PCT:
761     - :scope('register') for PAST::Var nodes
762     - allow invocant specification in attribute scope PAST::Var nodes
763     - correct ordering of sub generation from POST
764     - add 'loadinit' attribute to PAST::Block for block initialization
765   + PIRC:
766     - PIR registers now use the vanilla register allocator
767     - all PASM output now uses PASM registers
768     - all .locals and $registers are mapped
769     - clean-up of grammar, back-end and documentation
770     - implemented constant folding
771     - implemented instruction selection
772 - Configuration
773   + tests now clean up after themselves
774   + improved parallel test support
775   + ports/cygwin added
776   + Darwin problems fixed
777 - Tools
778   + parrot_debugger renamed from pdb, numerous tweaks
779 - Miscellaneous
780   + IMCC cleanups
781   + :vtable implies self in PIR
782   + modest core speed improvements
783   + Cygwin support improved
784   + "say" now an opcode (was dispatched to a method; see Deprecations)
785 - Deprecations
786   + ".pragma n_operators" is deprecated
787   + old PASM register syntax (without "$") is deprecated
788   + bare (unquoted) method names are deprecated
789   + "#line" will be replaced with ".line"
790   + ".HLL_map" syntax will change
791   + ".loadlib" is now separate from ".HLL"
792   + mmdvtregister and mmdvtablefind opcodes are deprecated
793   + removed getfd, getclass opcodes
794   + removed IMCC syntax that treated some methods as builtins
795   + removed numeric get_attr and set_attr vtable entries
797 New in 0.6.4
798 - Documentation
799   + removed a lot of old information from the FAQ
800   + improved function level documentation
801 - Configuration
802   + removed the configuration item 'has_gnu_m4'
803   + refactored ICU-detection
804 - Languages
805   + ChitChat
806     - improved the Smalltalk implementation
807   + Pipp
808     - renamed Plumhead to Pipp
809     - support for a lot of builtin functions.
810     - Pipp now uses PHP specific data types.
811     - converted from PCT with TGE to PCT with NQP actions
812     - improvements in the PCT variant by using optok parsing
813     - start of object support
814   + pir
815     - simple assignments work
816   + json
817     - added a PCT-based implementation of JSON parsing
818   + lolcode
819     - improved handling of symbols
820     - added support for block handling
821     - added support for globals
822   + Lua
823     - more tests
824   + Rakudo
825     - updated Range implementation
826     - added enums
827     - added generic type declarations (::T)
828     - added runtime mixing of roles with 'does' and 'but'
829     - fixed handling of implicit lexicals ($_, $!, and $/)
830     - fixed implicit method calls on $_
831     - improved complex math builtins, added Complex
832     - moved many builtins to class Any
833     - declaration of lists of variables now work
834     - improved test infrastructure
835     - 910 additional passing spec tests since last release
836     - more convergence with STD.pm grammar
837     - added named 0-ary parsing and ops
838 - Compilers
839   + PCT:
840     - allowed subroutine and method names to be a PAST tree that produces the name
841     - Improved lexical handling
842 - Tools
843   + pbc_disassemble renamed from disassemble
844 - Implementation
845   + allowed .macro_const in PIR
846   + added the flag :lexid(...) for subroutines
847   + made multiple dispatch work for sub types
848   + fixed garbage collection bug related to the metadata attached to a PMC_EXT structure
849   + added a warning when using deprecated opcodes
850   + simplified the stacks implementation
851   + fixed C++ build
852   + improved closure and lexical support
853   + improved IMCC register allocator
854   + added cache for all runtime-constant strings, reducing memory usage
855 - Miscellaneous
856   + improved OpenGL/GLU/GLUT bindings
857   + added a standard profile for Perl::Critic coding standard testing
858   + added support for smoke testing with Smolder
859   + enabled use of Test::Harness 3.0 if available, but don't require it for 'make test'
860   + added the executable 'parrot_config' to query Parrot configuration
862 New in 0.6.3
863 - Specification
864   + updated pdd09_gc.pod
865 - Languages
866   + Cardinal:
867     - dramatically improved parsing speed
868     - added support for defining and instantiating classes
869     - started fleshing out the builtin class hierarchy
870     - added support for hashes and arrays
871   + Chitchat: added the start of a smalltalk compiler
872   + Pheme: updated to match PGE changes
873   + Pynie: return statement, other minor updates
874   + Rakudo:
875     - added working list and hash contexts
876     - added 'return' statements
877     - added => pair constructor
878     - added ?? !! ternary
879     - added Range, range operators, Complex
880     - added common List, Hash methods
881     - refactored base classes
882     - added Mutable, Perl6Scalar classes
883     - added type-checking, is readonly/rw/copy for parameters
884     - added make localtest, docs/spectest-progress.csv
885     - fix named unaries
886   + Squaak: implement return statement
887   + Tcl: updated control flow exceptions to use new builtin types
888 - Compilers
889   + All tools converted to P6object metamodel
890   + PGE:
891     - <?foo> is now a zero-width match
892     - reduced backtracking to improve parsing speed
893   + PCT:
894     - added "return" PAST.op node type for subroutine returns
895     - added "keyed_int" scoping to PAST::Var
896     - fixed calls to closures
897     - automatically transcode 7-bit unicode to ascii for faster processing
898   + NQP: added "return" statement, ?? !! ternary operator
899 - Configuration
900   + expanded step gen::opengl
901 - Implementation
902   + updated function and macro names to match pdd09_gc.pod
903   + removed Super PMC
904   + add ".namespace []" as alternative to ".namespace"
905   + "make codetest" target runs standard coding tests
906 - Miscellaneous
907   + added P6object class for Perl 6 interfaces to objects in Parrot
908   + ported OpenGL/GLU/GLUT bindings to Win32, BSD, and more Mac OS X variants
909   + generate OpenGL/GLU/GLUT bindings by parsing system headers
910   + new OpenGL example shapes.pir, covering basic OpenGL 1.1 / GLUT 3 APIs
911   + new float4.pir structure-packing benchmark
912   + reduced memory use for variables
913   + improved constant string caching
914   + made code g++ and gcc (with optimizations) safe
915   + the usual collection of bugfixes and optimizations
917 New in 0.6.2
918 - Specification
919   + updated and launched pdd28_strings.pod
920   + updated pdd19_pir.pod
921 - Implementation
922   + added implementation of Rational PMC.
923   + simplified ops control flow syntax
924   + enabled backtrace on non-glibc platforms too
925   + improved some PIR error reporting
926   + removed user stack opcodes
927     (save, restore, lookback, entrytype, depth, rotate_up)
928     (NOTE: This was scheduled to occur after 0.7.0, moved up to this release)
929   + removed register stack, saveall, and restoreall opcodes
930   + removed various deprecated features and unused code
931 - Languages
932   + Amber: retired
933   + C99: grammar updated
934   + Cardinal: resurrected, method calls and do blocks work now
935   + Eclectus: use NQP as PAST generating code
936   + Lua:
937     - added big number library
938     - updated to match PGE changes
939     - added a bytecode disassembler & a Lua 5.1 VM bytecode translator
940   + Pheme: updated to match PGE/PCT changes
941   + Plumhead:
942     - use NQP as PAST generating code
943     - use riaxpander for macro expansion
944   + Rakudo:
945     - updated ROADMAP
946     - conditional and loop statement modifiers
947     - lots of class, object, role, and method improvements
948     - Str increment and decrement
949     - improved spectest reporting
950     - type checking on assignment
951     - regexes and grammars
952     - undef and self
953     - placeholder vars
954 roadmap updated
955   + Squaak: added to repository
956   + TAP: retired
957 - Compilers
958   + PGE: updated to match Synopsis 5, deprecated features removed
959   + PCT:
960     - improve handling of register types, conversion between registers
961     - improved error diagnostics
962     - add 'arity' to for loops
963 - Configuration
964   + added step auto::opengl
965   + added step gen::opengl
966   + added step gen::call_list
967 - Miscellaneous
968   + still more optimizations and performance improvements, especially in GC
969   + new libraries: OpenGL/GLU/GLUT bindings (small subset working)
970   + new dump_pbc.pl utility: PBC disassembly/source code weaver
971   + improved C++ compiler support
972   + optimized builds work again
975 New in 0.6.1
976 - Specification
977   + drafted pdd29_compiler_tools.pod
978   + updated pdd28_character_sets.pod draft
979   + updated pdd19_pir.pod draft
980 - Languages
981   + c99: added independent C pre-processor
982   + HQ9+: reimplemented with PCT
983   + Lua:
984     . reimplementation with PCT, using PAST and POST
985     . behavior aligned wih 5.1.3
986   + Rakudo:
987     . implemented basic I/O, including '$*IN', '$*OUT', '$*ERR', 'prefix:='
988     . implemented simple typing and runtime type checking
989     . added basic multi-method dispatch
990     . expanded named argument handling, including Pair and colonpairs
991     . added 'Whatever' and 'Capture' classes
992     . implemented 'handles' trait verb
993     . added 'loop' statement
994     . implemented 'given', 'when', 'for', 'while', 'until' statement modifiers
995     . implemented Hash methods '.keys' and '.values'
996     . fixed bug to get '.WHAT' working correctly
997     . initial implementation of 'eval'
998 - Compilers
999   + NQP:
1000     . created a bootstrapped build, see 'make boot'
1001     . added 'infix:<', 'infix:<=', 'infix:>', 'infix:>=' relational operators
1002     . added 'postfix:++', 'postfix:--' operators
1003   + PCT:
1004     . added methods specifying default behaviors in PAST, reducing repeated code
1005     . improved symbol table lookup
1006   + PGE:
1007     . removed deprecated code including: P6Regex, P6Grammar, PAST-pm
1008 - Miscellaneous
1009   + notable speedups during compilation and execution of parrot and HLLs
1010   + pdb (the parrot debugger) can now catch parrot exceptions
1011   + better detection of glibc and gettext during configuration
1012   + various bugfixes, code cleanups, deprecations, and coding standard fixes
1015 New in 0.6.0
1016 - Specification
1017   + launched pdd18_security.pod
1018   + updated pdd17_pmc.pod
1019   + launching draft of pdd28_character_sets.pod
1020 - Documentation
1021   + cleanup of IMCC documentation
1022 - Configuration
1023   + add step auto::gettext
1024   + add step auto::crypto
1025 - Compilers
1026   + PCT:
1027     . Fix '-e' option
1028     . Phase out P6Regex in favor of Perl6Regex
1029   + IMCC:
1030     '.local Array my_arr' is illegal now
1031 - Languages
1032   + C99: reimplementation with PCT
1033   + lolcode:
1034     . various updates
1035     . add support for functions with params
1036     . add math functions
1037   + Rakudo:
1038     . support for 'say'
1039     . first cut at smart matching
1040     . indirect method calls
1041     . support for Pairs
1042     . added methods 'grep' and 'first'
1043     . implement auto{increment,decrement}
1044     . initial implementation of 'perl6doc'
1045   + Lua:
1046     . various updates
1047     . add base64 library
1048   + Cardinal: basic support for functions with parameters
1049   + Pheme: various updates
1050   + Ecmascript: various updates
1051   + Tcl: now targeting tcl 8.5.1, no more expected failures in test suite.
1052     (No, this doesn't mean everything's implemented. =-)
1053   + Eclectus: various updates
1054   + WMLScript: various updates
1055 - Implementation
1056   + PDD17 (PMCs)
1057   + Add library YAML::Dumper
1058   + Add the MD2, MD4, MD5, RIPEMD160, SHA & SHA1 PMC, as a wrapper
1059      around libcrypto
1060 - Miscellaneous
1061   + various bugfixes, code cleanups and coding standard fixes
1062   + consting
1063   + remove external Perl 5 modules from the Parrot distribution
1065 New in 0.5.3
1066 - Documentation
1067   + PDD09 (garbage collection) - approved
1068   + PDD28 (character sets) - draft started
1069   + added function documentation to some core functions
1070   + PCT beginners guide, optable guide and PAST nodes guide, bug fixes
1071 - Compilers
1072   + IMCC: plugged various memory leaks and other cleanups
1073   + PCT:
1074     . add "attribute" as a scope variant to PAST::Var nodes
1075     . add 'shift' and 'pop' methods to PAST:: nodes
1076   + NQP: add '=:=' op, tests for scalar and list contextualizers, \x escapes
1077 - Languages
1078   + APL: reimplementation with PCT
1079   + Cardinal (Ruby): reimplemention with PCT
1080   + Ecmascript: reimplementation with PCT
1081   + lolcode: improved expression parsing, ifthen, IT, YARN
1082   + lua:
1083     . aligned with Lua official release 5.1.3.
1084     . added initial PCT-based implementation.
1085   + Punie (Perl 1): refactor to use standard PCT-based filenames
1086   + Pynie (Python): add functions
1087   + Rakudo (Perl 6):
1088     . rebranded, formerly known as 'perl6'
1089     . passes many more official Perl 6 Specification tests
1090     . added 'perl6doc' utility
1091     . oo including meta?classes, objects, methods, attributes, role composition
1092     . match variables, while/until statements, traits
1093     . many new methods for Str, List, Hash, Junction
1094 - Implementation
1095 - Deprecations
1096   + PCCINVOKE syntax for named arguments using []; use () instead.
1097   + see DEPRECATED.pod for details
1098 - Miscellaneous
1099   + pbc_to_exe refactored for code reduction, portability, and maintainability
1100   + various bug fixes
1101   + #line directives added to generated JIT files, improving debugging
1102   + consting, attribute marking, refactoring, warnings cleanup
1104 New in 0.5.2
1105 - Documentation
1106   + PDD27 (multiple dispatch) - debut of new design
1107   + Numerous small updates to glossary.pod, etc
1108 - Compiler Toolkit
1109   + NQP: optional, named, and named/required parameters
1110   + PIRC: cleanups
1111   + PAST: "defined-or"
1112 - Languages
1113   + New mk_language_shell.pl script creates language stubs
1114   + LOLCODE: new
1115   + Lua: various
1116   + Eclectus: start with support for local variables and procedures,
1117     use SXML as intermediate representation
1118   + Perl 6: list builtins, compiler directives, command-line options, etc.
1119   + "make perl6" now builds a Perl 6 executable
1120   + punie: more builtins, control structures, code refactoring
1121   + pynie: builtin stubs, more tests
1122 - Implementation
1123   + New "pbc_to_exe" utility turns bytecode to executables
1124   + New set_outer method for subs
1125   + Further configuration refactoring for testability
1126   + All functions now completely headerized
1127   + Concurrency: interpreter schedulers
1128 - Deprecations
1129   + DYNSELF (changes to SELF; SELF to STATICSELF)
1130   + METHOD (replaced by renaming PCCMETHOD)
1131   + pmcinfo op (superseded by 'inspect')
1132   + get_attr, set_attr, and 8 other vtable methods
1133   + See DEPRECATED.pod for details
1134 - Miscellaneous
1135   + Many bug fixes
1136   + Minor speed enhancements with UTF-8 string handling
1137   + Debian packaging
1138   + consting, attribute marking, warnings cleanup, memory leaks plugged ...
1140 New in 0.5.1
1141 - Documentation
1142   + PDD19 (PIR) - reflect state on the ground; incorporate old IMCC docs
1143   + PDD25 (Concurrency) - launch out of draft
1144   + Improve documentation of deprecated parrot features.
1145 - Compilers
1146   + PCT: Parrot Compiler Toolkit redesigned and updated
1147   + NQP: major updates, including support for namespaces,
1148     module/class declarations, methods
1149   + IMCC: remove .sym as alias for .local. Remove .pcc_
1150     prefix for calling directives (.pcc_begin became .begin_call).
1151   + PIRC: creates an AST during the parse.
1152   + PGE: more updates to match S05 syntax.
1153 - Languages
1154   + perl6: re-implemented using PCT and NQP, new object subsystem
1155   + abc: re-implemented using PCT and NQP
1156   + eclectus: initial implementation
1157   + plumhead: add PCT variant
1158   + punie: re-implemented using PCT and NQP, extended to handle subroutines
1159     Happy 20th Birthday, Perl!
1160   + pynie: re-implemented using PCT and NQP
1161   + PIR: start conversion to NQP (under construction)
1162 - Implementation
1163   + new opcodes: 'die', 'addhandler', 'copy'
1164   + Initial implementation of Concurrency PDD
1165   + Add 'arity' method to Sub and NCI PMCs
1166 - Miscellaneous
1167   + Bug cleanup
1168   + consting, attribute marking, warnings cleanup, memory leaks, GC...
1169   + dead code removal (includes some defunct languages)
1171 New in 0.5.0
1172 - Implementation
1173   + PDD15 (OO) branch merged with trunk; this release contains a working,
1174     tested implementation of the latest OO model
1175   + Added pop_eh/push_eh_p/count_eh opcodes
1176   + Add --runcore command line option
1177   + Add gcdebug runcore to help track down GC bugs
1178   + minor improvements to IA-32 JIT
1179 - Documentation
1180   + PDD19 (PIR): updates to macros, .pcc* directives
1181   + PDD25 (Concurrency): updated
1182   + PDD26 (AST):  draft approved
1183   + PDD23 (Exceptions): draft approved
1184   + Copyright cleanups
1185 - Languages/Compilers
1186   + languages/APL: minor updates, PDD15 conformance
1187   + languages/dotnet: minor updates
1188   + languages/lua: minor updates, PDD15 conformance
1189   + languages/lisp: minor updates
1190   + languages/perl6: minor updates, PDD15 conformance
1191   + languages/plumhead: minor updates
1192   + languages/punie: minor updates, PDD15 conformance
1193   + languages/nqp: minor updates
1194   + languages/scheme: many updates, PDD15 conformance, improved tests, use
1195     PMCs instead of primitive registers to represent values
1196   + languages/tcl: bugfixes, PDD15 conformance
1197   + languages/WMLScript: minor updates
1198   + compilers/pirc: updates from PDD19, PDD06
1199   + compilers/pct: minor updates, PDD15 conformance
1200   + compilers/pge: PDD15 conformance
1201   + compilers/tge: PDD15 conformance
1202 - Configuration
1203   + Improve test coverage
1204   + Improve reporting when a step fails; allow abort on failure
1205 - Miscellaneous
1206   + More coding standard conformance, tests, cleanup, speedups,
1207     warnings cleanup
1208   + Bug cleanup, esp. GC bugs
1209   + Eliminate .imc extension (use .pir)
1210   + Simplify some core config steps to not allow interactive prompting
1211 - Removed
1212   + clear_eh opcode
1214 New in 0.4.17
1215 - Implementation
1216  + Bug fixes (including Coverity IDs 20, 22, 30, 119-122, 124-126, 129-131)
1217    Also various GC, memory, and segfault issues
1218  + Fix & reenable CGP core
1219  + Parrot's -r flag now works again (compile to and execute bytecode)
1220  + Updates to pmc2c & PIR syntaxes
1221  + Fix Complex PMC
1222  + Minor performance improvements, especially in PGE
1223 - Documentation
1224  + PDD02 "Vtables" - superceded by PDD17
1225  + PDD06 "PASM" - minor updates
1226  + PDD17 "PMC" - add VTABLE syntax, update core PMC struct, restore UnionVal
1227  + PDD19 "PIR" - early review started
1228  + PDD21 "Namespaces" - cleanup
1229  + PDD24 "Events" - draft approved
1230  + PDD25 "Concurrency" - minor updates
1231  + PDD26 "AST" - draft version begun
1232  + PIR tutorials updated
1233 - Languages/Compilers
1234  + Make scheme work with the current calling conventions, other major work.
1235  + Updates to m4, lua, compilers/pirc, languages/PIR, dotnet, tcl
1236 - Miscellaneous:
1237  + make -j functional again
1238  + Code cleanup (refactoring, optimizations)
1240 New in 0.4.16
1241 - Implementation:
1242  + Performed code review on every PMC
1243  + Modified PMC code generation to use Storable, reducing compile times
1244  + Added a makefile target to generate test coverage data of C sources
1245 - Languages:
1246  + NQP: added lists, for loops, operators, comparison and multiplicative operators
1247  + Announced Kea-CL, Kea Common Lisp, an ANSI Common Lisp implementation
1248    The repository is available at https://rgrjr.dyndns.org/svn/kea-cl/trunk/
1249 - Documentation
1250  + PDD17 "PMCs" - draft approved, the design is complete
1251  + Added more PIR tutorials, see examples/tutorial/00_README.pod
1252 - Miscellaneous:
1253  + Many bugfixes, enhancements, documentation, and coding standard updates
1254  + Deprecated PMC constants and other crufty syntax, see DEPRECATED.pod
1255  + Improved icc compiler compatibility for error line reporting
1257 New in 0.4.15
1258 - Implementation:
1259  + Lots of code review, many bugs fixed
1260  + Many more code cleanups and compiler warning levels
1261  + Started a new jit engine for 64-bit processors
1262  + Refactored configure process, with tests and new diagnostic options
1263  + Added new CodeString PMC for dynamic generation of PIR code
1264  + More pdd15 support for object metamodel.
1265 - Languages:
1266  + Added NQP ("Not Quite Perl"), a very lightweight Perl 6-like language
1267  + Significant improvements and refactors to PCT (Parrot Compiler Toolkit)
1268  + perl6 passes more spec tests
1269  + Lua works now with a PGE/TGE/PAST-pm based compiler, lives in one pbc,
1270    and the interpreter has same behavior as original.
1271 - Documentation
1272  + Added a committers' HOWTO
1273  + More PIR tutorial examples
1274  + Added PAUSE guide
1276 New in 0.4.14
1277 - Now, with Seat Belts!
1278  + added makefile targets for Sun lint, BSD lint, and splint
1279  + corrected many errors picked up by these tools
1280  + decorated source code with compiler hints, assertions, and attribute macros
1281  + automated creation of function declarations to prevent common errors
1282  + increased compiler warnings levels
1283  + converted more exceptions to a recoverable form
1284 - Languages:
1285  + updated Lisp, Lua, Perl 6, tcl, regex, Scheme ("Pheme")
1286  + Perl 6 now fetches selected tests from pugs, and even passes some
1287  + PGE modified to handle {*} action subs for top-down and bottom-up parsers,
1288    and to allow grammar subclassing
1289  + HLLCompiler now has better exception, eval, and exit support
1290  + Introduced PCT, a refactor of HLLCompiler and PAST-pm
1291 - Design:
1292  + PDD15 "Objects" - details added to 'new' and 'getattribute' opcodes
1293  + PDD17 "PMCs" - notes added on instantiation and dynamic extention in PIR
1294 - Documentation:
1295  + added Parrot-related text from "Perl 6 and Parrot Essentials" book,
1296    tutorial examples from "Learning PIR" talk, and PDD15 metamodel diagrams
1297 - Implementation:
1298  + reduced memory footprint when using named registers
1299  + implemented overridding of vtable methods by PDD15 classes
1300  + improved PDD15 support for 'new', 'instantiate', and others
1301  + added makefile targets to ease core and HLL makefile regeneration
1302  + updated parrot dubugger, "pdb", to allow loading of commands from file
1303 - Misc:
1304  + many bugfixes, enhancements, documentation, and coding standard updates
1306 New in 0.4.13
1307 - Languages:
1308  + Updated Lisp, Lua, PHP ("Plumhead"), Python ("Pynie"), ABC,
1309    WMLScript, and Tcl ("ParTcl").
1310  + Perl 6 passes all of the sanity tests.
1311  + PGE supports latest Perl 6 grammar syntax. Perl 6, Python
1312    ("Pynie"), and ABC parsers updated to match.
1313  + Updated PHP ("Plumhead") to Antlr 3.0.
1314  + Lua added the beginnings of a PGE/TGE based compiler (not yet
1315    replacing the Perl/Yapp compiler).
1316  + Lisp updated for current features, added a test suite.
1317 - Core Implementation:
1318  + Filled in features and backward compatibility for PDD 15 objects.
1319    New object metamodel passes 85% of old test suite.
1320  + GCC API symbols are visible externally only when explicitly exported.
1321  + Added generated GCC compiler attributes to increase warnings, and
1322    cleaned up resulting warnings.
1323  + Code cleanup efforts and fixed memory leaks by the cage cleaners,
1324    resulting in notable speed increases.
1325 - Misc:
1326  + Updated Parrot distribution to Artistic License 2.0, from dual
1327    Artistic 1/GPL license.
1328  + SDL examples brought up-to-date with current features.
1330 New in 0.4.12
1331 - Build:
1332  + even more refactorings and improvements in configuration system
1333  + improved tests and documentation for configuration system
1334 - Languages:
1335  + Updated abc, PHP ("Plumhead"), Lua, Tcl
1336  + Reclaimed Lisp
1337 - Design:
1338  + new PMC PDD draft partially completed
1339 - Implementation:
1340  + continued implementation of PDD 15 (Objects)
1341  + minor garbage collector and memory management improvements
1342  + several memory leaks resolved
1343  + extended support for compilers other than GCC
1344  + improved C++ compiler compatibility
1345  + enhanced support for Solaris, non-MSVC Win32, and other platforms
1347 New in 0.4.11
1349 - Compilers:
1350  + IMCC: added documentation for C-based Parrot Calling Conventions,
1351    refactorings and bug fixes
1352  + PGE: new perl6regex front end reflecting recent S05 syntax changes
1353  + PIRC: new prototype PIR parser
1354 - Languages:
1355  + Updated Lua, PHP ("Plumhead"), BASIC, pynie
1356  + Lua implements environment
1357 - Design:
1358  + PDD15 "Objects" - details added, and draft approved
1359 - Documentation:
1360  + Added guidelines for PMC documentation
1361 - Implementation:
1362  + PDD15 implementation is largely complete, including role-based composition,
1363    introspection, and C3 method resolution order
1364  + new Exporter PMC for importing globals between namespaces
1365  + new string utilities for radix conversion
1366  + PCCINVOKE and Parrot_PCCINVOKE allow calling using the full Parrot Calling
1367    Conventions from PMCs and C code respectively
1368 - Build:
1369  + Refactorings and improvements in test coverage for 'Configure.pl'
1370 - Misc:
1371  + many bugfixes, enhancements, and code cleanup
1372  + added example subversion config file
1373  + extended support for gcc, icc, and other compilers
1374  + extended support for Solaris and other platforms
1377 New in 0.4.10
1379 - Compilers:
1380  + IMCC: Parrot calling conventions now available between two C PMCs (PMINVOKE)
1381  + PGE: Match object improvements
1382  + smop: added Attribute and Class PMCs
1383  + HLLCompiler: improvements for interactive mode
1384 - PAST:
1385  + extended binding to a list of variables
1386 - Languages:
1387  + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), Ruby ("Cardinal")
1388  + Update PIR, regex, Zcode
1389  + New language: Pynie - a Python compiler for Parrot
1390  + Lua implements require and many other ops, improved regex support
1391  + Remove parakeet
1392 - Design:
1393  + PDD01 "Overview" - updated architecture and platform information
1394  + PDD15 "Objects" - details on roles, objects, and classes added
1395  + PDD22 "I/O" - added async ops and Status PMC details
1396 - Documentation:
1397  + Added guides for Metacommitter, Relase Manager, and Cage Cleaner roles
1398 - Implementation:
1399  + Object, Class, Role, and Attribute PMC implementation has begun
1400  + Perl 5 module "Parrot::Embed" now compiles and links on all platforms
1401 - Build:
1402  + Major improvements in test coverage for 'ops2c.pl'
1403 - Misc:
1404  + New utility: Crow, a template processor
1405  + New library module: Config/JSON for reading/writing JSON files
1406  + many bugfixes, enhancements, and coding standard updates, code cleanup
1408 New in 0.4.9
1410 - Compilers:
1411    + IMCC: Parrot calling conventions now available in C PMCs, allowing
1412      named, optional, slurpy, and flat parameter passing
1413    + PGE: extended support for Perl 5 Regexes
1414    + smop: prototype object model implementation
1415    + hllcompiler: refactored to run a configurable set of compilation stages
1416 - PAST:
1417    + redesigned assign/binding to support Perl 6 binding semantics
1418 - Languages:
1419    + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), perl6, perl5
1420    + New language: PIR - a PGE-based implementation of Parrot PIR
1421    + perl6 now supports binding (':=') and 'join'
1422    + lua generates tail calls, and supports its own regex flavor (PGE-based)
1423    + Pheme still works, huzzah!
1424 - Design:
1425    + PDD21 "Objects" - rewritten
1426    + PDD22 "I/O" - updated and 'TODO' tests added
1427 - Documentation:
1428    + Interface stability classification standards approved
1429    + Roles and Responsibilities documented approved
1430    + Official 'drafts' directory created (was 'clip')
1431 - Implementation:
1432    + More NameSpace and OS PMC methods implemented
1433    + Parrot executable fullname and basename now available in PIR/PASM code
1434    + new 'chomp' library function
1435 - Build:
1436    + Major improvements in test coverage for 'ops2pm.pl'
1437 - Misc:
1438    + many bugfixes, enhancements, and coding standard updates
1439    + extended support for Sun Workshop Compilers
1440    + Parrot now builds on PocketPC platform
1442 New in 0.4.8
1444 - Compilers:
1445    + HLLCompiler: added tracing options, modified api
1446    + PGE & TGE bugfixes and updates
1447 - PAST:
1448    + added global and lexical variable support
1449    + added looping constructs, arrays, hashes
1450 - Languages:
1451    + Updated PHP ("Plumhead"), Tcl ("ParTcl"),
1452      forth, perl6, lua, abc, APL, WMLScript, punie
1453    + ParTcl is passing > 24.9% of Tcl cvs-latest test suite
1454    + perl6 now supports hashes, arrays, method calls, arity-based
1455      multisubs, quoted terms, ranges (non-lazy), try blocks, $!
1456 - Design:
1457    + PDD01 "Overview" - updated
1458    + PDD22 "I/O" - rewritten and approved
1459 - Test Suite:
1460    + Converted Perl 5 Regex tests to PIR, with notable speedup
1461    + Added tests for opcodes, compilers, languages, and coding standards
1462 - Build:
1463    + Major improvements in test coverage for 'pmc2c.pl'
1464 - Misc:
1465    + many bugfixes, enhancements, and coding standard updates
1466    + extended support for non-core platforms including Cygwin, Tru64
1468 New in 0.4.7
1470 - New languages: PHP ("Plumhead"), Forth
1471 - Updated languages: Ruby ("Cardinal"), Tcl, Lua
1472 - Remove old Python implementation from Parrot repository; the new Python
1473   language code is hosted at http://pirate.tangentcode.com
1474 - Compilers:
1475    + PGE updated with more expressions, latest changes to S05
1476    + new Perl 6 grammar compiler
1477 - Integration:
1478    + Perl 5 module "Parrot::Embed" allows easy embedding of a Parrot
1479      runtime into a Perl 5 program
1480 - PIR:
1481    + new :init pragma for subs that must run before the main function
1482    + new :vtable pragma to identify subs that override PMC vtable methods,
1483      eliminating the need for special subroutine names
1484    + PIR parser/compiler does not stop on first syntax error
1485    + Vanilla register allocator ("register alligator") greatly improves
1486      performance compiling large functions
1487    + Eliminated limit on number of PIR macros
1488 - PMCs:
1489    + hash lookups return null instead of None for missing keys
1490 - Design:
1491    + PDD13 "Bytecode files: format and manipulation" - new
1492    + PDD10 "Embedding" - new
1493    + PDD25 "Concurrency" - rewritten
1494    + PDD15 "Objects" - new section on redesign requirements
1495    + PDD07 "Coding standards" - significant updates and automated tests
1496 - Test Suite:
1497    + Many many more new tests
1498 - Build Process:
1499    + autoconf compatible install options
1500 - Misc:
1501    + Namespace refinements
1502    + Coroutine improvements
1503    + An impressive swarm of other bugfixes and enhancements
1505 New in 0.4.6
1507 - New languages: Ruby ("Cardinal"), Javascript ("ecmascript")
1508 - Updated languages: Tcl, dotnet, bc, Pheme, Punie, WMLScript
1509 - Updated compilers: PGE, TGE
1510 - IMCC updates:
1511    + ".loadlib" directive expresses dependencies
1512    + ".namespace" with no parameter goes to HLL root
1513    + lexer is reentrant (reentrant grammar in progress)
1514 - Namespace improvements:
1515    + new suite of opcodes to access namespaces and globals
1516      ("find_global" and "store_global" will be phased out)
1517    + namespace '' no longer means HLL root
1518 - Design document updates:
1519     namespaces (pdd23), basic types (pdd17), embedding
1520 - Updated tool requirements for developers:
1521     flex 2.5.33, bison 2.1, perl 5.6.1
1522 - New to-do list for people new to Parrot:
1523     cage/todo.pod
1524 - The usual plethora of bugfixes and enhancements
1526 New in 0.4.5
1528 - unicode subroutine names
1529 - hierarchical class names finished including MMD support
1530 - new dotnet CLI to PIR translator
1531 - improved TGE code and compiler
1532 - APL: vector handling
1533 - new STM branch in the svn repository
1534 - the usual bugfixes and enhancements
1536 New in 0.4.4
1538 - hierarchical class names
1539 - APL compiler
1540   - under development
1541   - understands simple vector ops, strings
1542   - demonstrates use of Unicode in Parrot
1543 - pgc, a compiler for rules and operator precedence parsers
1544 - Major redesign and improvements for PGE
1545   - compilers understand named parameter options
1546   - :ratchet option implemented to support non-backtracking quantifiers
1547 - TGE (tree grammar engine) for tree transformations
1548   - tgc, tree grammar compiler
1549 - perl6 compiler
1550   - support for many operators, lexical scalars, regex matches
1551 - new pheme (Parrot scheme) compiler
1553 New in 0.4.3
1555 - namespaces partially implemented
1556 - rulec, Perl 6 rule compiler
1557 - PGE improvements including return values for closure
1558 - parts of a Perl 6 parser based on PGE
1559 - complex trigonometric methods
1560 - type of Sub PMC is now overridable by HLL
1561 - NetBSD support
1562 - many bug fixes and improvements
1564 New in 0.4.2
1566 - improved PPC and x86 JIT support including JIT compilation
1567   of very simple PASM/PIR subroutines
1568 - preliminary libreadline support
1569 - better trace and debug features
1570 - pkgconfig support
1571 - META.yml to support proper indexing on CPAN
1572 - new opcode: hcf (in "my_ops" in dynamic op library)
1573 - new File pmc for file specific ops (is_dir, is_file, copy, rename...)
1574 - named arguments and parameters (both :named("") and => syntaxes)
1575 - ongoing config improvements
1576 - tons of bug fixes and other small improvements - too much to list all
1578 New in 0.4.1
1580 - Installation: 'make install' is using standard locations now
1581   (/usr/local is the default --prefix)
1582 - Produce static and shared libraries on some systems
1583 - Configure system rearragement
1584 - OS pmc started (mkdir,cd,cwd,rm,umask,stat)
1585 - Shootout examples
1586 - Test files are now testable with 'prove'
1587 - Smoke (and smokej) outputs progress
1588 - PIR supports: I = A < B (>,<=,>=,==,!=)
1589 - Add support for octal number constants
1590 - partcl updates:
1591   - almost finish [string]; start [file]
1592   - add build tool for generating inline'd tcl builtins from templates.
1593 - Jako updates: NCI, subroutines, global variables and constants all work.
1594   (Gregor)
1596 New in 0.4.0
1598 - New lexical handling and closure support including better
1599   introspection for caller and outer
1600 - PGE (Parrot Grammar Engine) provides now compilers for P6Rule,
1601   P6Grammar, P5Regexp, and Glob
1602 - ca. 1000 new tests including 800 for Perl5 regexp
1603 - Improved unicode charset and encoding support
1604 - Calling conventions for exception handlers
1605 - Punie (Perl 1) uses TGE (Tree Grammar Engine) to convert from
1606   PGE match objects to AST via two steps of tree transformation grammars
1607 - New languages: amber and lua
1608 - The usual code fixes, cleanup, and improvements, including an overhaul
1609   of the config and test framework
1611 New in 0.3.1
1613 - Variable sized register frames are finished. Each subroutine gets
1614   the amount of registers that it actually needs. No more spilling.
1615 - Vastly improved PGE (Parrot Grammar Engine) including shift-reduce,
1616   precedence-based expression parser and support for matching of
1617   bracketed text delimited by e.g. ()[]{}'"
1618 - uniccode character classification (is_upper ...)
1619 - support for heredoc syntax in assembler
1620 - improved examples, basic JSON support
1621 - debian packaging support
1622 - the usual improvements, bug fixes, and cleanup
1623 - test count exceeds 3000
1625 New in 0.3.0
1627 - New calling conventions implemented: see PDD03 for details
1628 - Merge multiple Parrot bytecode (PBC) files into a singe PBC file
1629 - 'make smoke' target going beta
1630 - bc now supports if statements, comparison ops, prefix inc/dec
1631 - ParTcl adds [lassign], [switch] (partially); [expr] converted to a compiler
1632 - Many exciting doc updates, tests, and bugfixes, too numerous to mention
1634 New in 0.2.3
1636 - Dynamic classes now compile on Windows (including ParTcl)
1637 - New Super PMC allows easy access to superclass methods
1638 - Implement C3 method resolution order (just like Perl 6 & Python)
1639 - ParTcl has new PIR-based parser and passes more Tcl tests
1640 - added character class support in Globs to PGE
1641 - added language implementations of unlambda, Lazy-k
1642 - many bugfixes, including GC and memory leaks
1643 - the new calling scheme continued to evolve in branches/leo-ctx5
1645 New in 0.2.2
1647 - new call scheme: docs/pdds/pdd03_calling_conventions.pod
1648 - partial implementation of the new calling conventions
1649   PASM only, don't mix PIR foo() call syntax with the new scheme
1650 - grammar and rule support in PGE - the Parrot Grammar Engine
1651 - TCL passes >10% of the tcl test suite
1652 - the usual bugfixes and improvements
1654 New in 0.2.1
1656 - better HLL support (short names for object attributes, and
1657   .HLL and n_operators pragmas)
1658 - string encoding and charset can now be set independently
1659 - experimental mmap IO layer for slurping files
1660 - distinct debug and trace flag settings
1661 - glob support in PGE
1662 - new character classification opcodes and interfaces
1664 New in 0.2.0
1666 - parrot repository is now under subversion
1667 - MMD (Multi Method Dispatch) enhanced
1668 - new unary and infix opcodes that return new result PMCs
1669 - dynamic scalar PMCs inherit now almost all from Parrot core PMCs
1670 - more unification of PMCs and ParrotObjects
1671 - tailcalls for functions and methods
1672 - PGE (Parrot Grammar Engine) reworked
1673 - Pugs creates Parrot code and Pugs is a registered compiler now
1674 - new languages/lisp
1675 - the usual bug fixes and improvements
1677 New in 0.1.2
1679 - New string handling code. Strings now have charset and encoding
1680 - Parts of a generation garbage collector
1681 - Better Python code, separated in dynclasses
1682 - Parrot Grammar Engine
1683 - Improved test coverage and documentation
1685 New in 0.1.1
1687 Parrot 0.1.1 is an intermediate release with tons of updates and fixes.
1688  - Python support: Parrot runs 4/7 of the pie-thon test suite
1689  - Better OS support: more platforms, compiler, OS functions
1690  - Improved PIR syntax for method calls and <op>= assignment
1691  - Dynamic loading reworked including a "make install" target
1692  - MMD - multi method dispatch for binary vtable methods
1693  - Library improvement and cleanup
1694  - BigInt, Complex, *Array, Slice, Enumerate, None PMC classes
1695  - IA64 and hppa JIT support
1696  - Tons of fixes, improvements, new tests, and documentation updates.
1697 A lot is unfinished and keeps changing. Nethertheless Parrot is stable
1698 and usable at the surface, while internals are moving.
1700 New in 0.1.0
1701  - "Ladies and gentlemen, I give you... objects!"
1702  - Huge documentation overhaul
1703  - More supported platforms, s. PLATFORMS
1704  - Basic thread support for pthread based architectures
1705  - Basic event handling for timers and signals including:
1706  - PASM callbacks for NCI (native C) functions.
1707  - Improved platform configuration
1708  - COW stacks now working, stacks code redone
1709  - Structure handling vastly improved
1710  - Random PMC and rand primitives
1711  - Better subroutine call syntax in PIR
1712  - Make PIR subroutines compliant with pdd03
1713  - Improved profiling (DOD, GC timings)
1714  - Hash code improvements, incl. random key order support
1715  - Experimental freeze/thaw code for some PMC types
1716  - IO improvements for buffered layer and Win32
1717  - String iterators
1718  - String bitwise vtables
1719  - Many new opcodes
1720  - Support for JIT, where malloced memory isn't executable
1721  - Priority DOD scheme for objects that need timely destruction
1722  - Improved byte code loading (e.g. onLoad functions)
1723  - Language updates: forth, Perl 6/P6C, m4
1724  - Libraries: Getopt_Long, SDL, Dumper, Sort
1725  - new JAPH examples
1726  - Unified imcc and parrot test handling
1727  - Many new tests (make test reports 1386 tests)
1728  - Numerous bug fixes
1730 New in 0.0.13
1731  - The Big Move: Parrot source and build files rearranged into sub dirs
1732  - Build imcc as parrot
1733  - Objects more finished
1734  - Delegate vtable methods to byte code
1735  - Binary multi-method dispatching
1736  - Isa and does methods for PMCs
1737  - Call byte code from C
1738  - Start of extension interface
1739  - Experimental struct handling
1740  - Catch access to NULL PMCs
1741  - Experimental network socket interface code and opcodes
1742  - IO fixes and improvements
1743  - Dynamic opcode libraries
1744  - Fix-assigned opcode numbers
1745  - Argument flattening for function calls
1746  - More native call interface (NCI) signatures
1747  - Ncurses, postgres, and pcre interface libraries
1748  - Forth language is vastly improved
1749  - BSD and Win32 build improvements
1750  - Many new tests and fixes
1752 New in 0.0.12
1753  - This number intentionally left blank
1755 New in 0.0.11
1756  - Executable output
1757  - Dynamic PMC registration
1758  - Trial exception system
1759  - Beginnings of object system
1760  - Iterators
1761  - Ordered hashes
1762  - I/O system improvements
1763  - References
1764  - Documentation for basic PMC types
1765  - IMCC support of Parrot Calling Conventions
1766  - Runtime loading of chartypes (and other string improvements)
1767  - Conditional breakpoints
1768  - Dramatically accelerated sweeps for finalizable objects
1769  - Small PMCs (PMCs split into core and extensions)
1770  - Loadable bytecode packfiles
1771  - Constant PMCs
1772  - Sub variants that deal with the stack correctly
1773  - Switched runops core
1774  - Line numbers in warnings
1775  - Environment access
1776  - Many documentation cleanups
1777  - Conversion to CPS style!
1778  - BASIC debugger and many other wacky features
1779  - Filename, line number parsing support in IMCC
1781 New in 0.0.10
1782  - IMCC integration
1783  - eval
1784  - some more benchmarking
1785  - cgp core
1786  - optimized math ops
1787  - intersegment branches
1788  - more complete use of PObjs
1789  - beefed up packfiles
1790  - sub/continuation/coroutine fixes
1791  - better NCI (native calling interface)
1792  - many imcc improvements
1793  - jako improvements
1795 New in 0.0.9
1797 - Native function calling interface (Dan)
1798 - Stack/list aggregate rewrite (Leo)
1799 - Scratchpads (Jonathan Sillito)
1800 - Preliminary DotGNU support -- type conversion ops (Gopal V + Leo)
1801 - Buffer/PMC unification (Leo)
1802 - stabs debugging support for JIT (Leo)
1803 - Jako overhaul (Gregor)
1804 - Optional Lea allocator (Leo)
1805 - Parrot sprintf (Brent)
1806 - Miniparrot (Josh)
1807 - PMC Properties (Dan)
1808 - Various JIT improvements (D. Grunblatt + Leo)
1809 - Extensible packfiles (Juergen)
1810 - Restructured PMC hierarchy (Leo)
1811 - Real Scheme (Juergen)
1813 New in 0.0.8
1815 - Several new grammars and a BNF -> perl5 and perl6 converter (Jeff)
1816 - Working Perl 6 REs (Sean)
1817 - Keyed Access (Tom Hughes et al)
1818 - New PMCs (Alberto et al)
1819 - Better Documentation
1820 - New COW semantics
1821 - GC acceleration (Mike Lambert)
1822 - Lexical scope (Jonathan Sillito)
1823 - IMCC patches
1824 - JIT for the ARM
1826 New in 0.0.7
1828 - Perl 6 Grammar and Compiler (Sean)
1829 - Subroutines, coroutines, and continuations (Melvin)
1830 - GC improvements (Peter Gibbs, Mike Lambert)
1831 - Global variables (Melvin)
1832 - Intermediate bytecode compiler (Melvin, Angel)
1833 - And much, much more.
1835 New in 0.0.6
1837 - New assembler that support keyed types (Jeff)
1838 - New macro layer, allowing constants (Jeff)
1839 - New Configure.pl (Brent)
1840 - Changes to bytecode format, endian issues resolved (Melvin)
1841 - GC improvements and bug fixes (Peter Gibbs, Mike Lambert)
1842 - JIT compiler rewrite (Jason and Daniel)
1843 - Parrot assembler in Parrot (Daniel)
1844 - Parrot debugger (Daniel)
1845 - BASIC polished, Eliza.bas is new (Clint)
1846 - Cola compiler committed and working, with limited OOP (Melvin)
1847 - Keyed aggregates (Steve Fink)
1848 - Global ops (Melvin)
1849 - Compile-time speedup (Melvin)
1850 - Much documentation
1851 - New PDDs (Dan)
1852 - Contributed tetris and lzw files
1853 - And many more, from the cast of thousands
1855 New in 0.0.5
1857 - Full GC
1858 - Perl Scalar support in PMCs
1859 - Array and Hash types almost ready for prime-time
1860 - Internal support for keyed types
1861 - EMACS editing mode
1862 - New PDDs
1863 - New Language - BASIC
1864 - Regular expression compiler
1865 - More tests
1866 - Many, many bug fixes, enhancements, and speedups
1868 New in 0.0.4
1870 - Arena-based memory allocation system
1871 - Copying GC
1872 - New IO subsystem
1873 - "Predereferencing" mode - ./parrot -P - 22% speedup
1874 - JIT compiler - ./parrot -j
1875 - Parrot now builds warnings-clean on many platforms
1876 - Many more PMC methods implemented
1877 - Regular expression operations
1878 - Added a FAQ
1879 - Basic support for embedding Parrot in other programs
1880 - Warnings support
1881 - Added PDDs to distribution
1882 - Bignum library
1884 - PMC inheritance
1885 - Added an assembly optimizer
1886 - Improved string encoding/type support
1887 - Many more tests
1888 - Source reformatting
1889 - Major refactoring in packfile library
1890 - More Miniperl functionality
1891 - New PMC "clone" operator
1892 - Beginnings of key-based access to PMCs - arrays and hashes
1893 - MOPS comparisons in examples/mops/
1895 New in 0.0.3
1897 - PMCs!
1898 - Perl base scalar types implemented
1899 - A new minilanguage, Scheme
1900 - Much improved documentation
1901 - Register stacks pushing and popping
1902 - User stack pushing, popping and rotating
1903 - Jako updates: subroutines, more example programs, optimizations
1904 - test_prog renamed to 'parrot'
1906 - Added features to the assembler: @ for current location, and global
1907   labels
1908 - Build tweaks for VMS
1909 - Bytecode typing clean-ups
1910 - More platforms: OS X, HPUX, OS/2
1911 - The proliferation of runops cores reduced to one fast and one slow one
1912 - Opcode tracing, bounds checking, profiling
1913 - Vastly improved string support, with separation of encoding and
1914   charset
1915 - Lots more tests
1916 - Multiple interpreter creation support - the beginnings of threading
1917 - Much better resource handling - the beginnings of GC
1919 New in 0.0.2
1921 - Parrot now works on all core platforms
1922 - A large number of tests, in the standard Perl testing framework
1923 - A new minilanguage (Jako) which compiles to Parrot assembly
1924 - Documentation about the assembly language (docs/parrot_assembly.pod)
1926 - Separate modules for assembly (Parrot::Assemble) and bytecode
1927   manipulation (Parrot::PackFile::*, packfile.c)
1928 - Assembler completely rewritten
1929 - Better operand-type guessing in the assembler
1930 - Assembler support for '\n' etc. in string constants
1931 - Code reformatted to match the coding standards
1932 - New ops for register-constant INTEGER comparisons
1933 - Macro expansion in the assembler
1934 - IVs and NVs renamed to more friendly INTVAL and NUMVAL
1935 - Hard-coded pack("") formats removed
1936 - Better handling of floating-point numbers in assembler
1937 - Moved floats to constant table (fixing many alignment issues)