- Require WTI 0.0.12 and the backend/reclamation releases validated with beta.19 so an existing lockfile cannot retain an incompatible pre-fix version.
- Require Arctic 0.1.9, including normalized validated-key prefix scans.
- Generated S3 engines now use the table's selected primary-index persistence adapter. Loaded default-Arctic tables can update, insert, delete, flush, and reopen without feeding logical Arctic events into the structural WTI disk format.
- Selectable
worktables_index,arctic, andcongeebackends for generated primary and supported secondary indexes, including persisted topology load. - Async and batched insert/delete paths, with bulk-mutation signaling used by reactive vacuum scheduling.
MemStatfor generated persisted/read-only tables and Arc-ownedunload_gracefullyfor generation swaps.- Strict persisted-state validation, schema metadata, recovery loading, and Arctic string/non-unique index support.
- WorkTable row/page reclamation uses the local
ps-reclaimdomain regardless of the selected index backend. Arctic and Congee also select their localps-reclaimSMR implementations; WorkTablesIndex retains its structural skip-list reclamation internally. - Readers now synchronize on the exact physical cell. Unrelated rows cannot block because of a hashed lock collision.
- Vacuum discovers move candidates from a transient primary-index snapshot and keeps only one live-cell counter per page, removing the previous four-byte per-row directory.
- Vacuum waits for three quiet observations after mutation activity and yields throughout a bulk mutation instead of competing with foreground work.
- The archived wrapper retains the beta.17 inner-row position so legacy stores without bundled schema metadata remain readable.
- Torn reads and premature physical-link reuse during concurrent update, delete, and vacuum activity.
- In-place replacement synchronizes through the runtime side-table cell lock; the beta.17 archived row bytes remain unchanged.
- Whole-map Arctic destruction uses an unordered physical drain instead of repeatedly searching for the next logical key.
- Persisted primary/secondary index reconstruction and validation failures that could otherwise expose missing, duplicate, or mismatched rows.
- add ability to choose index type in
worktable!declaration. - added
index_setandtree_indexfeatures to use index type as default in declaration.
.wtfiles which are generated now have names as snake-case of table's name.newfunction now has onlyDatabaseManageras argument.
newfunction generated ifpersist: truenow is public.- Bugs with insets and deletes after table load from file.
SelectQueryBuilderobject that is used to customizeselect_allquery. It haslimitandorder_bymethods that can be used to limit returned row's count.order_byhas not full functionality and is only available for indexed columns and onlyOreder::Asc.SelectResultobject with is partially same toSelectQueryBuilder. It allows to limit/order returned rows. BothOreder::AscandOreder::Descare available. No issues with not indexed columns.- added
offsetforSelectQueryBuilderandSelectResult. - added
optionalcolumn attribute instead of explicitOptiontype declaration. - support for enums in queries
- Added generation of
Spaceobject that represents file that stores table's data. - Added
DatbaseManagerobject that is used to control multiple tables. - Added methods for
Worktablesto use data in files.persistis used to save data to file.load_from_fileis used to load table from file.
select_allnow returnsSelectQueryBuilderinstead ofVec<Row>. To have same functionality oldselect_allusers must callexecuteon returned builder.select_by_{}now returnsSelectResultinstead ofVec<Row>. To have same functionality oldselect_allusers must callexecuteon returned builder.
- Users don't need to define
<{ TestRow::ROW_SIZE }>forinsert,updateandupsert.
- Support for
Optiontypes in columns. - Support of
deletequeries.
Clippyerrors in macro declaration about unusedResult's.