github henrywang/Berthly v1.6.1
Berthly 1.6.1

3 hours ago

What's Changed

Berthly 1.6.1 targets Apple's container 1.6.1 and adds the features that release introduced.

Requires container 1.6.1

  • Berthly now requires container daemon 1.6.1 and is built against the 1.6.1 package (containerization 0.53.0). If your daemon is older, the System page offers the update. 1.6.1 includes two upstream security fixes:

New

  • Commit to Image. Snapshot a running or stopped container's filesystem into a new local image, from the container's detail header or its right-click menu. The image runs the container's command by default. Volumes and mounts aren't included. (#206)
  • DNS aliases on networks. Each network row in the Run sheet has an Aliases field (--network <name>,alias=…). Malformed aliases are caught before the run starts. Attached aliases appear in the container detail and the network's endpoint list. (#207)
  • Machine accounts. Create Machine → Advanced lets you set the machine's user, UID, GID and home directory. It defaults to your Mac user, as before. Invalid values are rejected before the image download. If an image already has a clashing account, the error now names it. (#208)
  • Platform from the image. Run/Create picks the platform from the image, as the 1.6.1 CLI does. An amd64-only image now runs under Rosetta without touching the Platform field; before, it failed with "does not support linux/arm64". Multi-platform images still run natively. (#209)

Fixed

  • Logs tab stopped following. After a container or machine went quiet for half a second, the Logs tab silently stopped showing new lines while still saying "Following". It now keeps tailing until you leave the tab. (#205)
  • Builder start resilience. A stopped builder that fails to restart is now recreated instead of failing the build. A container build running at the same moment in the CLI no longer makes Berthly's build fail. (#210)

Under the hood

  • The test suite no longer intermittently crashes the test host with a file-descriptor double close (#215), and the running-container export E2E test runs instead of always skipping (#212).
  • PARITY.md is re-audited against container 1.6.1 (#195).

Testing

This release shipped only after its gate run passed on the release commit:

  • 611 unit tests passed — 92% line coverage of the pure
    logic layer
    (Berthly/Core models, mapping, and planning; 59%
    including the daemon/terminal I/O plumbing, which the end-to-end suite
    exercises against a real daemon instead).
  • 86 UI tests (deterministic mock-daemon XCUITest) and
    28 real-daemon end-to-end journeys guard the UI wiring and the
    daemon integration. SwiftUI view bodies are covered by these suites, not
    unit tests, by design.

Full Changelog: v1.5.1...v1.6.1

Don't miss a new Berthly release

NewReleases is sending notifications on new releases.