Releases: GetDKAN/dkan
2.22.4
This release brings full Drupal 11.3 support to DKAN.
What's Fixed
- Update Sqlite Connection usage for Drupal 11.3 / PHP 8.4 support by @dafeder in #4649
- Make download endpoint respect keys, count and schema params by @dafeder in #4654
- UploadOrLink submit fix by @dafeder in #4653
Full Changelog: 2.22.3...2.22.4
2.22.3
What's Changed
- Default to Drupal 10.5 in ddev-init and allow other constraints by @chri5tia in #4617
- Add option to delete Orphaned content on cron by @beeyayjay in #4647
- Update README to fix local sandbox ddev link by @janette in #4640
Full Changelog: 2.22.2...2.22.3
2.22.2
Note
This release fixes composer problems on many builds related to conflicting dependencies for the justinrainbow/json-schema package.
What's Changed
- Cache the select2 library in CI by @dafeder in #4619
- Drupal 10.6, remove EOL versions from testing matrix by @dafeder in #4636
- Fix mock-chain version in composer.json by @dafeder in #4639
Full Changelog: 2.22.1...2.22.2
2.22.1
What's Changed
- Add configuration option for the datastore query endpoint by @janette in #4606
- Update config label by @janette in #4616
- Fix version constraints in CI by @dafeder in #4626
- Update gitattributes so that only the root docs/ directory is ignored. by @beeyayjay in #4625
Full Changelog: 2.22.0...2.22.1
2.22.0
This is a minor/point release primarily to reflect the shift to new development tooling that could disrupt existing local environments.
The DKAN DDEV add-on is being deprecated and we have shifted to the DDEV Drupal Contrib add-on for local development and CI builds. This brings the DKAN project more in line with other Drupal modules and leverages an established pattern and toolset, with the goal of reducing the learning curve for new DKAN developers and the maintenance burden from our specialized tools. It can also be seen as part of the much longer process of transitioning DKAN from GitHub and packagist.org to Drupal.org (see #4260).
For more information on the new workflow see the local development section of the DKAN Developer Guide.
This release includes several other fixes and changes, as well as a significant new feature: support for JSON on datastore download query endpoints. Previously, full results sets could be streamed for download as CSVs only. Many other minor fixes and enhancements are included as well.
What's New
- Switch to ddev contrib, modify test matrix by @dafeder in #4580
- Allow streamed/download JSON data by @beeyayjay in #4590
- Extend HTML filtering to UI and make configurable. by @beeyayjay in #4603
What's Fixed
- Fix mysql importer empty row skipper. by @swirtSJW in #4574
- Fix DataDictionaryWidget expectations by @swirtSJW in #4553
- Fix Harvest update hook by @beeyayjay in #4586
- Fix HarvestCodeConsolidationTest by @dafeder in #4588
What's Changed
- Add some older PHP versions w/10.5 to the matrix by @dafeder in #4582
- Minimal cleanup of dkan_js_frontend by @paul-m in #4576
- Add getTableName() to DatabaseTableInterface by @dafeder in #4583
- Add .gitattributes and skip scaffolding by @dafeder in #4592
- Composer file cleanup by @dafeder in #4594
- Less complex AbstractDatabaseTable::setTable() by @dafeder in #4595
- Restrict openapi testing library to < 0.12 by @dafeder in #4602
- Upgrade openapi-httpfoundation-testing library by @dafeder in #4604
- Update matrix to target 10.5 and build for 11.2 by @dafeder in #4605
Full Changelog: 2.21.2...2.22.0
2.21.2
Note
This release fixes a problem reported in #4531; that the permissions to access the datasets admin page were too permissive. The change will not be automatically applied; see the section below "View Update Instructions" for how to import the new config.
What's Changed
- Improve some docs about the Drush commands by @dafeder in #4560
- Restrict view perms, remove routing perms by @dafeder in #4563
- Additional decoupling of DKAN from JSON Form Widget in tests by @dafeder in #4567
View update instructions
The changes to the datasets admin view are not automatically applied, to avoid blowing away any customizations. If you are comfortable replacing the default datasets admin view at admin/dkan/datasets, use either one of the following methods:
- Run the drush command
drush cim --partial --source=modules/contrib/dkan/modules/metastore/modules/metastore_admin/config/install -y - Use the configuration sync UI:
- Open the file modules/metastore/modules/metastore_admin/config/install/views.view.dkan_dataset_content.yml
- Copy the full contents
- Navigate to admin/config/development/configuration/single/import
- Set "Configuration type" to "View"
- Paste the contents of the yml file
- Click "Import"
Full Changelog: 2.21.1...2.21.2
2.21.1
2.21.0
Important
This release introduces several breaking changes to composer dependencies and the datastore API. See below for upgrade instructions.
Upgrade guide
- composer.json: Ensure that your project root composer.json includes
npm-asset/select2andoomphinc/composer-installers-extenderin therequiresection, and asset-packagist in therepositoriessection. See #4546 and the select2 readme for more information, or see this project template for an example. If you omit thenpm-asset/select2dependency, your project should still build, but your metadata forms may break. - select2: You must require the development branch of select2 at a more recent commit than select2/select2#6332. There is unfortunately no stable release that is compatible with current versions of Drupal. This means that projects using DKAN must have minimum stability of
devin their composer files (or else omit the select2 library dependency and avoid using select2 on your forms). - API change: Using
"limit": 0in a datastore query to get around the row limit in the datastore query endpoints will no longer work, and will produce a JSON validation error. Please update any frontend or third-party code. The only way to download a full result set from the datastore, without being affected by the row limit setting, is to use one of the download endpoints and consume the entire result as a CSV. - Config: If you save your project configuration to code, be sure to capture the changes to core.entity_form_display.node.data.default.yml as there has been an update to the JSON form plugin.
What's Changed
- Remove select2 asset from composer require. by @swirtSJW in #4546.
- Fix tagfield test by @dafeder in #4542
- Move JSON form plugin to metastore, de-DKAN-ifying json_form_widget by @dafeder in #4533
- Require dev version of select2 library by @dafeder in #4479
- Minimum of 1 for the "Limit" property in the datastore query schema by @kaise-lafrai in #4544
- dkan:harvest:register should validate options by @paul-m in #4498
- Better error-correction in HarvestUtility by @paul-m in #4268
- #4298 - Change some methods from private to protected by @stefan-korn in #4419
- Security: Update drupal/facets to ^3.0.1 by @paul-m in #4548
- Remove other unneeded properties from composer.json by @dafeder in #4547
- Update JSON Form Widget README by @janette in #4550
Full Changelog: 2.20.9...2.21.0
2.20.9
Important
As of Drupal 8.2.0, modules no longer require REST-specific permissions. This update begins the transition from a separate permission for API use to relying on the Drupal content authorship permissions. The permission post put delete datasets through the api is deprecated. All API actions now require the same permissions needed to accomplish equivalent things in the Drupal UI. They will, for now, also respect the old "post put..." permission for backward compatibility, but we will remove this in a later release.
Please be advised that you should update the Data node permissions on your data publisher role(s) accordingly.
What's Changed
- Use entity access to negotiate API permissions by @dafeder in #4526
- Add documentation about permissions by @janette in #4537
What's Fixed
- Override file access to allow access to remote files for UploadAndLink by @beeyayjay in #4536
2.20.8
Note
This update adds a new configuration for the DKAN MySQL Importer module: "Disable strict mode for creating/altering MySQL tables". Previously the module would always attempt to disable innodb_strict_mode before creating or altering a datastore table. This is sometimes needed for edge cases where the data resource may exceed the header size limit. See #4505.
If a mysql user lacks the necessary permissions to disable strict mode, however, this will cause errors on table creation. If you do not need strict mode to be disabled or do not have the necessary permission, you should not be disabling innodb_strict_mode. After upgrading, visit /admin/dkan/datastore/mysql_import and uncheck the "Disable strict mode for creating/altering MySQL tables" option. (On new installations, it will be unchecked by default.)
What's Changed
- Allow null on addDistributionInfo in DatastoreInfo by @janette in #4509
- Migrate from code climate to qlty by @dafeder in #4513
- Strict mode opt-in for MySQL importer by @dafeder in #4512
- Split dashboard title search terms into multiple conditions in query to get accurate results by @kaise-lafrai in #4520
- Remove flaky test by @dafeder in #4522
- Isolate all DKAN logic in JSON Form widget to plugin file by @dafeder in #4486
- Test coverage for API delete, and for unauthorized request by @dafeder in #4523
What's Fixed
- Query Schema updates to throw json schema validation errors if any of the conditions are not met. @kaise-lafrai #4528