All versions since v0.3.3
v0.3.3
Whatβs Changed
- zip zippity zap by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/73
- Bug fixin by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/74
- the weatha by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/78
Full Changelog: https://github.com/Seafoam-Labs/pearl/compare/v0.3.2...v0.3.3
v0.3.4
Whatβs Changed
- Dock updates by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/79
Full Changelog: https://github.com/Seafoam-Labs/pearl/compare/v0.3.3...v0.3.4
v0.3.5
Full Changelog: https://github.com/Seafoam-Labs/pearl/compare/v0.3.4...v0.3.5
v0.3.6 - zig 0.17
Full Changelog: https://github.com/Seafoam-Labs/pearl/compare/v0.3.5...v0.3.6
v0.3.7
Whatβs Changed
- update how dock works again by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/80
- fix screen off on locking by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/81
- sched_ext: Edit scheduler profiles in Settings by @arighi in https://github.com/Seafoam-Labs/pearl/pull/65
- update layout of the apperance by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/82
- Update appearance layout by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/84
Full Changelog: https://github.com/Seafoam-Labs/pearl/compare/v0.3.6...v0.3.7
v0.3.8
Whatβs Changed
- fix how zed themes are generated by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/85
- date time formatting for clock widget by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/86
- update audio badges by @caroberrie in https://github.com/Seafoam-Labs/pearl/pull/88
Full Changelog: https://github.com/Seafoam-Labs/pearl/compare/v0.3.7...v0.3.8
π¦ͺ Pearl v0.3.9 β Screensavers, scx, and a More Personal Shell Latest
π¦ͺ Pearl v0.3.9 β Screensavers, scx, and a More Personal Shell
Pearl v0.3.9 is about making the desktop feel lived-in. It adds a full screensaver collection for the lock screen and the idle desktop, lets the dock live inside the bar, makes bar visibility and corner radius configurable per display, and shows album art in the media widget. Aqueous integration picks up the HDR 600 preset and window-rule timing, CPU scheduling now comes from scxβs catalog through scxcli, and Coral learns a much wider set of file types.
π Screensavers
A native screensaver service now drives both the lock screen and the idle desktop, so the same animation runs before the panel powers off.
- πΉοΈ Eight animations plus Off β Starfield, Matrix, Mystify, Pipes, Qix, Maze, Life, and Ocean Fall.
- π Lock and desktop β the lock swaps the saver over its prompt, while the shell maps it as an overlay above applications. Any input dismisses it.
- β±οΈ Separate panel-off delay β the saver starts at the turn-off timeout, then a second
panel_off_secondsdeadline powers the panel off. Zero keeps the panel lit while the saver runs. - βΏ Reduced motion β falls back to normal blanking instead of animating.
- π Preview tooling β
scripts/preview-savers.shpreviews the collection, with the power page exposing the mode picker.
π§ Bar, dock, and displays
- π§© Dock inside the bar β the dock is now available as a bar widget, so the application strip can live in a bar section instead of a separate floating surface. Embedded styling and sizing were finished alongside it. (#98, #100)
- π₯οΈ Per-display bar visibility β
bar_hidden_outputsswitches the bar off for named connectors. A hidden bar releases its exclusive zone, hides an embedded dock, and Pearl refuses to hide the last visible bar even if the JSON lists every output. - β Configurable bar corners β a new
bar.radiuspreference overrides the themeβs 14 px radius. Leaving it at 14 lets community themes keep control. - π΅ Album art on the media widget β
bar.media_artreplaces the music glyph with the current artwork, supports output overrides, and only registers as an artwork viewer while art is actually shown. (#109) - π«₯ Screensaver-aware visibility β bars and autohide respect the active screen saver instead of floating over it.
π₯οΈ Aqueous integration
- π HDR 600 preset β Pearlβs display settings and mutation backend expose the new 600 cd/mΒ² HDR mastering level alongside 100, 400, and 1000.
- π§© Rule matching timing β the window-rule editor learned the
matchingfield with Always, Once, and Startup modes, including help text and native edit/save/reopen coverage. - β¨οΈ Settings grouping β
window_switcher_*bindings now group with movement controls, andinput.focus_crosses_workspacesgroups with focus options.
βοΈ Scheduling through scx
Pearl no longer owns its own scheduler profile catalog. (#92)
- π One source of truth β profiles and selection now come from scxβs
catalog.jsonthroughscxcli, matching scxcli and scxtui. - π§Ή Fewer moving parts β
pearl-scheduling-helper, its polkit policy, and Pearlβsscheduling-profiles.jsonare gone. - π¦ Packaging hint β recipes now suggest
scx-scheds>1.1.4, which provides scxcli and the catalog.
π Coral and file handling
- ποΈ Wider file associations β Coral now registers JSON, JSON5, Schema JSON, SQL, TOML, TypeScript, shell, PHP, Ruby, XML, YAML, CSS, JavaScript, Rust, C/C++, CMake, Dockerfile, Go, Java, Lua, Makefile, Meson, Nix, Python, reStructuredText, SCSS, and systemd unit files. (#107)
- π Create new documents β opening a path that does not exist creates missing parent directories and the file itself.
- π File chooser fixes β filter rules per filter rise from 128 to 2048, unsafe globs are rejected instead of silently mishandled, caller names are truncated to 128 characters, and dialog bugs were cleaned up. (#103)
- π οΈ Greeter sync crash β the settings flyoutβs greeter-sync image picker now uses a properly layered dialog, fixing a crash. Source images are capped at 64 MiB before the privileged boundary receives a re-encoded 4K PNG. (#102)
π°οΈ Clock and launcher polish
- π°οΈ Stacked custom clocks β custom time and date patterns accept raw newlines and
\nescapes in any bar orientation. (#104) - π§· Launcher border overlap β fixed the selected-item border overlapping nearby launcher content. (#108)
π¦ Build and packaging updates
- π·οΈ Injected version identity β
src/version.zigno longer hardcodes a release. Packaging passes-Dversion="$pkgver"and CI exportsPEARL_VERSIONfrom the release tag. (#96) - πΏ Tag builds β CI now builds on
v*tag pushes as well as pull requests. - π§ͺ Coverage refresh β updated Aqueous 0.8.2 contract figures and baselines, plus new window-rule timing, portal contract, window switcher, and screensaver test coverage.
- π Translations β Pearl, Coral, and lock templates were refreshed for the new screensaver, bar, media, and file-chooser strings.
π Upgrade notes
Scheduler profiles are now owned by scx. Install a scx-scheds package newer than 1.1.4 so scxcli and catalog.json are available, then select your profile in Pearl, scxcli, or scxtui. Profiles stored in /etc/pearl/scheduling-profiles.json are no longer read.
Packagers must pass -Dversion="$pkgver" or set PEARL_VERSION; otherwise binaries report 0.0.0-dev.
Screensavers are opt-in and default to Off. Enabling one makes the screen-off timeout start the saver, with the panel-off delay controlled separately.
π Translations and thanks
β€οΈ Thank you to Caroline Snyder, Treshaun, Piotr Gorski, and Zoey Bauer for the screensavers, bar and dock work, file handling, scx integration, and Aqueous settings work, and to everyone reporting issues and testing fixes.
π Full Changelog: v0.3.8β¦e7fdc5a7
π Release commit: e7fdc5a7
