| Semantic MediaWiki 2.0.0 | |
|---|---|
| Release date: | August 4, 2014 |
| Previous version: | Semantic MediaWiki 1.9.2 |
| Next version: | Semantic MediaWiki 2.1.0 |
| Compatible with: | MW 1.19.0 - 1.24.x |
| Current version: | |
| SMW 6.0.1 | |
Version 2.0 of Semantic MediaWiki is the next release after Semantic MediaWiki 1.9.2.
Please refer to the help page on installing Semantic MediaWiki to get detailed instructions on how to do this.
Semantic MediaWiki 2.0
Released August 4th, 2014.
Compatibility changes
Semantic MediaWiki 2.0 is compatible with MediaWiki 1.19 up to MediaWiki 1.23, and possibly later versions. Support for both MediaWiki 1.23 and MediaWiki 1.24 was improved compared to SMW 1.9.
PHP compatibility remains the same as in SMW 1.9: all versions from PHP 5.3.2 to PHP 5.6.x.
For a full overview, see our compatibility matrix.
Quality and stability improvements
A great deal of effort has been put into ensuring both existing and new features work well. Not just at present, but also in future releases. And not just with MySQL and one version of MediaWiki, but on all platforms we support. This dedication to quality has resulted in many bugs being discovered and fixed, and makes future regressions much less likely.
Continuous integration is now an integral part of the development process behind SMW. As of the 2.0 release, SMW has over 2300 automated tests, which cover two thirds of the codebase. These tests are run automatically for every change made to the code, on machines with different databases, different versions of PHP, different SPARQL stores and different versions of MediaWiki.
Semantic Versioning
As of the 2.0 release, Semantic MediaWiki adheres to the Semantic Versioning standard. This makes our version numbers more meaningful and makes it easier for administrators to determine if a new release is relevant to them.
Improved SPARQLStore support
Semantic MediaWiki 1.6 introduced support for data synchronization with RDF back-ends. SMW 2.0 makes this functionality a first class citizen through many enhancements and stability improvements.
- New and full support for Jena Fuseki 1.0
- Enhanced and full support for Virtuoso 6.1
- Enhanced support for 4store 1.1
The smwgSparqlDatabase setting
introduced in 1.6 has been deprecated in favour of
$smwgSparqlDatabaseConnector
(#342) to avoid arbitrary class assignments in $smwgSparqlDatabase (now only used to assign custom
connectors).
Unit and integration tests were given extra focus together with a continuous integration of
Jena Fuseki (1.0.2) (#337) and Virtuoso opensource 6.1 (#394) to ensure that compatibility and functional
parity are going hand in hand with the rest of SMW. (Unfortunately 4Store currently does not run
on the continuous integration platform, for details see garlik#110
but tests have been run successfully with a local 4store instance).
At this moment, the only RDF store to be tested and to support SPARQL 1.1
is Jena Fuseki therefore other stores may not support all query features. For details to
the testing environment and its configuration, see the README
file.
Improved subobject support
Support for subobjects has been added to the RDF export. This new capability is used by the RDF store functionality to also synchronize subobjects. (#344)
Subobjects now support sorting via the @sortkey annotation that stores an individual sortkey
per subobject. (#225)
Notable bug fixes
- #279 Fixed undefined index in
DataTypeRegistry::getDefaultDataItemTypeId - #282 Output a message instead of an exception in
Special:WantedPropertiesfor unknown predefined properties - #308 Fixed caching issue in
DataRebuilderfor duplicate title objects - #312 Fixed fatal error in
CategoryResultPrinterfor when a mainlabel is hidden - #322 Fixed file names containing spaces or non-ASCII characters for for downloadable result formats (csv, excel)
- #379 Modernized
dumpRDF.phpwhile deprecating the use ofSMW_dumpRDF.php(bug 35679) - #425 Deprecated
SMW_setup.phpin favour ofsetupStore.php - #444 Fixed language namespace alias issue
- #420 Extended
ContentParserto mitigate issues caused by the 62856 bug in MW 1.24+ - #405 Added a compatibility fix to mitigate issues caused by the
RefreshLinksJobin MW 1.23+
SPARQLStore
- #291 Fixed call to undefined method in
SPARQLStore - #338 Fixed exception in
ResultParserfor an invalid datatype (bug 62218) - #385 Fixed '#' encoding for subobjects in
SMWExporter::findDataItemForExpElementto enableSPARQLStoreresult display - #387 Fixed
SPARQLStorenamespace query support (e.g[[:+]]) - #415 Fixed
SPARQLStoreusage forrebuildConceptCache.phpandrebuildPropertyStatistics.php - #460 Fixed
SPARQLStoresubobject sub query and pre-defined property query support
Behind the scenes
SMW 2.0 continues to convert its classes to use PHP namespaces in order to separate responsibilities (#398, #404, #407, #409, #410, #411, #412, #416, #417, #418, #419, #421) and to be able to support PSR-4 in future.
- All
jobrelated classes of been moved toSMW\MediaWiki\Jobs - All
hookrelated classes of been moved toSMW\MediaWiki\Hooks - All
apirelated classes of been moved toSMW\MediaWiki\Api - All
SPARQLStorerelated classes now reside inSMW\SPARQLStore SMWSparqlStoreandSMWSparqlDatabasewhere moved into theSMW\SPARQLStorenamespace
Other internal enhancements or changes include:
- #278 Changed the
PropertyStatisticsTableinterface - #289 Added
CONTRIBUTING.mdfor better contributor guidance - #307 Added
removeDuplicatesoption toUpdateJob - #310 Fixed autoloading for
QueryPrinterRegistryTestCase - #311 Removed
MediaWikiTestCasedependency - #315 Updated jquery.qTip2 from v2.0.0 to v2.2.0 (Mar 17 2014)
- #332 Added the number of pages and percentage done to report messages when rebuilding selected pages
- #366 Extended
Sql3StubSemanticDatato load suobjects on request and introduced a__sobdatatype for subobjects - #382 Extended interface to support
format=countinformation inQueryResult - #453 Added
COMPATIBILITY.mdfor better user guidance
Deprecated classes or scripts:
SMW_conceptCache.phpSMW_dumpRDF.phpSMW_refreshData.phpSMW_setup.phpSMWSparqlStoreSMWSparqlDatabaseSMWIResultPrinter
Removed classes or scripts:
SMWParseData
See also[edit]