Skip to content

v0.8.1

Choose a tag to compare

@teriyakichild teriyakichild released this 04 Mar 15:28
· 19 commits to master since this release

v0.8.1 (2026-03-04)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Use isfinite/is_integer guard in fmt(), add edge-case tests (041687d)

Address Copilot review feedback:

  • Use math.isfinite() + val.is_integer() instead of val == int(val) to
    avoid OverflowError/ValueError on inf/nan before the magnitude check
  • Use <= 2**53 to include the largest exactly-representable integer
  • Add TestFmt covering None, bool, int, string, whole floats, fractional
    floats, boundary values (253, 254), inf, and nan

Continuous Integration

  • Add prerelease workflow for testing docker images (d781660)

Triggered by maintainers commenting /prerelease on a PR, or via workflow_dispatch. Builds and pushes images tagged as pr- to DockerHub. Restricted to OWNER/MEMBER/COLLABORATOR roles.

Performance Improvements

  • Pre-compile is_iso_ts regex at module level (bdb4218)

Moves the ISO timestamp regex from inline re.match() to a module-level compiled pattern. Benchmarks show ~2x speedup (3.3M → 6.9M calls/s), which matters since is_iso_ts is called per-value in timestamp columns.

Refactoring

  • Remove dead code, fix float precision, replace print with logging (3122b6d)

  • Remove unused extract_array_fields function and its no-op loop

  • Simplify redundant None/bool branching in preprocess_table row builder

  • Guard fmt() float-to-int conversion with abs(val) < 2**53 for large floats

  • Replace all print(stderr) calls in proxy.py with structured logging


Detailed Changes: v0.8.0...v0.8.1