All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
13.0.0 - 2025-06-17
- Breaking Changing groupID and Maven Central publishing
- Security dependency fixes
- Breaking Removed obsolete
dc-model-mappingsanddc-model-html-mapping
12.3.0 - 2023-11-23
- Added mapping of data attributes to table cell and paragraph elements
FilterOperations for regular expression matching (case sensitive, insensitive and "not")- Expand
FilterCriterion.Builderby regexp operations
12.2.1 - 2023-09-15
- Builders don't reset the
identifiableObjectTypeanymore, if previously set
12.2.0 - 2023-09-12
- Added missing builders and missing
hashCode,equals,toStringmethods - Added mapping logic for table elements to
HtmlMapper - Added possibility to define a custom parser in
HtmlMapper - Added builder for
RenderingHints
12.1.0 - 2023-08-01
- Add field
labelNormalizedtoHeadwordto allow language independent sorting and searching in a normalized version oflabel.
12.0.1 - 2023-07-06
- LocalizedUrlAliases must contain a
targetLanguage, also in builder
- Dependency updates
12.0.0 - 2023-06-06
- New fields in
Work - New fields in
Manifestation - New models:
Subject,Publisher,Title,Tag,LocalDateRange,TimeValueRange,PublicationInfo,DistributionInfo,ProductionInfo, - New models: Interface
ManagedContentand EnumerationPublicationStatusfor content being managed in a content management system and having different states of publication ("online visibility") - New subtypes
MainSubType,ExpressionType,TitleType,WorkType - Add field
tagstoIdentifiable - Bucket-Handling: Bucket (Sublist/Range of UniqueObjects), BucketRequest/Response and List of Bucket-Objects-Handling added
EntityRelationcan contain additional predicates- Breaking: Jackson-MixIns (type info
objectType) for classes directly extendingUniqueObject(Headword, Identifiable, Identifier, IdentifierType, License, Predicate, RenderingTemplate, User) - Breaking: Predicate's description field changed from LocalizedText to LocalizedStructuredContent
- Add submodule "mappings" with submodule "html" for mapping HTML code (currently supporting ul, li, a) to DC-Model StructuredContent
- Add convenience method addLocalizedUrlAlias(UrlAlias urlAlias) to Identifiable
- ValidationError/ValidationException classes for providing field specific validation errors over system borders (e.g. via REST)
- Property
subjectstoIdentifiable - Add
EntityToFileResourceRelation,IdentifiableToEntityRelation,IdentifiableToFileResourceRelation
- Deprecated
PagingInfoafter adding paging util methodList<PageItem> getNavItems(int maxNumberOfItems)toPageResponse. CollectionimplementsManagedContent- Breaking: Moved WEMI classes into new packaged structure
- Set "ignore unknown properties" as default (removes several
JsonIgnorePropertiesannotations) - Fix
FilterCriterion.Builderfor native expressions (no longer setting native expression flag at the beginning necessary) - Updated
FilerCriterionexample documentation inREADME.md - Breaking: Replace flat uuid members with targeted objects instead: Replace DB-oriented fields targetIdentitfiableType, targetIdentifiableObjectType, targetUuid in UrlAlias with target Identifiable holding these data
- Use Builders for test creation of objects
- Breaking: remove error prone Identifier-constructor with two strings (namespace, id) - use Builder instead
- Breaking: introduce lombok for all (uniqueobject) model objects (replacing other builders). access now by
.builder()
- Breaking: Removed
Expression(which is now part ofManifestation) including correspondingIdentifiableObjectType - Breaking: Removed
titleattribute fromWork(which is now part ofManifestation) - Breaking: Removed
WorkTypeandcreatorsfromWork - Breaking: In
UniqueObjectand its descendants empty collections and strings are not serialized (no empty brackets) except foridentifiersandUser#roles WorkandManifestation: Subjects are inherited fromIdentifiableinstead of being their own properties- remove test specific
PreviewImageBuilderfrom model - Breaking: remove
Identifiablemember from Identifier (as it always comes in pair with the related Identifiable), caused recursion. - Breaking: remove deprecated getTargetEntityType from UrlAlias
11.0.3 - 2023-04-14
- Fixed deserialization (unknown
objectTypeandlistRequestType)
11.0.2 - 2023-03-29
- Do not serialize empty collections (empty JSON array)
- Initialised properties of a collection type with empty collections, with capacity of
0
11.0.1 - 2022-08-22
- Fixed deserialization of
CorporateBody
11.0.0 - 2022-07-18
- New fields in
Item - Ability to remove an Identifier of an (inherited)
Identifiable - Builder for
Identifier
- Breaking: Changed the type of
numberOfBinaryResourcesinDigitalObjectfrominttoInteger, so it can also benull
- Breaking: Removed obsolete fields
language,publicationDate,publicationPlace,publisherandversioninItemsince they belong to the Manifestation/Expression.
10.0.2 - 2022-06-21
- Removed setter of field
targetEntityTypeinUrlAlias - Removed field
targetEntityTypefromequalsinUrlAlias
10.0.1 - 2022-06-20
- Fixed getter of field
targetEntityType
10.0.0 - 2022-06-07
- Added
IdentifiableObjectTypeenumeration to specify all types ofIdentifiables - Added
identifiableObjectTypefield toIdentifiable(and all inherited classes) - Added
targetIdentifiableObjectTypefield toUrlAlias - Added
searchTermtoListRequestandexecutedSearchTermtoListResponse
- Breaking: Refactored Builder classes into inner classes of their belonging model classes and made their API consistent
- Breaking: Set ignore case as default for sorting order
- Breaking: If Mimetype can not be detected for a filename (or extension) "application/octet-stream" (instead of null) is returned.
- Breaking: Refactored
ListRequest,ListResponse,PageRequestandPageResponsepackages
- Removed build with Java 8
- Removed
Entity.entityTypefield (deprecatedgetEntityTypemethod) - Breaking: Removed
SearchPageRequestandSearchPageResponse
9.2.0 - 2022-04-06
- Added some more builders
- Added new domain model diagram
- Added missing geo location domain classes: Canyon, Cave, Continent, Country, Creek, Lake, Mountain, Ocean, River, Sea, StillWaters, Valley
- Added (de)serialization tests for all geo location types
- Added a less verbose domain model diagram
- Added new attributes to
- Introduced
navDatetoEntityto make positioning entities on a timeline possible.
9.1.1 - 2022-03-17
- Added convenience methode for url aliases:
getPrimaryUrlAlias
9.1.0 - 2021-09-20
- Added url aliases with the classes
- Improved domain model documentation
- Refactored filtering model, see here
- Refactored list query and result model
9.0.0 - 2021-06-05
- Added
ToCEntry - Added new breadcrumb navigation with the classes
- Removed Api / Impl splitting
- Renamed model implementation classes
- Eliminated package names from serialization
8.2.1 - 2021-02-24
- Added wildcard mimetype for audios, videos and texts
8.2.0 - 2021-02-15
- Added
FamilyName - Added
GivenName
- Improved filtering and sorting
8.1.0 - 2021-01-21
- Added
GeoLocation - Added
RenderingTemplate
- Fixed serialization
- Added rendering hints to
Webpage
8.0.0 - 2020-10-20
- Added custom attributes to
Entity - Added documentation diagrams
- Fixed serialization
7.0.0 - 2020-10-20
- Added model classes:
- Added stuff vor video content blocks
- Fixed serialization
6.2.1 - 2020-09-07
- Changed filename handling on
FileResouceby cutting path if filename is created from uri
6.2.0 - 2020-07-22
- Added breadcrumb navigation
6.1.1 - 2020-05-11
- Added type information as property instead of as wrapper on serialization
6.1.0 - 2020-05-11
- Added
refIdtoIdentifiable - Added filtering model, see here
- Added basic search page request/response model with paging, see here
- Updated and fixed serialization
- Renamed ContentTree to Topic
- Renamed ContentNode to Subtopic
4.0.3 - 2019-11-25
- Updated changelog
4.0.2 - 2019-11-25
- Added xml aliases for table classes
- Added classes for
HorizontalRule
- Fixed possible NPE in accessing mimetype of unknown types
4.0.1 - 2019-11-08
- Changed return type of
getLocalesinLocalizedTextfromLinkedHashSettoArrayList
4.0.0 - 2019-10-23
- Added structured data navigation model
- Added table content block
- Added
DigitalObject - Added
EntityRelation - Added
IdentifierandIdentifierType - Added
getIdentifierByNamespacetoIdentifiable - Added
ImageFileResourceas preview image toIdentifiable - Added entities and fileresources to
ContentNode - Added versioning of
DigitalObject - Added
License - Added
LinkedDataFileResource - Added
CorporationandProject - Added
FindParamsfor paging
- Added simplified version of
LocalizedStructuredContent - Refactored
LocalizedTextto aHashMap
- Removed OracleJDK from build matrix
- Removed
IdentifiablesContainerand introduceEntityPart(Impl)classes
3.0.0 - 2019-03-12
- Added static mimetype application/octet-stream
- Upgraded dependencies
- Deleted
FileResourcePersistenceType(breaking change)
2.2.0 - 2019-01-09
- Introduced
WebpageFactoryfor creating test webpage - Versioned Model (V1 support)
- Fixed badges in
README.md - Fixed checkstyle warnings
- Upgraded dependencies
- Migrated unit tests from JUnit 4 to JUnit 5