pypi / surrealdb
surrealdb
What changed in surrealdb 1 to 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.
3 breaking4 new APIs and options4 behavior and defaults6 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initsurrealdb 25 changes
Breaking changes 1
Python 3.9 support is dropped.
New APIs and options 1
Adds support for SurrealDB 3.x features.
Behavior and default changes 2
Error handling has changed.
Adds support for musl Linux.
Fixes and other changes 1
Fixes the WebSocket session transaction ID issue.
surrealdb 112 changes
Breaking changes 2
GeometryPolygon enforces GeoJSON-compliant closed linear rings.
Database method return types are simplified to Value.
New APIs and options 3
Live queries initiated in db.query can now be subscribed to.
Adds support for using a native embedded database.
The client issues text-based queries instead of using the v1 RPC methods.
Behavior and default changes 2
RecordId can now be serialized and deserialized by pydantic.
Duration.parse() supports parsing compound durations.
Fixes and other changes 5
The package now supports Python 3.9.
Fixes a race condition in concurrent environments.
Fixes encoding of decimal.Decimal values.
Fixes Duration encoding and decoding.
String identifiers in RecordID are escaped to match SurrealDB behaviour.