Skip to content

chore(release): v1.3.0 - #80

Merged
BernardJen merged 1 commit into
mainfrom
chore/release-1.3.0
Sep 12, 2026
Merged

BernardJen merged 1 commit into
mainfrom
chore/release-1.3.0

Conversation

@BernardJen

Copy link
Copy Markdown
Contributor

Cuts v1.3.0 — the editor feature set from epic #10 — and fixes a path default that would have bitten on exactly this upgrade.

The fix

App settings (#14) and saved projects (#8) defaulted to paths beside the bundle. On a packaged Pi that is a read-only /opt, and the file that names the correct paths (/etc/penplotter271/penplotter271.env) is a dpkg conffile — so a machine whose operator had edited it keeps the old copy, never learns PLOTTER_APP_SETTINGS or PLOTTER_PROJECTS, and silently fails to persist either.

Both now derive from the state file's directory, which has been configured since the first packaged release. UPDATE_STATUS already did exactly this, so it's the established pattern rather than a new idea.

Verified by running the daemon with only PLOTTER_STATE set — precisely the upgraded-Pi case: app settings and a saved project both land beside the state file.

Release contents

Scene model and editing toolbar, pens and multi-pen plotting with pen-change pauses, shapes and single-line text, the import wizard with five conversions, PDF/HEIC/camera import, cutting mode (overcut, blade compensation, holding tabs), magnet keep-out zones with travel routed around them, projects, app settings on the gateway, and a settings page. 425 tests; coverage floor raised to 72/68/62/72.

After merge I'll tag v1.3.0, which builds the arm64 .deb and attaches it to the Release; the Pi then offers it in the update banner.

🤖 Generated with Claude Code

The editor feature set (epic #10): scene model and editing toolbar, pens and
multi-pen plotting with pen-change pauses, shapes and single-line text, the
image import wizard with five conversions, PDF/HEIC/camera import, cutting mode
with overcut, blade compensation and holding tabs, magnet keep-out zones with
travel routed around them, projects, app settings on the gateway, and a
settings page.

Also fixes a path default that would have bitten on exactly this upgrade: app
settings and projects defaulted to locations beside the *bundle*, which on a
packaged Pi is a read-only /opt. The file naming the right paths is a dpkg
conffile, so a machine whose operator had edited it would keep the old copy,
never learn the new variables, and silently fail to persist either. Both now
derive from the state file's directory, which has been configured since the
first packaged release — the same trick the update-status file already used.

Verified with only PLOTTER_STATE set, which is precisely the upgraded-Pi case:
app settings and a saved project both land beside the state file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@BernardJen
BernardJen merged commit 790b22c into main Sep 12, 2026
2 checks passed
@BernardJen
BernardJen deleted the chore/release-1.3.0 branch September 12, 2026 11:25
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.

1 participant