Release Notes
=============

Jena 2.1 - Main changes from Jena 2.0
  Installation
      The names of some jars have changed be sure to update your classpath.
	  The name of the xerces jars are now: xercesImpl.jar and xml-apis.jar
	  We also require Jakarta commons logging: commons-logging.jar
	  See readme.html for the full list of jars.
      
  OWL Syntax Checker
      Major update from alpha version (Jena 2.0), to production 
      version (Jena 2.1).
      API created.
      Many fold performance improvement (orders of 
      magnitude)
      Now conformant with OWL Recommendation.
      Streaming mode added, suitable for lower memory
      environments or large input.
      Command-Line jena.owlsyntax program added.
      Still to do: better error messages.
     
  RDF/XML-ABBREV output
      Changes default configuration to not use property
      attributes, which seem unpopular.
      
  ARP
      Extended API to show bnode scope and XML Namespaces.
      Discovered memory leak which has been present since
      the beginning. This is not fixed. Users of ARP and 
      Jena in memory limited, or long-running applications, 
      or reading lots of varied RDF/XML, should read the 
      updated Javadoc for the package 
      com.hp.hpl.jena.rdf.arp.

  Reasoner
      Small bug fixes (see below).
      
  Xerces
      Now requires Xerces 2.6.0 or better. The included jars are Xerces 2.6.1.

  Ontology API
      General bug fixes and improvements based on jena-dev feedback.
      
      The default document manager policy (etc/ont-policy.rdf) no longer
      re-directs imports of owl.owl and daml+oil.daml to a cached copy in
      the 'vocabulary' directory. This is becuase the vocabulary directory
      is not included in jena.jar, and this default re-direction was causing
      problems in some applet or web service environments. The Jena 2.0 
      behaviour can be restored by replacing ont-policy.rdf with ont-policy-test.rdf.
      
      Instance detection has been improved, with the side-effect that DAML
      ontologies using the DAML micro rule reasoner may now report that
      instances have rdf:type daml:Thing in addition to other types.
      	 
Jena 2.1 changes from Jena 2.1-dev-3
  Minor bug fixes in OWL Syntax Checker.
  Streaming mode in OWL Syntax Checker.
  Documented ARP memory leak.

Jena 2.1-dev-3
  Implements W3C RDF and OWL Proposed Recommendations
  OWL Syntax Checker - much faster, new API (error msgs still being worked on)
  RDF/XML-ABBREV output various bug fixes
  RDF/XML-ABBREV msg added requesting bug reports on rdf:parseType="Collection"
  ARP new extended handler for scope of blank nodes and namespace handler
  ARP improved syntax error messages
  OWL Syntax checker prolog source included in download (see tools dir)
   
Jena 2.1-dev-2:
  Developers' release to include recent bug fixes (notably
  handling of typed literals in validation rules).
  Do not use this version unless you need one or more bug
  fixes not in Jena 2.0.
  
Jena 2.1-dev-1:
  This is a developers' release, particularly
  intended for users of the OWL Syntax Checker.
  Most users should continue to use Jena 2.0.
  For changes, see directly below.
  Documentation may not be up to date.
  Do not use this version unless:
  - you need a conformant OWL Syntax Checker
  - you need one or more of the bug fixes not in
    Jena 2.0


RDF API:
o Bug fixes:
  - fixed issue with typed literals sometimes treating lexically different,
    sameValueAs resources as equal.

  - fixed bug in Model::remove(StmtIterator) at the expense of manifesting
    the iterator into a List

  - fixed bug in .remove on StmtIterators returned from listStatements()
    on a memory model

o ModelFactory improvements:
  - ModelSpecs can now be identified by URI as well as Model values
  - ModelRDBMaker.createModel will now return a ModelRDB rather than plain Model

Reasoner subsystem:

o Fixed delete bug in FORWARD_RETE configurations, remove of statements 
  should now remove the consequents of that statement.
o Added a check for constructing one OWL reasoner instance layered on top
  of another because this can have a large performance impact to no benefit.
o Added a "hide" primitive which marks nodes as hidden. When querying an
  inference model no triples containing hidden subject or object nodes will
  be included in the result iterator.
  Used this to hide class-prototype instances
o Extended the comparision builtins (equal, le etc) to support comparison of 
  XSDDataTime instances. Many thanks to Bradley Schatz (Bradley@greystate.com)
  for supply the patches for this.
o Extended OWL rules to include more explicit representation of XSD knowledge.
o Various bug fixes in OWL rules (maxCardinality bug, hasValue in intersection
  lists fixed, bug in someValuesFrom fixed, misssing property subclass axioms).
o Fixed bug in RETE engine which could loop when deleting non-deletable triples.
o Fixed bug in LP engine which could lead to loss of variable bindings
  (manifested as "Internal error in LP reasoner: variable in triple result")
o Extended is/notDTtype to check for ill-formed typed literals.

OWL Syntax Checker
o Now conforms with OWL Proposed Rec of December 2003
  - Performance much improved. There is
    about a one second delay on start-up.
  - Error messages still somewhat cryptic
    (Should be better in next release)

RDF/XML-ABBREV output
o Failed to fix bug concerning rdf:parseType="Collection"
   - added new message trying to generate sufficient user feedback
     on jena-dev to track down bug.
o Fixed other bugs on bug list

RDQL
o Improved handling of character sets in qnames

N3
o Improved handling of character sets in qnames


    
Graph query SPI [NB NOT visible at the model level]

o replaced use of Graph for constraints by new Expression interface as
  part of ongoing query improvement.

