# $Id: ChangeLog,v 1.18 2001/07/09 23:48:12 matju Exp $ #

0.5 (head)

 * added tests/test03.rb that plays music using XBell.
 * faster tests/ifs.rb with more options

 * speed improvements:
   * added runtime field compilation (eval def) (faster, go figure)
   * added runtime xwrite compilation (eval def) (not much faster, go figure)
   * lots of actual speed optimisations. (PartialTuple,List)
   * PartialTuple rewritten using Hash instead of Tuple/Array.
   * shorter load/parse/setup delay
   
 * many small changes in API:
   * new tuples replace some common sublists of parameters.
   * Dimension now called Size everywhere.
   * replaced :Absent by nil.

 * replaced string-oriented #xpack,#xunpack,#xlength by
 	stream-oriented #xwrite,#xread,XStringReader,XStringWriter.
 * changes to TupleField,Tuple#fields_are internals.
 * added TupleBase; changed PartialTuple<TupleBase, Tuple<TupleBase.
 * read-buffering, non-block; adding xreceive_many, xreceive_blocking.
 * better split of List / String8.
 * X11Socket -> SocketLog

0.4 (2001.06.27)

 * changed license to LGPL
 * more documentation (especially, new section "Calling Conventions")
 * test/test02.rb (from O'Reilly's "basicwin.c") now _works_.
 * more fixes to Event (detail, keymasks, ...)
 * fixed many :length/:data declarations (#draw_strings, Font#query, etc)

 * up to twice as fast
 * added asynchronous replies (with callbacks)
 * added Display#wait_for (adds a sync-point for a set of async replies)
 * added some arithmetic to vector-like classes

 * changes in metatypes and declaration system:
   * Aggregate,AggregateType merged -> Tuple
   * PartialAggregate,PartialAggregateType merged -> PartialTuple
   * TupleFields<Tuple, describes a field of a Tuple
   * Length[s,t],Data[s,t] -> [s,t,:length], [s,t,:data]
   * :self -> [:self,...]; Unused[n] -> [nil,Unused[n]]

 * files merged: Graphics into XID; Choices into Base; Auth into Display
 * Keysyms: ~750 -> 836 syms; 24k -> 15k bytes incl cursorfont.

0.3 (2001.06.19)

 * more stuff works
 * tests/ifs.rb could make a nice screensaver.
 * merge of requests and aggregates
 * some work on parametrized classes/types ("templates")
 * got a synchronous call working
 * some work on events
 * merged several files together

0.2 (2001.05.19)

 * added documentation
 * a much better sketch
 * 99% of the declarations
 * tests/test01.rb still works <grin>

0.1 (2001.05.15)

 * a rough sketch
 * ~50% of the declarations
 * tests/test01.rb works

