Skip to content

AltSql v0.4.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 10:29
4c913cc

The first AltSql release published with ready-built binaries for every
system, made and checked by the release workflow. The engine's behaviour is
unchanged from 0.3.0-alpha; file format version 3 is unchanged too.

  • One version for both. AltSql Core and AltSql DB now share one version
    number, 0.4.0. Core was 0.1.0-alpha and DB 0.3.0-alpha; altsql-db --version prints both, and both now say 0.4.0.
  • Binaries for Linux and macOS. altsql and altsql-db for Linux x86-64
    and ARM64 (static) and for macOS on Apple silicon and Intel, as
    altsql_<system>_<arch>.tar.gz on the release page. Each build runs the
    end-to-end shell test before the release goes out. The names carry no
    version, so the releases/latest/download/ links stay the same.
  • macOS. AltSql DB built with -D_POSIX_C_SOURCE alone couldn't see
    F_FULLFSYNC and didn't compile. The sync now falls back to fsync when
    F_FULLFSYNC is hidden, and both Makefiles add -D_DARWIN_C_SOURCE on
    macOS, so a sync there reaches the disk.
  • Tests on every push. Core's tests, DB's tests and the shell test run on
    Linux x86-64, Linux ARM and macOS (.github/workflows/test.yml). A green
    run on main with a new version is what publishes a release; see
    RELEASING.md.
  • Tests give the same data on every compiler. Some tests passed two or
    three random draws as arguments to one call, and C leaves the order of
    those unspecified: gcc on x86-64 drew them right to left, clang and gcc on
    ARM left to right. The ARM builds made other test data, and with it one
    statement in test_savepoint needed more savepoint room than its cache
    allowed (a documented limit, so a failed transaction, as designed). Each
    draw now has its own line, in gcc's x86-64 order, so every recorded result
    stays valid: the outputs of all nine suites are byte for byte the same as
    before under gcc, and the same under clang. test_vs_sqlite, which isn't
    run in CI, keeps its old calls.
  • The browser demo in demos/db/ is rebuilt at 0.4.0
    (app/engine-db.v4.js).
  • Releases now live on the GitHub release page. releases/ keeps the
    0.2.0-alpha and 0.3.0-alpha folders as they were.

Downloads

System File
Linux, x86-64 (static) altsql_linux_amd64.tar.gz
Linux, ARM64 (static) altsql_linux_arm64.tar.gz
macOS, Apple silicon altsql_darwin_arm64.tar.gz
macOS, Intel altsql_darwin_amd64.tar.gz

Each archive holds the two shells, altsql for a device's database and altsql-db for a gateway's, with README.md, LICENSE and NOTICE. SHA256SUMS lists the checksums. The macOS binaries aren't signed by Apple, so macOS may ask you to allow them the first time, or run xattr -d com.apple.quarantine on each. AltSql is an alpha: file formats may still change, and it isn't for production.