<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0">
  <channel>
    <title>Barista</title>
    <link>http://barista.x9c.fr</link>
    <description>News about the Barista project</description>
    <copyright>(c) 2007-2013 Xavier Clerc</copyright>
    <item>
      <title>First public release</title>
      <pubDate>Sun Sep 09 12:00:00 CEST 2007</pubDate>
      <description>First public release</description>
    </item>
    <item>
      <title>Minor fix (tests)</title>
      <pubDate>Tue Sep 11 10:00:00 CEST 2007</pubDate>
      <description>
      A bunch of tests did not pass as a consequence of "licence header" addition. The waited error line was incorrect.
      Now fixed in both repository and source distribution.
      </description>
    </item>
    <item>
      <title>Binaries</title>
      <pubDate>Fri Sep 14 15:54:55 CEST 2007</pubDate>
      <description>Binaries are now available</description>
    </item>
    <item>
      <title>Closer to beta (Fixes and API changes)</title>
      <pubDate>Sun Dec 09 23:00:00 CET 2007</pubDate>
      <description>
      The Cafesterol-compiled version has been fixed, plus a method  size error is now correctly reported. The API has been modified in two ways: first, module exceptions now take a variant as parameter insted of a string (a string conversion function is provided); second, Method.Constructor do no more carry a return type information because the return type of a class constructor is fixed. Last but not least, the assembler language has been modified to accept spaces inside parentheses as well as around colons.
      </description>
    </item>
    <item>
      <title>Beta release</title>
      <pubDate>Sat Mar 01 12:00:00 CET 2008</pubDate>
      <description>Changes include a Java API, as well as minor grammar/API changes.</description>
    </item>
    <item>
      <title>1.0 release</title>
      <pubDate>Tue May 27 07:00:00 CEST 2008</pubDate>
      <description>The 1.0 release is finally up !</description>
    </item>
    <item>
      <title>1.1 release</title>
      <pubDate>Sun Nov 09 22:00:00 CET 2008</pubDate>
      <description>This version brings the following changes: move from Java 1.5 to Java 1.6, support for stack frames, and support for Bisect coverage.</description>
    </item>
    <item>
      <title>1.2 release</title>
      <pubDate>Fri Apr 17 23:00:00 CEST 2009</pubDate>
      <description>This version fixes a bug related to LDC, LDC_W and INVOKEVIRTUAL instructions (results in a change in the definition of the Instruction.t type). Now able to load all classes from the JDK 1.6.</description>
    </item>
    <item>
      <title>1.3 release</title>
      <pubDate>Sat Sep 19 22:00:00 CEST 2009</pubDate>
      <description>This version introduces the 'Traversal' module (defining mappers and iterators over class definitions) and handling of class file format versions.</description>
    </item>
    <item>
      <title>1.4 release</title>
      <pubDate>Sat Feb 06 20:00:00 CEST 2009</pubDate>
      <description>
      This version introduces the 'StackState' (for stack/locals manipulation), 'ControlFlow' (for control flow information as a graph), and 'Code' (for computation of stack/locals from instructions) modules. It also introduces '-flow' (to generate flow graph for a method), and '-generate-stack-infos' (to generate stack elements) command-line switches. Several bugs were fixed: #28 (support for ocamlfind), #46 (invalid padding size for switch instructions), and #47 (invalid handling of '@LineNumber').
      </description>
    </item>
    <item>
      <title>Various fixes</title>
      <pubDate>Fri Jul 15 00:00:00 CEST 2010</pubDate>
      <description>
      This version brings the following changes:
      <ul>
      <li>update for Objective Caml 3.12.1</li>
      <li>update for Camomile 0.8.3</li>
      <li>new build system (ocamlbuild-based)</li>
      <li>reorganization of 'src' directory</li>
      <li>support for Unicode in 'src/utf8' directory</li>
      <li>major refactoring of code (with impact on API)</li>
      <li>executable names changed to 'barista.byte' and 'barista.native'</li>
      <li>peephole optimizations</li>
      <li>optimization of stack frames</li>
      <li>optimization of exception tables</li>
      <li>optimization of 'transitive' jumps</li>
      <li>new '-optimize' command-line switch to enable peephole/jump optimizations</li>
      <li>support for 'invodynamic' (JSR 292)</li>
      <li>preliminary support for type annotations (JSR 308)</li>
      <li>preliminary support for Java modules (project Jigsaw / JSR 294)</li>
      <li>support for 'package-info' and 'module-info' class files</li>
      <li>support for Java serialization protocol (version 2 only)</li>
      <li>new implementation for i/o operations</li>
      <li>improved manual</li>
      <li>Java API has been removed</li>
      </ul>
      <br/>
      <b>Warning: this version cannot be used with Cafesterol 1.4 due to API changes.</b>
      <br/>
      </description>
    </item>
    <item>
      <title>Towards a beta for 2.0</title>
      <pubDate>Wed Dec 21 20:00:00 CEST 2011</pubDate>
      <description>
      This version brings the following changes:
      <ul>
      <li>move from Java 1.6 to Java 1.7 as default version</li>
      <li>syntax extension for 'exception pattern' (BARISTA_ERROR)</li>
      <li>syntax extension for Unicode literals (@"string" and @'c')</li>
      <li>InputStream.t and OutputStream.t can now be created from functions</li>
      <li>better error reporting when a signature is invalid</li>
      <li>helper functions for serialization</li>
      <li>minor refactoring of code (with small impact on API)</li>
      <li>removed dependency to 'Str' module</li>
      <li>bug #73: uniform handling of depencies</li>
      <li>bug #83: correct construction of constant pool w.r.t. LDC instructions</li>
      </ul>
      <br/>
      <b>Warning: this version cannot be used with Cafesterol 1.4 due to API changes.</b>
      <br/>
      </description>
    </item>
    <item>
      <title>Closer to beta for 2.0</title>
      <pubDate>Sun May 13 12:00:00 CEST 2012</pubDate>
      <description>
      This version brings the following changes:
      <ul>
      <li>support for '*.sym' and '*.war' files in classpath</li>
      <li>'JAVA_HOME' environment variable used to load JDK classes</li>
      <li>'/usr/libexec/java_home' utility used to load JDK classes (MacOS X)</li>
      <li>'Predef' module renamed to 'Predefined'</li>
      <li>peephole rule for optimization of load/load sequences</li>
      <li>no automatic detection of 'ocamljava' binary</li>
      <li>bug #99: wrong packing of int32 into int64</li>
      <li>bug: ocamlbuild plugin for ocamljava-based compilation</li>
      <li>bug: invalid stack maps when double/long is followed by top</li>
      <li>bug: invalid locals size when over 255</li>
      <li>bug: incorrect graph flattening when wide gotos are used</li>
      <li>bug: install 'cmi' file</li>
      </ul>
      <br/>
      <b>Warning: this version cannot be used with Cafesterol 1.4 due to API changes.</b>
      <br/>
      </description>
    </item>
    <item>
      <title>Closer to beta for 2.0</title>
      <pubDate>Sun May 13 12:00:00 CEST 2012</pubDate>
      <description>
      This version brings the following changes:
      <ul>
      <li>update for Objective Caml 4.00.1</li>
      <li>update for Camlzip 1.05</li>
      <li>new 'graph' command, allowing to generate the graph of classes references from a list of archives (supported file formats: Dot, GEXF, and GraphML)</li>
      <li>new 'Lookup' module allowing to search for Java elements (classes, constructors, fields, and methods) from string queries</li>
      <li>new 'Manifest' module providing support for archive manifest files</li>
      <li>new 'ArchiveBuilder' module allowing to construct archives from classes, and handling manifest, services, and copy from other archives</li>
      <li>the 'flow' command can now generate output to either GEXF, or GraphML, in addition to Dot</li>
      <li>improved handling of classpaths</li>
      <li>improved performance for class encoding (about 50% speed-up)</li>
      <li>improved performance for stack state computations (about 30% speed-up)</li>
      <li>optimization of switches (turning lookup switches into table switches if it saves some place)</li>
      <li>new peephole optimizations, in order to avoid simple conversions of constants</li>
      <li>API CHANGE: class types for 'traversal' objects enhanced with new methods</li>
      <li>API CHANGE: 'Traversal' module renamed to 'ClassTraversal'</li>
      <li>new 'traversal' class type allowing to fold over class elements</li>
      <li>new 'ArchiveTraversal' module allowing to traverse archives</li>
      <li>bug: incorrect handling of some 'package-info' class files</li>
      <li>bug #86: '-ocaml-prefix' doesn't really work</li>
      <li>bug #87: install shouldn't build anything</li>
      <li>bug #89: do not activate warnings by default</li>
      <li>bug #104: configure script should be executable</li>
      <li>bug #110: error in annotation encoding of string value</li>
      <li>bug #111: invalid stack frame when locals are changed in a protected block</li>
      <li>bug #116: invalid stack frame after "invokespecial" instruction</li>
      </ul>
      <br/>
      <b>Warning: this version cannot be used with Cafesterol 1.4 due to API changes.</b>
      <br/>
      </description>
    </item>
  </channel>
</rss>
