Releases: dlcs/iiif-presentation
v0.8.1 - Various mixed manifest fixes
Summary
- Various bugfixes for mixed manifests
- Make the ETag required on delete requests
- Additional validations around customer id, space and host
- Canvas id's now need to be unique across a customer instead of by manifest
What's Changed
- Make delete requests require an Etag by @JackLewis-digirati in #553
- Stop persisting the space id between the asset when removing the space by @JackLewis-digirati in #556
- Bump iiif-net to latest by @donaldgray in #513
- Allow multiple composite and choice canvases to work by @JackLewis-digirati in #554
- Allow audio, video and painting choices to correctly set labels and other fields by @JackLewis-digirati in #558
- Provide more information when an invalid asset id is provided by @JackLewis-digirati in #559
- Remove pgcrypto from database by @JackLewis-digirati in #564
- Validate customer id in paths by @JackLewis-digirati in #560
- Don't allow an unrecognised host to be parsed for a canvas id by @JackLewis-digirati in #561
- Stop manifest converter from matching the incorrect canvas by @JackLewis-digirati in #565
- PR template by @donaldgray in #570
- Initial adjuncts RFC by @donaldgray in #568
- Pin version of localstack used in tests by @donaldgray in #575
- Automatically filter queries by customer id by @JackLewis-digirati in #574
- Prevent duplicate canvasId usage by @p-kaczynski in #496
- Update README for IIIF-Cloud Services terminology by @donaldgray in #577
- Merge
developintomainby @JackLewis-digirati in #585
Important
This release contains EF migrations
Full Changelog: v0.8.0...v0.8.1
v0.8.0 - Mixed manifests
Summary
- Implements mixed manifest functionality. See here for details on this feature
- Remove the
IgnorePaintedResourcesWithItemssetting as no longer required - Allow assets to be identified in the
itemsproperty - Modify the presentation API to use settings based handling for immediate manifest generation
- Various bugfixes
- Changes to use a shared
PathSettingsclass for various path generation and rewrite settings
What's Changed
- Implement mixed manifest canvas paintings by @JackLewis-digirati in #438
- Remove
IgnorePaintedResourcesWithItemsoption as no longer needed by @p-kaczynski in #439 - Mixed manifests provisional canvases and merging of manifests implementation by @JackLewis-digirati in #442
- Allow reingest property to be deserialized, but not serialized by @JackLewis-digirati in #459
- Short canvas id by @JackLewis-digirati in #456
- Update develop to match main by @JackLewis-digirati in #463
- Add canvas id parsing notes by @JackLewis-digirati in #458
- Main to Develop merge - include fix for #467 by @p-kaczynski in #470
- Implement #424 - Identify Assets in Items by @p-kaczynski in #444
- Refactor to move canvas painting generation to before DLCS interactions by @JackLewis-digirati in #471
- Add order to canvas order conflict error message by @JackLewis-digirati in #475
- Refactor SQL queries to use FromSql by @JackLewis-digirati in #479
- Improve asset from items error messages by @JackLewis-digirati in #477
- Fix issues with items from assets not calling the database first and updating protagonist by @JackLewis-digirati in #480
- Improved handling of equality on LanguageMap by @JackLewis-digirati in #481
- Upgrade iiif-net package to the latest version by @JackLewis-digirati in #483
- Change enriched asset request to use allImages manifest query by @JackLewis-digirati in #484
- Final changes for mixed manifests by @JackLewis-digirati in #482
- Make PATCH /allImages distinct by @JackLewis-digirati in #487
- Throw error when there's a mismatched case on joined resources by @JackLewis-digirati in #489
- Improve equality check for canvas label mismatch by @JackLewis-digirati in #495
AlwaysReingesthotfix to develop by @JackLewis-digirati in #502- Fix label from items to work correctly with a matched canvas by @JackLewis-digirati in #505
- Rename ConfigDrivenPresentationPathGenerator by @donaldgray in #512
- Disallow choice order 0 or less by @JackLewis-digirati in #520
- Allow assets identified in items to be retrieved from the DLCS after PUT by @JackLewis-digirati in #523
- Send correct error when there's a mismatch between body.id and service.id in identified asset by @JackLewis-digirati in #521
- Allow matched items after items only to work by @JackLewis-digirati in #524
- Fix to allow canvas paintings with a short canvas id to output iiif properties by @JackLewis-digirati in #528
- Fix ETag not being refreshed correctly by @JackLewis-digirati in #534
- Fix errors not being thrown when assets differ across service by @JackLewis-digirati in #535
- Reject canvas paintings on a single canvas order with a positive choice order by @JackLewis-digirati in #539
- Reject a choice that doesn't set the 'choiceOrder' value by @JackLewis-digirati in #543
- Reenable the validator for requiring all canvases to have an explicit order if one does by @JackLewis-digirati in #537
- Change public id to use the settings based path rewrite generator by @JackLewis-digirati in #548
- Allow public id to fall back to host if a settings based path cannot be found by @JackLewis-digirati in #549
- Merge
developintomainby @donaldgray in #552
Warning
Settings changed; PresentationApiUrl, CustomerPresentationApiUrl and PathRules are now under PathSettings. See #442
Previously, settings looked like this:
"PresentationApiUrl": "https://localhost:7230",
"CustomerPresentationApiUrl": {
"2": "https://dlcs-dev.example",
},
"PathRules": {
"Defaults": {
"ResourcePublic": "/presentation/{hierarchyPath}",
},
"Overrides": {
"example.com": {
"ResourcePublic": "https://foo.com/{customerId}/{hierarchyPath}",
}This has now been modified to come under a PathSettings object that is shared by the background handler and the API:
"PathSettings": {
"PresentationApiUrl": "https://localhost:7230",
"CustomerPresentationApiUrl": {
"2": "https://dlcs-dev.example",
},
"PathRules": {
"Defaults": {
"ResourcePublic": "/presentation/{hierarchyPath}",
},
"Overrides": {
"example.com": {
"ResourcePublic": "https://foo.com/{customerId}/{hierarchyPath}",
}
}
}Important
This release has an EF migration
Full Changelog: v0.7.4...v0.8.0
v0.7.4 - Add AlwaysReingest setting
Summary
- Adds a settings called
AlwaysReingestwhich will force reingestion of images, regardless of existence in the DLCS
What's Changed
- Add AlwaysReingest to settings by @JackLewis-digirati in #498
Full Changelog: v0.7.3...v0.7.4
v0.7.3 - Update base docker image
v0.7.2 - Bugfix to stop etag trigger updating multiple collections
What's Changed
- Add migration to resolve #467 - root collection updated for all customers unintentionally by @p-kaczynski in #469
Important
This release has an EF migration
Full Changelog: v0.7.1...v0.7.2
v0.7.1 - Bugfix to correctly save the database
What's Changed
- Fix database not being saved when all assets are tracked by @JackLewis-digirati in #455
Full Changelog: v0.7.0...v0.7.1
v0.7.0 - Optimised manifest update and ETag improvements
Summary
- Moves Etag to a database value, rather than calculated
- Optimize updates is implemented, which stops tracked assets (either in Presentation or Protagonist) from being ingested to Protagonist
reingestproperty added to override optimized update behavior
What's Changed
- Allow canvas ID to be a mix of specified and unspecified values by @JackLewis-digirati in #402
- Allow rewritten paths to be identified in the request body by @JackLewis-digirati in #382
- Move manifest merger to a separate class by @JackLewis-digirati in #405
- Get fully tracked manifests to return immediately by @JackLewis-digirati in #406
- Conditionally create batched assets by @JackLewis-digirati in #362
- Remove unused var by @donaldgray in #427
- Switch to using stored ETags and use them in relevant calls by @p-kaczynski in #409
- Allow assets to be reingested with a "reingest" property by @JackLewis-digirati in #411
- Initial mixed manifests RFC by @donaldgray in #420
- Allow the canvas id to be successfully picked up from rewritten paths by @JackLewis-digirati in #436
- Allow duplicate assets on the manifest by @JackLewis-digirati in #428
- Update README with the new named query documentation by @JackLewis-digirati in #437
- Modify API to respond with an ETag when there's a link header with no assets by @JackLewis-digirati in #441
Important
This release requires a manifests named query to be set in Protagonist to generate content resources. Details of this named query can be found here. Has a dependency on Protagonist v1.9.0
Important
This release has an EF migration
Important
Optimised updates functionality requires that all assets accurately reflect the manifests they are part of. See manifest-column-updater for script to do this. Only required for environments that have been running prior to this release.
Note
There's a change to IIIF Presentation environment variables, as API now needs access to the DLCS Orchestrator - see #406 for details
Full Changelog: v0.6.0...v0.7.0
v0.6.0 - Composite canvases
Summary
- Handle composite canvases (more than one painting annotation on a single canvas).
- Improvements to iiif-net deserialiser to resolve noticed bugs, v0.3.6...v0.3.8
- Improvements to canvas-id handling
What's Changed
- #340 Impl: Always mint canvas id for painted resources if not provided by @p-kaczynski in #368
- Handle composite canvas by @donaldgray in #386
- Hotfixes from
mainintodevelopby @donaldgray in #387 - Handle composite manifest in BackgroundHandler by @donaldgray in #394
- Update iiif-net to 0.3.8 by @JackLewis-digirati in #415
- Allowing optional canvas id to be specified by @donaldgray in #416
Full Changelog: v0.5.2...v0.6.0
v0.5.2 - Batch notification format
What's Changed
- Modify the batch notification to use the standard format by @JackLewis-digirati in #385
Full Changelog: v0.5.1...v0.5.2
v0.5.1 - Hotfix to filter by customer
What's Changed
- Filter by customer when retrieving a public id from id by @JackLewis-digirati in #383
- Add the user agent to DLCS requests by @JackLewis-digirati in #384
Warning
Requires protagonist version 1.10.0 due to changes to the batch notification message in protagonist
Full Changelog: v0.5.0...v0.5.1