Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 70 of 266 Next →
February 25, 2026
patch Journal

Journal v1.12.1: fix NullReferenceException when adding map section

Journal 1.12.0 → 1.12.1 | d9f20110
Details

The MapHeightSelector ComboBox fires SelectionChanged during XAML

InitializeComponent (due to SelectedIndex="1"), before named controls

are resolved. Added null-conditional checks on MapHeightSelector and

MapContainer to guard against the initialization race.

minor Journal

Journal v1.12.0: add notification reminders with settings overlay

Journal 1.11.0 → 1.12.0 | b090e050
Details

Add configurable journal entry reminders that fire OS-level

notifications at user-specified times on selected days of the week.

Users access settings via the gear icon in the Journal toolbar.

New files:

  • JournalPlugin.Reminders.cs: IReminderProvider implementation that

reads reminder settings and returns ReminderInfo for the current day

  • Models/JournalReminderSettings.cs: data model for reminder config
  • ViewModels/JournalSettingsViewModel.cs: settings overlay VM with

add/remove/save/cancel for reminder list

  • ViewModels/JournalReminderItemViewModel.cs: per-reminder VM with

time picker and day-of-week toggle bindings

  • Views/JournalSettingsOverlay.axaml: ModalOverlay with TimePicker,

circular day-of-week toggle buttons, enable/disable toggle per

reminder, and add/remove controls

Modified files:

  • JournalPlugin.cs: add IReminderProvider to class declaration,

register capability, pass Host.Settings to ViewModel

  • PLUGIN_CONTEXT.md: document notification reminders section
patch Core

Move inline tests to integration tests for crdt, crypto, ffi

Details

Migrate remaining #[cfg(test)] inline test modules to tests/ directories.

Crates migrated:

  • privstack-crdt: 18 pn_counter tests → tests/pn_counter_tests.rs
  • privstack-crypto: 5 recovery tests → tests/recovery_tests.rs
  • privstack-ffi: 337 tests → tests/ffi_tests.rs (biggest migration)

FFI crate changes:

  • Added "rlib" to Cargo.toml crate-type for integration test linking
  • Made DTOs pub: SyncEventDto, DiscoveredPeerInfo, SyncStatus,

CloudFileInfo, LicenseInfo, ActivationInfo, FfiDeviceInfo,

SdkRequest, SdkResponse (with pub fields)

  • Made functions pub: init_core, init_with_plugin_host_builder,

license_error_to_ffi, nullable_cstr_to_str, to_c_string

  • Made EntityRegistry methods pub: new, register_schema, get_schema,

get_handler, has_schema

  • Made HANDLE static pub, plugin_ffi module pub

Remaining #[cfg(test)] in cloud/config.rs and crypto/key.rs are

test-only constructors (CloudConfig::test, KdfParams::test), not

inline test modules.

Total: 360 integration tests, 0 inline test modules remaining.

minor Journal

Journal v1.11.0: rich text editor integration for text sections

Journal 1.10.0 → 1.11.0 | b318456b
Details

Replace plain TextBox controls with RichTextEditor (WYSIWYG inline markdown)

in text section editors and quick-capture card. Add persistent FormattingToolbar

with bold/italic/underline/strikethrough/code/link buttons. Text sections in

read-only views (focused view, section grid) now render formatted text via

RichTextEditor IsReadOnly mode. Feed card previews strip markdown to plain text

via updated StripLinksConverter. Search indexing and RAG chunks strip markdown

before indexing. Backward-compatible — existing plain text entries render

identically since plain strings are valid inline markdown.

patch Core

Move inline tests to integration tests for ppk, plugin-sdk, plugin-host

Details

Migrate all #[cfg(test)] inline test modules to tests/ directories as

proper integration tests. This enforces the public API boundary and

ensures tests only exercise exported interfaces.

Crates migrated:

  • privstack-ppk: 21 tests → tests/ppk_tests.rs
  • privstack-plugin-sdk: 34 tests → tests/types_tests.rs
  • privstack-plugin-host: 236 tests across 5 new files

(permissions, policy, wit_types, sandbox, manager)

Visibility changes to support integration tests:

  • lib.rs: re-export TrackingLimiter, PluginState, AuditConfig
  • wit_types.rs: make to_core_field() and to_core() pub
  • manager.rs: remove #[cfg(test)] from new_for_test
  • sandbox.rs: make track_fuel_consumption and last_fuel_consumed pub

Total: 291 integration tests, 0 inline tests remaining in these crates.

← Prev Page 70 of 266 Next →

Get notified about new releases