Docs GODI Archive
Projects Blog Link DB

Search GODI:


More options
File doc/godi-galax/release_notes.html GODI Package godi-galax
 
   release_notes.html    Sources  
Previous Up Next

Chapter 8  Release Notes

8.1  Galax 1.0 (March 2008)

Galax version 1.0 implements the XQuery 1.0 Recommendation from January, 2007 (http://www.w3c.org/TR/xquery) and the XQuery Update Facility 1.0 from August, 2007 (http://www.w3.org/TR/xquery-update-10/). It also implements XQueryP, an imperative scripting language that extends XQuery with updates with mutable variables, while loops, and sequential expressions (http://www.ximep-2006.org/papers/Paper-Chamberlin-Carey.pdf).

  • Galax 1.0 must be built with O’Caml 3.10
  • Implementation of the latest XQuery Update Facility 1.0 (http://www.w3.org/TR/xquery-update-10/), including static typing.
  • Improved implementation of XQueryP.
    • Re-implementation of while loops.
    • Fixed issues with scoping.
  • Improved support for modules.
    • Properly implemented nested imports.
    • Added support for module interfaces.
    • Support for XQueryX trivial embedding.
    • Bug fixes:
      • Fixed problems with support for in-scope namespaces.
      • Fixed problems with checking of cyclic variable declarations.
      • Fixed several problems with the parser, using wrong lexical states inside constructors.
      • Small bug fixes in support for the prolog.
    • Conformance results on XQTS 1.0.2:
      FeaturePassFailTotalPercent
      Minimal Conformance145556914637(99.4%) Optional Features
      Static Typing Feature46046
      Full Axis Feature1300130
      Module Feature32032

8.2  Galax 0.7.2 (February 2007)

Galax version 0.7.2 is a minor release, and should be considered as a beta release. Galax 0.7.2 implements the XQuery 1.0 Recommendation from January, 2007.

This is a development release. Notably static typing and some of the new compiler optimizations are not fully tested.

  • Compiler:
    • We’re still working on Join detection...A never-ending saga.
  • Current testing results on XQTS 1.0.2:
    FeatureGalax PassFailTotalPercent
    Minimal Conformance 1451411014637(99.1%)
    Optional Features 
    Schema Import Feature 0 0174
    Schema Validation Feature 0 025
    Static Typing Feature 46 046
    Full Axis Feature 130 0130
    Module Feature 0 032
    Trivial XML Embedding Feature0 04

8.3  Galax 0.6.8 (August 2006)

Galax version 0.6.8 is a minor release, and should be considered as a beta release. Galax 0.6.8 implements the XQuery 1.0 candidate recommendation working drafts from January, 2007.

This is a development source-only release. Notably static typing and some of the new compiler optimizations are not fully tested.

8.4  Galax 0.6.5 (May 2006)

Galax version 0.6.5 is a major release, and should be considered as an alpha release. Galax 0.6.5 implements the XQuery 1.0 candidate recommendation working drafts from January, 2007.

This is a development source-only release. Notably static typing and some of the new compiler optimizations are not fully tested.

  • Language:
    • Alignment with the January, 2007CR working drafts.
    • Support for XML updates based on the XQuery! language [Alpha] (See http://xquerybang.cs.washington.edu/).
    • Support for both strong and weak typing. [Alpha].
    • Complete implementation of XQuery 1.0 Functions and Operators, notably full support for date and time, URI, and QName operations.
    • Countless bug fixes...
  • Environment:
    • New configure script for automated configuration, compilation, and installation.
    • Galax is now a GODI package(http://godi.ocaml-programming.de/).
    • Added test harness for the W3C XQuery test-suite. Galax passes 7852 out of 7917 tests on version 1.0.2 of the XQuery 1.0 Test Suite. The test suite contains a total of 10,055 tests.
  • Compiler:
    • Support for a variety of physical algorithms for evaluating path expressions, including twig joins, staircase joins, and one-pass evaluation over XML token streams. [Alpha]
    • Known problems: Support for hash/sort joins is temporarily disabled.

8.5  Galax 0.5.0 (February 2005)

Galax version 0.5 is a major release, and should be considered as an alpha release. Galax 0.5.0 implements the XQuery 1.0 working draft published in October 2004.

Among the most noticeable changes:

  • Alignment with the XQuery 1.0, October 2004 working drafts.
  • A much faster XML parser, based on Gerd Stolpmann’s PXP, fixing many XML 1.0 conformance bugs as well.
  • A completely new compiler, including a query optimizer that supports join optimizations and should deliver much better performances than the previous versions of Galax.
  • “Document projection” is finally part of the main release, allowing to process queries over large documents. (see the galax-project command-line tool).
  • Improved support for sorting by document order and duplicate removal in the compiler.
  • The Windows port is back, based on the MinGW compilers.
  • New port for MacOS X.

Have contributed to this release: Mary Fernández, Nicola Onose, Philippe Michiels, Christopher Ré, Jérôme Siméon, Michael Stark.

8.6  Galax 0.4.0 (August 2004)

Galax version 0.4 is a major release, and should be considered as an alpha release. Galax 0.4.0 implements the latest XQuery 1.0 working draft published in July 2004. It contains many improvements from the previous version, as well as new features.

Among the most noticeable improvements and new features: Galax now comes bundled with Jungle, a simple native XML store. It now supports XML Schema and "named typing". Finally, it contains some prototype support for Web services.

Have contributed to this release: Mary Fernández, Vladimir Gapeyev, Nicola Onose, Philippe Michiels, Doug Petkanics, Christopher Ré, Jérôme Siméon, Avinash Vyas.

Main changes over the previous version are listed below.

Language changes:

  • Support for the latest XQuery 1.0’s specifications (July 2004 Working Drafts).
  • Support for XML Schema 1.0: schema import, validate, named typing, sequence types and type tests.
  • Preliminary support for modules. Import module statements without recursion are supported. Details of the semantics will be fixed when issues around modules are addressed by the XML Query working group.
  • Support for dates and time.
  • Support for string regular expressions.

Environment changes:

  • A new set of command-line tools replace the old ones: galax-run: The XQuery execution engine galax-parse: XML parsing and XML Schema validation galax-project: To apply XML document projection galax-mapschema: To map XML Schema to the XQuery type system ocaml-galax: The OCaml interpretor bundled with Galax
  • New command-line tools for Web services: galax-mapwsdl: To map WSDL interfaces to an XQuery module xquery2soap: To deploy an XQuery module as an apache Web service.
  • Revisions to the Caml, C, C++ and Java APIs.

Architectural changes:

  • A new extensible data model, making Galax easy to use over ’virtual’ XML documents.
  • A completely new query compiler and evaluation engine that supports an hybrid SAX-tuple-tree algebra. The new compilation infrastructure should already show improved performances, although it performs little optimizations yet. Expect more work in this area in future versions of the system

New features:

  • Alpha support for native XML storage with Jungle (on top of Sleepycat’s BerkeleyDB).
  • Alpha support for calling Web services from within XQuery.

Portability:

  • Added Makefile for Mac OSX in config/Makefile.osx.
  • Fixed numerous problems with Win32.

8.7  Galax 0.3.5 (December 2003)

This is a bug-fix release:

  • Now compiles with OCaml 3.07.
  • Numerous bug fixes to the XML updates support.
  • Added glx:document-save() function allowing to save the result of a query (notably useful in the case of an existing document that has been updated).
  • Fixed bug in the release of Caml values in the C-API.
  • Fixed bug in pretty-printing of function application, and added pretty-printing for the query prolog.
  • Fixed index bug in fn:substring and fn:translate.
  • Fixed serialization in canonical form.
  • Fixed bug in parsing of PIs in the document root.
  • Fixed bug in validation/casting of atomic values not dealing with whitespace properly.
  • Fixed bug in key/keyref support introduced with the new API.
  • Fixed bug in parsing of DTD declarations with the PUBLIC keyword.

8.8  Galax 0.3.1 (June 2003)

Language extensions:

  • Alpha support for XML updates!

Command line:

  • External variables and context items can be bound from the command-line.

API:

  • Brand new, hopefully complete Caml, C, and Java APIs. Check them out!

Parsing:

  • Switched for good to the SAX parser. glx:document-sax is removed.
  • Complete new support for character encodings. Now detects encoding in XML declaration properly. Support for UTF-16.

8.9  Galax 0.3.0 (January 2003)

Bugs

  • All reported and fixed bugs are documented in ’Bugs’ file.

Language: Numerous changes to align with Nov. 2002 and upcoming Feb 2003 WDs.

  • Grammar alignment: ’as’ SequenceType in type declarations, function signatures, typeswitch
  • Implements element & attribute constructor semantics of Nov. 2002 WDs.
  • Added positional variables to FLWOR
  • Added support for order-by in FLWOR
  • Implemented complete semantics of path expressions, including document order and removing duplicates.
  • Implemented dynamic function dispatch, promotion of arguments to arithmetic operators
  • Transitive ’eq’ operators

Galax features:

  • Command-line options for monitoring memory and CPU usage.

Data model:

  • Updated terminology to align with WDs.

Function library:

  • Changed xf: to fn: prefix
  • Added fn:error()
  • Added support for fn:base-uri() and fn:lang()
  • New semantics for fn:data() and fn:boolean()

8.10  Galax 0.2.0 (October 2002)

Parsing

  • Fixed very large number of bugs. Support for entities and DTDs is still missing.
  • Support for ISO-8859-1 and UTF-8 character encodings.
  • Factorized XML and XQuery parsers. Results in more compact code, easier to improve and maintain.
  • Updated XQuery parser to align with latest grammar.
  • Alpha support for SAX-based parsing.

Data model:

  • Support for node identity.
  • Fixed support for text nodes.

Language:

  • Major revision based on August 16th 2002 working drafts.
  • Full support for XPath expressions. Notably XPath parent, ancestor, ancestor-or-self axis. See STATUS for some remaining deviations.
  • Support for node-identity related operations (is, isnot distinct-nodes, union, intersect, except, etc.).
  • Support for type promotion in function calls, arithmetics, etc.
  • Fixed many bugs in the semantics, through normalization.
  • Added dynamic semantics for type operations through (simplified) form of matching. Still some bugs there.

Namespaces:

  • Fixed many bugs in namespace support and printing of namespaces.
  • Implemented support for default function namespace.

XML Schema:

  • *Very* alpha support for XML Schema import and validation. Basic datatypes are now supported.

Type system:

  • Updated type inference with the new language.
  • Made sure all expressions are type checked, necessary for optimization.
  • Fixed bugs in typing for typeswitch.

Function library:

  • Most of F&O functions are now implemented. Some limitations apply to XML Schema types not yet supported (notably date and time).

Optimizer:

  • Support for simple query simplification.

Compilation:

  • Removed dependency to the stdlib file.
  • Removed dependency to anything but OCaml compilers and standard unix tools.
  • Fixed compilation for both Cygwin and MinGW.

Tests:

  • Added large number of regression tests.

Tools and interfaces:

  • Removed Java API for now. Will be back soon.
  • Added very limited user-level api (Galapi) in Caml.
  • Changed galax command-lined interpretor. See the new syntax and options in ./README
  • Major revision of the pretty-printer for types and XQuery expressions. Added support for precedence in both cases.

Documentation:

  • Added examples of calls to the Caml and C API’s in ./example.

Previous Up Next
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml