Skip to content

Bytefray v4.0.0-rc2

Pre-release
Pre-release

Choose a tag to compare

@libertaine libertaine released this 07 Sep 21:08
· 86 commits to main since this release

This is a prerelease, not final v4.0.0.

Bytefray v4.0.0-rc2 is the second v4.0 release candidate. It adds a self-contained Linux binary distribution and closes out the pygame-ce/Python 3.14 migration alongside the V4 Quorum advanced example agent. No gameplay, Agent API, Ruleset, or replay-schema change is included — RC1's stable v4 contract (bytefray-rules-4) is unchanged.

What's new since RC1

  • Self-contained Linux binary distribution. A frozen PyInstaller onedir build of all four applications (bytefray, bytefray-cli, bytefray-agent-designer, bytefray-replay-viewer), packaged as bytefray-4.0.0-rc2-linux-x86_64.tar.gz. No system Python or pip install required to run it.
  • Official Ubuntu 24.04 Linux build baseline. Built and qualified in CI on an explicitly pinned ubuntu-24.04 runner (not ubuntu-latest), gated on native shared-library resolution, the fixed-seed v4_quorum reference match, and a headless replay smoke. The exact built archive was additionally verified byte-for-byte on Ubuntu 26.04, with no source-repository or build-venv dependency. The measured maximum requirement is GLIBC_2.38; the archive is not qualified against Ubuntu 22.04 or Debian 12, and no universal Linux compatibility is claimed.
  • Frozen Linux subprocess-launch portability fix. Every code path that relaunches the frozen executable as a subprocess (agents validate/test, tournament resume, Designer development-test/replay launch) unconditionally looked for a .exe-suffixed sibling, which made every such relaunch fail on a Linux onedir build whose launcher has no extension. The suffix now resolves per-platform.
  • Replay/GUI dependency migrated from classic Pygame to pygame-ce (>=2.5.8), fixing a real Linux install failure on newer CPython where classic Pygame had no compatible wheel and fell back to a source build requiring SDL2 dev headers. Application and agent source is unaffected — both still import pygame.
  • Python 3.14 formally supported and qualified across core, Agent API v2, Designer, and the Replay Viewer.
  • V4 Quorum (Advanced Example) — a six-process coordinated entrant, bundled as v4_quorum.

See CHANGELOG.md for the full entry.

Stable v4 gameplay (unchanged from RC1)

bytefray-rules-4 remains the permanent, stable v4 gameplay Ruleset — spatial multi-process Agent API v2 combat, bounded local MOVE/READ/WRITE reach, deterministic seed-derived core placement, and fixed entrant quota Q=8. The spectator presentation suite (Perspective Cam, Spectator Director, Fight Night) and the seeded-placement evaluation methodology (schema 7) remain wired into the Designer's Simple/Advanced workflow, exactly as RC1 shipped them.

Downloads

Package File Notes
Python wheel bytefray-4.0.0rc2-py3-none-any.whl Pure Python 3.10–3.14 package; no pMARS binary
Source archive bytefray-4.0.0rc2.tar.gz Python/source workflows
Portable Windows applications bytefray-4.0.0-rc2-windows.zip AMD64 onedir apps: CLI, Agent Designer, Replay Viewer
Windows installer Bytefray-Setup-4.0.0-rc2.exe Administrative AMD64/x64 install; unsigned, see Installation
Self-contained Linux archive bytefray-4.0.0-rc2-linux-x86_64.tar.gz x86_64 onedir apps, built on Ubuntu 24.04, qualified on Ubuntu 24.04 + 26.04; no system Python required, see Linux installation
Checksums SHA256SUMS.txt SHA-256 values for all five assets above

Checksums

8bcfe7b0a79068489926b7f6b507a2180f97866bebd437950e08da569fcfdc3e  bytefray-4.0.0rc2-py3-none-any.whl
1f12df63254929b9d3d63974f766b92e791e03ee8ca2186396e6f09d3d294e2a  bytefray-4.0.0rc2.tar.gz
d63b0500a227520724ca7a4a45b896198ab23bc2439b0a6efd336f1cf1c5e536  bytefray-4.0.0-rc2-windows.zip
4dce9e5c2a07b99362e852bbea9139fcaa18bcc6500cc44863baaa12fffdc96f  Bytefray-Setup-4.0.0-rc2.exe
09c6986a9c16d5bf7e37d44bee1a9feea341ab27ec03e65f561d2da68b036a7e  bytefray-4.0.0-rc2-linux-x86_64.tar.gz

Windows asset note (2026-09-07): The two Windows assets above were completed after this release's initial publication. They are built from 1e22a6f, the exact commit the v4.0.0-rc2 tag points to — the same qualified candidate as every other asset in this release — but are a second build of that commit, not the original build. Bytefray's Windows packaging pipeline (PyInstaller onedir + Inno Setup + Compress-Archive) is not byte-reproducible (embedded build timestamps), a limitation already documented in this project's own RC1/RC2 Windows packaging qualification reports, so their checksums differ from values recorded in a pre-publication draft of this page and cannot be made to match. Source provenance is not in question: both files were rebuilt in a clean worktree pinned to 1e22a6f with git status verified clean throughout, and the fixed-seed v4_quorum vs v4_defender_scout reference match reproduced identically (winner=A, score={'A': 16.0, 'B': 10.0}, 11 ticks, last_agent_standing) against the rebuilt frozen bytefray.exe, in addition to build_win.ps1's own embedded GUI/CLI smoke tests, all passing.

Qualification summary

Built and qualified from a single frozen candidate source commit. Full source test suite green on both Windows and Linux, mypy clean on both canonical targets, and the fixed-seed v4_quorum vs v4_defender_scout reference match (winner=A, A=16.0/B=10.0, 11 ticks, last_agent_standing) reproduced identically across source, wheel, sdist, both frozen builds, and the portable Windows ZIP. The Windows installer compiles with correct RC2 metadata and an unchanged AppId; its live install/upgrade/uninstall lifecycle was not exercised this cycle (no admin-elevated session available), consistent with prior Bytefray release candidates.