ODK Central v2023.3

We are excited to announce a new release of ODK Central, the ODK server.

If you haven't used Central, the easiest way to get started is with ODK Cloud. ODK Cloud is official managed hosting of Central on our fast, reliable, and secure infrastructure. It's fully-managed and fully-supported so you can focus on collecting the data you need.

If you are technical and prefer to self-host and rely on community support, start with our installation docs.

If you are using ODK Cloud, we'll be rolling out these updates in the coming days. If you are not using ODK Cloud, follow the upgrade instructions.

:warning: We’ve modified the upgrade instructions. Even if you are familiar with upgrading ODK Central servers, you should review the latest upgrade instructions.

:warning: If you haven’t upgraded to 2023.2 yet, please note that it’s a critical infrastructure upgrade that may take more time.

Release Overview

Version 2023.3 brings further core enhancements to Datasets and Entities:

  • Browse Entity data in a table directly in Central just like Submission data
  • See details about a particular Entity, including the complete edit history
  • Edit Entity data directly!
  • Choose to create Entities when Submissions are uploaded or when they are approved

View, Edit, and Analyze Entities

You'll find navigation tabs now when you browse into a Dataset, which will let you view the Entity data table or view and edit the Dataset settings. From the data table, you will see options to export the Entity data as a file, or to link it to your analysis tools over OData, just like Submission data. You'll also be able to navigate further into any particular Entity in the table, seeing its full current data, creation and edit history, and soon more.

Create Entity Immediately

You can also now go to the Dataset Settings tab to choose whether Entities are immediately created when Submissions are first received by Central, or if Central should wait until a Submission is approved before creating Entities. Previously, only the "on approval" behavior was available.

We hope these improvements to the Dataset and Entity experience make it more powerful and pleasant to use. We'll be improving more in coming releases, but if there is anything that is really painful to use or functionality you'd like to see, please post it in the Features category.

Other Highlights

Thanks in part to feedback from our users and contributions from community developers, we have made a number of additional improvements:​

  • Add the ability to create, read, update, and soft-delete Entities using the API.
  • Add columns to the Entities CSV download about the Entity creator, the Entity creation time, and other metadata.
  • Improve the speed at which incoming Submissions are accepted by updating indices in the database.
  • Add support for overrides of docker-compose.yml. Thanks to Alan Ivey for this improvement!
  • Require more disk space before upgrading Postgres to help prevent the disk from becoming full during the upgrade. Thanks to @dakotabenjamin for reporting this issue!
  • Set a maximum width in the web interface for an improved user experience.
  • Fix a bug that showed all empty values in the Entities table for a Dataset property whose name contained a hyphen or period or was otherwise not a valid OData identifier.
  • Do not show empty rows in front of Properties in the Dataset overview.
  • Allow the file names of Submission Attachments to contain Unicode characters or punctuation.
  • Allow a test Submission to be created for a Form Draft that links to a Dataset.
  • Improve how ODK Collect determines which Datasets have been updated.
  • Ensure structural change to a Form does not prevent managed encryption form being enabled.
  • Check that Dataset property names are valid in XML XForms, not just XLSForms.
  • Fix a bug in the API that returned incorrect createdAt and updatedAt timestamps for Submissions when extended metadata was requested.
  • The User-Agent header is no longer required in the API. Most API clients specify User-Agent automatically, but it is now fully optional.
  • Return better errors from the API when there is a problem related to an Entity.
  • Return a better error when the Authorization header is invalid in the API.
  • Update Enketo.
    • Submissions are now re-attempted multiple times when in offline mode.
    • Draw/signature/annotate widgets now preserve original image size when annotating and have better resize performance.
  • Update pyxform.
  • Update translations.
    • If your language is missing from Central, please contribute it.

As always, we have updated our User Documentation and API Documentation for the latest changes.

More notes about changes to the API for v2023.3 can be found in the API Changelog, which lists additions, breaking changes, and other things of note for each major release.

What's Next

For the next release, we will add more features in our Datasets and Entities world. See getodk.org/roadmap for a more detailed roadmap.


ODK Central v2023.3.1 is now available. It includes the following changes:

  • Set Entity properties correctly if a new Form version changes save_to.
  • If a Project has enabled encryption, its main data table for Submissions can now be downloaded. Thanks to @Thalie and @Khine for reporting this issue!
  • Allow a Submission Attachment to be previewed in Enketo when its file name contains a dollar sign.
  • Add the ability to use $select with a parent ID in OData.
  • Update Enketo.
    • Performance improvements for loading large Forms
    • Ukrainian translation