Releases: SaftIng/Saft
0.2.0.1
0.2
Important
This release fixes all sub packages, e.g. Saft.RDF. Due a faulty script we accidentally copied the whole Saft repo to Saft.RDF and all other subpackages instead of push only according folder content (e.g. src/Saft/RDF). We removed all releases in our sub package repository, because they were practically useless and created a new release 0.2.
If you experience any problems, dont hesitate to open an in issue.
Further changes
- extend extractTriplePattern algorithm to find more URLs in object part
- fix AbstractSparqlStores->addStatements - in case there are no remaining statements and you are outside the loop, Saft tries to insert data but generates an invalid query (no data). Now it is fixed.
- Increase minor release of php-curl-class to 4.11.*
- adapted all composer.json files (license, require):
- license set to GPL-3.0 for all subprojects
- changed "dev-master" to "0.*" for all saft related requirements
- pushed phpunit/phpunit version from 4.3/4.5 to 4.8.* for every package
- added "prefer-stable=true" setting at the end
0.1.1
0.1.0
That's the final release of version 0.1. The purpose of the first major release is to lay the ground for further development. We want to finish the main APIs, such as Store interface. Furthermore, it will already contain a couple of additions, for cache and store interaction.
In a nutshell
- Stable APIs of Saft's core parts: (abstract) classes and interfaces
- Saft.data
- Saft.rdf
- Saft.store
- Saft.sparql
- Saft.test
- We also added additions, which are built ont top of Safts core:
- Saft.ARC2 - MySQL Backend which uses ARC2 to store and receive data
- Saft.EasyRdf - Integration of parsing and serialization components of EasyRdf
- Saft.Erfurt - Basic integration of Erfurt's QueryCache component to improve SPARQL performance
- Saft.HttpStore - HTTP-based backend for SPARQL-Endpoints to store and receive data
- Saft.QueryCache - Our own QueryCache implementation, based on Erfurts
- Saft.Redland - Basic integration of Redland library.
- Saft.Virtuoso - Virtuoso backend to store and receive data
- Besides that, there are examples which demonstrate the main parts of Saft: https://github.com/SaftIng/Saft.example
API-Information
API can be considered stable. We had already one deprecated annotation for Saft\Rapid\Blank.php, which means that it will be removed in the future (maybe with version 0.3 or or later).
Highlights in comparison to 0.1.0-rc1
- composer.json: set fixed major and minor version for all packages in use (except Erfurt)
- Saft\Rdf\LiteralImpl: changed type of second parameter from Node to NamedNode (see commit for explanation)
- Saft\Addition\EasyRdf\Data\ SerializerEasyRdf: added throws annotation to constructor (see commit)
- Saft\Store\BasicTriplePatternStore: basic implementation for create- and dropGraph (see commit)
- ParserEasyRdf: fix invalid serialization handling; it used serializations of EasyRdf, instead of Saft's.
0.1.0-rc1
Here is a new release for you guys. Because we continuously stabilize the API and code, we decided to release our first RC. According to Packagist installations and Github visitors, there are some guys who use Saft. We try to communicate internal changes as good as possible so that you won't run into any issues/incompatibilities/...
Here is an overview of all commits since 0.1.0-beta4.
API-information:
- marked file src/Saft/Rapid/Blank.php deprecated (commit) due inconsistent usage. Its functionality will be moved or replaced in the future.
Highlights are:
- Fix #66 - ARC2: Check that access credentials are correct
- Fix #67 - ARC2: Before creating a new graph, check that it does not already exists.
- Makefile: added remove-subtrees command
- added further tests for Data and Redland related parts
- composer.json: Remove obsolete reference to https://github.com/k00ni/Erfurt
- some cleaning here and there (removal of obsolete variables)
0.1.0-beta4
Here is a Christmas beta-version of Saft. The difference between this beta and the last one is available.
Fixes and improvements:
- Integration of Erfurt framework: We know, that we are in the middle of a beta, but we needed Erfurt's QueryCache implementation for further projects. Erfurt is a mature framework for RDF and is currently not really under development, but it provides a good set of implementations. Saft currently supports QueryCache via Erfurt.
- Improve FILTER extraction from SPARQL queries (lang filter, better recognition)
- Virtuoso: added $options parameter (output_format, default_graph_uri) (see according commit)
- fix BasicTriplePatternStore: use serialize instead of json_encode (see according commit)
0.1.0-beta3
Here is another fresh beta-version of Saft. The difference between this beta and the last one is available.
A lot of fixes and improvements:
- HttpStore:
- improved BlankNode-Handling (if blank nodes getting returned, they now will be transformed to Saft nodes)
- improved result handling (results could be JSON-string, a string (e.g. for error) or actually an JSON-object, so we have to handle both situations)
- fix some tests
- Virtuoso:
- better result handling
- improve error reporting messages
- improved getQueryType of QueryUtils to get more precise results
0.1.0-beta2
Yet another beta release of Saft. Here is the difference between 0.1.0-beta1 and 0.1.0-beta2.
We improved our Virtuoso adapter:
- fixing xml:lang problem (#61)
- added blank node support
- removed query integration check and let that handle by Virtuoso itself (reason was, that we can't support SPARQL 1.0 and 1.1 at the moment)
Furthermore:
- added URI support to Sparql/Query/AbstractQuery.php's method determineObjectValue
0.1.0-beta1
Because the amount of bugs is quickly descending and no real problems appeared for quite a time, we think Saft is stable enough to be released as a beta. That still does not mean Saft is ready for production!
Here is the difference between 0.1.0-alpha3 and 0.1.0-beta1.
The API was further stabilized and many method comments were added. Furthermore all risky and incomplete tests were fixed too.
Important changes:
- Extend .gitignore to ignore further IDE specific files (e.g. from Eclipse)
- Fix split-tree handling in Makefile (added command setup-subtrees)
- Moved static function getQueryType from AbstractQuery to Saft\Sparql\Query\QueryUtils.php and made it
non-static. (Commit, #58) - Removed obsolete EqualsSparqlConstraint.php (#42)
0.1.0-alpha3
That is the third pre-release for 0.1 with important changes. Here is the difference between 0.1.0-alpha2 and 0.1.0-alpha3.
We further stabilized the API and started to clean code for the first main release 0.1. Furthermore we started to define the API of Saft by adding the api tag to interfaces, classes and abstract classes.
Important changes:
- Store: Better overall support for quads in queries and emulate queries which have a placeholder as graph (#38, #39)
- add createNodeInstance to NodeUtils - That functions helps you to save code. It is useful in cases where you have all the meta information about a node (type, value, ...) but dont want to write that switch to create the right node type, especially if you want to use a NodeFactory too.
- many skipped tests were fixed or removed
API-changes:
- Removed Saft\Cache, because there are better cache implementations out there; we don't want to reinvent the wheel, so Saft uses Nette/Caching from now on
- Moved Result classes from Saft\Store to Saft\Sparql
- Make statements not mutable (#51)
- Made all static methods from SparqlUtils and NodeUtils non-static (#58)
- Literal values must be of type string (#53)
- In TestCase were assertIteratorContent replaced by assertStatementIteratorEquals and
assertResultEquals - Rename isVariable and all its occurences to isPattern (#57)