> For the complete documentation index, see [llms.txt](https://docs.informationhub.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.informationhub.io/changelog.md).

# Changelog

This page lists notable changes and improvements to Information Hub, organised by version. Only user-facing changes are listed here -- internal and technical updates are omitted.

***

## v2.39.3

### Features

* **Dropdown in JSON and tabular questions** -- JSON and tabular question types now support dropdown fields for structured sub-entries.
* **Custom labels for JSON and tabular questions** -- form creators can set user-friendly labels for JSON and tabular question fields.
* **Form validation errors** -- validation errors are now displayed clearly to users when submitting a form.
* **Delete files with rows** -- when deleting table rows that contain file columns, users are prompted to also delete the associated files from storage.

***

## v2.39.2

### Features

* **Save form drafts** -- partially completed forms can be saved as drafts and resumed later, so field workers do not lose progress.
* **Dynamic file upload paths** -- file upload questions can use template-based storage paths that include column values, making uploaded files easier to organise.

### Fixes

* Fixed table filters using invalid columns.

***

## v2.39.1

### Features

* **Lock questions** -- form creators can lock individual questions to prevent respondents from editing the pre-filled value.

***

## v2.39.0

### Features

* **Form ordering** -- sections and questions within a form can now be reordered via drag-and-drop.
* **Custom primary key generation** -- tables support configurable primary key templates from the UI, so new rows can receive human-readable IDs automatically.
* **Human-readable update form keys** -- update forms now display human-readable column names instead of internal identifiers.
* **Analyse improvements** -- the built-in data analysis tool now supports group-by and where clauses. Generated R and Python scripts have been improved.
* **CSV and XLSX export options** -- configurable options for CSV and XLSX exports, including metadata entries.
* **Webhook improvements** -- updated universal and Stellenbosch webhook functions with sensor notifications.

### Fixes

* Fixed R and Python analysis scripts failing when table columns use mixed-case names.
* Fixed authentication issue where user lookup used too many parameters.
* Fixed Go app navbar safe area not working on Android.
* Fixed CPU configuration type in export data cloud functions.
* Fixed datasource connections closing prematurely on column update.

***

## v2.38.2

### Features

* **Custom emails on submission** -- form creators can toggle a custom email notification that is sent each time a form is submitted.
* **Universal webhook functions** -- updated cloud functions for processing webhook data from form submissions.
* **Improved Python analysis code** -- generated Python scripts for the Analyse tool have been improved.

### Fixes

* Fixed lookup search not returning results.
* Fixed time question showing an invalid date when no default time is selected.
* Fixed padding issues on short, paragraph, and number form questions.
* Fixed form description field padding.

***

## v2.38.0

### Features

* **Update forms** -- a new form type that lets respondents update existing table rows rather than always creating new ones. Useful for follow-up data collection where records need to be revisited.

### Fixes

* Fixed offline sync button not correctly syncing the offline link status.

***

## v2.37.4

### Features

* **Table filtering for foreign values** -- tables with relational columns now support filtering by foreign key values.
* **Copy relational tables** -- relational tables can now be duplicated.

### Fixes

* Fixed webhook configuration not displaying in form state despite having a value.
* Fixed dropdown not being shown when adding a row.
* Fixed searching a table twice not returning updated results.

***

## v2.37.0

### Features

* **Cloud functions** -- external cloud functions added for advanced integrations and webhooks.

***

## v2.36.5

### Fixes

* Fixed dropdown, location, multi-checkbox, and multi-radio UI on forms.
* Fixed table export when using limit and offset pagination.
* Fixed dashboard sharing for public/shareable access.
* Fixed table permission checks when querying data.

***

## v2.36.4

UI improvements and export subset scaffolding.

***

## v2.36.3

UI improvements and bug fixes across projects.

***

## v2.36.2

### Features

* **Manager (kanban board)** -- a new project module with drag-and-drop task boards. Create workbooks with To Do, Busy, and Done columns to organise project work.

***

## v2.36.1

### Features

* **Push notifications on iOS** -- push notifications now work on iOS devices.
* **Tutorial system** -- in-app tutorials appear contextually on pages that have tutorial content.

***

## v2.36.0

### Fixes

* Various authorisation bug fixes and form improvements.
* Fixed shared forms not working correctly.
* Fixed race conditions in the app.

***

## v2.35

### Features

* **Authorisation with trickle-down** -- role-based permissions now cascade through the project hierarchy (organisations, groups, projects).
* **Table and column creation in forms** -- create new tables and columns directly from the form builder without leaving the page.
* **Form option reordering** -- multi-checkbox and multi-radio options can be reordered.
* **Date and time defaults** -- date and time form questions now default to the current date and time.
* **Global search respects visibility** -- search results now correctly filter based on project visibility settings.

### Fixes

* Fixed shared forms not capturing user information when sign-in is required.
* Fixed push notifications not working on the Go app (web and Android).
* Fixed project copy issues with dangling question references.
* Improved error messaging for project creation.
* Various form UX and UI improvements.

***

## v2.34

### Features

Core platform release with the following features:

* **Projects** -- create, copy, and manage research projects with configurable visibility.
* **Tables** -- structured data storage with typed columns, manual row entry, and file preview on edit.
* **Forms** -- mobile-friendly data collection forms with multiple question types including QR codes.
* **Dashboards** -- data visualisation with chart components including time series.
* **Storage** -- file management with folder support, ZIP extraction, and download.
* **Manager** -- kanban-style task boards with expand-all and filter-by-user.
* **Wiki** -- project documentation pages.
* **Apps** -- shareable public-facing views of project content.
* **Organisations and Groups** -- team structure with member management.
* **Users and Permissions** -- role-based access control at multiple levels.
* **Marketplace and Templates** -- browse and copy project templates.
* **Push notifications** -- notification support for web and Android.
* **Offline mode** -- offline data collection with sync on the Go app.
* **Project copy** -- duplicate projects including tables, forms, dashboards, and storage.
* **Global search** -- search across projects and resources.
* **Leave project** -- users can leave projects they no longer need access to.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.informationhub.io/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
