Releases
v2026.4.28
Compare
Sorry, something went wrong.
No results found
Changes
Split desktop draft release and asset publishing @h4yfans (#310 )
Add desktop draft release pipeline @h4yfans (#309 )
M5 notes CRUD and BlockNote CRDT bridge @h4yfans (#308 )
fix: update input handling for setupNewAccount and related tests @h4yfans (#307 )
m4: crypto keychain auth backend @h4yfans (#306 )
M3 Tauri vault filesystem and watcher @h4yfans (#305 )
m2: DB + schemas + migrations @h4yfans (#304 )
m1: Tauri skeleton + full renderer port (spike/tauri-risk-discovery) @h4yfans (#303 )
Add desktop release pipeline and updater @h4yfans (#302 )
feat: typed indicator dots in sidebar mini-calendar on calendar tab @h4yfans (#300 )
Calendar: event dots + configurable day-cell click in Day Panel @h4yfans (#299 )
feat: add calendar sync triggers and visual type filtering @h4yfans (#298 )
fix(calendar): sync Google Calendar on focus, resume, and manual refresh @h4yfans (#297 )
fix(calendar): lay out overlapping events in side-by-side lanes @h4yfans (#296 )
fix(a11y): disambiguate "Go back" aria-labels across app @h4yfans (#295 )
fix(e2e): unblock full-suite CI on calendar + tags specs @h4yfans (#294 )
ci(e2e): enable Google Calendar E2E suites in workflow @h4yfans (#293 )
ci: run only changed e2e tests on PRs @h4yfans (#292 )
feat(calendar): verify Google Calendar two-way sync via E2E @h4yfans (#291 )
Google Calendar Phase 2: redesign M7 as QR-link auth transfer @h4yfans (#290 )
feat(calendar): Phase 2 M6 — multi-account Google + sync health UI @h4yfans (#289 )
feat(calendar): Phase 2 M5 — data-model completeness + recurrence exceptions @h4yfans (#288 )
feat(calendar): M4a — Google Calendar push-channel server side @h4yfans (#281 )
M4b: desktop half of Google Calendar push channels @h4yfans (#287 )
feat(desktop): unify window chrome across sidebar collapse states @h4yfans (#279 )
test(calendar): e2e coverage for M2 promote-external flow @h4yfans (#280 )
feat(calendar): M3 — etag + field-clock conflict resolution @h4yfans (#278 )
feat(calendar): Google Calendar Phase 2 / M2 — per-event targeting + editable externals @h4yfans (#277 )
fix(calendar): M1 — propagate Google pull-side updates and deletes @h4yfans (#276 )
feat(calendar): replace event-edit drawer with anchored popover @h4yfans (#275 )
fix(calendar): create event on marquee Save-button click @h4yfans (#274 )
fix(e2e): skip V6 CRDT on CI — sync engine cursor race @h4yfans (#272 )
fix(e2e): replace wall-clock waits with product-emitted signals @h4yfans (#271 )
feat(calendar): context-aware sidebar date clicks (Calendar view vs Journal) @h4yfans (#269 )
feat(calendar): infinite horizontal day scroll in week view @h4yfans (#268 )
fix(calendar): surface silent IPC failures from quick-create/editor save @h4yfans (#267 )
feat(calendar): use global right sidebar in Day view @h4yfans (#266 )
fix(settings): always open on Account section, drop cross-session state @h4yfans (#265 )
ci: parallelize quality jobs and add turbo cache @h4yfans (#264 )
refactor(settings): compact Google Calendar connected layout @h4yfans (#263 )
fix(calendar/google): structured error logging and user-friendly messages for OAuth failures @h4yfans (#262 )
fix(crdt): keep IPC handlers app-scoped to fix signout race @h4yfans (#261 )
fix(calendar): persist events created via marquee quick-create @h4yfans (#260 )
feat(calendar): auto-scroll day/week views to current time on open @h4yfans (#259 )
feat(calendar): gate Google Calendar sync behind Memry auth state @h4yfans (#258 )
refactor(e2e): streamline Electron test fixtures and improve app life… @h4yfans (#257 )
fix(e2e): bump expect.timeout to 20s for CI shard headroom @h4yfans (#256 )
fix(e2e): make T541 row-position drop test independent of task sort order @h4yfans (#254 )
fix(e2e): give note-list sync poll 30s headroom for CI runners @h4yfans (#255 )
fix(e2e): unblock tags-rename-delete (emit tags-changed + fix selectors) @h4yfans (#253 )
chore(deps): remove unused libsodium-wrappers dep, keep -sumo variant @h4yfans (#251 )
chore(drizzle): align drizzle-orm to ^0.45.2 + add upgrading-drizzle.md @h4yfans (#250 )
chore(typescript): align typescript to ^5.9.3 across workspace @h4yfans (#243 )
chore(native): add pnpm check:native mismatch detection script @h4yfans (#248 )
ci(lockfile): add drift detection workflow + outdated:check script @h4yfans (#246 )
docs(testing): audit vitest 4 patterns + add testing-vitest.md @h4yfans (#249 )
docs(electron): add upgrading-electron.md monthly bump process doc @h4yfans (#247 )
refactor(renderer): adopt React 19 ref-as-prop + useActionState pilots @h4yfans (#245 )
chore(deps): add renovate config with grouped rules @h4yfans (#244 )
test(reminders): cover target title + existence resolution paths @h4yfans (#239 )
feat(journal): wire image upload + focus mode in editor toolbar @h4yfans (#240 )
feat(sidebar): wire tag rename + delete actions @h4yfans (#238 )
feat(tabs): implement maximize/reset-split chord shortcuts + cross-group tab movement @h4yfans (#237 )
chore(turbo): declare typecheck outputs + scope cache inputs @h4yfans (#235 )
refactor(sync): split engine.test.ts into 4 domain files + shared utils (Phase 3.2) @h4yfans (#233 )
refactor(sync/item-handlers): consolidate test fixtures (Phase 3.3) @h4yfans (#234 )
refactor(vault): split notes.ts into focused files behind facade (Phase 3.1) @h4yfans (#232 )
refactor(sync): extract BaseItemHandler<T> + migrate 13 handlers (Phase 4 U8) @h4yfans (#231 )
test(contracts): add settings + plumbing schema coverage @h4yfans (#228 )
test(contracts): add domain APIs schema coverage @h4yfans (#227 )
test(contracts): add sync cluster schema coverage @h4yfans (#236 )
test(contracts): add auth + crypto + attachments schema coverage (Phase 4 U4) @h4yfans (#229 )
test(storage): add coverage for storage-data + storage-vault (U3) @h4yfans (#230 )
test(rpc): add schema + domain coverage @h4yfans (#226 )
test(domain-tasks): add coverage for queries + commands @h4yfans (#225 )
refactor(ipc): apply registerCommand wrapper to sync handlers (Phase 2.5) @h4yfans (#242 )
refactor(ipc): split sync-handlers.ts god module (Phase 2.1–2.4) @h4yfans (#241 )
chore(vitest): include domain-tasks + rpc in shared project @h4yfans (#224 )
test(crypto): add cbor + index surface coverage @h4yfans (#223 )
test(crypto): add keys + primitives coverage with Argon2id parameter lock @h4yfans (#220 )
test(crypto): add recovery + rotation coverage (rotation had zero tests) @h4yfans (#222 )
test(crypto): keychain coverage with mocked keytar + optional macOS E2E @h4yfans (#221 )
test(crypto): add dedicated signatures coverage (RFC 8032 + tombstone regression) @h4yfans (#219 )
test(crypto): expand encryption coverage with golden vectors + boundary cases @h4yfans (#218 )
chore(crypto): add Phase 1 golden-vector fixture scaffolding @h4yfans (#217 )
refactor(sync): remove or justify remaining any usages in sync tests (Phase 1.9) @h4yfans (#216 )
test: add encryption coverage @h4yfans (#215 )
[0.6] refactor(ipc): extract registerCommand wrapper + migrate notes handlers @h4yfans (#212 )
[0.5] test(coverage): ratchet vitest thresholds from measured baseline @h4yfans (#211 )
[0.1] build(deps): bump @hono/node-server and esbuild @h4yfans (#204 )
[1.8] refactor(embeddings): type extractor with FeatureExtractionPipeline @h4yfans (#207 )
[0.3] fix(types): unblock websocket.test.ts type errors @h4yfans (#206 )
[0.2] fix(preload): swap raw console.error for createLogger @h4yfans (#208 )
[P.2] chore(lint): enforce 800-line max-lines rule @h4yfans (#210 )
test(calendar): stabilize date-sensitive page fixtures @h4yfans (#213 )
[P.1] chore(hooks): add 800-line file size pre-commit gate @h4yfans (#209 )
E2e calendar @h4yfans (#205 )
feat(calendar): Google Calendar sync + drag-to-create workspace @h4yfans (#203 )
feat(hint-mode): add Vim-style keyboard navigation @h4yfans (#202 )
fix(desktop): normalize Windows inbox filing paths @h4yfans (#201 )
style: align sidebar nav rows with folder/file row styling @h4yfans (#200 )
chore: quiet down noisy startup logs in pnpm dev @h4yfans (#198 )
feat: move search to sidebar top and fix settings scroll @h4yfans (#199 )
Add offline body-CRDT sync E2E coverage @h4yfans (#196 )
test: align inbox IPC handler coverage with domain delegation @h4yfans (#195 )
test: add test for maintaining hovered row insertion target during dr… @h4yfans (#194 )
test: align inbox IPC handler coverage with domain delegation @h4yfans (#192 )
refactor: move note writes behind projection events @h4yfans (#193 )
refactor: extract inbox domain and thin ipc handlers @h4yfans (#191 )
refactor(sync): align phase 7 record transport @h4yfans (#190 )
refactor: continue projection pipeline cleanup @h4yfans (#189 )
refactor: centralize sync dispatch via adapter registry (Phase 5) @h4yfans (#188 )
[codex] Refactor note and journal canonical metadata @h4yfans (#182 )
[codex] refactor tasks vertical slice architecture @h4yfans (#179 )
[codex] implement projection pipeline @h4yfans (#180 )
refactor: unify preload rpc and renderer service types @h4yfans (#181 )
[codex] simplify sync core architecture @h4yfans (#177 )
Align sync-server record and CRDT transports @h4yfans (#178 )
[codex] add durable inbox job pipeline @h4yfans (#176 )
[00] add architecture boundary guardrails @h4yfans (#175 )
[codex] refactor renderer effect synchronization @h4yfans (#173 )
feat(marquee): add Tab/Shift+Tab indent/outdent for marquee selections @h4yfans (#174 )
feat: block marquee selection (Finder-style rubber-band) @h4yfans (#171 )
fix: make empty task blocks clickable with placeholder text @h4yfans (#172 )
fix(deps): patch critical Electron and transitive CVEs @h4yfans (#170 )
feat: implement inline subtasks in notes @h4yfans (#169 )
feat: persist tasks tab view state across navigation @h4yfans (#168 )
refactor: remove unused home tab @h4yfans (#167 )
feat: add inline task blocks with Enter key continuation @h4yfans (#166 )
refactor: replace horizontal nav with vertical sidebar nav @h4yfans (#165 )
fix: hide sidebar toggle in split view secondary panes @h4yfans (#163 )
fix: pass viewState when navigating from linked tasks to task page @h4yfans (#164 )
fix: vertically center checkbox text in note task lists @h4yfans (#143 )
feat: polish inbox detail panel with icons, layout, and alignment @h4yfans (#142 )
feat: add inline folder creation to inbox filing dropdown @h4yfans (#141 )
feat: add link embeds and mentions to editor @h4yfans (#140 )
feat: add voice transcription with local Whisper and OpenAI BYOK @h4yfans (#139 )
refactor: remove dead code across monorepo (~762 lines) @h4yfans (#138 )
refactor: clean code audit — decompose 6 god-files and eliminate IPC boilerplate @h4yfans (#137 )
refactor: split oversized modules into focused domain files @h4yfans (#116 )
refactor: migrate settings source of truth to config.json @h4yfans (#115 )
feat: redesign note page with Picker system and editor blocks @h4yfans (#114 )
feat(desktop): settings modal and sidebar color polish @h4yfans (#112 )
feat(desktop): UI polish, inbox redesign, and settings consolidation @h4yfans (#111 )
feat: task UI refinement — redesign rows, filters, kanban, and CSS variable system @h4yfans (#109 )
Contributors
@h4yfans
You can’t perform that action at this time.