Release Notes of 2009
- Class (fix): call-by-reference errors in shortcut methods (v/v1/m)
- Reader (add): support for cnonce re-use for more efficient Digest Auth operations
- RemoteStore (tweak): support for cnonce re-use during Digest Auth
- AskQueryHandler (tweak): new parameter structure in getFinalQueryResult
- SelectQueryHandler (add): experimental config option: store_cache_results (intermediate tables are kept)
- SelectQueryHandler (tweak): major refactoring for improved table JOINing (in the future) and better code readability
- ARC2 (fix): improved splitURI method (thanks to Jeff Stuckman)
- ARC2 (tweak): getComponent accepts caller objects as 3rd parameter now
- Resource (add): setProp method
- RDFParser & RDFXMLParser (tweak): set_time_limit is now called automatically (unless keep_time_limit is set to true via the configuration)
- Store (add): checkTables and repairTables methods
- LoadQueryHandler (tweak): improved code to auto-repair broken mysql tables, new config option: store_reset_on_table_crash
- ARC2 (fix): splitURI bug around slash/hash-free URIs and special namespaces (thx to Jeff Stuckman)
- RDFXMLSerializer (fix): index structures with flat object values caused an error in getNodeTag method
- TurtleSerializer (tweak): certain schema terms will be serialized to qnames ( rdfs:domain/range etc)
- StoreSelectQueryHandler (fix): long table/store names (> 64 chars) caused MySQL errors when TMP tables were created
- Reader (tweak): increased the length in fgets during header parsing to support long headers
- Reader (tweak): multi-value response headers are now turned into arrays
- TurtleParser (tweak): improved error reporting (thx to Frederick Giasson)
- ARC2 (add): Atom ns detection, getRSS10Serializer method
- Class (add): toRSS10 method
- Reader (tweak): improved SSL support (thx to Hannes Muehleisen)
- RDFExtractor (tweak): use of img @alt in getPlainContent is now optional
- RdfaExtractor (fix): no use of img @alt any more (thx to Toby Inkster)
- RSSParser (add): support for Atom links (only the href value)
- RDFXMLSerializer (add): support for default xmlns and typed nodes
- StoreEndpoint (fix): auto-setup triggered a PHP notice
- RSS10Serializer (1st version) (thx to Toby Inkster)
- SPARQLPlusParser (tweak): Anticipating possible notation for SPARQL 1.1 aggregates and GROUP BY
- RemoteStore (add): getDomains method
- StoreEndpoint (add): TSV result format for SELECT queries
- SelectQueryHandler (fix): better UNION support (Thanks to Periklis Stavrou and Toby Inkster)
- TurtleParser (fix): <> was no longer working after tweak in rev 2009-10-05
- LoadQueryHandler (fix): getOComp created PHP warnings
- Resource (add): setIndex() method
- getFormat (fix): improved n-triples detection (Thanks to Stéphane Corlosquet)
- RemoteStore (tweak): improved error check for empty results
- TurtleParser (tweak): more relaxed xIRI_REF method allows WS now
- RemoteStore: minor tweaks/fixes
- Store_LoadQueryHandler (tweak): improved support for multibyte characters in the comparison column
- StoreEndpoint (fix): don't set empty parameters in p() method (Thanks to Periklis Stavrou)
- Class (add): max_errors config option
- StoreLoadQueryHandler (fix): more UTF8-friendly getOComp method (Thanks to Masahide Kanzaki & Fumihiro Kato)
- StoreLoadQueryHandler (tweak): getOComp tries to convert datetime values to UTC now
- Class: (tweak) getResource method
- Reader: (add) basic support for Digest Auth
- Resource: (add) a store can be used as data source
- Resource: (add) getPropValues method
- Store: (add) config option store_engine_type (default: MyISAM)
- Store: (fix) parameter mismatch related to the LoadQueryHandler (Thanks to Will Daniels)
- new component: Resource
- new method: completeQuery (PREFIX-injection)
- Reader: new method: getResponseHeaders
- RDFa: fixes, +3 test case PASSes (thx to Toby Inkster & Masahide Kanzaki)
- Class: auto-populate POST (php5 bug)
- Class: refactored *PName methods
- new methods: toIndex, toTriples, checkRegex
- Parsers: unsetting reader object to fix garbage collection
- SelectQueryHandler: improved LIKE-check for REGEX-rewriting
- Class: used prefixes were not logged, leading to serialization gaps
- Class: fixed root calculation bug in calcURI
- Class: new methods: toDataURI/fromDataURI
- ARC2_SPARQLScriptProcessor: improved automatic PREFIX injection
- ARC2_RemoteStore: added automatic PREFIX injection and getResourceLabel method
- ARC2_StoreSelectQueryHandler: fixed missing brackets in getExpressionSQL.
- Reader: Improved timeout handling
- Reader: support for port in http header (thx to Roan O'Sullivan)
- Slowly starting to switch to inline PHPDoc documentation
- Atom_Parser: Addition: support for link types
- DeleteQueryHandler: Addition: cleanValueTables method (auto-called every 500 DELETE queries)
- Class: new method: resetErrors
- Class: switch from getScriptURI to getRequestURI in init()
- Tweak in ARC2_TurtleParser: xIRI_REF is less strict now, the SPARQLParser got its own check
- Addition in ARC2_SPARQLParser: dedicated xIRI_REF method
Note: The store's MySQL table structures changed. This version might not be fully compatible with previous revisions!
- Removal: ARC2_StoreInferencer
- Tweak in ARC2_StoreTableManager: removed cid column
- Addition in ARC2_StoreTableManager: store_indexes config option
- Addition in ARC2_StoreTableManager: extendColumns() method, changes mediumint to int
- Tweak in ARC2_Store: removed Inferencer calls
- Tweak in ARC2_StoreQueryHandler: removed cid parameter in getTermID() method
- Tweak in ARC2_StoreSelectQueryHandler: removed "cid" references
- Tweak in ARC2_StoreLoadQueryHandler: removed "cid" references
- Addition in ARC2_StoreLoadQueryHandler: column checks
- Addition in ARC2_StoreLoadQueryHandler: store_write_buffer config option
- Tweak in ARC2_TurtleSerializer: support for "raw" parameter to skip getHead method
- Tweak in ARC2_Class: support for "raw" parameter in toTurtle and toRDFXML methods
- Tweak in ARC2_Reader: Improved error message on empty file:// base
- Tweak in ARC2_TurtleParser: "{" and "}" are now allowed in xIRI_REF
- Fix in ARC2_RDFXMLSerializer: Scheme-detection: scheme must have at least 2 chars, thanks to Eric Schoonover)
- Fix in ARC2_TurtleParser: improved xString() method (Thanks to Paul A. Houle)
- Tweak in ARC2_JSONParser: "null" is now supported by extractValue() method
- Fix: replacing \xA0 and \xC2 was too greedy in method x(), moved to TurtleParser (Thanks to Fumihiro Kato)
- Tweak in ARC2_TurtleParser: leading \xA0 and \xC2 are removed in x() method (Thanks to Fumihiro Kato)
- Tweak: toUTF8 is now config-bound via "adjust_utf8" option (default: no)
- Addition in ARC2_Store: getCollation() method
- Tweak in ARC2_Store: DB connection uses UTF-8 only with conforming table collations
- Tweak in ARC2_RdfaExtractor: getRootNode returns 1st node if html tag is not found
- Tweak in ARC2_ErdfExtractor: getRootNode returns 1st node if html tag is not found
- Addition in ARC2_SemHTMLParser: Support for RDFa detection via typeof/property/about
- Tweak in ARC2_TurtleSerializer: only predicates and type values are turned into pnames
- Tweak in ARC2_RDFXMLSerializer: pretty-printed RDF containers are now mozilla-happy (Thanks to Peter Dixon-Moses)