Version 2.0-beta (2013-03-07):
------------------------------
  - update for Objective Caml 4.00.1
  - update for Camlzip 1.05
  - new 'graph' command, allowing to generate the graph of classes references
    from a list of archives (supported file formats: Dot, GEXF, and GraphML)
  - new 'Lookup' module allowing to search for Java elements (classes,
    constructors, fields, and methods) from string queries
  - new 'Manifest' module providing support for archive manifest files
  - new 'ArchiveBuilder' module allowing to construct archives from classes,
    and handling manifest, services, and copy from other archives
  - the 'flow' command can now generate output to either GEXF, or GraphML, in
    addition to Dot
  - improved handling of classpaths
  - improved performance for class encoding (about 50% speed-up)
  - improved performance for stack state computations (about 30% speed-up)
  - optimization of switches (turning lookup switches into table switches if it
    saves some place)
  - new peephole optimizations, in order to avoid simple conversions of
    constants
  - API CHANGE: class types for 'traversal' objects enhanced with new methods
  - API CHANGE: 'Traversal' module renamed to 'ClassTraversal'
  - new 'traversal' class type allowing to fold over class elements
  - new 'ArchiveTraversal' module allowing to traverse archives
  - bug: incorrect handling of some 'package-info' class files
  - bug #86: '-ocaml-prefix' doesn't really work
  - bug #87: install shouldn't build anything
  - bug #89: do not activate warnings by default
  - bug #104: configure script should be executable
  - bug #110: error in annotation encoding of string value
  - bug #111: invalid stack frame when locals are changed in a protected block
  - bug #116: invalid stack frame after "invokespecial" instruction

Version 2.0-alpha3 (2012-05-13):
--------------------------------
  - support for '*.sym' and '*.war' files in classpath
  - 'JAVA_HOME' environment variable used to load JDK classes
  - '/usr/libexec/java_home' utility used to load JDK classes (MacOS X)
  - 'Predef' module renamed to 'Predefined'
  - peephole rule for optimization of load/load sequences
  - no automatic detection of 'ocamljava' binary
  - bug #99: wrong packing of int32 into int64
  - bug: ocamlbuild plugin for ocamljava-based compilation
  - bug: invalid stack maps when double/long is followed by top
  - bug: invalid locals size when over 255
  - bug: incorrect graph flattening when wide gotos are used
  - bug: install 'cmi' file

Version 2.0-alpha2 (2011-12-21):
--------------------------------
  - move from Java 1.6 to Java 1.7 as default version
  - syntax extension for 'exception pattern' (BARISTA_ERROR)
  - syntax extension for Unicode literals (@"string" and @'c')
  - InputStream.t and OutputStream.t can now be created from functions
  - better error reporting when a signature is invalid
  - helper functions for serialization
  - minor refactoring of code (with small impact on API)
  - removed dependency to 'Str' module
  - bug #73: uniform handling of depencies
  - bug #83: correct construction of constant pool w.r.t. LDC instructions

Version 2.0-alpha (2011-07-15):
-------------------------------
  - update for Objective Caml 3.12.1
  - update for Camomile 0.8.3
  - new build system (ocamlbuild-based)
  - reorganization of 'src' directory
  - support for Unicode in 'src/utf8' directory
  - major refactoring of code (with impact on API)
  - executable names changed to 'barista.byte' and 'barista.native'
  - peephole optimizations
  - optimization of stack frames
  - optimization of exception tables
  - optimization of 'transitive' jumps
  - new '-optimize' command-line switch to enable peephole/jump optimizations
  - support for 'invodynamic' (JSR 292)
  - preliminary support for type annotations (JSR 308)
  - preliminary support for Java modules (project Jigsaw / JSR 294)
  - support for 'package-info' and 'module-info' class files
  - support for Java serialization protocol (version 2 only)
  - new implementation for i/o operations
  - improved manual
  - Java API has been removed

Version 1.4 (2010-02-06):
-------------------------
  - new 'StackState' module for stack/locals manipulation
  - new 'ControlFlow' module for control flow information (as a graph)
  - new 'Code' module for computation of stack/locals from instructions
  - new '-flow' command-line switch to generate flow graph for a method
  - new '-generate-stack-infos' command-line switch to generate stack elements
  - switch to OCaml 3.11.2
  - bug #28: support for ocamlfind
  - bug #46: invalid padding size for switch instructions
  - bug #47: invalid handling of '@LineNumber'

Version 1.3 (2009-09-19):
-------------------------
  - new 'Traversal' module (mappers and iterators over class definitions)
  - handling of class file format versions

Version 1.2 (2009-04-17):
-------------------------
  - bug fix for LDC, LDC_W and INVOKEVIRTUAL instructions
    (results in a change in the definition of the Instruction.t type)
  - various fixes in Java sources (both code and documentation)
  - enhanced tests
  - now able to load all classes from the JDK 1.6

Version 1.1 (2008-11-09):
-------------------------
  - move from Java 1.5 to Java 1.6
  - support for stack frames (StackMapTable atribute)
  - support for Bisect coverage
  - bug fixes

Version 1.0 (2008-05-27):
-------------------------
  - enhanced tests
  - main OCaml module renamed from 'Barista' to 'BaristaLibrary'
  - Ant tasks

Version 1.0-beta (2008-02-29):
------------------------------
  - minor API changes
  - minor grammar changes
  - Java API

Version 1.0-alpha (2007-09-09):
-------------------------------
  - first public version
