From 3cd4944fd88ceb227081c75848f3369b98644795 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Fri, 13 Mar 2026 19:24:26 +0100 Subject: [PATCH] 4.4.25: Static Linux Builds, Memory-Aware Batching, and Build Stability ### Static Linux Builds - Added `CGO_CFLAGS` environment variable to the release workflow for consistent static linking on Linux, ensuring portable, self-contained executables. - Updated `go.work.sum` with the new dependency `golang.org/x/net v0.38.0`. - Removed obsolete logs archive file from the distribution. ### Memory-Aware Batching (Introduced in 4.4.23, now stable) - Users can now control batching behavior using `--batch-mem` to specify memory limits (e.g., `128K`, `64M`, `1G`), enabling adaptive batching based on sequence data size. - Batching now respects both byte and record count limits, flushing batches when either threshold is exceeded. - Conservative memory estimation for sequences (`BioSequence.MemorySize()`) and explicit garbage collection after large batch discards improve resource predictability. - Default constraints remain non-breaking: minimum 1, maximum 2000 records per batch with a default memory limit of 128 MB. ### Build System Improvements - Updated Go toolchain to 1.26.1 and bumped key dependencies for security and performance. - Fixed Makefile quoting for `LDFLAGS` to safely handle paths containing spaces. - Enhanced build failure handling: error logs are now displayed before cleanup, aiding diagnostics. - The install script now correctly configures `GOROOT`, `GOPATH`, and `GOTOOLCHAIN`, creates the GOPATH directory, and shows a progress bar during downloads. --- pkg/obioptions/version.go | 2 +- version.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/obioptions/version.go b/pkg/obioptions/version.go index dc3b563..b681e24 100644 --- a/pkg/obioptions/version.go +++ b/pkg/obioptions/version.go @@ -3,7 +3,7 @@ package obioptions // Version is automatically updated by the Makefile from version.txt // The patch number (third digit) is incremented on each push to the repository -var _Version = "Release 4.4.24" +var _Version = "Release 4.4.25" // Version returns the version of the obitools package. // diff --git a/version.txt b/version.txt index 0233b3c..a9f8645 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -4.4.24 +4.4.25