Skip to content

Releases: quietcode-org/LeoRM

LeoRM v0.1.2

15 May 18:53

Choose a tag to compare

LeoRM v0.1.2-quality-gates is the first Cupertino-2009 quality-gate release candidate for the LeoRM storage brick.

It builds on the earlier milestones:

  • v0.1.0-storage-brick — functional storage-brick foundation
  • v0.1.1-api-culture — documented public API and reproducible HeaderDoc build
  • v0.1.2-quality-gates — quality gates, release archive path, and public-release discipline

Positioning

LeoRM is a small Mac OS X 10.5.8 Leopard / PowerPC verified SQLite Repository/DAO layer for Objective-C projects.

LeoRM does not replace SQLite.

LeoRM does not hide SQL.

LeoRM provides a Leopard-native discipline layer around explicit SQLite usage:

  • database lifecycle,
  • NSError mapping,
  • prepared statements,
  • Foundation value binding,
  • result sets,
  • row access,
  • transactions,
  • metadata,
  • schema migrations,
  • repository helpers.

The database remains SQLite.

The schema remains owned by the application or domain store.

SQL remains visible.

Target platform

Verified target:

  • Mac OS X 10.5.8 Leopard
  • PowerPC
  • MacOSX10.5.sdk
  • Xcode 3.1.4-compatible toolchain
  • Foundation.framework
  • libsqlite3
  • manual retain/release

Required verification path

The release candidate is verified with:

make clean
make
make smoke
make apidocs
make leaks-check
make release-archive VERSION=v0.1.2-quality-gates

Quality gates

This release candidate satisfies the following gates:

  • target-platform build

  • warning-free build

  • full smoke-test suite

  • public HeaderDoc API documentation

  • reproducible HeaderDoc generation

  • ownership documentation in public headers

  • failure-path tests

  • SQLite constraint-error tests

  • migration-failure rollback test

  • nil / NSNull / NSData / NSNumber / NSString edge-case tests

  • file-backed database persistence test

  • Leopard leaks(1) memory review path

  • reproducible release archive

  • release manifest inside the archive

Smoke-test coverage

The smoke suite includes:

  • lrm-smoke

  • lrm-error-smoke

  • lrm-statement-smoke

  • lrm-query-smoke

  • lrm-transaction-smoke

  • lrm-metadata-smoke

  • lrm-migration-smoke

  • lrm-repository-smoke

  • lrm-notes-example

  • lrm-failure-paths-smoke

  • lrm-constraint-errors-smoke

  • lrm-migration-rollback-smoke

  • lrm-edge-cases-smoke

  • lrm-file-database-smoke

HeaderDoc

Public headers contain HeaderDoc-style API documentation.

Generated HTML documentation is produced with:

make apidocs

The generated documentation is written to:

Build/HeaderDoc/raw

Generated HeaderDoc HTML is not committed to main.

It is included in the release archive under:

Documentation/HeaderDoc/

Leak check

The leak check is run with:

make leaks-check

The leak target exercises:

  • file-backed SQLite database use,

  • schema migration,

  • metadata/schema version checks,

  • repository insert,

  • BLOB binding,

  • row reading,

  • explicit transaction rollback,

  • explicit database close,

  • temporary database cleanup.

The first documented target-platform run reported:

0 leaks for 0 total leaked bytes.
LeoRM leaks check OK

Release archive

The reproducible archive command is:

make release-archive VERSION=v0.1.2-quality-gates

The Git tag remains v0.1.2-quality-gates, while the public QuietCode package name follows the existing release naming scheme: product name, public version, and target platform: LeoRM-0.1.2-Leopard-PPC.tar.gz.

The archive is generated at:

Build/Release/LeoRM-0.1.2-Leopard-PPC.tar.gz

The archive includes:

  • README.md

  • Makefile

  • Sources/

  • Tests/

  • Examples/

  • Tools/

  • docs/

  • Documentation/HeaderDoc/

  • RELEASE-MANIFEST.txt

The archive excludes:

  • .git/

  • object files,

  • local test databases,

  • transient build products,

  • user-local editor or Xcode state.

Known limitations

LeoRM v0.1.2-quality-gates is still intentionally small.

It does not provide:

  • Core Data replacement behavior,

  • object graph management,

  • ActiveRecord-style model inheritance,

  • hidden SQL generation,

  • schema diffing,

  • AppKit integration,

  • ARC assumptions,

  • Swift APIs,

  • blocks-based APIs,

  • modern package manager integration.

These omissions are intentional for the V1 storage-brick scope.

Release meaning

This release candidate is suitable as a tested foundation for early Leopard-Crew storage work.

It is not advertised as a universal database framework.

It is a small, explicit, Leopard-native SQLite discipline layer.