Skip to content

v1.5.0: Demo fix on fresh installs, sorted results, current Ossie spec

Choose a tag to compare

@ZmeiGorynych ZmeiGorynych released this 02 Nov 12:28
ca0d2b6

SLayer 1.5.0

This release fixes the demo on fresh installs, makes query results and CLI output easier to read, and brings the Ossie importer up to the current spec.

Fixes

On 1.4.1, slayer mcp --demo loaded the demo without any joins and the README example query failed. The cause was a newer SQLAlchemy release that broke key lookup on DuckDB. SLayer now reads DuckDB primary and foreign keys directly from DuckDB. Demo models created by an affected release get their keys and joins back the next time the demo starts. Primary keys you set yourself are left alone.

On Snowflake, ingestion now finds your foreign-key joins, and columns named sample or trigger no longer break queries. On BigQuery, the drift check finds models that don't name a dataset even when your project has more than one dataset.

Query results

A query that has dimensions and no order now returns its rows sorted by those dimensions, in the order you listed them. An explicit order still takes precedence.

The demo stores money as exact decimals, so sums no longer show floating-point noise such as 193647.33000000264.

CLI

  • slayer --version prints the installed version.
  • A failing command prints a one-line error and exits with status 1. Add --debug to see the full traceback.
  • Table output applies the number formats set on your columns and measures, for example $23.36K. JSON output stays raw.
  • slayer search revenue works; you no longer need --question.
  • serve, mcp, pg-serve and flight-serve shut down cleanly on Ctrl-C or SIGTERM, including when the signal arrives during startup.

Ossie import

slayer import-osi reads documents written to the current Ossie core spec: the flat document shape, dialect selection, field visibility, FILTER, and dataset-scoped metrics. When a file can't be decoded, or a relationship or model is malformed, the importer skips it and reports it instead of stopping the whole import.

Breaking changes

  • slayer search refresh-samples has moved to slayer datasources refresh-samples. The old form prints an error that tells you the new command.
  • SLayer now requires DuckDB 1.1 or later.
  • slayer datasources create demo always ingests every demo table, so it now rejects flags that limit ingestion, such as --include.