Skip to content

webspine 0.1.19

Choose a tag to compare

@harryneufeld harryneufeld released this 08 Oct 19:53
0cc8743

Adds provider-neutral entity queries for workflows such as listing open requests, without paging through all records in PHP.

  • Typed equality, comparisons, IN and null predicates, with bounded AND/OR groups.
  • Stable sorting, bounded pagination and filtered counts.
  • Optional SQLite index declarations, created only by the explicit entities:install command.
  • Strict validation, parameterized values and full-string matching across SQLite versions, including embedded NUL bytes.
  • Documentation and integration coverage for provider compatibility, indexing, larger datasets, and activation/rollback preservation.

The existing Entities CRUD contract is unchanged; callers check the optional EntityQueries and EntityIndexes capabilities. Existing databases and records are preserved. Core updates do not install indexes or migrate data: declare indexes in your plugin and run entities:install explicitly. Broad filters, unmatched sorts and large offsets can still require substantial database work.

Requires PHP 8.3+; framework API remains 1. Queries and indexes require SQLite JSON functions.

Validation: 208 local framework checks, 14 starter checks, PHP lint, and GitHub CI passed. Verified release archives and a fresh packaged installation passed health, rendering, index and query checks. In the 20,000-record status fixture, a matching index selects and verifies 20 candidates rather than scanning 20,000; this is a fixture measurement, not a timing guarantee.

Includes #88; resolves #67.

For existing websites, use webspine-core-0.1.19.zip through the CLI updater. Use webspine-0.1.19.zip only for a new website. Each ZIP includes its SHA-256 sidecar.