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