Skip to content

Release 0.4.0 - #1390

Merged
saworbit merged 3 commits into
mainfrom
release-0.4.0
Oct 21, 2026
Merged

saworbit merged 3 commits into
mainfrom
release-0.4.0

Conversation

@saworbit

Copy link
Copy Markdown
Owner

Cuts 0.4.0: the version, the changelog, the published test totals, the two defects the release gate found, and the gate run that now passes. 275 commits since v0.3.2; a prerelease, like every release so far.

Version

  • addons/hammerforge/plugin.cfg, hammerforge_mcp/pyproject.toml and hammerforge_mcp/src/hammerforge_mcp/__init__.py to 0.4.0. test_version.py passes on this shape: [Unreleased] empty and no fragments in changelog.d/.
  • CHANGELOG.md: the last fragment compiled in, [Unreleased] closed as [0.4.0] - 2026-10-21 with five Highlights (the Agent Bridge, cordons and bake profiles, lights and sound, Validate and Check Bake Issues, the texture and cut fixes), and its At a glance row (378 lines). changelog/after-0.3.2.md becomes changelog/0.4.0.md, as each release has its own.
  • Published test totals from main's last CI run (a3936e8): 6,064 tests across 334 scripts.
  • The Agent Bridge guide says the bridge ships from 0.4.0 instead of "on main, which calls itself 0.3.2". The server install lines pin @v0.4.0. tools/hf_console_preview.gd prints v0.4.0, and the spec and DEVELOPMENT name 0.4.1-dev as the next main.

What the release gate found

Both were in 0.3.2 too. Each has a test that fails without the fix, and both were checked again in the editor.

  • Undo of a drawn brush left the draw preview behind as a real brush ([Build] Undo of a drawn brush leaves the draw preview behind as a real brush #1388). HFDragSystem._clear_preview() and its twin in HFBrushSystem freed the preview with queue_free() while it was still under DraftBrushes. Place Brush records the level in the same frame, so the step's before state held it and the undo rebuilt it, drawn, counted, saved and baked. Now the preview leaves its parent at once, as the Extrude tool's already did. test_undoing_a_drawn_brush_leaves_no_preview_behind drives the gesture through the real plugin.
  • Entity markers were missing after a scene opened and after redo ([Entities] Entity markers are missing after a scene opens, after redo, and after a tab switch #1389). An entity is ready before its LevelRoot, so it asked for its definition before any were loaded, and nothing asked again. And _exit_tree() clears the marker while _ready() never reruns on re-entry. Now load_entity_definitions() refreshes the entities already placed, and DraftEntity._enter_tree() rebuilds the marker when it comes back. Two tests count the refreshes, because a headless run builds no markers.

The gate

docs/HammerForge_Editor_Smoke_Checklist.md records Gate passed: 0.4.0. All ten checks were run in Godot 4.7 on this branch: once to find the two defects above, and again after the fixes. It also corrects two gate lines (Create Starter Level is one undo action since #1029, and the resize handles are not yellow), and leaves three notes for the next run.

Checked

  • Full GUT suite on Godot 4.7.2 against main: 6,064 tests, 0 failing. On this branch, the scripts the fixes touch: test_plugin_ (18 scripts, 226), test_entity (143), test_undo (59), test_drag, test_preview, test_prefab (130), test_scoped_undo_step, test_hflevel_io, test_bugfix_regressions.
  • An exported game built from build_release_tree.py's tree with the 4.7.2 templates loads a sample level with no script errors.
  • check_changelog.py, changelog_fragments.py --check, test_version.py, check_script_warnings.py, CI's lint commands, run_local_checks.py --check, and mkdocs build --strict.

Fixes #1388
Fixes #1389

@github-actions github-actions Bot added area: build Brushes, drawing, vertex/edge editing (Build tab) area: objects Entities, prefabs, I/O wiring (Objects tab) area: docs README, guides, spec, roadmap, changelog area: ci Workflows, contributor tooling, dependency pins tests The GUT suite and its fixtures labels Oct 21, 2026
@saworbit
saworbit merged commit 4a53aa7 into main Oct 21, 2026
12 checks passed
@saworbit
saworbit deleted the release-0.4.0 branch October 21, 2026 03:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build Brushes, drawing, vertex/edge editing (Build tab) area: ci Workflows, contributor tooling, dependency pins area: docs README, guides, spec, roadmap, changelog area: objects Entities, prefabs, I/O wiring (Objects tab) tests The GUT suite and its fixtures

Projects

None yet

1 participant