Repository navigation
v1.4.0: Anonymous usage reporting and upgrade fixes
SLayer 1.4.0
This release adds anonymous usage reporting to the slayer command and fixes two upgrade problems: connecting with driverless URLs and running custom storage backends written for 0.9.x.
Anonymous usage reporting
Processes started by the slayer command (slayer serve, slayer mcp, slayer query, the Docker image, ...) now send an anonymous, aggregated usage report at most once a day: which commands, MCP tools, REST routes, databases and query features get used, as counts and fixed tokens only. Your queries, data, model or column names, credentials and error messages are never sent. The first time it runs, SLayer prints a one-line notice on stderr. Using SLayer as a Python library never records or sends anything.
To turn it off, run slayer usage-reporting disable or set DO_NOT_TRACK=1 (or SLAYER_USAGE_REPORTING=off). It is also off in CI. Run slayer usage-reporting show to see exactly what the next report would contain. The usage reporting reference has the full field list and the privacy notice.
Fixes
A connection_string that names no driver, such as postgresql://... or mysql://..., now uses the driver that SLayer's install extra provides, instead of whatever SQLAlchemy picks by default. Before this fix, mysql:// URLs, and postgresql:// URLs on SQLAlchemy 2.1, failed with a missing-driver error even though the right extra was installed. To use a different driver, name it explicitly (e.g. postgresql+psycopg://). SQLAlchemy is now pinned to <2.1 until SLayer's other dependencies support it.
Custom storage backends written against 0.9.x work again: an old-style save_datasource override, or a _list_memories_rows that returns a plain list, is adapted automatically and raises a FutureWarning. Support for the old style will be removed in 2.0. The Custom Backends docs list every hook with its current signature.