Changelog¶
All notable changes to this project will be documented in this file.
The format follows Keep a Changelog and this project adheres to Semantic Versioning.
[Unreleased]¶
Added¶
connection.Protocol.IsSupported()reports whether the currently-linkedsurrealdb.goSDK can actually open a connection for the scheme. Remote transports (ws://,wss://,http://,https://) return true; embedded schemes (memory://,mem://,file://,surrealkv://) return false pending surrealdb.go#197.migration/versioning--SchemaSnapshot(extended withVersion,Timestamp,Description,Accesses),VersionGraphDAG with ancestors/descendants/path, and JSON-file snapshot persistence.migration/generator--GenerateMigration,GenerateInitialMigration,CreateBlankMigration,GenerateMigrationFromDiffswith atomic writes.migration/diff-- schema diff engine (DiffTables,DiffFields,DiffIndexes,DiffEvents,DiffPermissions,DiffEdges,DiffSchemas,SchemaSnapshot).migration/{models, discovery}--.surqlfile-format migrations with-- @metadata,-- @up,-- @downsection markers + SHA-256 checksum.schema/{visualize, themes, utils}-- Mermaid / GraphViz / ASCII diagrams with modern / dark / forest / minimal themes.schema/parser--ParseDBInfo/ParseTableInfo/ParseEdgeInfoaccept both short and long INFO response keys.schema/{validator, validator_utils}-- cross-schema validation with severity-filtered reports,CompareSchemas.schema/{sql, registry}-- full DEFINE-statement composition and a thread-safeSchemaRegistry.schema/{fields, table, edge, access}-- code-first schema DSL.query/{builder, helpers}-- immutableQuerywith fluent chaining.query/expressions-- 25+ function builders and typedExpression.Kind.query/{hints, results}-- query optimization hints + typed result wrappers (QueryResult[T],RecordResult[T],ListResult[T],PaginatedResult[T]) with raw-response extraction helpers.connection/{config, auth}-- connection configuration + auth credential types (Root / Namespace / Database / Scope / Token).types/{operators, record_id, record_ref, surreal_fn, reserved, coerce}-- operator structs +RecordIDwith angle-bracket syntax + reserved words + ISO-8601 datetime coercion.errors-- sentinel errors + typedSurqlErrorwitherrors.Is/As.
Changed¶
DatabaseClient.Connectnow fails fast with a descriptiveErrConnectionwhen passed an embedded URL scheme (memory://,mem://,file://,surrealkv://), instead of retrying the upstream"embedded database not enabled"error fromsurrealdb.go. Remote transports are unaffected. README grew a protocol-support table documenting the current state (#95).
Notes¶
This is a pre-release port of surql-py targeting 1:1 feature parity. The runtime SurrealDB client, CRUD executor, and CLI land in the 0.1 -> 0.2 window.