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