ARC Release Notes and Change Log
- store/ARC2_StoreTableManager.php: add: new value hash columns for s2val and o2val tables for faster index lookups
- store/ARC2_StoreSelectQueryHandler.php: tweak: switch from mysql_query function to queryDB method / fix: large UNION queries skipped trailing branches / add: fulltext search detection and execution
- store/ARC2_StoreQueryHandler.php: add: support for hash-value columns (s2val, o2val) / tweak: switch from mysql_query function to queryDB method
- store/ARC2_StoreLoadQueryHandler.php: tweak: optimize tables less often / tweak: code cleanups / tweak: switch to queryDB method / add: use hash value columns to retrieve subject and object IDs
- store/ARC2_StoreDumper.php: add: support for a buffer file via store_use_dump_dir, store_dump_dir, and store_dump_suffix (e.g. for monthly dumps) options / tweak: dumps are now created in chunks to avoid DB server timeouts / add: getSafeValue method which fixes some critical character serialization bugs
- store/ARC2_StoreDeleteQueryHandler.php: tweak: optimize tables less often
- store/ARC2_StoreCBJSONLoader.php: add: utf8 check before the triple is stored
- store/ARC2_Store.php: tweak: switch to queryDB / add: support for hash value columns / add: check for fulltext index / add: enableFulltextSearch method / add: disableFulltextSearch method
- store/ARC2_RemoteStore.php: add: utf8 check of incoming data
- sparqlscript/ARC2_SPARQLScriptProcessor.php: tweak: simplified array processing / add: support for sps:eval call
- serializers/ARC2_MicroRDFSerializer.php: add: support for a label-delivering store / add class names derived from the properties / add: first and last class names for object value lists / add: support for 'href' in objects as link target
- parsers/ARC2_SPOGParser.php: add: support for ISO fallback parsing in case of UTF-8 errors / tweak: improved getEncoding method
- parsers/ARC2_RDFParser.php: add: getParsedNamespacePrefixes method
- parsers/ARC2_JSONParser.php: add: utf8-check before triple is added
- ARC2_Reader.php: add: support for proxy authorization (thanks to Fabio Ricci) / tweak: code refactoring
- ARC2_Class.php: tweak: camelCase method parameter to keep word boundaries intact / tweak: improved expandPName method / tweak: toHTML method parameter for a label store / add: central queryDB method to replace mysql_query function
- ARC2.php: tweak: improved getScriptURI method (port 443 triggers https protocol name) / tweak: inc method works safely with safemode now (thanks to Dave Challis) / tweak: toUTF8 method fixes some commmon json_decode-caused chracter bugs / tweak: improved getStructType method / add: getReader method
- ARC2: support for caller ref in getStoreEndpoint and getRemoteStore methods / microRDF component hook
- ARC2_Class: tweak: improved camelCase and deCamelCase methods / add: extractTermLabel method / tweak: improved PName methods / tweak: toHTML method uses new MicroRDF Serializer now / add: new Microdata methods getMicrodataAttrs and mdAttrs shortcut
- ARC2_SPARQLParser: fix: tweak around xIRI_REF detection
- ARC2_TurtleParser: fix: tweak around local part detection
- ARC2_Store: add: getIDValue method (id in, value out)
- ARC2_StoreDeleteQueryHandler: tweak: cleaning up unconnected graph references more often now
- ARC2_StoreEndpoint: add: hook for MySQL process tracking
- ARC2_StoreLoadQueryHandler: tweak: moved keep_time_limit config option to parent class
- ARC2_StoreQueryHandler: tweak: added keep_time_limit config option
- ARC2_StoreSelectQueryHandler: fix: temp table switch from mediumint to int to enable larger SUM aggregate results / fix: improved SQL generation around aggregate aliases
- ARC2_MicroRDFSerializer: added
- ARC2.php: minor optimisation
- ARC2_Class.php: URI detection fix in expandPNames
- ARC2_Reader.php: added support for data: URIs (hat tip to Christopher Gutteridge)
- parsers/ARC2_CBJSONParser.php: CrunchBase API JSON parser has been rewritten
- parsers/ARC2_JSONParser.php: more compliant processing when native json_decode is not available
- parsers/ARC2_TurtleParser.php: max number of loops during large object parsing from a stream is now a config option ("turtle_max_parsing_loops", default: 500)
- serializers/ARC2_NTriplesSerializer.php: improved URI detection
- store/ARC2_StoreLoadQueryHandler.php: minor tweaks
- Reader (fix/tweak): Better support for servers sending relative location headers (Thanks to Christopher Gutteridge)
- NTriplesSerializer (fix): more spec-strict escaping in non-raw mode
- RDFJSONSerializer (fix): debugging left-over caused broken output (Thanks to Michael Panzer)
- Core (fix): improved toUTF8 and getUTF8Char methods
- Class (add): improved camelCase method, added deCamelCase method
- Reader (fix): improved auth and port handling
- Resource (fix): nasty typo fixed in setProp method (thx to Stephane Corlosquet)
- getFormat (fix): improved SPARQL results detection
- TurtleParser (fix): improved WS/non-WS handling around CURIEs (thx to Stephane Corlosquet)
- RDFJSONSerializer (fix): improved escaping (thx to Gareth Jones)
- RDFXMLSerializer (fix): improved QName generation
- RemoteStore (fix): memory leaked (thx to Paul Houle)
- DeleteQueryHandler (fix): less greedy triple deletion when datatype or language are declared (thx to Nicholas Rawlings)
- LoadQueryHandler (tweak): getOComp now always keeps some trailing chars for improved sorting of URIs
- SelectQueryHandler (fix): improved cleanup of temp tables in case of unexpected MySQL errors
- StoreLoadQueryHandler (fix): regex fix in getOComp (thx to Alexandre Passant)
- ARC2 (fix): splitURI was too greedy on special namespaces like xhtml or atom (thx to Michael Panzer)
- SelectQueryHandler (fix): new block parentheses-ing broke regex in FILTER rewriter (thx to Dan Brickley)