Skip to content

Releases: SamarthBhogre/ChroniNotes

v3.4.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 15:44

[3.4.1] - 2026-10-23

Fixed

  • In-app updater installer launch: Replaced the fragile batch launcher with a PowerShell helper that waits for ChroniNotes to exit, elevates machine-wide installations when needed, and reports installer launch failures.

Full Changelog: v3.4.0...v3.4.1

v3.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 03:38

ChroniNotes 3.4.0

Added

  • Windows system media controls for active and available media sessions, with track details and playback controls.
  • Redesigned studio pages for Tasks, Notes, Timer, Calendar, Habits, and Countdown.
  • A three-column Dashboard with progress and activity panels.
  • Notes library visibility controls and improved keyboard access.

Changed

  • Added depth-based page transitions and motion across the dashboard, calendar, timer, and profile.
  • Improved responsive layouts and retained visited page state while reducing inactive page rendering.
  • Updated calendar activity summaries and habit tracking rules.

Removed

  • Spotify OAuth, Web Playback SDK, and Spotify-specific backend commands in favor of Windows system media controls.

Fixed

  • Countdown date calculations and calendar refresh behavior.
  • Timer mode changes during running or paused sessions.

Full Changelog: v3.2.0...v3.4.0

v3.2.0

Choose a tag to compare

@SamarthBhogre SamarthBhogre released this 05 Jun 10:39

Added

  • Introduced a new native media integration powered by Windows Global System Media Transport Controls (GSMTC).
  • Added a Rust media provider architecture under src-tauri/src/media.
  • Added new Tauri media commands:
    • get_current_media
    • get_all_media_sessions
    • play_pause
    • next_track
    • previous_track
  • Implemented Windows media session support using the windows = 0.62 crate.
  • Added support for detecting and controlling active media sessions from compatible applications, including browsers, Spotify Desktop, VLC, Windows Media Player, and other GSMTC-enabled media sources.
  • Added the new MediaPlayer.tsx component and media.store.ts state management layer.

Changed

  • Replaced Spotify-specific controls with universal system-wide media controls.
  • Updated the About page to reflect universal media playback support.
  • Simplified application setup by removing Spotify-related configuration requirements.

Removed

  • Removed Spotify OAuth authentication flow.
  • Removed Spotify Web API integration.
  • Removed Spotify Web Playback SDK integration.
  • Removed Spotify-specific sidebar components and state management.
  • Removed the compile-time .env requirement for Spotify credentials from build.rs.

Notes

This release transitions ChroniNotes from a Spotify-exclusive integration to a universal Windows media control system, allowing users to view and control playback from any compatible media application through a single interface.

Full Changelog: v3.1.0...v3.2.0

v3.1.0

Choose a tag to compare

@github-actions github-actions released this 23 May 05:54

ChroniNotes 3.1.0

Added

  • User status system: Replaced the old status set with Working, In a meeting, Do not disturb, Idle, and editable Custom status.
  • Profile activity panel: Added a "Today's activity" summary in the profile popup with status duration cards and proportional activity bars.
  • Custom status editing: Users can edit and apply a custom status directly from the profile menu.
  • Working focus timer shortcut: Profile menu can start a Pomodoro focus session and automatically set status to Working.
  • Task/status integration: Starting an in-progress task can automatically move the user from Idle to Working.

Changed

  • Resizable sidebar: Expanded sidebar width can now be dragged from the right edge and persists in local storage.
  • Profile popup layout: Profile controls now render in a fixed viewport popup with wrapping buttons and scroll support on smaller screens.
  • Spotify playback controls: Main playback buttons now use the backend Spotify Web API controls as the source of truth, avoiding SDK device-transfer interruptions.
  • Release version: Bumped ChroniNotes from 3.0.1 to 3.1.0 across package, Cargo, lockfile, and Tauri config metadata.

Fixed

  • GitHub release build: Release workflow now falls back to the public Spotify Client ID and loopback redirect URI when repository secrets are missing, preventing SPOTIFY_CLIENT_ID is missing/empty build failures.
  • Spotify play/pause loop: Removed the paused SDK device transfer before playback actions, fixing the issue where Spotify actions appeared to immediately undo themselves.
  • Profile menu clipping: Profile popup is no longer clipped by sidebar overflow.

Full Changelog: v3.0.1...v3.1.0

ChroniNotes v3.0.1

Choose a tag to compare

@SamarthBhogre SamarthBhogre released this 07 May 09:24

ChroniNotes v3.0.1

Fixed

  • Prevented Habits from freezing when calculating streaks for break habits such as "Listening to Songs".
  • Removed a noisy Spotify API warning during Rust builds.

Installers

  • Windows setup executable
  • Windows MSI package

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 08 Mar 05:20

ChroniNotes v3.0.0

Spotify integration, Habits module, Task archiving, Unified calendar, Sidebar redesign

The biggest release yet — 5 major phases, 44 files changed, 9,186 lines added. ChroniNotes goes from 5 modules to 7, from 5 themes to 8, and gets a fully collapsible sidebar with live stat badges.


What's New

Phase 1: Spotify Integration

  • Full Spotify playback in the sidebar — play/pause, skip, shuffle, repeat mode controls
  • PKCE OAuth flow with local loopback server on 127.0.0.1:43821
  • Web Playback SDK for in-app audio playback
  • Playlist picker — browse and play Spotify playlists with thumbnails and track counts
  • Album art, track info, progress bar in the sidebar widget
  • Shuffle toggle with visual active state
  • Repeat/loop control cycling through off → context → track → off
  • Environment-based config via .env + build.rs (CI uses GitHub Secrets)

Phase 2: Habits Module (Production-Ready)

  • Daily habit tracker with full CRUD, streaks, and heatmaps
  • Build/Break goal types — "at least" targets vs. "stay under" limits
  • Section-based grouping — organize habits into collapsible sections (Health, Learning, etc.)
  • Backend streak computation — current streak, best streak, total completions, completion rate
  • Monthly calendar heatmap — toggle between week grid and intensity-based month heatmap
  • Archive management — archive, restore, or permanently delete habits (cascades logs)
  • Edit modal — all fields: name, icon, color, target, frequency, goal type, section, reminder, notes
  • Stats modal — click any habit for detailed stats and notes
  • Week navigation with arrow controls and "Today" snap-back
  • Input validation: date, time, goal type, frequency — validated in Rust before DB write
  • 5 new Rust tests

Phase 3: Task Archive System

  • Archive completed tasks — done tasks show 📦 button on hover
  • Bulk "Archive All Done" — one-click button in Done column header
  • Archive panel — slide-down panel listing all archived tasks with Restore and Delete actions
  • Restore flow — returns task to "todo" status, clears completed_at
  • New archived column with CHECK constraint and safe ALTER TABLE migration
  • 4 new Rust tests (114 total)

Phase 4: Unified Calendar Integration

  • Habit completion on calendar — month cells show ⟡ 3/5 indicators, green when all done
  • Countdown events on calendar — target dates appear as colored markers on month grid
  • Day view shows full habit breakdown with per-habit colored pills + countdown cards
  • Agenda view includes habit summaries and countdown items
  • Calendar sidebar shows per-day habit summary and countdown details
  • Data source badges — header shows live counts for events, reminders, habits, countdowns
  • No new backend commands — leverages existing stores

Phase 5: Sidebar Layout Redesign

  • Collapsible sidebar — toggle between 200px (full) and 60px (icon-only) modes
  • Ctrl+B keyboard shortcut or click the logo icon to toggle
  • Grouped navigation — "Workspace" (Dashboard, Tasks, Notes) + "Tracking" (Timer, Calendar, Habits, Countdown)
  • Live stat badges — Tasks shows active count, Habits shows active count
  • Collapsed mode — icon-only with accent dot indicators, divider lines between sections
  • Responsive UserProfileCard — avatar-only in collapsed mode
  • Spotify hidden when collapsed — prevents layout overflow
  • State persisted in localStorage

New Themes

Theme Description
Black & Red High-contrast dark with vivid red (#E31C25) accents
Smooth Blues Deep ocean base with bright cyan-blue (#1187D7) highlights
Warm Red & Blue Twin duality — red (#E53030) accents + blue (#3168B9) glass surfaces

Total: 8 themes (Midnight Indigo, Steel Blue, Warm Linen, Ember, Carbon, Black & Red, Smooth Blues, Warm Red & Blue)


Other Additions

  • Task subtasks via parent_id column
  • Task priority (Eisenhower matrix): urgent-important, important, urgent, neither
  • Task description field for notes/details
  • Task custom ordering with sort_order column and batch reorder API
  • Updated About page — 8 themes, 7 modules, 12 features, new keyboard shortcuts (Ctrl+6/7, Ctrl+B)

Fixes

  • Sidebar Spotify/profile overlap — playlist panel no longer pushes profile card off-screen
  • "Open Notes Folder" not working — auto-recreates directory if externally deleted
  • Updater install/replace flow — detects installation directory and passes /D=<dir> to NSIS
  • Windows URL parsing in Spotify auth — uses webbrowser crate instead of cmd /C start

Removed

  • macOS support — removed macOS CI jobs, bundle config, and platform-specific code. ChroniNotes is now Windows-only.
  • Bundle targets restricted to ["nsis", "msi"]

Full Changelog: v2.5.0...v3.0.0

v2.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Mar 17:52

What's new in v2.5.0

macOS Support

  • ChroniNotes now builds native .dmg installers for both Intel (x86_64) and Apple Silicon (aarch64) Macs
  • DMG includes standard drag-to-install layout — app icon on the left, Applications folder shortcut on the right
  • Minimum macOS version: 10.15 Catalina

Cross-Platform Self-Updater

  • The in-app updater now detects your OS and CPU architecture automatically and picks the correct installer from GitHub Releases (.exe on Windows, _aarch64.dmg or _x64.dmg on macOS)
  • On macOS, downloaded .dmg files are opened with the system disk image mounter instead of the Windows UAC elevation path
  • Installer name validation now accepts both .exe and .dmg extensions

CI / Release Pipeline

  • GitHub Actions now builds Windows, macOS Intel, and macOS ARM in parallel — all three run simultaneously
  • A single GitHub Release includes all installers: NSIS .exe, .msi, Intel .dmg, and ARM .dmg
  • DMG files are suffixed _x64 or _aarch64 for clear identification

Bug Fixes

  • Fixed productName typo in tauri.conf.json (ChorniNotes → ChroniNotes) — the macOS bundler lowercases productName to locate the binary, so chorninotes ≠ chroninotes caused a "No such file or directory" bundling failure; Windows was unaffected
  • Fixed CI --target flag not reaching tauri build due to double -- npm passthrough — now uses npx tauri build --target directly
  • Switched macOS CI runner from retired macos-13 to macos-latest; Intel build cross-compiles on the ARM runner

Full Changelog: v2.4.0...v2.5.0

v2.4.0

Choose a tag to compare

@github-actions github-actions released this 03 Mar 13:35

What's new in v2.4.0

Notes

  • Difficulty rating can now be cleared — previously once set it was stuck forever
  • Drag-and-drop across folders now works correctly; notes physically move to the new folder and the sidebar refreshes with the right structure
  • Reordering notes within a folder now saves to disk — your sort order persists across app restarts
  • Keyboard move (up/down) now rolls back if the save fails instead of leaving the UI out of sync

Tasks

  • Drag-and-drop status changes now roll back automatically if the backend save fails — no more stuck cards showing the wrong column
  • Status dot click-to-advance also rolls back on failure

Brand & UI

  • New CN logo monogram using Sora font with a gradient fill that adapts to every theme automatically
  • Topbar: the old hardcoded "C" badge replaced with the new CN logo
  • Loading screen: larger CN logo (108px), properly centred, with float animation
  • About modal: CN logo replaces the old sparkle icon, bumped to 52px
  • Page loading skeleton now shows the CN logo above the spinner

About & Version

  • Version number in the About modal is now pulled from package.json at build time — no more forgetting to update it manually on each release

Backend & Reliability

  • 23 new backend tests covering notes metadata sync, difficulty set/clear/absent, drag-and-drop move, sort order persistence, folder metadata, and path traversal rejection
  • Total test count: 91 tests, all passing
  • New notes_move backend command for physically relocating notes between folders

Themes

  • Added Sora font (weight 800) for logo typography
  • New --logo-grad-start and --logo-grad-end CSS tokens tuned for all 5 themes: Midnight Indigo, Steel Blue, Warm Linen, Ember, Carbon

v2.3.0

Choose a tag to compare

@SamarthBhogre SamarthBhogre released this 02 Mar 19:34

What is new in v2.3.0

Tasks

  • Fixed drag and drop which was not working; floating ghost card follows the cursor, columns glow on hover, optimistic UI update applied before backend call
  • Status dot click now cycles the task forward: todo to doing to done; the status dropdown has been removed

Notes

  • Sidebar: multi-select mode with checkboxes on every row, action bar with Select All, Select None, and Delete; keyboard shortcuts Escape, Ctrl+A, Delete
  • Folder view: Select button on the folder hero, card checkboxes, mass delete action bar with same keyboard support
  • Folder view drag-and-drop fixed using global window pointer listeners, matching the Tasks and sidebar implementation
  • Sidebar drag-to-reorder confirmed working for both notes and folders

Full Changelog: v2.2.1...v2.3.0

Full Changelog: v2.2.1...v2.3.0

v2.2.1 - Bug fixes

Choose a tag to compare

@github-actions github-actions released this 28 Feb 19:19

Bug Fixes

Calendar today indicator stuck on previous date past midnight

The today highlight (the blob/pointer on the mini calendar widget and the main calendar grid) was frozen on the wrong date for the first ~5.5 hours after midnight on devices in timezones ahead of UTC (e.g. IST UTC+5:30).

Root cause: All date string calculations used new Date().toISOString().split('T')[0]. toISOString() always returns UTC time. At 00:33 AM IST the UTC time is still 19:03 PM of the previous day, so the string returned the previous date.

Fix: Replaced all toISOString()-based local date strings with getFullYear() / getMonth() / getDate() which always reflect the device local timezone.

Files fixed: CalendarMiniWidget, Calendar page, calendar.store, ActivityHeatmap, Dashboard.

Update checker rejected valid GitHub download URLs

The updater backend was rejecting all update downloads with the error "Download URL host 'github.com' is not the expected GitHub asset host".

Root cause: The URL allowlist was hardcoded to objects.githubusercontent.com (the CDN), but GitHub's browser_download_url field in the API response always returns github.com as the host. The CDN redirect happens transparently at the HTTP level.

Fix: Updated the allowed host to github.com and added a path prefix check (/SamarthBhogre/ChroniNotes/releases/download/) to ensure the URL belongs specifically to this repo's releases.

Full Changelog: v2.2.0...v2.2.1