Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

API stability

Quick reference for what is stable vs unstable in convex-typegen. Full rules: semver-policy.md.

Stable (1.0+)

ItemStabilityNotes
generate(config)StableWrite the configured artifact
check(config)StableCheck for drift without writing
config::ConfigurationStableNon-exhaustive. Construct with Default and chainable setters
build::generate(config)StableOffline Cargo generation with input tracking
build::generate_out_dir()StableStandard Convex layout and $OUT_DIR/convex_api.rs
ConvexTypeGeneratorErrorStableCrate-root error export with a non-exhaustive variant set and fields
prelude::*StableSee below
Feature verboseStableDefault off

The generator prelude exports Configuration, generate, check, and ConvexTypeGeneratorError.

Runtime crate

ExportRole
ConvexValue, include!Derive for Convex wire models and helper for including generated bindings
convexRe-export of the SDK used by the runtime
serde, serde_jsonRe-exports used by generated bindings
TypedClient, CallError, TransportError, InvalidApplicationDataTyped calls, subscriptions, and errors over the official SDK
functionTyped endpoint references, kind markers, raw args, and the sealed FunctionReference trait
model::{Doc, Id, RawValue, Table}Document models, typed IDs, raw wire values, and table markers
value_serde::{to_value, from_value, Bytes, Error}Direct Serde conversion to and from convex::Value
prelude::*Serde derives, typed client, codecs, and ConvexJsonValue, ConvexBytes, and ConvexValueSerdeError aliases

Runtime errors are non-exhaustive. Match CallError with a fallback and include .. when matching any variant or destructuring InvalidApplicationData. The runtime exposes official SDK types directly. An incompatible update to a publicly exposed convex 0.x type requires a runtime major release.

Unstable / not semver-guaranteed

ItemNotes
Generated convex_api.rsType names and fields can change on major crate bumps
Internal modulesconvex_typegen::convex is private; do not depend on it
Exact error Display stringsMay improve in patches; match on variants, not text
Dependency versionsPrivate dependency updates can affect build time. Public SDK type and MSRV changes follow the semver policy.

Generated code contract

Generated files include a header stating they are regenerated on each build. Do not edit by hand. Stability of generated names and types follows codegen semver in semver-policy.md, not the library API table above.