github pocketbase/pocketbase v0.16.0
v0.16.0 Release

latest releases: v0.16.3, v0.16.2, v0.16.1...
6 days ago
  • Added automated backups (+ cron rotation) APIs and UI for the pb_data directory.
    The backups can be also initialized programmatically using app.CreateBackup("").
    There is also experimental restore method - app.RestoreBackup("") (currently works only on UNIX systems as it relies on execve).
    The backups can be stored locally or in external S3 storage (it has its own configuration, separate from the file uploads storage filesystem).

  • Added option to limit the returned API fields using the ?fields query parameter.
    The "fields picker" is applied for SearchResult.Items and every other JSON response. For example:

    // original: {"id": "RECORD_ID", "name": "abc", "description": "...something very big...", "items": ["id1", "id2"], "expand": {"items": [{"id": "id1", "name": "test1"}, {"id": "id2", "name": "test2"}]}}
    // output:   {"name": "abc", "expand": {"items": [{"name": "test1"}, {"name": "test2"}]}}
    const result = await pb.collection("example").getOne("RECORD_ID", {
      expand: "items",
      fields: "name,",
  • Added new ./pocketbase update command to selfupdate the prebuilt executable (with option to generate a backup of your pb_data).

  • Added new ./pocketbase admin console command:

    // creates new admin account
    ./pocketbase admin create 123456890
    // changes the password of an existing admin account
    ./pocketbase admin update 0987654321
    // deletes single admin account (if exists)
    ./pocketbase admin delete
  • Added apis.Serve(app, options) helper to allow starting the API server programmatically.

  • Updated the schema fields Admin UI for "tidier" fields visualization.

  • Updated the logs "real" user IP to check for Fly-Client-IP header and changed the X-Forward-For header to use the first non-empty leftmost-ish IP as it the closest to the "real IP".

  • Added new tools/archive helper subpackage for managing archives (currently works only with zip).

  • Added new tools/cron helper subpackage for scheduling task using cron-like syntax (this eventually may get exported in the future in a separate repo).

  • Added new Filesystem.List(prefix) helper to retrieve a flat list with all files under the provided prefix.

  • Added new App.NewBackupsFilesystem() helper to create a dedicated filesystem abstraction for managing app data backups.

  • Added new App.OnTerminate() hook (executed right before app termination, eg. on SIGTERM signal).

  • Added meta.isNew to the OAuth2 auth JSON response to indicate a newly OAuth2 created PocketBase user.

  • Added accept file field attribute with the field MIME types (#2466; thanks @Nikhil1920).

  • Added support for multiple files sort in the Admin UI (#2445).

  • Added support for multiple relations sort in the Admin UI.

Don't miss a new pocketbase release

NewReleases is sending notifications on new releases.