Skip to content

Prepare UnixNotis v1.0.0 release#29

Merged
locainin merged 27 commits into
masterfrom
dev
Jul 3, 2026
Merged

Prepare UnixNotis v1.0.0 release#29
locainin merged 27 commits into
masterfrom
dev

Conversation

@locainin

@locainin locainin commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • prepare UnixNotis for the v1.0.0 release
  • add release archive packaging with bundled installer/runtime binaries
  • show installed version and best-effort update status in the installer TUI
  • document the manual release process and release archive install path
  • keep systemd reinstall scoped to the UnixNotis user service

Release notes draft

This is the first release of UnixNotis. Read the wiki for setup, customization, and service-manager guidance: https://github.com/locainin/UnixNotis/wiki

Release archives include unixnotis-installer at the archive root and runtime binaries under bin/. Extract the tarball, run ./unixnotis-installer, and follow the TUI.

locainin added 27 commits July 1, 2026 17:30
Move list and row modules to shorter names now that they already live under ui/list, and update the local imports to match the new layout.
Add reusable list test fixtures and move lifecycle behavior into a dedicated test file outside the implementation module.
Add tests for grouped block construction so collapsed groups, visible notifications, and standalone rows keep their expected shape.
Add tests for row index ordering and RowItem data replacement so list-store updates preserve stable row identity.
Add tests for list construction, config defaults, and reusable row widget binding so GTK row recycling remains predictable.
Add list-store update tests for insertion, replacement, removal, and ordering so row reconciliation failures are caught directly.
Expand grouping tests for app names, fallback keys, and collapsed group presentation so grouped lists stay deterministic.
Expand mutation tests for clear, dismiss, group toggles, and stacked rows so state changes remain explicit.
Add row tests for empty-state and group-header widgets so row modules have local coverage under their own tests folder.
Move notification row fixtures and label-clamping checks into focused test files under the notification row module.
Add focused tests for urgency labels and relative-time badges used by notification row metadata.
Add tests for thumbnail source detection and row thumbnail visibility classes when images are present or absent.
Add notification row tests for active, critical, stacked, metadata, and footer CSS state updates.
Add notification row tests for action cache rebuilds and single-command click handling.
Strip notification markup and decode common entities before panel, popup, and history views render plain GTK labels.
Add notification model tests for tag stripping, whitespace normalization, entity decoding, and malformed markup fallbacks.
Set the UnixNotis workspace packages to v1.0.0 so release archives, installer UI, and GitHub tags share one version line.
Teach install path discovery to recognize validated release archives from env overrides or the current installer location before falling back to source workspace discovery.
Resolve bundled release binaries from unixnotis-release.json and keep source checkout validation tied to Cargo metadata.
Use the build phase to validate downloaded archive binaries before install while preserving Cargo release builds for source checkouts.
Install bundled runtime binaries from the archive bin directory while keeping source builds on Cargo target output.
Allow downloaded release archives to install without Cargo while keeping trial mode limited to source checkouts.
Display the installed v1 version and best-effort latest GitHub release status in the installer welcome screen without making network checks part of tests.
Create a checked packaging script that builds release binaries, assembles the tar.zst archive, writes the manifest, and emits a checksum.
Provide a workflow_dispatch release package job that validates the script and uploads tarball plus checksum artifacts for manual release publishing.
Update install docs for release tarballs and record the manual release checklist, changelog flow, and packaging commands.
Stop only the UnixNotis user unit during reinstall and avoid wiring the service as a requester of graphical-session.target.
@locainin locainin merged commit f8e700a into master Jul 3, 2026
5 checks passed
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