Arches 7.5.0 Release Notes -------------------------- ### Major enhancements - Upgrade Django (and related packages) to 4.2 #9866 - Support Python 3.11 #10200 - Add Tile Excel format importer to bulk data manager #9978 - Add Branch and tile Excel exporters to bulk data manager #9978 - Improve bulk data manager editors #10156 #10268 #9952 - Save workflow progress to database to persist history and track incomplete workflows #9959, #10154 - Add image mode to file-list datatype to save alt text and other image metadata #9934 - Support Arches Applications #9426 - Improve Accessibility #10265 ### Performance Improvments - Add edit log index for bulk editor #10098 - Save one query per subsequent resource when recalculating descriptors #10312 #10316 - Improve performance when saving resource_x_resource records #9747 - Improve bulk load performance #9714 ### Additional improvements and bug fixes - Add map config hook for map widget customization #10354 - Add generic search thumbnail retrieval #10266 - Show large thumbnail preview when hovering on search result thumbnail #10317 - Add code to support thumbnail generation (currently noop) #10320 - Avoid trying to update the publication of an unpublished graph in graph publish command #10410 - Demote no-ontologies UI error to a logged warning #10385 - Fix string widget placeholder #10380 - Fix bulk import django_storage path for remote file storage #10377 - Fix map header minzoom #10374 - Update language synchronizer to serialize graph proxy model #10373 - Fix missing role and label for notification dismiss button #10345 - Fix missing image alt text for accessibility #10344 - Add system check for using dummy cache in production #10340 - Fix the missing canvas label #10337 - Remove `mock` from dev dependencies #10325 - Add contenttypes dependency to initial migration #10303 - Fix function registration #10301 & #10286 - Make primary descriptor fn aware of which description it's calculating #10300 - Update models pattern && removes plugins directory #10290 - Fix resource.load_tiles method to only filter if given perm #10275 - Do not require hostname in resource instance search string #10272 - Add missing loadid arg #10263 - Add uuid field to iiif-manifest #10261 - Superusers can finish workflows of other users #10256 - Check if function is new in save logic #10253 - Add plugins api #10241 - Fix webpack symlink mismatch #10236 - Make file-widget easier to inherit from #10233 - Removes full-screen overlay for frontend errors when running webpack development server #10225 - Fix race condition in resource-instance-select.js #10211 - Support HTML in manifest attribution field #10208 #10209 - Add map-filter auto zoom behaviour setting #10207 - Surface more meaningful error for missing graph publications #10189 #10203 - Add new configuration to disable automatic map extent change behaviour in map filter #10195 - Adds permission check for related resources #10191 - Add `defaultValue` to file-widget default config #10181 - Properly assign provisional flag during index, #10179 - Add graph slug as css class #10177 - Place JSON configs for card components etc in correct place #10164 - Fix race condition in concept select widget #10163 - Remove duplicative spinner in `.search-result-details` #10161 - Fix saving unsaved data in finish workflow action #10158 - Assign value to missing parameter in bulk editor #10156 - Creates concat str from node names on card in advanced search facets #10148 - Fix language selection in text widgets #10122 #10140 - Fix exponential files upload bug #10133 - Fix dirty state indication in the date picker widget #10126 - Add the capability of replacing the whole word only in bulk editor #10124 - Assign view_plugin permission to Resource Reviewers #10064 #10118 - Adds update flag to graph publish command #9625 #10116 - Fix TypeError when deleting all files from tile #10115 - Add tile deletion to bulk data manager #10101 - Enforce that skos file hasTopConcept #10100 - Move workflow history from local storage to database #10096 - Update fix for missing graph ids in resource x resource table #10092 - Adds missing data in the edit log following bulk edit/import #10073 - Add a button to copy node UUIDs to clipboard in graph designer tree #10071 - Limit the number of bulk edits #10066 - Add link to the list of bulk edits/imports in edit history page #10056 - Fix canvas delete function #10053 - Fixes issue where setting the arches version stage to "alpha" or "rc" stops package.json being created correctly #10051 - Allows naming of exported files from bulk_data_manager #10049 - Adds option for users to export concepts as UUIDS when using bulk tile exporter #10047 - Let errors bubble up in `ManifestManagerView` #10046 - Add a "View Report" button to resource editor #10045 - Add node alias and widget name as class to HTML elements #10034 - Add the count of resources/tiles imported in bulk loader #10032 - Add the file name in single csv importer summary #10021 - Update staging data for bulk edit #10020 - Update the logic to stage data for bulk edit #10019 - Remove workflow hardcoding in workflow banner #10015 - Allow configuration of uploadedfiles directory name #10013 - Fix bulk edit operations when data contains escape chars #10008 - Improve manifest selection verbiage in manifest manager #10004 - Enforce ordering in bulk disambiguated endpoint #9995 - Update webpack config #9993 - Allow importing empty worksheets in bulk loader #9991 - Add search debounce of 500ms AB#59153 #9946 - Add workflow step to check for missing migrations #9921 - Remove nose, subclass Django's test runner #9887 - Add support for Elastic Cloud #9860 - Add support for Elasticsearch API key authentication #9859 - Fix for graphs with forward slash ("/") in name when using create_package #9778 - Support provisional edits in resource json #9717 - Fix for allowing double quotation marks in i18n inputs #9712 - Fix errors when creating provisional edits #9704 - Prevent search export of restricted tiles #10425 - Handle deletion verify at card component level #9096 ### Dependency changes ``` Python: Upgraded: Django 3.2.20 > 4.2.8 django-celery-results 2.4.0 > 2.5.1 django-compressor 3.1 > 4.4 django-cors-headers 3.1.1 > 4.2.0 django-guardian 2.3.0 > 2.4.0 django-recaptcha 2.0.6 > 3.0.0 django-oauth-toolkit 1.2.0 > 1.7.0 django-webpack-loader 1.5.0 > 2.0.1 celery 5.2.7 > 5.3.6 psycopg2 2.9.6 > 2.9.9 Added: django-revproxy==0.12.0 Removed: arches-django-revproxy (dev dependencies): webtest django-webtest django-nose mock JavaScript: Upgraded: Added: select-woo: jadu/selectWoo/tree/jadu-1.1.5 vue: ^3.3.4 (dev dependencies): vue-loader: ^17.2.2, vue-template-compiler: ^2.7.14 ``` ### Breaking changes - If your project has its own Django models with custom save methods, you may need to modify them to ensure your fields are properly set using `update_fields`. See the [Django release notes](https://docs.djangoproject.com/en/4.2/releases/4.2/#setting-update-fields-in-model-save-may-now-be-required) for details. - The iiif_manifest table now has a globalid column (uuid). Imports to this table will need a uuid value for this field. - Descriptors will not always be calculated and saved on index. Custom import scripts will need to call `resource.save_descriptors()` before `resource.index()` to ensure descriptors are updated. - The `calculate_descriptors` method on the Resource proxy model has been renamed `save_descriptors`. Custom import scripts may need to reflect this change. - The `select2-query` knockout binding now uses the `selectWoo` JS library in order to provide better accessibility than `select2`. As of this change, any HTML element with a binding like `data-bind="select2Query: { ... }"` must be a `