github pocketbase/pocketbase v0.14.0
v0.14.0 Release

latest releases: v0.23.0-rc12, v0.23.0-rc11, v0.23.0-rc10...
19 months ago

⚠️ Make sure to have a backup of your pb_data directory before upgrading in case the system db indexes migration fail for some reason.

This release introduces experimental Apple OAuth2 integration, unique constraints and indexes management (supporting multiple fields and expressions), relation normalizations and optimizations, and other various improvements.


  • Added experimental Apple OAuth2 integration.

  • Added @request.headers.* filter rule support.

  • Added support for advanced unique constraints and indexes management (#345, #544)

  • Simplified the collections fields UI to allow easier and quicker scaffolding of the data schema.

  • Deprecated SchemaField.Unique. Unique constraints are now managed via indexes.
    The Unique field is a no-op and will be removed in future version.

  • Removed the COALESCE wrapping from some of the generated filter conditions to make better use of the indexes (#1939).

  • Detect id aliased view columns as single relation fields (#2029).

  • Optimized single relation lookups.

  • Normalized record values on maxSelect field option change (select, file, relation).
    When changing from single to multiple all already inserted single values are converted to an array.
    When changing from multiple to single only the last item of the already inserted array items is kept.

  • Changed the cost/round factor of bcrypt hash generation from 13 to 12 since several users complained about the slow authWithPassword responses on lower spec hardware.
    The change will affect only new users. Depending on the demand, we might make it configurable from the auth options.

  • Simplified the default mail template styles to allow more control over the template layout (#1904).

  • Added option to explicitly set the record id from the Admin UI (#2118).

  • Added migrate history-sync command to clean _migrations history table from deleted migration files references.

  • Added new fields to the core.RecordAuthWithOAuth2Event struct:

    IsNewRecord     bool,          // boolean field indicating whether the OAuth2 action created a new auth record
    ProviderName    string,        // the name of the OAuth2 provider (eg. "google")
    ProviderClient  auth.Provider, // the loaded Provider client instance
    
  • Added CGO linux target for the prebuilt executable.

  • ! Renamed daos.GetTableColumns() to daos.TableColumns() for consistency with the other Dao table related helpers.

  • ! Renamed daos.GetTableInfo() to daos.TableInfo() for consistency with the other Dao table related helpers.

  • ! Changed types.JsonArray to support specifying a generic type, aka. types.JsonArray[T].
    If you have previously used types.JsonArray, you'll have to update it to types.JsonArray[any].

  • ! Registered the RemoveTrailingSlash middleware only for the /api/* routes since it is causing issues with subpath file serving endpoints (#2072).

  • ! Changed the request logs method value to UPPERCASE, eg. "get" => "GET" (#1956).

  • Other minor UI improvements.

Don't miss a new pocketbase release

NewReleases is sending notifications on new releases.