OpenDiskTree 1.0.7
Changelog
All notable changes to OpenDiskTree are recorded here.
1.0.7 — 2026-08-07
- Keep startup responsive by loading the root outline lazily instead of decoding thousands of historical folders at once.
1.0.6 — 2026-08-07
- Add a fast overview pass that shows depth-limited folder totals while the exact metadata scan runs in the background.
- Mark preliminary totals and estimates explicitly; they are never mixed into the exact SQLite snapshot.
- Cancel the quick pass together with the exact scan and keep the existing exact results authoritative.
1.0.5 — 2026-08-07
- Keep one SQLite transaction open for the active scan; cancellation and normal completion still finalize a consistent snapshot.
- Bind item fields directly instead of allocating a 28-value temporary array for every file, and store bulk file timestamps numerically in SQLite while keeping RFC 3339 export output.
- Increase the native
getattrlistbulkbuffer to 256 KiB for wide directories such as dependency trees.
1.0.4 — 2026-08-07
- Defer path, status and duplicate-candidate indexes until a scan finishes, avoiding three random SQLite index writes per discovered item.
- Replace the depth-by-depth correlated folder aggregation with an indexed bottom-up rollup, so finalization scales with the number of folders instead of rescanning the full table for every depth.
- Keep the visible progress counter moving independently of SQLite batch commits and label the final index/aggregation phase as finalizing.
1.0.3 — 2026-08-07
- Removed repeated root-table sorting from the scan hot path; live rows refresh at a controlled cadence while every metadata batch is still persisted immediately.
- Increased scanner transaction sizes and cached each entry's extension during native metadata conversion.
- A full-disk scan now spends its time on filesystem enumeration instead of redrawing the same SQLite result hundreds of times.
- Selected folders now persist macOS security-scoped bookmarks and keep access open for the scan, so reopening the same folder does not ask for permission again.
1.0.2 — 2026-07-19
- Read names, sizes, timestamps, file identity and link counts in the same native metadata batch instead of issuing a separate
statcall for every item. - Stop full-disk scans at nested mounted volumes, including iOS Simulator runtimes, while keeping those mount points visible in results.
- Increased SQLite insert batches and removed per-item URL construction from the scanner hot path.
- Cancelled snapshots now retain their live byte totals and are identified as partial after relaunch.
- Reworked the main window so the table and treemap use all available height, live scans do not show stale directory data, and in-progress folder sizes are clearly marked as calculating.
- Added visible elapsed time, item rate, current path, pause and stop controls during scans.
- Rebuilt the filter popover with unclipped labels, grouped controls, active-filter count and a scrollable fixed-size layout.
- Added a prominent latest-DMG download button to the README and stable release artifact names for permanent download links.
1.0.1 — 2026-07-19
- Added an Instruments Points of Interest interval around disk scans.
- Added a bounded, reproducible 1–2 million-row SQLite performance harness; one million rows complete in 15.2 seconds on the development Mac.
1.0.0 — 2026-07-19
- Native Apple Silicon disk scanner using
getattrlistbulkwith a portable POSIX fallback. - Directory outline, sortable table, treemap, search and metadata filters.
- Explainable safety labels, guarded Trash actions and Finder integration.
- Staged duplicate detection, two-snapshot history and growth comparison.
- Full JSON, CSV and SQLite exports plus a compact privacy-aware AI report.
- Russian and English localization, local rule editor and JSON rule transfer.