Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 50 of 139 Next →
February 22, 2026
minor UI Components

Extract ModalOverlay to UI.Adaptive, bump SDK to 1.61.0

SDK 1.60.0 → 1.61.0 | 73891b22
Details

Add shared ModalOverlay control to PrivStack.UI.Adaptive replacing

duplicated per-plugin copies in Notes, Tasks, Calendar, and Email.

The control provides animated backdrop, centered card with title bar,

scrollable body, optional footer, Escape key and backdrop-click-to-close.

Built as a code-based Panel (matching EmptyState pattern) with no AXAML

theme file required.

patch IO

Exclude test/runner projects from plugin build loop

Details

Added case filter to skip *.Tests and *.TestRunner csproj matches in the

dev build script. These are test utilities, not runtime plugins, and

should not be built alongside actual plugins.

minor SDK

Add CompositeDisposable lifecycle to ViewModelBase, bump SDK to 1.60.0

SDK 1.59.2 → 1.60.0 | 34e63905
Details

ViewModelBase now implements IDisposable with a protected CompositeDisposable

property. Plugins can track subscriptions and event handlers via DisposeWith()

extension method to prevent memory leaks when ViewModels are deactivated.

Added System.Reactive dependency for CompositeDisposable. Added

DisposableExtensions.cs with DisposeWith<T> extension method matching the

ReactiveUI convention.

February 21, 2026
patch Desktop Shell

Remove hardcoded OAuth secrets and bump to v1.58.7

Desktop 1.58.6 → 1.58.7 | 9bfb34e1
Details

Move all OAuth client credentials (Google, Microsoft, GitHub) to

environment-variable-only resolution with no compiled-in fallback

defaults. This prevents GitHub push protection violations and ensures

secrets never appear in source code. Added .env.example documenting

required variables. App logs warnings on startup if env vars are missing.

patch Desktop Shell

Add Habits plugin label to ReminderSchedulerService

Details

Map "privstack.habits" → "Habits & Goals" in the notification label

switch so habit reminders display with the correct plugin name.

← Prev Page 50 of 139 Next →

Get notified about new releases