Skip to content

chore(release): 0.4.3 - #120

Merged
patrickschaper merged 9 commits into
mainfrom
release/v0.4.3
Oct 30, 2026
Merged

patrickschaper merged 9 commits into
mainfrom
release/v0.4.3

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

What's changing

Features

Bug Fixes

Validation

  • ./build.sh
  • ./build-wallpaper.sh
  • Strict codesign verification of both bundles

github-actions Bot and others added 9 commits October 27, 2026 14:51
chore(release): 0.4.0

- bump VERSION to 0.4.0

- update CHANGELOG.md

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Patrick Schaper <[email protected]>
- sign both release bundles with Developer ID and staple notarization tickets
- import release credentials into a temporary keychain and clean up on failure
- keep local builds ad-hoc signed and test release signing safeguards
- sort release tags numerically instead of using the nearest reachable tag
- cover squash-merge history and numeric ordering with an isolated Git fixture
- copy VERSION and CHANGELOG from the published main branch
- clear metadata conflicts so the original back-merge PR can merge
Automated back-merge of `main` into `development` following the 0.4.1
release.
* feat: add command capture scene and customizable Neo intro name

- Add CmdCaptureScene to execute background shell commands
  and reveal stdout before the trace program
- Add configurable settings for command capture list and Neo intro name in options sheet
- Add unit tests for CmdCaptureScene lifecycle and NeoMessageScene name templating
- Update build and test scripts for saver and wallpaper targets

* feat: add command capture scene and customizable Neo intro name

- Add CmdCaptureScene to execute background shell commands
  and reveal stdout before the trace program
- Add configurable settings for command capture list and Neo intro name in options sheet
- Add unit tests for CmdCaptureScene lifecycle and NeoMessageScene name templating
- Update build and test scripts for saver and wallpaper targets

* fix: bound and cancel command captures

- remove sensitive logging and preserve the host environment
- bound subprocess lifetime and output, including pipeline cleanup
- restrict execution to active playback and preserve paused scene timing
- coordinate new options and cover lifecycle and process regressions

* fix: integrate command capture with current native options

- fit command settings into the tabbed options layout
- preserve captured UTF-8 prefixes and rasterize missing text glyphs
- verify tab persistence, layout, and Unicode rendering regressions

* fix: stream custom scenes with shared native options

- add scrolling live command output, terminal sizing and blinking cursor
- add reorderable commands and independent typing speed defaulting to 10
- synchronize first playback and handle black-background failures gracefully
- cover scene playback, options persistence and wallpaper recovery

* fix: reduce intro redraws and stabilize trace scrolling

- redraw only changed intro rows while preserving blinking cursors
- keep trace scrolling speed independent of the configured frame rate
- test idle redraws, cursor updates and scrolling parity

* feat: add shuffled command playback and output holds

- animate command entry and display live output immediately
- persist output holds and synchronized shuffled playback
- update the shared dialog title and regression coverage

* fix: enable standard editing shortcuts in wallpaper dialogs

- route copy, paste, cut and select all through an Edit menu
- verify shortcut actions with the native options field editor

* fix: make shell argument conversion compatible with CI Swift

- duplicate shell arguments and environment through explicit C strings
- preserve allocated pointer lifetimes through process launch

* fix: reliably reap cancelled shell processes

- wait for child reaping after the background exit notification
- repeat cancellation coverage to catch the macOS exit race

---------

Co-authored-by: John Doll <[email protected]>
Co-authored-by: Patrick Schaper <[email protected]>
Automated back-merge of `main` into `development` following the 0.4.2
release.
)

* feat: add Fonts option to pick installed fonts for the rain glyphs

- render rain with the chosen installed fonts, mixed evenly; intro text stays in the system font
- add a Fonts section to the Rain tab with an installed-fonts pull-down and a Show all fonts toggle
- alias ASCII glyphs to private-use scalars so digits and symbols come from the rain font
- persist the selection in defaults (empty keeps the system font) and cap it at 8 fonts

* fix: size options pages up front to avoid unsatisfiable layout constraints

- create each options page at its real size instead of zero

* docs: credit and link the Matrix fonts

- document the Fonts option in the options table
- add a Matrix fonts section linking Matrix Code and Matrix Resurrected from Rezmason/matrix

* test: cover rain font selection

- test rain font glyph tables, aliasing and catalog listing against Menlo
- test rain font option sanitizing, persistence and renderer hand-off
- allow the taller options sheet that now holds the Fonts section

* fix: improve rain font selection and fallback

- discover hidden fonts and remove font filtering
- retain missing glyphs for cached macOS fallback
- share rain rasters across weight caches
- add font reset and a dynamic family-only default label
- simplify help text and cover font behavior with tests

* feat: add Matrix glyph presets and live preview

- bundle original Classic and Resurrections fonts with attribution
- persist glyph presets and preserve custom settings when switching
- limit the font picker to one selection
- preview glyphs in green on black with a smaller wrapping font
- cover preset rendering, persistence, selection and layout

* feat: list bundled fonts below the system default

- show both bundled fonts before the dropdown divider
- avoid duplicate entries among installed fonts
- verify selection, ordering and reset behavior

* test: allow recovery fixtures to finish queued startup

- match the existing ten-second AppKit startup allowance
- stop and clean up fixtures when startup fails

---------

Co-authored-by: Patrick Schaper <[email protected]>
- bump VERSION to 0.4.3

- update CHANGELOG.md
@patrickschaper
patrickschaper merged commit d724c85 into main Oct 30, 2026
7 checks passed
@patrickschaper
patrickschaper deleted the release/v0.4.3 branch October 30, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants