Release Notes

Release notes for the v3.x line, newest release first. Every release in this line is on this page.

Coming from v2? v3.0.0 breaks integrations - its section below has the migration guide. Nothing after it does.

🛡️ The Service Module has no public documentation. Changes to it are listed on this page like anything else, but no migration steps are given for them. A breaking change to it does not force a major version: a minor release can break it, a patch will not. If you self-host with the Service Module enabled, read every minor release before upgrading. See the Service Module page.


v3.1.0

Released 8 October 2026 - release on GitHub

🔎 Overview

🎨 UI Module

🔌 Service Module

🏗️ Internal Work

📚 Versioned Docs

Work on the documentation site. Nothing here changes the image you pull.


v3.0.0

Released 1 September 2026 - release on GitHub

🔎 Overview

⚙️ Core Changes

🧪 Diagnostics Module

🔌 Service Module

🎨 UI Module

📈 Algorithms

🏗️ Internal Work

Everything below is work on the repository. None of it reaches the image.

📚 Versioned Docs

🛠️ Migration Guide

To upgrade to v3.0.0, follow these steps:

  1. Remove all V2 usage
    • Any calls to V2 endpoints must be removed or migrated.
    • Replace /api/v2/presets, /api/v2/fit/by-custom, /api/v2/fit/by-preset/{preset}, /api/v2/pack/by-custom, and /api/v2/pack/by-preset/{preset} with their V3 equivalents.
  2. Switch to V3 endpoints
    • V3 requires an algorithm to be selected, where V2 used a fixed one, and drops V2’s other parameters.
    • See the v2.x documentation for the old contract, and Version 3 for the new one.
  3. Regenerate all ViPaq strings
    • The format was rebuilt and is not backwards compatible.
    • Strings from earlier versions no longer decode, and there is no fallback reader.
    • Re-run the packing request to get a new one. Any stored string - a saved link or a bookmarked result - is stale.
    • This applies to V3 responses as well, even though V3 is otherwise unchanged.
  4. Do not mix versions
    • Images before v3.0.0 produce the old ViPaq format; v3.0.0 onward produces and reads only the new one.
    • An encoder and a decoder on different sides of this release will not interoperate.
  5. Update Packing Logs configuration
    • Move Path, FileName, DateFormat, and ChannelLimit out of the nested Packing block, directly under PackingLogs, and delete the Fitting block.
    • Left in the old shape with Enabled: true, startup validation now fails.
    • Repoint log collection from data/pack-logs/packing/ to data/pack-logs/. The old packing/ and fitting/ directories are safe to remove.
  6. Review health check RestrictedIPs
    • Replace any start-end entries with CIDR - 192.168.1.0-192.168.1.255 becomes 192.168.1.0/24. Left as they are, startup validation now fails.
    • Re-check any CIDR entry. It now covers what it says, which is far less than before - confirm the addresses you expect are still inside it, or you will lock yourself out.
    • A range that does not line up with a CIDR boundary must be split into several entries, or widened to the enclosing subnet.
    • Drop any leading zeros - 010.10.10.10 becomes 10.10.10.10, and note it used to admit 8.10.10.10, so check that host was not the one you meant. Write IPv6 entries in the short lowercase form: 2001:0DB8::1 becomes 2001:db8::1.
    • If Binacle.Net runs behind a proxy, load balancer or CDN, enable Forwarded Headers as well. Without it the list is compared against the proxy’s address and can never match your monitoring system.
  7. Drop BINACLEAPI_CONNECTION_STRING
    • Delete it from any compose file, Kubernetes manifest or environment file. It is ignored, not rejected, so nothing fails to start and nothing warns.
    • Only affects you if you set it. Pointing the shipped demo at a different API host is no longer possible; the demo calls the API it is served from.
    • Any Config_Files/UiModule/ directory you mounted or edited can be removed. The image no longer reads it.
    • Bookmarks to /PackingDemo or /ProtocolDecoder need updating to /packing and /vipaq.
  8. Update any pinned cosign verify command
    • The repository moved to the binacle-labs organization and the certificate identity moved with it. Replace ChrisMavrommatis with binacle-labs in --certificate-identity-regexp.
    • Only affects you if you verify signatures in a script or a pipeline. A stale identity fails the check, it does not warn - so it reads as a tampered image rather than an out-of-date command.
    • See Verifying a Release for the full command.