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