serverpod_database
Database implementations for Serverpod.
4.0.0-beta.4
13K downloads/mo
#2631 most downloaded on pub.dev
serverpod/serverpod
What this package is like to depend on
Last release 2 days ago
21 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Unknown
no stable releases
Nothing withdrawn
no release was ever pulled
5 months old
17 releases · first in 2026
17 releases in the last 12 months
see the full history below
Release timeline
17 releases · Mar 2026 to Aug 2026Releases
latest 17-
4.0.0-beta.421 Aug 2026 pre-releaseRelease notes
Open source →- feat: Allows overriding the default cache header for
StaticRouteandSpaRoutefrom env vars. - feat: Adds opt-in
httpOnlycookie authentication for web clients. - feat: Generates the column specified as
field=on relations that require the explicit foreign key. - feat: Introduces the
deferredanddeferrableflags on relations to postpone constraints evaluation inside transactions. - feat: Makes
startTUI app URLs clickable. - fix: Restores inbound foreign keys on migrations when a table is recreated.
- fix: Resolves generated Dart formatters with captured stderr.
- fix: Fixes the
startTUI app status on spontaneous exit. - refactor: BREAKING. Refactors the
ServerpodClientExceptionhierarchy to introduce a proper exception for network errors. Previous HTTP-related exceptions now extend the sealedServerpodClientHttpExceptionclass. - refactor: BREAKING. Refactors the database exception hierarchy to throw specific exceptions for common operation errors (unique/foreign key constraint violations, SQLite database locked, etc.).
- chore: Generates stable import prefixes on generated code to reduce conflicts and diff noise.
- chore: Generates a simplified
Serverpodclass for cleaner initialization. - chore: Reviews all skills for correctness and better guidance.
- feat: Allows overriding the default cache header for
-
4.0.0-beta.314 Aug 2026 pre-releaseRelease notes
Open source →- fix: Improves the
serverpod startTUI borders and dividers with T-junction characters. - fix: Fixes Google Sign-In accepting an access token minted for a different OAuth client that could be used to takeover an account. Backported to 3.4.12.
- fix: Fixes improper neutralization of string values in Serverpod's ORM that exposes SQL injection from user input. Backported to 3.4.12.
- fix: Includes session key salt in the session key hash. Backported to 3.4.12.
- fix: Makes the login rate limit bound guesses per user. Backported to 3.4.12.
- fix: Prevents rotating a refresh token for a blocked auth user. Backported to 3.4.12.
- chore: Ensures project build runs on a clean folder to avoid compilation issues.
- chore: Polishes and adds dark theme to the default Flutter app.
- fix: Improves the
-
4.0.0-beta.210 Aug 2026 pre-releaseRelease notes
Open source →- feat: BREAKING. Changes default message central delivery to global with fallback to local.
- feat: Honors the selected device on VS Code IDEs when launching the Flutter app from
serverpod start. - feat: Replaces the docker image for PostgreSQL by the official
ghcr.io/serverpod/postgres:16. - feat: Allows using
serialon regularintcolumns on PostgreSQL. - feat: Adds support for the
nulls_distinctkey on unique indexes on PostgreSQL. - feat: Adds account merging mechanics to the auth module. (@craiglabenz)
- feat: Allows overriding the default cache header for
FlutterRoutefrom env vars. - feat: Forwards shared package models through the owning module's server/client packages.
- fix: BREAKING. Removes dead email-related exceptions. (@realmeylisdev)
- fix: BREAKING. Removes the deprecated
authenticationKeyManagerclient parameter. - fix: BREAKING. Removes the legacy streaming session and deprecated streaming APIs.
- fix: BREAKING. Removes deprecated future call methods.
- fix: Fixes MCP server not being able to fetch logs when using
--no-tui. - fix: Makes shared-package logs visible in the CLI.
- fix: Exports WebSocket event types. (@loopassembly)
- fix: Prunes trailing empty migration dirs. (@Moe1211)
- fix: Makes generated Dart code
dart formatclean respecting the project options. - fix: Makes
TermsAndPrivacyTextsign-in widget respond to app theming. - fix: Keeps target schema fresh after hot reload. (@Aabdulawalarif)
- fix: Serves Flutter app config file on the correct path when project uses only webapp.
- fix: Generates
detachanddetachRowfor named list relations without order dependence. - fix: Updates language server state when model files change on disk.
- fix: Ensures client-side databases can be used on Flutter web apps.
- fix: Skips docker auto-start if using a remote Postgres host.
- chore: Avoid exposing unnecessary secrets on the template.
- chore: Improves the analytics reporting on used Serverpod features.
-
4.0.0-beta.128 Jul 2026 pre-releaseRelease notes
Open source →- feat: Exposes flags on the
serverpod createcommand to customize the created project. - feat: Unifies and customizes social sign-in button styling.
- feat: Adds support for cache busting with dedicated syntax in templating system.
- feat: Allows running tests with complete isolation and plain
dart testusingwithServerpod. - feat: Uses custom embedded PostgreSQL binaries built with
pgvectorandpostgissupport. - feat: Defaults to autostart docker on
serverpod startif using PostgreSQL withoutdataPath. - feat: Makes stack trace logs clickable to expand individually on
serverpod startTUI. - feat: Adds structured Flutter logs to
serverpod startTUI. - feat: Allows booting the embedded PostgreSQL from the CLI with
serverpod database start. - feat: Allows using the
tablekeyword withdatabase: allon shared package models. - feat: Changes the
WidgetRoute.buildmethod to returnWebWidget?and easily throw a 404. - feat: Makes "X Stop App" / "X Close Tab" hints clickable in
serverpod startTUI. - feat: Removes the experimental flag from
serverpod startcommand. - fix: BREAKING. Removes the native Google Sign-In web implementation in favor of OAuth2.
- fix: BREAKING. Removes deprecated orderDescending parameter on ORM methods.
- fix: BREAKING. Removes deprecated
ignoreEndpointannotation from the CLI. - fix: BREAKING. Removes deprecated
SerializationManagerServerclass. - fix: BREAKING. Removes deprecated web-server widgets and legacy static directory classes.
- fix: Fixes VS Code debugger not working with the new
serverpod startTUI. - fix: Releases sessions from
MessageCentralwhen streams are cancelled before session close. - fix: Fixes generator failing when the client or shared package are imported on the server.
- fix: Invalidates corrupt cached server.dill after an interrupted compile.
- fix: Shows the device platform in the
serverpod startTUI Flutter app status line. - fix: Fixes
generate --watchmode feedback loops when no changes existed. - fix: Fixes high disk I/O when starting the Flutter app from
serverpod start. - fix: Allows unverified emails in Firebase IDP for default account validation.
- fix: Ensures any error is flushed to the terminal when exiting the TUI with a non-zero exit code.
- fix: Fixes Flutter app tabs not being marked as ready on non-web devices on the TUI.
- fix: Fixes the background of the
SignInWidgetandEmailSignInWidgetnot being transparent - fix: Fixes a racing condition when closing a streaming method right after opening it.
- fix: Adds the missing
databaseInterceptorparameter towithServerpod. - refactor: Unify create and apply migration buttons on
serverpod startTUI asMigrateaction. - refactor: Improve the
serverpod createTUI look and feel. - chore: Removes the
--minioption fromserverpod createcommand.
- feat: Exposes flags on the
-
4.0.0-beta.004 Jul 2026 pre-releaseRelease notes
Open source →- feat: Shows inline "Copied" confirmation in
serverpod startTUI alerts. - feat: Makes alert copy/dismiss clickable in
serverpod startTUI. - feat: Adds the
displayNamefor Flutter app configs for a pretty tab title. - feat: Adds support for creating server only projects.
- fix: Fixes
upsertwithupdateWherethrowing on SQLite when conflicts are filtered out. - fix: Adds missing export of
DeepCollectionEqualityfor shared models. Backported to 3.4.11. - fix: Prevents the creation of orphaned images on subsequent IDP logins. Backported to 3.4.11.
- refactor: Refines the serverpod start TUI app status, stop/close, and launcher.
- chore: Changes the template to serve the Flutter web app under root if website is not enabled.
- feat: Shows inline "Copied" confirmation in
-
3.5.0-beta.1230 Jun 2026 pre-releaseRelease notes
Open source →- feat: Adds
ServerpodCloudEmailIdpConfigas default email IDP using Serverpod Cloud. - fix: Improves the "Flutter web app not built" page on the template.
- fix: Fixes missing
webdirectory for projects created with only the Flutter app.
- feat: Adds
-
3.5.0-beta.1129 Jun 2026 pre-releaseRelease notes
Open source →- feat: Adds PostGIS geography types support with GiST and SP-GiST indexes. (@charlesarchibong)
- feat: Relaunches Flutter apps from
serverpod startwhen assets and fonts change. - feat: Allows running multiple Flutter apps from
serverpod start. - feat: Moves Flutter app configs from the command line to the server pubspec. The
serverpod startno longer accepts--flutter-*flags. - feat: Adds a
spawn_flutter_appMCP tool for agents to spawn configured Flutter apps. - feat: Exposes the Redis connection to allow users to build custom extensions.
- feat: Adds the
tailkeyword on models to configure the order of inherited fields. - feat: Automatically reloads the server when dependencies change.
- feat: Adds a
withSessionmethod onServerpodfor manual session usage with automatic teardown. (@nicowalter256) - feat: Adds a
noReturnparameter to all ORM methods to allow skipping the returning the data. - feat: Allows using the
unique(per=...)shorthand for composite unique indexes. - feat: Adds a
databaseInterceptorparameter toServerpodfor intercepting database operations. - feat: Implements
Iterableandoperator[]on vector types. - feat: Disables the sign-in UI while authentication is in progres. (@abdulawalarif)
- feat: Shows alert logs as a special pinned alert message on the
serverpod startTUI. - feat: Allows
extendsandsealedproperties onExceptionmodels. - fix: Prevents
serverpod startfrom closing when the project fails to build. - fix: Makes Flutter app heartbeat more resilient to failures before tearing down.
- fix: Fixes IDPs silently skipping
UserProfilecreation during first login if an exception occur. - fix: Adds an error when unregistered custom classes are used in endpoints.
- fix: Throws
StateErrorinstead ofExceptionfor not configured features. (@realmeylisdev) - fix: Fixes client-side protocol with client database and modules.
- fix: Fixes wrong column values encoding in
upsertqueries for SQLite. - fix: Fixes analysis errors on projects due to
clocktransitive import on generated code. - fix: Allows using the
idas conflict target onupsertandupsertRow. - fix: Excludes static methods from endpoint code generation. (@realmeylisdev)
- fix: Changes
testObjectToJsonreturn type fromdynamictoMap<String, dynamic>. (@realmeylisdev) - fix: Preserves
ORDER BYin nestedincludeListqueries withLIMIT. - fix: Recovers orphaned embedded Postgres on Windows after unclean exit.
- fix: Fixes malformed query when negating many-relation filters. Backported to 3.4.10. (@realmeylisdev)
- fix: Fixes trying to complete the web socket listener twice on concurrent connections. Backported to 3.4.10.
- refactor: Improves the
serverpod startTUI experience. - refactor: Improves the
serverpod createTUI experience with a paginated experience. - chore: Adds a checkmark to browser refresh log. (@mackings)
- chore: Fixes Antigravity MCP configuration not being loaded.
- chore: Fixes auth dependencies being included in projects created without auth.
-
3.5.0-beta.1006 Jun 2026 pre-releaseRelease notes
Open source →- feat: Hides the "Hot restart" action in the
startTUI when on watch mode (default). - feat: Restarts the Flutter app automatically when its dependencies change.
- feat: Adds IDE selection screen to the
quickstartcommand for a complete experience. - feat: Adds a
Ctrl+Rshortcut to restart the Flutter app from thestartTUI. - feat: Adds
kidto JWT header for ES512 tokens. - feat: Exposes unified access to
scloudthrough the newcloudServerpod CLI command. - feat: Replaces the default Flutter device by a special
web-serverthat launches the browser. - feat: Exposes
Lkey to clear logs onserverpod start. - feat: Makes
Ctrl+Ccopy when selection is active or exit when pressed twice on any TUI command. - fix: Exposes a new
serverDirectoryparameter onServerpodto avoid depending onDirectory.current. - fix: Fixes joins with long column names and deeply nested relations not mapping the correct columns. Backported to 3.4.9.
- fix: Fixes MCP file placement for OpenCode.
- fix: Fixes a race condition where the splash screen would return when remounting the
startTUI hidden. - fix: Adds validation that throws early if invalid chars are used on migration tag names.
- fix: Changes SQLite behavior to ignore
runtimeParametersBuilderinstead of throwingUnsupportedError. - fix: Adds a
Materialwrapper to theSignInWidgetfor correct rendering when not using a Material app. - fix: Fixes error when closing method stream command with error after already closed. Backported to 3.4.9.
- fix: Shows collapsed stack traces on the "Server logs" tab of the
startTUI. - fix: Hides the "Raw server logs" tab from the
startTUI by default. Accessed with`or.. - fix: Fixes the
Dockerfileafter workspaces and Dart 3.10 upgrade. Backported to 3.4.9. - fix: Adds back the missing
--emptyflag to thecreate-migrationcommand. - fix: Makes
serverpod startcrashes persisted to the terminal on exit. - fix: Adds a timeout to the Flutter VM service connection to avoid hanging on startup.
- fix: Forwards global options to the subcommands of the
serverpodcommand. - fix: Fixes the interactive project selector on Windows.
- fix: Fix the serialization of
dynamicclasses when importing both client and server. - fix: Adds the missing
Shift+Tabaction to navigate backwards onstartTUI tabs. - fix: Fixes migrations not being generated when changing columns of an index. Backported to 3.4.9.
- perf: Activates the staleness check on the
generatecommand to avoid redundant work. Use--forceto bypass. - refactor: Changes the way endpoints are called to pass the method on the route instead of the body.
- chore: Adds an
AGENTS.mdfile to the project template to improve agents performance with Serverpod. - chore: Removes automatic run of
flutter_buildduringcreatecommand. - chore: Adds a basic experimental skill to improve front-end generated by agents out-of-the-box.
- chore: Fixes GitHub workflows on project templates after workspaces upgrade. Backported to 3.4.9.
- chore: Disables WASM by default on new projects.
- chore: Renames the
mcpcommand tomcp-serverfor parity with the Dart MCP.
- feat: Hides the "Hot restart" action in the
-
3.5.0-beta.922 May 2026 pre-releaseRelease notes
Open source →- feat: Allows attaching a Flutter app on demand with a running
serverpod start. - feat: Adds split-screen layout to the
serverpod startTUI on wide terminals. - feat: Adds
tail_flutter_logsMCP command for agents to read the Flutter app logs. - feat: Exposes the Flutter process DTD on a
get_flutter_app_dtdMCP tool. - fix: Fixes MCP command not initializing properly when running
serverpod start. - fix: Executes repair migrations when calling
apply_migrationsfrom the TUI and MCP. - fix: Fixes serialization/deserialization of project models on
dynamicfields of module models. - fix: Improves the TUI to have more screen for logs and use clearer checkboxes.
- fix: Fixes pressing
Qon Windows not canceling the new TUI. - fix: Generates skills for Cursor under
.cursorinstead of.agentsdirectory. - refactor: Renames
tail_logsMCP command totail_server_logsfor clarity. - perf: Speeds up applying resource options when creating projects.
- chore: Adjusts the agent skills for the new version.
- feat: Allows attaching a Flutter app on demand with a running
-
3.5.0-beta.821 May 2026 pre-releaseRelease notes
Open source →- feat: Launches the Flutter app from
serverpod startwith integrated hot reload/restart. - feat: Introduces the
dataPathparameter ondatabaseconfig to run PostgreSQL in embedded mode. - feat: Exposes
hot_restartandcreate_repair_migrationcommands on both TUI and MCP. - feat: Makes the
globalcache fallback to local in development/testing. - feat: Allows selecting the IDEs to configure skills and MCPs when running
serverpod create. - feat: Adds
FlutterWebAuth2RedirectRoutefor OAuth2 PKCE web sign-in flow. - feat: Exposes the parameter
httpClientOverrideon the generatedClientfor HTTP client override. - feat: Exposes health endpoints on the webserver.
- fix: Makes the
serverpod startMCP tied to the current project server. - fix: Fixes
copyWithmethod ondynamicfields overriding unchanged fields. - fix: Fixes
dynamicfields being serialized as an encodedStringinstead of theMap(breaking change since last beta version). - fix: Allows OWASP special characters in password field. (@realmeylisdev)
- chore: Replaces
SQLitebyPostgreSQLas the default database onquickstartcommand. - chore: Improves the skills to better guide agents on the new
serverpod startexperience.
- feat: Launches the Flutter app from
-
3.5.0-beta.712 May 2026 pre-releaseRelease notes
Open source →- feat: Allows replacing the Google Sign-In for web with OAuth2 PKCE flow for a better UX.
- feat: Introduces new
upsertandupsertRowmethods on the ORM. (@sedobrengocce) - fix: Exposes the
runMigrationsparameter on the client-sidecreateSession. - fix: Changes the default cache policy for Flutter web assets to
private, no-cachefor all files. - chore: Improves the UX of create and start TUIs.
-
3.5.0-beta.606 May 2026 pre-releaseRelease notes
Open source →- feat: Makes the
serverpod createcommand interactive for resources selection. - feat: Adds Serverpod SKILLs upon
serverpod createandserverpod quickstartcommands. - feat: Improves the reliability of the
serverpod startcommand when launched by the IDE. - feat: Removes the need to restart the server to apply migrations when running from
serverpod start. - feat: Makes an additional request to get emails on GitHub IDP if missing in the first attempt.
- fix: Fixes missing
_Undefinedsentinel on generated code fordynamicfields - fix: Prevents concurrent hot-reload requests while on
serverpod startfrom breaking the FES. - fix: Restores terminal settings when force quitting the TUI on
serverpodcommands. - refactor: Drops the
--no-fesflag from theserverpod startcommand. - chore: Improves the look and feel of the TUI on
serverpodcommands. - chore: Improves Serverpod skills for a better agentic-development experience.
- feat: Makes the
-
3.5.0-beta.502 May 2026 pre-releaseRelease notes
Open source →- feat(EXPERIMENTAL): Introduces a new
databasekeyword on models that generates a client-side database. - feat: Adds support for
dynamicfields on models, database and endpoints. - feat: Adds support for
jsonbcolumns andGINindexes, with losslessjson<->jsonbcolumn type migration. (@developerjamiu) - feat: Makes the Serverpod MCP server always running regardless of a running project server with
serverpod startcommand. - feat: Adds a new
serverpod quickstartcommand to theserverpod_cli. - fix: Ensures
serverpod startworks with build hook dependencies. - fix: Fixes Postgres throwing when using row-lock on
findmethods withincludes. - fix: Adds configurable clock skew tolerance to ID token validation on Google and Firebase IDPs.
- refactor: Moves the column rename from
TableMigrationtoColumnMigration(breaking change since last beta version). - perf: Reduces the size of SQLlite migration SQL by only storing metadata for non-basic types.
- chore: Removes the requirement for Flutter to run the
serverpod_clion CI. - chore: Bumps minimum Dart version to 3.10.3 and Flutter version to 3.38.4.
- feat(EXPERIMENTAL): Introduces a new
-
3.5.0-beta.417 Apr 2026 pre-releaseRelease notes
Open source →- feat(EXPERIMENTAL): Adds
noctermbased TUI toserverpod startcommand. - feat(EXPERIMENTAL): Implements SQLite database support.
- feat: Adds dedicated support for recurring future calls.
- feat: Allows overriding a
columnname on models, with proper migration support. - feat: Exposes a
uniquekeyword on models for simplified creation of unique indexes. - feat: Exposes datetime filter parameters on Insights endpoints.
- feat: Adds supports for
serverpod create .call in the current directory. - feat: Adds support for
orderByandorderByListindeleteanddeleteWheremethods (@henycave). - feat: Adds
HmacSha256JWT algorithm on the auth core package. - feat: Introduces
asc()/desc()convenience methods on orderable columns. - fix: Deprecates the manual creation of
Orderobjects in favor of the newasc()/desc()methods. - fix: Adds missing
onRefreshTokenCreatedtoJwtConfigFromPasswordsconstructor. - perf: Optimizes Insights queries 60x by using object relations and improved indexes.
- chore: Adds
.gitignoreto the top-level directory on new projects to ignore.dart_tool.
- feat(EXPERIMENTAL): Adds
-
3.5.0-beta.327 Mar 2026 pre-releaseRelease notes
Open source →- feat(EXPERIMENTAL): Adds MCP server to the serverpod CLI with
apply_migrationstool. - feat: Ensures at-least-once semantics for future calls execution.
- feat: Allows configuring localization for the sign in widgets. (@justlunix)
- feat: Adds
onAfterAccountCreatedcallbacks to all IDPs for custom post-account creation logic. (@kamil-matula) - fix: Fixes future calls generation if models were not previously available on the project (like when running with a clean
generatedfolder).
- feat(EXPERIMENTAL): Adds MCP server to the serverpod CLI with
-
3.5.0-beta.224 Mar 2026 pre-releaseRelease notes
Open source →- fix: Fixes time spinners not updating correctly when running the
generateorstartcommands. - fix: Ensures docker compose down is run on early Ctrl-C to abort the
start --watchcommand. - fix: Fixes incremental compiler missing changes to the generated
.dartfiles when running commands in watch mode.
- fix: Fixes time spinners not updating correctly when running the
-
3.5.0-beta.120 Mar 2026 pre-releaseRelease notes
Open source →- feat: Adds legacy client support for Email auth migrations.
- feat: Exposes configuration options for finding and deleting broken future calls on server startup.
- feat(EXPERIMENTAL): Introduces a new
serverpod startcommand for running the server, docker and app with--watchflag for hot reload/restart support. - refactor: Decouples all database-related code from
serverpodinto the newserverpod_databasepackage to allow supporting client-side databases in the future. - refactor: Removes database-specific default values from the definition files to allow supporting extra database dialects.
- refactor: Reduces the time taken to run incremental generation steps with the
--watchflag by x15 and regulargeneratecommand by 20%.