The Most Unexpected CKAN Use Case I've Ever Seen: A Sheet Music Directory With AI Metadata
Wolfgang from Ondics built an open source sheet music catalog on CKAN — with AI metadata generation, YouTube playback, and cross-instance sharing. Here's how.
CKAN 2.12.0 is here. Released on 26 August 2026, it is the final release in the 2.x series and the deliberate groundwork for CKAN 3.0 — introducing files as first-class entities, a faster DataStore, richer APIs, scheduled background jobs, and the new opt-in Midnight Blue theme.
It also arrives alongside security patches for the 2.11.x and 2.10.x series — and it marks the end of the road for 2.10.x. If you run an older instance, upgrading is the most important thing you can do right now. Here is what changed, and why it matters.
The biggest architectural change in 2.12 is how CKAN handles files. Until now, a file only existed as an attachment to a resource. In 2.12, files become independent entities — they can be uploaded and managed separately from resources, owned by a user, resource or organization, and tracked across their whole lifecycle.
Opt-in and backward compatible. The new system is off by default. Portal maintainers enable it explicitly through configuration, so upgrading will not disrupt an existing setup or existing cloud-storage extensions.
Multiple storages at once. Files can be routed to local disk, Amazon S3, Google Cloud Storage, Azure Blob Storage or a database — even simultaneously, depending on their purpose — via a companion cloud-storage extension with a consistent config syntax across providers.
Richer metadata and permissions. Each file carries its own extensible metadata, enabling filtering, duplicate detection via file hashes, and blocking of unwanted file types. Permissions are layered — access can be cascaded from file to owner, or split between file content and metadata. New file management API actions expose all of this programmatically. This is the foundation for later work like file-first dataset creation, multiple files per resource and resource versioning.
For the first time, a file in CKAN is something you can own, describe and track on its own — not just an attachment to a resource.
Keyset pagination. Downloading very large tables used to slow down as the offset grew. 2.12 adds keyset pagination, which keeps a consistent speed at scale: the DataStore dump endpoint now uses it to stream large CSV and JSON exports more quickly, and datastore_search can return a next_page value for fast keyset paging when include_next_page is set and records are sorted by their _id field.
Advanced filtering. DataStore filters now accept range values and nested AND/OR operations, including comparison operators such as <, <=, > and >=. More of what once required a raw SQL query can now be expressed through structured filters.
Those same richer filters also apply to datastore_delete, so more complex sets of matching records can be targeted for deletion in a single request.
Midnight Blue is the first substantial refresh of CKAN's interface since version 2.0. In 2.12 it ships as opt-in — you enable it by pointing CKAN at the new templates and public folders in your config. In CKAN 3.0 it will become the default theme.
The highlights: a faster, more modern interface, HTMX-powered partial page updates so that actions like search, faceting and pagination no longer require full page reloads, and meaningful accessibility improvements throughout.
Scheduled background jobs. The ckan jobs worker command now runs a scheduler by default, letting CKAN enqueue jobs at defined intervals and skip duplicated metadata updates that used to slow down DataStore operations.
Richer APIs. Actions now report the actual changes they made. package_update and related actions return which entities really changed, and datastore_create, datastore_upsert and datastore_delete can return the exact records written back — enabling tighter integration with other systems.
Performance throughout. Search facets, sorting, pagination, activity views and API-token management all update without page reloads. Dataset metadata updates are significantly faster because unchanged resources are no longer revalidated, and package, group and organization extras are now stored as JSONB for faster updates and less storage.
Smaller touches. The latest Python versions are supported (3.10 and later). Saving a draft dataset is now called Publish, with an Unpublish button to move it back to draft. New reusable Bootstrap 5 toast and confirmation modules give extensions consistent notifications, and there are new resource-type icons for common machine-learning and geospatial formats — Parquet, GeoPackage, GeoTIFF, notebooks and more.
2.12 closes the 2.x chapter. Everything in it is a foundation stone for 3.0.
CKAN 2.12 resolves multiple security advisories in core. At the same time, the team has published patch releases for the 2.11.x and 2.10.x series with important security fixes.
The 2.10.x patch is the last one. The 2.10.x series has now reached end of life and will receive no further updates. If you are running 2.10.x or 2.11.x, please upgrade as soon as possible — start with the patch release for your series, then plan your move to 2.12.
A reminder on process: security issues should always be reported privately to security@ckan.org — never as a public GitHub issue. Full technical detail for every fix is in the changelog.
2.12 is the work of the whole CKAN community — the contributors who built and reviewed these features, the maintainers who shepherded the release, and everyone who tested it along the way. Thank you to all of them.
The best way to help now is to put 2.12 to work: test it against your own environment and extensions, report or fix anything that breaks, contribute translations, and help upgrade the extensions you depend on. Start at GitHub issues or join the conversation on Gitter / Matrix.
Wolfgang from Ondics built an open source sheet music catalog on CKAN — with AI metadata generation, YouTube playback, and cross-instance sharing. Here's how.
A recap of what the CKAN community covered on June 17, 2026: a live demo of the new CKAN Ecosystem Catalog, a deep-dive into HDX Tabular Data Endpoints, the launch of the new community discussion forum — and, surprise surprise, a very unexpected use of CKAN as a sheet music directory with AI-assisted metadata. Yes, really.