Aug 14, 2009
============

 Release 0.3.1:

 This is a maintenance release, and incorporates a number of minor bugfixes and
 enhancements.

 Java:
 - lcm-spy, lcm-logplayer-gui warn if gcj is detected as JRE
 - minor enhancements to lcm-spy

 Python:
 - update comment docs

 Other:
 - add --lcm-url=URL cmd line option to lcm-{spy,logger,logplayer,logplayer-gui}
 - updated examples

Jun 29, 2009
============

 Release 0.3.0:

 Java
   Faster serialization classes that provide a 4x-5x speedup.  This introduces
   a backwards-incompatible change to the LCM Java API.  Specifically, 
   the messageReceived() method of the LCMSubscriber interface has changed
   from:

    public void messageReceived(LCM lcm, String channel, DataInputStream ins)

   to:
  
    public void messageReceived(LCM lcm, String channel, LCMDataInputStream ins)

   LCMDataInputStream has an almost identical API to DataInputStream, and
   migration of source code to the new API should only require changing
   implementations of LCMSubscriber in the manner described above.

 C
    warn on Linux if large packets are being received but the kernel rbuf is
    small

 Python
   bugfix for decoding arrays of bytes


Apr 15, 2009
============

 Release 0.2.2:

 logger
   - fixed internal counting bug
 lcm-gen
   - C bugfix: append "LL" to int64_t constants
   - Python optimization:  consolidate calls to struct.pack/unpack if possible
   - Python uses --lazy flag now
 C/Python
   - fix minor memory leak

Feb 16, 2009
============

 Release 0.2.1:

 fix accidental logger regression (would log empty packets)

Feb 14, 2009
============

 Release 0.2.0:

  C
    - make some error messages a bit more user-friendly
  Python
    - remove some extraneous print statements
    - minor bugfixes
  Java
    - better handle windows path separator
    - force .class files to be backwards compatible with Java 1.5
    - add MessageAggregator class
    - add <type_t>(byte[] data) decode constructor for generated code.
    - minor bugfixes for generated code
    - documentation improvements
  MATLAB
    - now supported via Java bindings.
    - example code added
  
  logplayer-gui
    - fix race WRT single-stepping.  UI tweaks.

  logger
    - add memory buffer to better handle intermittent high disk latencies

  configure
    - add --without-java and --without-python options

Nov 9, 2008
===========

    Release 0.1.1:

    * C: Modify "file://" provider so that lcm_handle returns -1 on EOF.
      Suppress warning messages when event numbers in a logfile are not 
      consecutive
    * C: change uint8_t* to void* in lcm_recv_buf, lcm_publish, and 
      lcm_eventlog_t
    * lcm-logger: add option to log only channels matching a regex
    * lcm-gen: bugfixes in emitted Java code
    * lcm-gen: add -jdefaultpkg option for emitted Java code, changed default
      behavior.

Aug 29, 2008
============

    Release 0.1.0:

    New features

    * Added const declaration to .lcm specification.
    * Removed transmit_only option from LCM URL.  All LCM instances are now 
      considered transmit only until a channel subscription is made.
    * Added LCM_DEFAULT_URL environment variable.  If the LCM URL is not 
      specified during instantiation, and LCM_DEFAULT_URL is defined, then 
      that is used as the LCM URL initialization string.
    * Added documentation for LCM type specification language.
    * Added close method to Java LCM class.

    Deprecations

    * enum is now deprecated in the .lcm specification.  Current implementations
      will be left functional, but enums will no longer be documented or supported
      in future releases.  At some point in the distant future they may be 
      completely removed.  Use of const instead of enums is now recommended.

    Bugfixes

    * Java: fix enum types.  This breaks the API for compiled Java enum types.
      Changed java enum value field from private to public so that raw
      numerical value is accessible.
    * C: lcm_udp bugfix to eliminate a corner-case infinite loop.
    * C: add mutex to allow only one thread in lcm_handle at a time.

May 5, 2008
===========

    Release 0.0.5:

    * Fix minor issue in lcm-gen for parsing oddly formatted files 
      (those missing token delimiters at EOF)
    * Fix Python enum types.  This breaks the API for compiled Python enum
      types.
    * fix VERSION bug in ac_python_devel.m4 (affects OS X)
    * Remove a DGC hack that skipped over log gaps > 0.25 seconds
    * Try to make JAR file only contain class files, by using build directory
    * make lcm-spy more robust to receipt of non-lcm autogenerated types

Mar 21, 2008
============

    Release 0.0.4:

    * Portability improvements.  Core functionality is now tested on FreeBSD,
      Mac OS X, Linux, Solaris 10, and cygwin.
    * Added command line tool lcm-logplayer
    * Renamed GUI lcm-jlogplayer to lcm-logplayer-gui

Mar 5, 2008
===========

    Release 0.0.3

Mar 2, 2008
===========

    Release 0.0.2

Jan 21, 2008
============

    Initial release 0.0.1
