- Added
EntityRedirectLookup::FOR_UPDATEconstant - Added
EntityRedirectTargetLookup(extracted fromEntityRedirectLookup)
- Allow installing with data-values/data-values 3.0.0
- Allow installing with wikimedia/assert 0.5.0
- Added the
ItemTermStoreWriterandPropertyTermStoreWriterinterfaces.
- Stopped accepting null for term type or language in TermBuffer::prefetchTerms()
- Added
FallbackLabelDescriptionLookupinterface - Stopped supporting hhvm and added support for php 7.3 and 7.4
- Dropped support for diff 2.3 and added support for 3.2
- Added
ItemLookupimplementationsLegacyAdapterItemLookupwhich is an adapter toEntityLookupInMemoryEntityLookupwhich is a test double
- Added
PropertyLookupimplementationsLegacyAdapterPropertyLookupwhich is an adapter toEntityLookupInMemoryEntityLookupwhich is a test double
- Added constructor to
InMemoryEntityLookup
- Added
SeekableEntityIdPager - Added
InMemoryEntityIdPager
- Added
ExceptionIgnoringEntityLookup - Bumped minimum PHP requirement to 7.x or HHVM
- Added compatibility with Wikibase DataModel 9.x
- Removed compatibility with Diff 1.x
UnresolvedEntityRedirectException: Mention source entity id in message (#200)
- Added compatibility with Wikibase DataModel 8.x
- Added compatibility with DataValues 2.x
- Raised minimum PHP version to 5.6
- Added
ReferencedEntityIdLookupinterface, along with:EntityRetrievingClosestReferencedEntityIdLookupreference implementationMaxReferenceDepthExhaustedExceptionMaxReferencedEntityVisitsExhaustedExceptionReferencedEntityIdLookupException
- Added
LabelLookupinterface.- Relaxed
EntityIdLabelFormatterto only require aLabelLookup.
- Relaxed
- Added
EntityIdComposer. - Added
DisabledEntityTypesEntityLookup.
- Fixed
EntityRetrievingTermLookupsilently failing for entities that do not implementFingerprintProvider(#171). - Introduced caching in
PrefixMappingEntityIdParserFactory(#162). - Added compatibility with Wikibase DataModel 7.x.
- Raised minimum PHP version to 5.5.
- Compatible with Wikibase DataModel 6.3
- Added
EntityIdPagerfromWikibase\Repo\Store. - Added services for foreign entities:
DispatchingEntityLookupPrefixMappingEntityIdParserPrefixMappingEntityIdParserFactoryUnknownForeignRepositoryException
- Added
StatementListDiffer(was in the package privateInternalnamespace before). - Added
StatementListPatcher(replaces an incompatible package private class with the same name). - Added
TermListPatcher. - Fixed
FingerprintPatcherignoring change operations on aliases that are marked as "not associative". - Fixed
StatementGuidValidatornot rejecting strings with a newline at the end.
- Added compatibility with Wikibase DataModel 6.x
- Added
RestrictedEntityLookup::reset
- Added compatibility with Wikibase DataModel 5.0.
- Added
FILTER_TYPEconstant toDataTypeStatementFilter,NullStatementFilterandPropertySetStatementFilter. - Fixed
StatementGuidParsernot parsing GUIDs with multiple dollar signs.
- Added
StatementGrouperinterface and the most basic implementations:NullStatementGrouperByPropertyIdStatementGrouperFilteringStatementGrouper
- Added
StatementFilterimplementations for use inFilteringStatementGrouper:NullStatementFilterDataTypeStatementFilterPropertySetStatementFilter
- Made
EntityRetrievingTermLookuphandleEntityLookupException(T118581)
- Added
InMemoryEntityLookup::addException - Added
PropertyDataTypeMatcher - Added
InProcessCachingDataTypeLookup - Added optional message and previous exception parameters to the
UnresolvedEntityRedirectExceptionconstructor
Breaking changes:
- Removed
EntityRedirectResolvingDecorator - Removed
UnresolvedRedirectException EntityLookup::hasEntitynow throwsEntityLookupException
Non breaking changes:
- Added
UnresolvedEntityRedirectException - Added
EntityAccessLimitException RestrictedEntityLookupnow throwsEntityAccessLimitException
- Fixed uncaught exception in EntityIdLabelFormatter::formatEntityId (T112003)
Moved EntityIdParser back to Wikibase DataModel:
- Removed
EntityIdParser - Removed
EntityIdParsingException - Removed
BasicEntityIdParser - Removed
DispatchingEntityIdParser
Changed all Lookup contracts:
- All lookups now return null when there is no value found as a result of the lookup:
EntityRetrievingTermLookupreturns null instead of throwingOutOfBoundsException.LanguageLabelDescriptionLookupreturns null instead of throwingOutOfBoundsException.ItemLookupimplementations should return null instead of throwingItemNotFoundException.LabelDescriptionLookupimplementations should return null instead ofOutOfBoundsException.PropertyLookupimplementations should return null instead ofPropertyNotFoundException.TermLookupimplementations should return null instead ofOutOfBoundsException.
- All lookups now throw exceptions in exceptional circumstances:
EntityLookupimplementations should throwEntityLookupExceptioninstead of returning null.EntityRedirectLookupimplementations should throwEntityRedirectLookupExceptioninstead of returning false.EntityRetrievingDataTypeLookupthrowsPropertyDataTypeLookupExceptioninstead ofPropertyNotFoundException.EntityRetrievingTermLookupthrowsTermLookupExceptioninstead ofOutOfBoundsException.InMemoryDataTypeLookupthrowsPropertyDataTypeLookupExceptioninstead ofPropertyNotFoundException.ItemLookupimplementations should throwItemLookupExceptioninstead ofItemNotFoundException.LabelDescriptionLookupimplementations should throwLabelDescriptionLookupExceptioninstead ofOutOfBoundsException.LanguageLabelDescriptionLookupthrowsLabelDescriptionLookupExceptioninstead ofOutOfBoundsException.PropertyDataTypeLookupimplementations should throwPropertyDataTypeLookupExceptioninstead ofPropertyNotFoundException.PropertyLookupimplementations should throwPropertyLookupExceptioninstead ofPropertyNotFoundException.TermLookupimplementations should throwTermLookupExceptioninstead ofOutOfBoundsException.
- Removed
Lookup\ItemNotFoundException - Removed
Lookup\PropertyNotFoundException - Added
Lookup\EntityLookupException - Added
Lookup\EntityRedirectLookupException - Added
Lookup\LabelDescriptionLookupException - Added
Lookup\TermLookupException - Added
Lookup\ItemLookupException - Added
Lookup\PropertyLookupException
Moved over various classes and interfaces from Wikibase Lib:
- Added
Lookup\RedirectResolvingEntityLookup - Added
Lookup\RestrictedEntityLookup - Added
Diff\EntityTypeAwareDiffOpFactory(previously called WikibaseDiffOpFactory in Lib)
Other additions:
- Added
Lookup\InMemoryEntityLookup
Moved over various classes and interfaces from Wikibase Lib:
DataValue\ValuesFinderEntity\EntityPrefetcherEntity\EntityRedirectResolvingDecoratorEntity\NullEntityPrefetcherEntityId\EntityIdFormatterEntityId\EntityIdLabelFormatterEntityId\EscapingEntityIdFormatterEntityId\PlainEntityIdFormatterEntityId\SuffixEntityIdParserLookup\EntityLookupLookup\EntityRedirectLookupLookup\EntityRetrievingDataTypeLookupLookup\EntityRetrievingTermLookupLookup\LabelDescriptionLookupLookup\LanguageLabelDescriptionLookupLookup\TermLookupStatement\StatementGuidValidatorTerm\PropertyLabelResolverTerm\TermBuffer
These have not been changed apart from now residing in a different namespace, and in some cases using dependencies that have similarly been moved.
- Added
Entity\UnresolvedRedirectException, similar to the one in Wikibase Lib, though without revision info
Initial release containing
- Entity diffing and patching functionality in
Services\Diff EntityIdParserand basic implementations inServices\EntityIdItemLookup,PropertyLookupandPropertyDataTypeLookupinterfaces- Statement GUID parser and generators in
Services\Statement ByPropertyIdGrouper