Releases: YannickAaron/BetterMSFile
Releases · YannickAaron/BetterMSFile
BetterMSFile v1.8
Full Changelog: v1.65...v1.8
BetterMSFile v1.65
What's New in v1.65
Stability & Reliability Overhaul
- Thread safety — All ViewModels and services now run on
@MainActor, eliminating background-thread UI updates - Race condition fix — Rapidly switching folders no longer shows stale content from a previous folder
- Task cancellation — Sidebar switches cancel in-flight loads, preventing competing requests
- Authenticated downloads — File downloads and Quick Look now use proper Bearer token authentication
- Background auth handling — Token refresh failures are handled gracefully instead of leaving the app in a broken state
API & Networking Fixes
- Profile fetch — User profile now routes through
GraphClientwith full retry/throttle support - KQL injection fix — Search queries with special characters (
(),:,*, etc.) no longer break search - Date filter — "Past Week / Month / Year" search filters now actually work (were previously ignored)
- Parallel Teams loading — SharePoint sites and Teams load in parallel instead of one-by-one
- Search scope pagination — "My OneDrive" scope no longer shows incorrect result counts
User Experience
- Error feedback — Download failures, Quick Look errors, and move errors now show alert dialogs instead of failing silently
- Sidebar error state — "Teams & Sites" section shows error message + Retry button when loading fails
- Download collision handling — Downloading a file that already exists appends a counter (e.g.,
report (1).pdf) - Cross-drive move prevention — Dragging files between OneDrive and SharePoint shows a clear error instead of a silent API failure
- Folder name validation — Invalid characters are caught before sending to the API
- Loading indicators — Every sidebar switch now shows immediate loading feedback
- Temp file cleanup — Quick Look temp files older than 24 hours are cleaned up on launch
Technical
UpdateServiceobservable — Update badge in sidebar now properly triggers SwiftUI re-renders- ISO8601 formatter cached — Date parsing performance improved (no longer creates formatter per-file)
- Force-unwrap removal — URL construction and Downloads directory access are now safe
- Frecency accuracy — File access is only recorded after successful open/preview, not before
Full Changelog: v1.6...v1.65
BetterMSFile v1.6
What's New in v1.6
Create & Delete Folders
- New Folder — Right-click or press ⌘⇧N to create folders directly in OneDrive and SharePoint
- Delete — Remove files and folders with a right-click context menu, with confirmation dialog
- Multi-select delete supported
Update Notifications
- App now checks GitHub Releases for new versions on launch
- One-time alert dialog when an update is available, with a "Download" link
- Persistent "Update Available" badge in the sidebar
Favorites & Frequently Used
- ⌘D to pin/unpin favorite files and folders — shown in the sidebar
- Frequently Used section powered by frecency scoring
Scoped Search
- Filter search results by team, site, or your OneDrive
Drag & Drop Reorder
- Drag files to reorder within a folder — custom sort persists across sessions
Other
- Keyboard shortcuts section on the website
- Updated landing page with new feature cards
Full Changelog: v1.4...v1.6
BetterMSFile v1.4
What's New in v1.4
Favorites
- Pin files and folders to the sidebar for instant access
- Toggle with Cmd+D or via context menu / inspector
- Persists across app launches
Frequently Used
- Smart suggestions based on your usage patterns (frecency algorithm)
- Top 5 most-used files surface automatically in the sidebar
- Zero setup — learns from how you use the app
Scoped Search
- Narrow search to a specific team, site, or your OneDrive
- New scope picker in the search filter bar
- Reduces noise when you know where to look
Drag & Drop File Management
- Drag files into folders to move them (requires
Files.ReadWrite.Allpermission) - Drop files onto breadcrumb bar to move to parent folders
- Folder highlighting on hover for clear visual feedback
- Optimistic updates — files move instantly with rollback on error
- Multi-select support (Cmd+click / Shift+click) for batch operations
Custom File Ordering
- Drag to reorder files within a folder
- Custom order persists per folder across sessions
- Reset to default with one click
Other Improvements
- Multi-select support with "N items selected" in the inspector
- Version number displayed at the bottom of the sidebar
- GitHub Pages landing page with new feature highlights
- Release automation script (
scripts/release.sh) - Updated permissions:
Files.ReadWrite.Allfor file move operations
BetterMSFile v1.2
What's New in v1.2
Features
- Search pagination — "Load More Results" button at the bottom of search results to load the next 25 results
- Date filter — Filter search results by time range: Past Week, Past Month, Past 3 Months, Past Year
- Result count — Shows "X of Y results" when total is known
- Retry button — Error screens now include a Retry button
Reliability
- Auto-retry on token expiry (401) — Silently refreshes token and retries the request, no re-login needed
- Auto-retry on server errors (502/503/504) — Retries once after 2s delay; search timeouts often succeed on retry
- Shorter search queries blocked — Minimum 2 characters required to prevent broad queries that cause timeouts
- Longer debounce (500ms) — Fewer intermediate API calls during typing
- Smaller result pages (25) — Faster Graph API responses, fewer 504 timeouts
- 30s request timeout — Prevents UI from hanging on slow responses
- Pagination safety limit — Max 100 pages to prevent infinite loops
- Memory cache cap — Evicts oldest entries after 50 to prevent unbounded growth
- Search race condition fix — Cancelled searches no longer overwrite current results
- KQL escaping — Special characters in search queries no longer break the API
- Auth state consistency — Failed interactive login properly resets auth state
- User-friendly errors — "Search timed out — try a more specific query" instead of raw JSON
Technical
- Signed with Developer ID and notarized by Apple
- Universal binary (Apple Silicon + Intel)
BetterMSFile v1.1
What's New in v1.1
Bug Fixes
- Fixed "Open in Word/Excel/PowerPoint" — Now uses
webDavUrlfrom Microsoft Graph API for reliable direct file opening in Office desktop apps - Fixed file type detection — PowerPoint files no longer incorrectly show Word icon (fixed MIME type matching order)
- Fixed login loop — Resolved Keychain access error (OSStatus -34018) that caused repeated login prompts
- Fixed redirect URI mismatch — Corrected Azure AD authentication configuration
Improvements
- Microsoft Office icons — Real app icons from installed Word, Excel, PowerPoint apps instead of generic SF Symbols
- Thumbnail previews — File preview thumbnails in the inspector panel
- Copy link feedback — Visual "Copied!" confirmation when copying share links
- Teams & Channels — Browse Teams channels as folders with their files
- All SharePoint sites — See all sites you have access to, not just followed sites
- Loading indicators — Visual feedback when navigating between folders
- Enhanced context menus — Open in native app, copy link, download from right-click
Technical
- Signed with Developer ID and notarized by Apple — no Gatekeeper warnings
- Universal binary (Apple Silicon + Intel)
BetterMSFile v1.0
BetterMSFile v1.0
A native macOS file manager for Microsoft 365 — browse OneDrive, SharePoint, and Teams files in a Finder-like experience.
Features
- Browse OneDrive "My Files", Recent, and Shared with Me
- Browse all SharePoint sites and Teams you have access to, including channels
- Search across all your Microsoft 365 files
- Open files directly in Word, Excel, or PowerPoint desktop apps
- Copy sharing links with one click
- File preview with thumbnails in the inspector
- Keyboard navigation (Enter to open, Backspace to go back, Space for Quick Look)
Installation
- Download
BetterMSFile-v1.0.dmg - Open the DMG and drag BetterMSFile to Applications
- Launch and sign in with your Microsoft 365 account
Requirements
- macOS 15.2 or later
- Microsoft 365 account (work or school)