Skip to content

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 04 Sep 19:06
· 11 commits to main since this release
16d1dd3
SQL Anywhere 0.6.1 — three real bugs found behind flaky tests

A patch release with no API changes and no file-format changes. What it carries
is three production bugs, none of which ever presented as a test failure. All
three were sitting in test output nobody read, because the tests around them
were usually green.

- Every embedded-replica connection was closed twice. SqlanywhereConnection's
  Drop called disconnect(), then the Connection it called it on was dropped and
  called it again, so both closed the same handle. sqlite3_close_v2 on a freed
  handle is undefined behaviour.
- Server::start called std::process::exit on a failed shutdown. That is wrong
  for a library: it took the host process down and destroyed the diagnostics
  with it. It now returns an error, and the sqld binary still exits non-zero.
- Graceful shutdown waited for in-flight connections with no deadline, so a
  client holding one open blocked shutdown until shutdown_timeout, and then it
  failed. Each HTTP service now drains for a bounded window and drops what is
  left. This drops in-flight requests where it previously waited.

Also in this release: extension-keygen no longer defaults the private signing
key into the repository, and two flaky server tests are fixed.