Releases: splinterhq/libsplinter
Version 1.1.9 - Max's Caramel Chew
This is a really, really, really big one. Splinter is now essentially a RAG in a box 🎁
Additions
- We now have an
epoll()compatible signal group broker (currently in testing, appreciate any testers):
splinter_event_bus_open(),splinter_event_bus_wait(),splinter_event_bus_close() andsplinter_event_bus_get_dirty()` to see what fired. - New CLI 'ingest' command reads a text file and chunks it into (n) slots x (max_val_len), allowing splinference to embed
- New CLI 'search' command allows for semantic search ordered by Eudlidean distance over embedded keys
- New CLI
capscommand allows for showing compiled-in capabilities and - New CLI
uuidcommand generates a UUIDv4 on-demand (no external dependencies) - New
sidecarsystem monitor allows for watching loads and triggering run breakpoints while observing bus debug chatter - WASM is now supported (GET/SET) for SIMD workloads (thanks to WASMEdge embedded)
- Splainference now provides completion using chat templates
Fixes
- Correctly parse
.splinterrcand-r --rc-filedirectives are now honored properly - Numerous CLI code and efficiency improvements
Version 1.1.8 - Crinkle Cookies
This is a significant feature and bug fix release:
- Splinference is now production ready (all bugs fixed)
- Added
splinter_append()to the core library (this is the last block needed for context management) - Updated the TS bindings and added tests for bun
- Implemented
bumpto advance a key's epoch without doing any other work - Numerous minor improvements & documentation cleanup
Full Changelog: v1.1.7...v1.1.8
Version 1.1.7 - Blue Freeze Pop
This is a periodic maintenance release. The bulk of the changes are in the CLI/Inference, where code was hardened in line with real-world use and semantic embedding workflow needs. Fixed many positional argument bugs, brought in argparse to replace getopt for CLI modules, improvements in test coverage and overhaul of CMake, among many other improvements.
There was also just a general catching up to the massive amount that recently went into core, so fixtures in the CLI are now more permanent feeling.
Core additions:
splinter_pulse_keygroup()-> Pulse a signal group by any of its members (key name) (slot no longer needed)splinter_set_as_system()-> Commandeer a key as a binary scratch pad for accountingsplinter_unset_label()-> unsets a previously-set bloom label
CLI additions:
- New
bindcommand to bind a bloom label to a signal group ID.
All users are encouraged to upgrade, but no security fixes are in this release (pull when ready).
Version 1.1.6 - Knickerbocker Glory
This release provides a much needed splinter_enumerate_matches() to scope keys based on bloom bits. It provides a convenient callback (similar to CURL) that can function as an iterator for only slots that match a certain bitmask (bloom) filter.
IOW - lightning fast search tagged by bits instead of equality or string match, which was already there, just not-so-conveniently exposed. This callback implementation remedies that and is warranted even though the 999 LOC ceiling is looming closer.
Splinter 1.1.5 - Root Beer Float
This is the first public "official" release of Splinter!! 🎉
This is also the beginning of the public change manifest.
We can get happy on vectors and share our High Rank Tensors in memory again!! 🤓