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]¶
[0.2.1] - 2026-04-18¶
Documentation¶
docs/features.md-- full feature-flag reference.docs/query-ux.md-- before / after walkthroughs for the 0.2 crate-root helpers (type_record,type_thing,extract_many,has_result,select_expr,execute,aggregate_records).docs/v3-patterns.md-- SurrealDB v3-specific SurrealQL shapes (subprotocol handshake,type::recordrename, datetime coercion, unrolled graph depth, rejectedUPSERT INTO [...], buffered transactions,SurrealValueavoidance).docs/cli.md-- full subcommand reference (replaces the pre-0.1 "planned" placeholder).docs/migration.md-- 0.1.x -> 0.2.x upgrade notes.- Updated README top-level example with
type_record,Query::select_expr,Query::execute,aggregate_records. - Updated
mkdocs.ymlnav with the new pages anddocs.rs/oneiriq-surqlreference link. - Fixed pre-existing rustdoc intra-doc link warnings so
cargo doc --no-deps --all-featuressucceeds underRUSTDOCFLAGS="-D warnings".
No API changes.
[0.1.0 - 0.2.0] see releases¶
Added¶
migration::versioning--VersionedSnapshot,VersionGraph, andcompare_snapshotsfor DAG-based migration history.migration::generator-- generate migration files (generate_migration,generate_initial_migration,create_blank_migration,generate_migration_from_diffs) with atomic writes and round-trip load.migration::diff-- schema diff engine (diff_tables,diff_fields,diff_indexes,diff_events,diff_permissions,diff_edges,diff_schemas).migration::{models, discovery}--.surqlfile-format migrations with-- @metadata/-- @up/-- @downsection markers and SHA-256 checksum.schema::{visualize, themes, utils}-- Mermaid / GraphViz / ASCII diagrams with modern / dark / forest / minimal themes.schema::parser-- parses SurrealDBINFO FOR DB/INFO FOR TABLEresponses back into schema definitions.schema::{validator, validator_utils}-- cross-schema validation with severity-filtered reports.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 typed expression kinds.query::{hints, results}-- query optimization hints + typed result wrappers with raw-response extraction helpers.connection::{config, auth}-- connection configuration (URL / ns / db / timeouts / retry / live-queries gate) + auth credential types.types::{operators, record_id, record_ref, surreal_fn, reserved, coerce}-- operator enum +RecordID<T>with angle-bracket syntax + reserved-word checks + ISO-8601 datetime coercion.error::SurqlError-- unified error enum withContextchaining trait.
Notes¶
This is a pre-release port of surql-py targeting 1:1 feature parity. The runtime async client, CRUD executor, and CLI land in the 0.1 -> 0.2 window.