Skip to content

chore(main): release 1.52.0 - #4

Open
pythoninthegrass wants to merge 1 commit into
mainfrom
release-please--branches--main
Open

pythoninthegrass wants to merge 1 commit into
mainfrom
release-please--branches--main

Conversation

@pythoninthegrass

@pythoninthegrass pythoninthegrass commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

🤖 I have created a release beep boop

1.52.0 (2026-09-23)

Features

  • abi: implement core/abi.zig as the sole jnb_ ABI exporter (TASK-012.02) (5638954)
  • abi: write include/jumpnbump.h with frozen-ABI discipline (TASK-012.01) (1a3d48b)
  • abi: write the ABI conformance test suite (TASK-012.03) (b5ffe22)
  • assets: build the audio pipeline (TASK-013.03) (277b9a1)
  • assets: build the level layer pipeline (TASK-013.02) (1808325)
  • assets: build the sprite atlas pipeline (TASK-013.01) (52a541a)
  • build: add task run to build and launch the Godot game end-to-end (9bc51c8)
  • build: add task submodules/deps meta task, add summary blocks (fbf0cfc)
  • build: port legacy Makefile build graph to Task (8c96a94)
  • build: retire the SDL runtime path from the default check gate (TASK-015.05) (7a2f779)
  • build: wire every _install-* task into the deps meta task (90e6f6c)
  • build: wrap the GDExtension shim's compiler in ccache when available (9111c27)
  • ci: add release-please and release automation, pin act via mise (c6abc67)
  • core,extension,game: add runtime Zig ProTracker .mod player for custom-level music (1c4c89e)
  • core,extension: add runtime .dat asset decoding (TASK-016.01) (dd1f83d)
  • core: add Tier-B differential-test harness to build.zig (TASK-008.04) (50cf408)
  • core: close the core-purity gap the boundary check found (TASK-011.08) (8a4dceb)
  • core: extract fireworks.c into a renamed-C differential reference (0fd6db2)
  • core: port .dat archive reader/writer to Zig (TASK-010.01) (790b177)
  • core: port .gob sprite format reader/writer to Zig (TASK-010.02) (340ba5c)
  • core: port 8-bit PCX reader/writer to Zig (TASK-010.03) (25c4263)
  • core: port add_object/update_objects particle system to Zig (TASK-011.04) (bdbfe92)
  • core: port collision_check/player_kill/bump scoring to Zig (TASK-011.03) (3ea81f5)
  • core: port cpu_move bunny AI to Zig (TASK-011.05) (5e31d04)
  • core: port fireworks.c screensaver mode to Zig (0a2da60)
  • core: port game_loop into step()/pump() with an event stream (TASK-011.07) (c48882d)
  • core: port levelmap.txt parser to Zig (TASK-010.04) (879da75)
  • core: port rnd()/fixed-point/world layout to Zig (TASK-011.01) (#3) (03dbd96)
  • core: port steer_players/position_player physics to Zig (TASK-011.02) (1b9b4d1)
  • core: port update_flies fly swarm to Zig (TASK-011.06) (eb75ce1)
  • core: rebuild jnbpack/jnbunpack/gobpack as Zig CLIs (TASK-010.05) (980f70b)
  • extension: add build-macos task for template_release GDExtension (1c9d3a9)
  • extension: build the godot-cpp GDExtension shim (TASK-012.04) (53006ed)
  • extension: package the macOS arm64 framework bundle and .gdextension file (TASK-012.05) (b8b51c2)
  • game: add app icon cropped from the rabbit sprite atlas (6c2c230)
  • game: add headless import task for the release export pipeline (74005db)
  • game: add in-game custom level picker with drag-and-drop and validation (ec7ce38)
  • game: add persisted settings for sound/music/gore/flies/mirror/player count (TASK-015.03) (d141a18)
  • game: bootstrap gdUnit4 and attempt Phase 1 corpus replay through the real GDExtension (TASK-014.07) (78dbc3d)
  • game: build InputRouter for 4 local players with remapping (TASK-015.01) (caf4deb)
  • game: build level layers with integer scaling and letterboxing (TASK-014.04) (2b82c4c)
  • game: build the scoreboard from font/number atlases (TASK-014.05) (97a6100)
  • game: build the sprite renderer for rabbits, objects, flies, and gore (TASK-014.03) (d78f976)
  • game: build TickDriver and SimWorld wrapper over jnb_pump (TASK-014.02) (fd16dcf)
  • game: complete the title-to-scores match flow with pause and clean quit (TASK-015.04) (c0d56ce)
  • game: port the pixel menu to Godot Control nodes (TASK-015.02) (377e871)
  • game: scaffold Godot project skeleton with four-layer boundary (TASK-014.01) (ba1dd9e)
  • game: wire up audio buses, players, and the event coalescer (TASK-014.06) (949036a)
  • headless: add deterministic headless mode to the C build (TASK-008.01) (42a8ea5)
  • headless: add multiplayer/AI support and record checksummed corpus (TASK-008.03) (8eb61d1)
  • headless: add per-frame canonical-state checksum (TASK-008.02) (1e38b99)
  • release: add macOS export, codesign, notarize, and DMG pipeline (1c20a1e)
  • screensaver: deliver fireworks mode as a native Swift/Metal screensaver (TASK-017.03) (af6057b)
  • screensaver: scale fireworks framebuffer anisotropically at QHD (9d9774f)
  • screensaver: sign and notarize the fireworks .saver bundle (TASK-017.04) (a68e1b7)
  • taskfile: add DOSBox-X install task, fix Linux SDL 1.2 deps for dnf (dcffd8f)
  • taskfiles: add zig.yml and act.yml wrappers (16d4e29)
  • tools: enforce core purity boundary check (TASK-011.08) (27e5d06)

Bug Fixes

  • assets: compare decoded pixels, not PNG bytes, in sprite/level checks (2503838)
  • build: pin arch=arm64 for the macOS extension build, drop windows (258955e)
  • ci: build the GDExtension shim before game:test and fix ar extraction bug (27a8049)
  • core: expose player enable/position and level-object seeding on the ABI (TASK-018) (92e4663)
  • core: find a working objcopy on macOS for localize_abi_symbols.sh (991f236)
  • core: link steer.zig's and flies.zig's own Tier-A tests, fix rnd.zig wraparound and flies.zig seeding (1d66d90)
  • core: replace libc rand() with a portable glibc-compatible rnd() (86040d7)
  • core: stop steer.zig's weak world-storage fallback from colliding with real definitions (90f96d5)
  • core: underscore-prefix jnb_ symbol names for Mach-O objcopy matching (64dd935)
  • extension: route linux ar link through a response file (5bc9eed)
  • game: enable ETC2/ASTC texture import for arm64/universal macOS export (fd37693)
  • game: retry the flaky import crash and bootstrap gdUnit4 in CI (af7975f)
  • game: work around a Godot editor race crashing headless import (0776257)
  • taskfile: run brew install dosbox-x non-interactively (5fabce4)
  • taskfile: use brew install --no-ask, not NONINTERACTIVE (269c095)
  • tools: pin semver + exclude-newer for PEP 723 uv script deps (7c3dde4)

This PR was generated with Release Please. See documentation.

@pythoninthegrass
pythoninthegrass force-pushed the release-please--branches--main branch 8 times, most recently from d6d149e to 9debfac Compare September 22, 2026 20:50
@pythoninthegrass
pythoninthegrass force-pushed the release-please--branches--main branch from 9debfac to 3c3bcf8 Compare September 23, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant