- Require Wikibase DataModel 8.x or 9.x
- Raised minimum PHP version to 7.0 (^7.0)
- Moved (De)SerializerFactories into (De)Serializer Namespaces
- Apply ID prefix mapping in
SnakDeserializer
, likeEntityIdValueParser
does.
- Added compatibility with Wikibase DataModel 9.x
- Added compatibility with Wikibase DataModel 8.x
- Fixed
AliasGroupListDeserializer
andTermListDeserializer
misbehaving when confronted with language codes exclusively made of digits. - Fixed
SnakDeserializer
possibly accessing non-existing array elements. - Improved documentation of
SerializerFactory::newEntitySerializer
as well asDeserializerFactory::newEntityDeserializer
. - Added compatibility with Serialization 4.x
- Improved forward-compatibility with PHPUnit 6
- Note: The
SnakDeserializer
constructor changed, but since it's declared package private, this shouldn't affect anyone.
- Added compatibility with DataValues Number 0.9
- Removed MediaWiki integration files
- Added compatibility with DataValues Geo 2.x
- Deprecated
SerializerFactory
optionsOPTION_SERIALIZE_MAIN_SNAKS_WITHOUT_HASH
,OPTION_SERIALIZE_QUALIFIER_SNAKS_WITHOUT_HASH
andOPTION_SERIALIZE_REFERENCE_SNAKS_WITHOUT_HASH
. - Added
SerializerFactory::OPTION_SERIALIZE_SNAKS_WITHOUT_HASH
.
- Added compatibility with Wikibase DataModel 7.x
- Improved performance of
StatementDeserializer
as well as other deserializers - Improved type safety throughout the code
- Dropped support for PHP 5.3 and PHP 5.4
- Added compatibility with Wikibase DataModel 6.x
- Added
newItemSerializer
andnewPropertySerializer
toSerializerFactory
- Added
newItemDeserializer
andnewPropertyDeserializer
toDeserializerFactory
- Added compatibility with Wikibase DataModel 5.x
- Added compatibility with DataValues Common 0.3
- Dropped dependency on Wikibase DataModel Services
- Removed
newClaimSerializer
,newClaimsSerializer
andnewSnaksSerializer
fromSerializerFactory
- Removed
newClaimDeserializer
,newClaimsDeserializer
andnewSnaksDeserializer
fromDeserializerFactory
- Revert of breaking changes, will be added in 2.0 again
- Dropped dependency on Wikibase DataModel Services
- Added compatibility with Wikibase DataModel 4.x
- Removed compatibility with Wikibase DataModel 3.x
- Added
SerializerFactory
optionOPTION_SERIALIZE_MAIN_SNAKS_WITHOUT_HASH
- Added
SerializerFactory
optionOPTION_SERIALIZE_QUALIFIER_SNAKS_WITHOUT_HASH
- Added
SerializerFactory
optionOPTION_SERIALIZE_REFERENCE_SNAKS_WITHOUT_HASH
- Added
$serializeSnaksWithHash
parameter tonewSnakListSerializer
, the default is b/c - Added
$serializeWithHash
parameter tonewSnakSerializer
, the default is b/c - Added
$serializeWithHash
parameter tonewTypedSnakSerializer
, the default is b/c - Added support for deserializing ungrouped SnakLists and StatementLists
- Added
newAliasGroupSerializer
toSerializerFactory
- Added
newTermSerializer
toSerializerFactory
- Added
newTermListSerializer
toSerializerFactory
- Added
newAliasGroupListSerializer
toSerializerFactory
- Added
newTermDeserializer
toDeserializerFactory
- Added
newTermListDeserializer
toDeserializerFactory
- Added
newAliasGroupListDeserializer
toDeserializerFactory
- Deprecated
SerializerFactory::newClaimsSerializer
in favour ofSerializerFactory::newStatementListSerializer
- Deprecated
DeserializerFactory::newClaimsDeserializer
in favour ofDeserializerFactory::newStatementListDeserializer
- Added compatibility with Wikibase DataModel 3.x
- Removed compatibility with Wikibase DataModel 2.x
- Renamed
SerializerFactory::newClaimSerializer
toSerializerFactory::newStatementSerializer
, leaving a b/c alias - Renamed
SerializerFactory::newSnaksSerializer
toSerializerFactory::newSnakListSerializer
, leaving a b/c alias - Renamed
DeserializerFactory::newClaimDeserializer
toDeserializerFactory::newStatementDeserializer
, leaving a b/c alias - Renamed
DeserializerFactory::newSnaksDeserializer
toDeserializerFactory::newSnakListDeserializer
, leaving a b/c alias - Added
SerializerFactory::newStatementListSerializer
- Added
DeserializerFactory::newStatementListDeserializer
- Added support for showing the component version when loaded via MediaWiki
FingerprintSerializer
now supports serializingAliasGroupFallback
s andTermFallback
sEntityDeserializer
now fails if the given serialization contains a term or alias that was either the result of a fallback or transliteration- Added
newTypedSnakSerializer
toSerializerFactory
- Compatibility with DataModel 2.x added
- Support statements on properties
- Add option to serialize maps as objects instead of arrays so as to be able to differentiate empty maps from empty lists
- Use UnDeserializable error from serialization in SnakDeserializer
- Compatibility with DataModel 1.x was added
- DataModel 1.x is now required
- Hashes are now ignored by the SnakDeserializer
- Compatibility with Wikibase DataModel 1.x was improved
- Fixed issue where invalid snaks-order elements in reference serialization caused an error rather than a deserialization exception
- Hashes are now ignored by the ReferenceDeserializer
- The Deserializer for snaks now constructs UnDeserializableValue objects for invalid data values
- Usage of DataModel 0.7.x rather than 0.6.x.
- Usage of Serialization ~3.1 rather than ~2.1.
- Snaks now always have a 'hash' element in their serialization
- Added
snaks-order
support toReferenceSerializer
andReferenceDeserializer
- Added
qualifiers-order
support toClaimDeserializer
- Added
TypedSnakSerializer
- Added hash validation for references and snaks
- Added additional tests to ensure old serializations can still be deserialized
Initial release with these features:
- Serializers for the main Wikibase DataModel (0.6) objects
- Deserializers for the main Wikibase DataModel (0.6) objects