Repository navigation
v0.2.0
TinyStore 0.2.0
What's new, with code in every language: https://tinyshed.org/tinystore/docs/releases/v0.2.0
bun add @tinyshed/tinystore@0.2.0
npm install @tinyshed/tinystore@0.2.0
pip install tinyshed-tinystore==0.2.0Built for linux-x64, linux-arm64, linux-x64-musl, linux-arm64-musl, darwin-arm64, darwin-x64, win32-x64. Each archive holds the
tinystore executable in bin/, and in lib/ the core's library and the Node addon; the Go
SDK fetches its platform's at the first open. SHA256SUMS checks them all.
Changes since v0.1.1
Changed names
-
records: an event may carry an id, kept with it and read back, and an append of an id its stream holds writes nothing (REC-11). An append now says whether it wrote:
SDK One event Several Rust append→Result<bool>, awaited tooappend_all→Result<usize>Bun, Node append(name, fields, options)→Promise<boolean>append(events)→Promise<number>Python append(name, fields, ...)→boolappend(events)→intGo Events.Append→(bool, error)AppendMany→(int, error)Code that ignored the result still builds in Rust, Bun, Node and Python; Go's
err := events.Append(...)becomes_, err := events.Append(...). The id is.id("…")in Rust,{ id }in Bun and Node,id=in Python andrecords.ID("…")in Go. A store 0.1.x wrote opens as it is: records adds its table of ids at the first open.
Features
- metrics: stream an exposition larger than one message from every sdk, written whole
- metrics,records: cut an aggregate into days, weeks or months of a time zone's calendar, a rate counting its bucket's own seconds
- jobs: bound each group's starts with a group rate beside the queue's, a job of a group past it waiting for its group's turn
- metrics: write an exposition of up to 100,000 samples whole in one write, ten ingests' worth
- config: load a rust program's settings without a store, a live setting refused by its path (CFG-10)
- metrics: give the names an exposition writes their family's help, and its unit where their values are in it, where describe gave none
- metrics: read prometheus 3's quoted metric and label names in an exposition, kept as they are, dots and all
- metrics: let an ingest sent again after packing change nothing, and name what its series has packed when a sample behind it differs (MET-16)
Fixes
- metrics: reserve the memory a prometheus text's series hold before reading it, and let each line's series go once gathered
- config: answer an awaited config loaded without a store as the blocking one does
- metrics: refuse an exposition's empty quoted name at its line, and say that the samples counter counts those sent again
- records: let go of an event's id once no part its stream keeps spans the event's time or a drop of damage removed it, and print the id in tinystore logs
- jobs: claim no job of a group rate ahead of a free handler, give a waiting job its group's next turn once, and give back the starts a failed claim counted
- release: list the commits since the release before in its notes, which the notes never called, those marked ! first under changed names
Performance
- jobs: read back a job's id, its lease's attempt and its spill with a select beside the write rather than returning
- metrics: register a series without insert returning, its pairs shared with the series before and the store's count written once a write
Full history: v0.1.1...v0.2.0.