Impact Score: 5/10
PocketBase: v0.4.0 Release
Source available โ automated, not human-reviewed
Component: pocketbase ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
PocketBase v0.4.0. Source highlight: Added support for import/export of collections configuration.
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (6)
- Added support for import/export of collections configuration.
- Added new API endpoint to bulk import collections.
- Added new Import/Export section in the _Admin UI > Settings_.
- Added migration command to export the local collections configuration into a migration file
- Added **totalPages** field in the api response (the SDKs were also updated to reflect the change in the result object dto).
- Added the build version number in the Admin UI footer (#280).
โก Performance & Enhancements (1)
- Other minor code and tests improvements.
๐ง Bug Fixes & Patches (1)
- All resource endpoints (records, collections, admins, users, etc.) now support specifying an optional custom insertion id during create (**it must be a fixed 15 chars string**) to allow handling offline first data structures [#246].
๐ View Raw Release Notes (Original Developer Log)
## Changes
- Added support for import/export of collections configuration.
> :warning: This feature is still experimental, so use it cautiously and always have a backup of your `pb_data` before applying the import!
- Added new API endpoint to bulk import collections.
- Updated the JavaScript and Dart SDKs accordingly with the new endpoint `client.collections.import(...)`.
- Added new Import/Export section in the _Admin UI > Settings_.
When importing you'll be able to "Review" your changes with a side-by-side diff before sending them to the server.
Validations on the imported collections, eg. missing required fields, are done **only server side** after submitting the import form.
The import is executed within a transaction and it is applied only after all imported collections changes are applied successfully.
- Added migration command to export the local collections configuration into a migration file
```sh
go run main.go migrate collections
```
> **NB!** This will works only for new project - more info on the caveats you could find in the [DB Migrations guide](https://pocketbase.io/docs/db-migrations/#collections-migration).
- All resource endpoints (records, collections, admins, users, etc.) now support specifying an optional custom insertion id during create (**it must be a fixed 15 chars string**) to allow handling offline first data structures [#246].
- The realtime **create** and **update** hooks are now fired when updating a record manually with the `Dao`
- All examples are updated to use `127.0.0.1` instead of `localhost` because the `localhost` hostname may not be available on some Windows installations and on some platforms could resolve differently (Node17+ for example has higher priority for the ipv6 version [::1], which could lead to connection failure - [pocketbase/js-sdk#21](https://github.com/pocketbase/js-sdk/issues/21)).
- Added **totalPages** field in the api response (the SDKs were also updated to reflect the change in the result object dto).
- Added the build version number in the Admin UI footer (#280).
- Updated the _Thumbs_ file option tooltip to include info about the default/system `100x100` thumb (thanks @ollema).
- _Internals_:
- Added `OnCollectionsBeforeImportRequest` and `OnCollectionsAfterImportRequest` hooks.
- Updated the `base.Model` interface with additional `MarkAsNew` and `UnmarkAsNew` for finer control over the upsert operations on existing models.
- Added `form.*WithConfig(...)` factory to all `forms` models to allow nesting and running multiple forms within a single DB transaction
- The `OnModelAfter*` hooks for transactions are now fired **only after a successful transaction commit** (in the order they were initially called during the transaction).
- Other minor code and tests improvements.