Skip to content

Releases: Himath-Rajapaksha/AFO

v3.1.1 — Update mechanism test

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 25 Jul 07:30

Trivial version bump to test the auto-update mechanism from v3.1.0. No feature changes.

v3.1.0 — Auto-Updates + Rule Import/Export + History Search

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 25 Jul 07:05

What's New

Phase 1: Rule Import/Export + History Search & Filtering

  • Rule Import/Export: Export rules as JSON, import with conflict resolution dialog
  • History Search: Search by filename substring (server-side, searches full database)
  • History Filters: Filter by operation type (move/copy/rename/delete) and date range
  • 17 tests passing (import validation + search/filter + round-trip diff)

Phase 2: Auto-Updates

  • Built-in update checker using tauri-plugin-updater
  • Checks for updates on app start + every 60 minutes
  • Toast notification with version, release notes, and install button
  • Signed update artifacts for security verification

Bug Fixes

  • Journal initialization race condition on Windows (retry mechanism)

Testing the Updater

  1. Install v3.0.3 (previous version)
  2. This v3.1.0 release is the first with updater support
  3. The app will check for updates and notify you when available

v3.0.3 — Disable DevTools + Light Theme Fix

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 24 Jul 10:01

Changes

  • Removed devtools access from production builds
  • Fixed light theme font colors in Rule Builder visual editor (v3.0.2)

Packages

  • AFO_3.0.3_amd64.deb — Debian/Ubuntu
  • AFO-3.0.3-1.x86_64.rpm — Fedora/RHEL
  • afo.exe — Windows x64 (standalone)

v3.0.1 — New AFO Icon + Linux Icon Fix

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 24 Jul 09:15

Changes

  • Replaced icon with new blue AFO funnel icon across all platforms
  • Fixed Linux desktop icon: added standard hicolor sizes (32x32, 48x48, 64x64, 128x128, 256x256, 512x512)
  • Previous deb only shipped 2048x2048 which GNOME ignores for app icons
  • Generated proper .icns for macOS, .ico for Windows, all iOS/Android sizes

Packages

  • AFO_3.0.1_amd64.deb — Debian/Ubuntu
  • AFO-3.0.1-1.x86_64.rpm — Fedora/RHEL

v3.0.0 — Major Release

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 24 Jul 08:21

v3.0.0 Release

New Features

  • Tutorial Panel — dedicated onboarding panel in sidebar (no modal overlay)
  • Storage Redesign — macOS-style drive detection with auto-scan
  • Live Capture Remove — button to remove watched directories
  • New Blue App Icon — updated branding

Bug Fixes

  • CommandPalette: stopPropagation prevents accidental close
  • Storage bar now works for custom directories
  • Eliminated modal overlay bugs

Artifacts

  • AFO_3.0.0_amd64.deb
  • AFO-3.0.0-1.x86_64.rpm

AFO v2.5.49

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 23 Jul 14:08

Fix notification toast in live capture mode by standardizing event name to 'afo://file_change'. See Project_Log.md for full changelog.

AFO v2.5.48

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 23 Jul 12:34

Fix double-toast in auto-organize mode

This release fixes a bug where the activity event was being emitted twice for auto-organize mode, causing duplicate toasts in the Live Capture panel.

Changes:

  • Fix duplicate activity events when capture mode is AutoOrganize
  • Only emit activity event if capture_result is not AutoOrganized
  • The afo://file-change event already handles the toast for auto-organize
  • Bump version to 2.5.48

Assets:

  • AFO_2.5.48_amd64.deb (Debian package)
  • AFO-2.5.48-1.x86_64.rpm (RPM package)

v2.5.47 — Sidebar Collapse + Live Capture Toast Fix

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 23 Jul 11:12

v2.5.47 — Sidebar Collapse + Live Capture Toast Fix

New Features

  • Sidebar collapse-to-icons toggle. Click the chevron at the bottom of the sidebar to collapse it to a 60px icon-only rail (like VS Code's activity bar). Labels hide, icon tiles remain with tooltips on hover. State persists to localStorage across restarts.

Bug Fixes

  • Live Capture toast notifications now work correctly for all capture modes. Diagnosed as event double-fire: both afo://pending-action and afo://file-change were emitted for NotifyOnly mode, causing competing toasts where the first could be auto-dismissed. Consolidated to a single afo://file-change event with typed change_type field.
  • Added Live Capture notification toggle in Settings > Notifications, matching the existing operationComplete/scheduledRun/errorAlerts pattern. Toasts now respect this toggle.

Changes

  • Version bump to 2.5.47 across all files + GUI labels
  • Sidebar uses Framer Motion for smooth width transitions
  • Sidebar collapse state persisted via localStorage

v2.5.45 — Live Capture Toast Fix

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 23 Jul 10:47

v2.5.45 — Live Capture Toast Fix

Bug Fixes

  • Live capture toast notifications now work for all capture modes. Previously, toasts only appeared for NotifyOnly (pending-action) and AutoOrganize with matching rules. FullCapture and AutoOrganize-without-rule-match produced no toast at all.
  • Added afo://file-change event emitted for every file change in any watched directory, with a change_type field indicating what happened.
  • Frontend listens for the new event and shows a contextual toast regardless of capture mode.

Previous v2.5.45 features

  • Critical security + journal integrity fixes
  • Watcher events detection fix (unbounded channel)

v2.5.44 — Performance Efficiency Audit

Choose a tag to compare

@Himath-Rajapaksha Himath-Rajapaksha released this 23 Jul 04:32

Performance Efficiency Audit — 7 High-Impact Fixes

Backend

Database (journal.rs)

  • Added index on operations.reverted — undo/redo queries now use index instead of full table scan
  • Added PRAGMA busy_timeout = 5000 — graceful handling under contention

Watcher (watcher.rs)

  • Consolidated double Mutex lock into single acquisition — 50% less lock contention on hot path

Rule Engine (rule_engine.rs)

  • Changed regex cache from Mutex to RwLock — concurrent reads no longer serialized

Duplicates (duplicates.rs)

  • Eliminated triple fs::metadata per file — carry size/modified through pipeline (saves ~20K stat calls per 10K files)

Organizer (organizer.rs)

  • Added extension check before metadata extraction — skip EXIF/audio parsing for non-media files (saves ~1800 file opens per 1000 mixed files)

Channel (lib.rs)

  • Increased watcher channel capacity 100 → 1000 — prevents event loss during bulk file operations

Frontend

App.tsx — Conditional rendering

  • Replaced display: none pattern with conditional rendering
  • Only the active panel is mounted — eliminates 6 unnecessary component trees at startup
  • Stops LiveCapture 5s polling when panel inactive (~48 API calls/min saved)
  • Stops ChangeTimeline 10s polling when panel inactive (~6 API calls/min saved)

Impact Summary

Fix Before After
DB index on reverted Full table scan Index seek
Mutex contention 2 locks per event 1 lock per event
Regex cache reads Serialized Concurrent
Metadata reads per file 3 stat() calls 1 stat() call
Non-media metadata Always extracted Skipped
Channel capacity 100 (event loss) 1000 (no loss)
Panel mounting All 7 always mounted Only active panel

Packages

  • AFO_2.5.44_amd64.deb — Debian/Ubuntu
  • AFO-2.5.44-1.x86_64.rpm — Fedora/RHEL