Skip to content

Releases: nao1215/sqly

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 08:15
50b2861

sqly v1.0.0

Run SQL over CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, Fedwire, and
supported compressed inputs (.gz, .bz2, .xz, .zst, .z, .snappy, .s2, .lz4).

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Bug fixes

  • d58e473: fix: apply the writability check to ACH and Fedwire sources too (@nao1215)
  • a562442: fix: exit 2 when the .save preflight refuses a script (@nao1215)
  • ba673fb: fix: keep an infinity a real through a parquet export (@nao1215)
  • d3ad878: fix: keep the source's text encoding when .save rewrites a file (@nao1215)
  • a4ff239: fix: refuse a BLOB in a csv, tsv, or ltsv export (@nao1215)
  • 8f66cb3: fix: refuse a zero-row ltsv export instead of writing an empty file (@nao1215)
  • 99240dc: fix: refuse an excel value longer than a cell holds (@nao1215)
  • 9f6aabd: fix: refuse an export of a header that could not be read back (@nao1215)
  • 86b2d95: fix: refuse bytes --encoding cannot decode instead of substituting U+FFFD (@nao1215)
  • 0ce7cf5: fix: report what a skipping import dropped, refuse an unwritable destination, and write NULL as a blank cell (@nao1215)
  • 859da3b: fix: translate MySQL's operator family and BigQuery's SAFE. prefix (@nao1215)

Documentation

Full changelog: v1.0.0-rc8...v1.0.0

Acknowledgments

sqly is a memorable project for me because it connected me with two GitHub Sponsors.

@adamdecaf, who works in the payments industry at Moov, inspired sqly's support for financial file formats such as ACH and Fedwire. @sho-hata, a colleague of mine, has actively used both filesql and sqly. Feedback from an actual user helped improve filesql's performance and led to many bug fixes in sqly.

I would like to take this opportunity to thank both of them for supporting the project as sponsors, as well as all contributors who have helped improve sqly through code, documentation, and other contributions.

v1.0.0-rc8

v1.0.0-rc8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Aug 14:35
a057e8a

sqly v1.0.0-rc8

Run SQL over CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, Fedwire, and
supported compressed inputs (.gz, .bz2, .xz, .zst, .z, .snappy, .s2, .lz4).

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Bug fixes

  • 46f3e72: fix: import a file whose table name begins with query_result_ (@nao1215)
  • 8d5c90e: fix: refuse a duplicate header the same way in every format (@nao1215)
  • feaaa59: fix: refuse a text input that is not UTF-8, and say which flag reads it (@nao1215)

Documentation

  • b33e656: docs: declare v1.0.0-rc8 the final release candidate (@nao1215)
  • f775494: docs: say the check is on the bytes, not on the encoding (@nao1215)
  • e2570cd: docs: say what a post-rc8 bug fix may and may not change (@nao1215)

Others

  • 3d75f19: refactor: remove the usecase surface no production code reaches (@nao1215)

Full changelog: v1.0.0-rc7...v1.0.0-rc8

v1.0.0-rc7

v1.0.0-rc7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Aug 05:59
6bea93f

sqly v1.0.0-rc7

Run SQL over CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, Fedwire, and
supported compressed inputs (.gz, .bz2, .xz, .zst, .z, .snappy, .s2, .lz4).

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Breaking changes

  • 8308bdf: feat(history)!: keep command history in a text file, not a database (@nao1215)
  • 8e1d01a: feat(shell)!: remove .header, the subset of .describe (@nao1215)
  • 989f110: feat(shell)!: stop .mode taking a format a screen cannot show (@nao1215)

Bug fixes

  • b07e060: fix(history): close the file before renaming the trim over it (@nao1215)
  • adf197d: fix(history): let one over-long line cost one entry, not the file (@nao1215)

Documentation

Others

  • 11ad8b9: refactor: delete the functions the removals left with no caller (@nao1215)
  • b123ab7: refactor: give history one interface instead of two identical ones (@nao1215)
  • e94ee8a: refactor: leave the adapter the one job nothing else does (@nao1215)
  • f1b3ba3: refactor: make an export format a function, not an interface (@nao1215)
  • 02cb362: refactor: stop declaring a write path the session does not have (@nao1215)
  • 8c4e29c: refactor: write an export once, to the path it was given (@nao1215)

Full changelog: v1.0.0-rc6...v1.0.0-rc7

v1.0.0-rc6

v1.0.0-rc6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Aug 14:00
a46f118

sqly v1.0.0-rc6

Run SQL over CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, Fedwire, and
supported compressed inputs (.gz, .bz2, .xz, .zst, .z, .snappy, .s2, .lz4).

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Bug fixes

  • b0e1a95: fix: bind the displayed text into a parquet column staged as text (@nao1215)
  • 9cb16f4: fix: classify every malformed dot-command, not just the missing-argument form (@nao1215)
  • b45a5c7: fix: exit 2 for a dot-command written wrong, whichever command it is (@nao1215)
  • 1adbcbc: fix: keep float32 precision and fold case when detecting duplicate columns (@nao1215)
  • 56203ae: fix: let the URL name a remote table, not the server (@nao1215)
  • 2f11d25: fix: name standard input in a table-name collision (@nao1215)
  • 54ade00: fix: name the write-back refusal, and stop encoding JSON twice to check it (@nao1215)
  • 741ca70: fix: quote a lone empty field on stdout, not only in an export (@nao1215)
  • 5bb2ba4: fix: refuse what an export cannot write, and classify what it could not (@nao1215)
  • 4a75bae: fix: release the buffered row counts when a save has nothing to write (@nao1215)
  • bdb1207: fix: take filesql v0.35.1 for the implicit-alias regression (@nao1215)
  • d715009: fix: ten output, exit-code, and message defects found by running the binary (@nao1215)

Documentation

Full changelog: v1.0.0-rc5...v1.0.0-rc6

v1.0.0-rc5

v1.0.0-rc5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Aug 15:30
fd5986a

sqly v1.0.0-rc5

Run SQL over CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, Fedwire, and
supported compressed inputs (.gz, .bz2, .xz, .zst, .z, .snappy, .s2, .lz4).

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Features

  • abb389b: feat(shell): let Ctrl-C stop a statement that is already running (@nao1215)

Bug fixes

  • 14da0f4: fix(e2e,docs): make the interrupt assertion real and the terminator wording exact (@nao1215)
  • e86cc86: fix(export): bind parquet staging values instead of quoting them into SQL (@nao1215)
  • 45cc4dd: fix(export): refuse an Excel value XLSX cannot carry instead of changing it (@nao1215)
  • 4076257: fix(export): refuse the XML noncharacters too, and check column names (@nao1215)
  • 47e25f3: fix(remote): redact only the schemes sqly downloads (@nao1215)
  • 47d1023: fix(remote): stop printing back the password in a URL (@nao1215)
  • f5c1a07: fix(shell): keep the session on Ctrl-C, end statements where SQL ends them (@nao1215)
  • 1cdece5: fix(shell): parse a multi-line submission that opens with a dot command (@nao1215)
  • 409fec7: fix: keep the last line of a result typed across two lines (@nao1215)
  • 2e2047c: fix: stop the prompt from walking up the screen when an earlier line is edited (@nao1215)

Documentation

Others

  • a7809c1: Merge main into the credential-redaction branch (@nao1215)
  • 49f1c54: refactor: name the stdin source with the constant that exists (@nao1215)

Full changelog: v1.0.0-rc4...v1.0.0-rc5

v1.0.0-rc4

v1.0.0-rc4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Aug 05:45
820ae32

sqly v1.0.0-rc4

Run SQL over CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, Fedwire, and
supported compressed inputs (.gz, .bz2, .xz, .zst, .z, .snappy, .s2, .lz4).

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Bug fixes

  • 09b70c1: fix(inspect): name a workbook the same way in both report fields (@nao1215)
  • 084c23d: fix(shell): classify four failures off the SQL exit code (@nao1215)
  • 191a432: fix(shell): decode the path a file URL is told to be replaced by (@nao1215)
  • 4b937d1: fix(shell): make a failure say one thing, once, with a way forward (@nao1215)
  • e54018a: fix(shell): stop judging SQL by the shell's quoting rules, and keep settings off stdout (@nao1215)
  • ad8171d: fix: commit a .dump export with a rename instead of a truncating copy (@nao1215)

Documentation

  • 80d1a33: docs(examples): make the cross-format join runnable from a clone (@nao1215)
  • e633712: docs: fix subject-verb agreement in the infrastructure package comment (@nao1215)
  • f25ef14: docs: name each dialect warning by the moment that triggers it (@nao1215)
  • 99dd380: docs: name the run that says nothing about its dialect exactly (@nao1215)
  • 717b0bc: docs: prepare the v1.0.0-rc4 release (@nao1215)
  • 36ac228: docs: repair comments that lost their referents (@nao1215)
  • 296e60c: docs: separate what code 2 and code 4 each cover (@nao1215)
  • bd28ee5: docs: write down what sqly does and pin it to what it prints (@nao1215)

Others

Full changelog: v1.0.0-rc3...v1.0.0-rc4

v1.0.0-rc3

v1.0.0-rc3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Aug 16:44
ef9cc29

sqly v1.0.0-rc3

Run SQL over CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, Fedwire, and
supported compressed inputs (.gz, .bz2, .xz, .zst, .z, .snappy, .s2, .lz4).

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Breaking changes

  • 7c5c0f8: feat!: make the CLI contract agent-safe for v1.0.0-rc3 (@nao1215)

Bug fixes

  • 7d88dd6: fix(ci): compare deployed pages with whitespace normalized (@nao1215)

Documentation

Full changelog: v1.0.0-rc2...v1.0.0-rc3

v1.0.0-rc2

v1.0.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Aug 13:48
95a6f3d

sqly v1.0.0-rc2

Easily execute SQL against CSV/TSV/LTSV/JSON and Microsoft Excel™ with a shell.

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Breaking changes

  • c1aed01: feat!: add --script-file, and make the docs verifiable (@nao1215)
  • bb76953: feat!: classify failures with distinct exit codes (@nao1215)
  • 77b6940: feat!: refuse an in-place save through a symlink unless asked (@nao1215)

Features

  • 3b86341: feat: bound what a remote input may cost (@nao1215)
  • 3bc4019: feat: import only the sheets a workbook shows, and separate the signal exit codes (@nao1215)

Bug fixes

  • 235cef0: fix(ci): match the build commit tag as Hugo actually renders it (@nao1215)
  • eea7660: fix: address review — contradictory Excel text, section boundaries, a dropped second signal (@nao1215)
  • c2a1239: fix: address review — wrong input named, loose property pattern, doc drift (@nao1215)
  • 0733138: fix: honor the proxy environment variables for remote inputs (@nao1215)
  • 5a3a1c7: fix: keep Ctrl-C working when a blocking read has the run parked (@nao1215)
  • 035ae1a: fix: make an import of several inputs one operation (@nao1215)
  • d79d919: fix: store the --stdin-format value that was validated (@nao1215)

Documentation

Full changelog: v1.0.0-rc1...v1.0.0-rc2

v1.0.0-rc1

v1.0.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Aug 02:55
3ba063b

sqly v1.0.0-rc1

Easily execute SQL against CSV/TSV/LTSV/JSON and Microsoft Excel™ with a shell.

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Breaking changes

  • 663bd7a: refactor(cli)!: cut the v1.0.0 surface to what a script can rely on (@nao1215)
  • d890092: refactor(cli)!: settle the v1.0.0 option surface (@nao1215)

Features

  • b7c3b3f: feat(cli): streamline v1.0.0-rc1 command surface (@nao1215)
  • 02a229f: feat(shell): report unread standard input instead of dropping it silently (@nao1215)

Bug fixes

  • d6630c0: fix(cache): detach the import cache even when the run was cancelled (@nao1215)
  • 87a4169: fix(cache): pin the cache to one connection and restore it atomically (@nao1215)
  • cb5b219: fix(cli): preserve query types and stream pad validation (@nao1215)
  • eb92d06: fix(cli): unify output format and harden pad imports (@nao1215)
  • e4be8da: fix(import): make multi-file loads transactional (@nao1215)
  • 054de50: fix(import): preserve dump metadata and atomic input order (@nao1215)
  • ef2b2cf: fix(import): publish registries after atomic commit (@nao1215)
  • d1b2039: fix(import): separate the commit from publishing registries (@nao1215)
  • 982950e: fix(import): surface rollback failures (@nao1215)
  • ae59af3: fix(json): render non-finite floats and binary blobs instead of failing or corrupting (@nao1215)
  • 50b3273: fix(model): close the remaining ways to write through a public accessor (@nao1215)
  • 5b4c6e6: fix(shell): give the source file its own baseline so both save destinations work (@nao1215)
  • 1742eca: fix(shell): keep a destination whole when the fallback copy fails, and stop guessing table ownership (@nao1215)
  • c830300: fix(shell): print affected-row counts before the files a save wrote (@nao1215)
  • 6b919c0: fix(shell): rewrite the scratch path in a quoted error message too (@nao1215)
  • 7036aa5: fix(shell): stage beside the file a symlinked destination names (@nao1215)
  • 8cedc3d: fix(shell): write through a symlinked destination instead of replacing the link (@nao1215)
  • 63ee298: fix(tx): stop rolling back a transaction that was already committed (@nao1215)

Performance

  • 2f2d1d7: perf(shell): back up an --output destination only when the fallback copy will run (@nao1215)

Documentation

  • 88542c4: docs(changelog): state the v1.0.0 surface and match the filesql version (@nao1215)
  • e0d702a: docs(comments): describe what the import and write-back paths do now (@nao1215)
  • 10b5c04: docs(demo): re-render the demo GIFs for the new option names (@nao1215)
  • b777099: docs(help): say --sql-file takes SQL only (@nao1215)
  • baa49f1: docs(readme): show output for each recipe and drop the star history and coverage treemap (@nao1215)
  • d34dc6d: docs(site): describe the three jobs standard input can have (@nao1215)
  • fcb005d: docs: document the cache, compare the output formats, and correct two claims (@nao1215)
  • 47deed2: docs: drop the last mention of the removed --sheet flag from a test comment (@nao1215)
  • c81ec97: docs: record the lifecycle fixes and move the benchmark to the website (@nao1215)

Others

  • 9f5ad54: build(deps): use filesql v0.30.1 (@nao1215)
  • 2cb8d88: build(deps): use filesql v0.30.3 (@nao1215)
  • f4f60c1: build(deps): use filesql v0.30.4, and cover the cache from the CLI (@nao1215)
  • b77057f: build: tidy filesql checksums (@nao1215)
  • 068da22: refactor(cache): name each step of the cache restore (@nao1215)
  • 4b6ac4d: refactor(cleanup): give every cleanup failure one rule (@nao1215)
  • b00a68e: refactor(model): make a query cell one value, not three parallel slices (@nao1215)
  • cae57db: refactor(model): stop handing out the table's own rows (@nao1215)
  • f3ffbc7: refactor(shell): parse a script once into elements shared by validation and execution (@nao1215)
  • 80ed404: refactor(shell): use the typed errors at their call sites and name the repeated flags (@nao1215)
  • 04c8506: refactor(shell): write --output through the same staging steps as .save (@nao1215)
  • 303251f: refactor(tx): keep rollback failures beside their cause (@nao1215)

Full changelog: v0.31.0...v1.0.0-rc1

v0.31.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 14:22
2af7a86

sqly v0.31.0

Easily execute SQL against CSV/TSV/LTSV/JSON and Microsoft Excel™ with a shell.

Install or upgrade, then see the grouped highlights below. Every artifact is
signed and ships with an SBOM and build provenance — see
Verifying release integrity.

Changelog

Features

  • 172fe6e: feat: add a vertical output mode for rows too wide to read across (@nao1215)

Bug fixes

  • 19f5627: fix(compare): compare cell values, not their rendered form (@nao1215)
  • fa3ee20: fix(export): keep a one-column row whose only value is empty (@nao1215)
  • 3358fb4: fix(import): name an unfetchable URL scheme whatever the OS error (@nao1215)
  • 18e0f94: fix(report): give the text formats of --compare and --profile their detail (@nao1215)
  • 73d4bec: fix: take filesql v0.27.0 so LTSV columns keep their order (@nao1215)

Documentation

  • 18a33b5: docs(changelog): merge the windows and report entries (@nao1215)
  • 14ffe59: docs(dialects): say why the four divergences stay (@nao1215)
  • 4e8c2f5: docs: show that sqly reads and writes a pipe, and assert it (@nao1215)

Full changelog: v0.30.0...v0.31.0