- dropping deprecated API's
- PEP8 compliance
- rdflib and sparql_protocol are bundled with SuRF
- transitional version towards SuRF 2.x, dropping support for legacy rdflib (2.x, 3.x)
- migrating tests to py.test
- adding initial support for tox and travis
- added .gitignore for python / intellij projects
- remove svn tag from release version
- removed svn support in version altogether
- minor PEP8 styling for setup
- support for rdflib 4.x
- fixed nosetests error capturing during testing
- import cleanup thorough out surf (excluding individual plugins!)
- fixed a bug in LogMixin, regarding setting the log level
- on second thought, removed nose / rednose dependencies on surf - they are only needed for testing
- new module added: log (centralized logging for surf)
- new LogMixin superclass for Store and Plugin,
- support for deprecation
- deprecated methods enable_logging and is_logging_enabled (use LogMixin facilities)
- deprecated the use of only_direct where defined, use direct_only - this feature will be removed by 1.2.0!
- Issue 54 - fixed
- Issue 45 - SuRF can be installed from source with pip (FIXME: python chesse shop)
- Issue 40 - (could not reproduce locally, however rdflib 3.2.1 was used and worked surf + surf.rdflib)
- Issue 27 - fixed
- Small changes in version API (see __version__.py)
- Changes to support rdflib 3.1.0
- plugin-wide execute_sparql(), fix JSON result format, better SPARQL ASK query support
- Descending ordering of results
- Updated Sesame2 & AllegroGraph support
- many bug fixes
- Dropped dependency on old & buggy cjson
- More unit tests
- Tests are shipped with the source code
- Fixed bug on plugin manager for running SuRF in embedded mode (bundled with an application)
- Single version control point (see, __version__.py)
- Support for loading plugins directly from folder if specified
- Introduced the plugin manager module
- Changes to support Python 2.4
- Added new vocabularies to the default namespace manager
- Bug fixes
- Class mapping based on rdf:type in session
- Query builder allows min, max, avg aggregate functions
- get_by accepts Resource instances as values, uses their subjects
- ResultValue supports "in" (if some_person in person.foaf_knows: ...)
- "single" descriptor for easy access to attributes with single value
- Fixed multiple bugs in sesame2 plugin
- Default namespace can be specified for autogenerated resource URIs
- Improved resource and attribute querying:
- filter resources by attribute values
- filter resources using SPARQL filter expressions
- limit, offset, order ascending/descending
- specify graph/context where resources should be loaded from and later saved to
- eager-load resource attributes
- More documentation and examples