Skip to content

Elyra Framework 0.2.0

Choose a tag to compare

@kwhorne kwhorne released this 13 Jul 20:04

Second release of Elyra Framework. Builds on 0.1.0 with codegen fidelity, richer models, real cross-database testing, and a full dependency refresh.

Added

  • Models — relation auto-hydration. Declare a relation on a field (#[model(has_many(Book, fk = "author_id"))] books: Vec<Book>) and a generated with_<field> batch hydrator fills it in one query — no more joining a HashMap by hand. Works for has_many (Vec<T>) and has_one/belongs_to (Option<T>; belongs_to targets must be Clone).
  • Models — non-i64 primary keys. A single-column key may now be any type (e.g. String), marked #[model(id)]; app-supplied, included in the INSERT, and find takes that key type. The i64 autoincrement path is unchanged. Composite keys remain unsupported.
  • Models — column-aware belongs_to. Owners are looked up against the related model's actual PK column (<T>::PK) and the child FK is read by column name, so relations work when the owner's PK column is renamed.
  • Codegen — serde attributes. Types export through specta-serde: rename/rename_all, tagged & untagged enums (as discriminated unions), flatten (as intersections), and skip are now reflected in the generated TypeScript. Elyra's numeric policy (i64/floats → number) still applies on top.
  • Database tests in CI. Model CRUD runs against real MySQL 8 and Postgres 16 service containers, covering per-driver placeholders (? vs $n) and key retrieval (last_insert_id vs RETURNING). Opt-in locally via ELYRA_TEST_MYSQL_URL / ELYRA_TEST_POSTGRES_URL.

Changed

  • Updater: UpdaterConfig::auto_check now defaults to false — the startup check (and its toast) is opt-in via .auto_check(true).
  • Dependencies: refreshed to latest — sqlx 0.9 (dynamic SQL wrapped in AssertSqlSafe), ureq 3, ed25519-dalek 3, tray-icon 0.24 + muda 0.19.
  • Tooling: CI typechecks the runtime with TypeScript 7 on Node 24; @msgpack/msgpack bumped to ^3.1.3.
  • Docs: clarified that code signing, notarization, and binary distribution are the application's responsibility, not the framework's.

Full changelog: https://github.com/kwhorne/elyra-framework/blob/main/CHANGELOG.md · Licensed under MIT.