Notes for the betas of the next version are on the Beta page.
Quick Look on macOS 15 and 26, neutral colours, reproducible metrics — v1.23.1
2026-10-23
Fixed
Finder thumbnails and Quick Look previews on macOS 15.6 to 26.1 — FITS files showed no thumbnail or Space-bar preview on these versions; the Quick Look extensions only worked from macOS 26.2. They now work on every macOS version FITS Blaster supports.
Colour cast in the colour view — with Colour on, a folder could be shown with a strong colour cast (the M31 sample set looked magenta). The sky background now stays neutral.
Reproducible metrics — opening the same folder twice always gives the same star counts, SNR, PSF Signal Weight and eccentricity. Values on affected frames change once, by no more than they already varied.
Damaged or unusual FITS files no longer crash FITS Blaster or Quick Look; they're skipped with an "Invalid FITS format" message. Images larger than 65,536 pixels per side are not supported.
Full screen with the keyboard — fn-F and ⌃⌘F now switch to full screen (fn-F used to flag the selected frame), and other 🌐 shortcuts such as 🌐E reach macOS.
Load speed in the info bar is correct again after opening another folder.
Command-line mode, new quality metrics, better colour-camera measurements — v1.23
2026-10-20
Added
Command-line mode — run the app's executable with a folder path to measure every frame without opening a window and write a CSV of the results. Add quality thresholds to export only the frames that pass. Run it with --help for all options, or see the FAQ. Not available in the Mac App Store version.
PSF Signal Weight (PSF·S) — a new metric for transparency and seeing: star peak brightness relative to sky noise. Shown in the inspector, session chart, sort menu, and exports, and available as an Auto-Flag criterion.
Sky background — the sky level of every frame, in the inspector, the session chart, and the sort menu. Auto-Flag can flag frames whose sky is too bright.
Export options — choose FITS header columns (object, exposure, filter, temperature, focus position and more), export as TSV, include rejected frames with a status column, add the quality score, and pick absolute, relative, or filename-only paths. The plain text export is now an aligned, readable report.
Play mode — press P to step through the frames automatically at an adjustable speed.
Flip 180° — press V to rotate the current image, or the selection, for display. The FITS files aren't changed.
Session chart can show bars instead of dots.
Zoom — a fit button scales the image to the viewer, the zoom percentage jumps to 1:1, and clicking the image pins a point that stays centred while you zoom and step through frames.
Target Background slider replaces the Brightness slider, matching PixInsight's convention.
Quick Look previews and thumbnails for floating-point and RGB FITS files, such as stacked integrations.
Beta updates — Settings → Interface → Software Updates can switch on beta releases. Not in the Mac App Store version.
Sample data — an M31 sample set to try FITS Blaster without your own images (see the FAQ).
Improved
Stretch — a PixInsight-style screen transfer function: darker background, more contrast in faint nebulosity, no blown-out highlights. Mono frames in the same folder and filter share one stretch, so brightness no longer flickers while you step through them.
Colour (OSC) cameras — FWHM and eccentricity are now measured on debayered, full-resolution star images. Rankings agree closely with PixInsight's SubframeSelector.
Eccentricity detects elongated stars at any angle, not just horizontal or vertical.
Finder thumbnails — FITS thumbnails no longer fall back to the app icon in Finder's icon view, and files in iCloud Drive that aren't downloaded no longer stall other thumbnails.
Navigation — each filter group and each view (All, Flagged, Rejected) remembers its selected frame.
Sidebar — filter pills wrap onto more rows, and the sidebar can be made wider.
Open Folder options (subfolders, REJECTED folder) now appear in a popover on the Open Folder button and ⌘O.
VoiceOver labels for the inspector, chart and filter controls.
Changed
The quality score always uses every metric that could be measured; the per-metric on/off settings are gone.
The metric chips above the session chart are now optional (Settings → Display).
The version downloaded from the website is no longer sandboxed, so command-line mode can read any folder you give it.
Fixed
Crash at launch on some macOS 27 versions.
Filter codes H, O and S showed as "Unfiltered"; they now map to Hα, OIII and SII, and IR to Luminance.
CSV numbers could lose their decimals with a comma-decimal region setting (Dutch, German, French).
Dropping a folder on the app icon in the Dock didn't open it.
In full screen, the window controls didn't appear at the top of the screen, and switching between Geek and Simple mode left an empty column.
Filter buttons didn't work in sessions with more than one folder.
The selected frame was lost when switching views or unflagging in the Flagged view.
The session chart's cursor dot didn't follow navigation, and single-frame folders drew outside the chart.
Sparkle auto-update — v1.22
2026-04-08
Added Automatic update checking via the Sparkle framework — checks once every 24 hours in the background.
Added "Check for Updates..." menu item in the FITS Blaster menu for manual update checks.
Added Updates are downloaded, installed, and relaunched automatically — no manual DMG drag required.
Improved FAQ updated: internet connection answer now mentions the lightweight update check.
Image viewer controls — v1.21
2026-04-08
Added Zoom slider (0.25×–4×) with live readout; trackpad pinch-to-zoom also supported.
Added Brightness and stretch sliders for real-time display adjustment without re-rendering.
Added "Defaults" button to reset all three sliders in one click.
Added Yellow viewport-indicator box on the sidebar thumbnail shows which part of the image is currently visible when zoomed in.
Improved Scrollbars appear automatically when the image overflows the viewport.
Improved Scroll position is preserved when navigating between frames at the same zoom level.
Improved Zooming via the slider keeps the viewport centre fixed rather than jumping to the top-left.
Improved Zoom level persists across app launches; brightness and stretch reset when opening a new folder.
QuickLook support and Bayer screen-door fix — v1.20
2026-04-08
Added
QuickLook preview: press Space on any FITS file in Finder to get a rendered preview without opening FITS Blaster. The preview uses the same percentile-clip + square-root stretch as the app.
QuickLook thumbnails: Finder icon view now shows rendered FITS images as file icons, in colour for Bayer (e.g. Seestar, Dwarf) files.
Fixed
Screen-door grid pattern in colour (debayer) mode for raw Bayer FITS files. The bayerDebayerAndStretch Metal kernel now applies the same 2×2 Bayer cell alignment as the greyscale path, guaranteeing every output pixel spans at least one complete Bayer cell. Confirmed fixed with images from the Seestar S30, Seestar S30 Pro, Seestar S50, and Dwarf 3.
Improved
Release builds now produce a universal binary (arm64 + x86_64), so the same DMG runs natively on both Apple Silicon and Intel Macs.
Per-folder streaming colour rendering — v1.19.6
2026-04-05
Improved
Colour rendering now starts per-folder as soon as all entries in a folder are sampled, both during initial load and when switching from grey to colour mode. Previously the entire set had to finish sampling before any rendering began.
The Colour progress bar is visible for the entire duration of rendering and no longer flickers in and out between folders.
All progress bars (Loaded, Metrics, Sampling, Colour) now stay on screen until the full batch completes, rather than disappearing individually as each pipeline finishes.
Progress bar count text no longer clips with 4-digit image counts (1000+ images).
CI updated to Xcode 26 — v1.19.5
2026-04-04
Improved
Release builds now use Xcode 26.3. The @concurrent pipeline annotations introduced in v1.19.2 are now fully effective, ensuring all image loading, stretching, and metrics computation always runs on the cooperative thread pool.
Concurrency revert — v1.19.4
2026-04-04
Fixed
Reverted @concurrent pipeline annotations. The attribute causes a ~2× slowdown when compiled with Xcode 16 and is not yet safe to use in CI builds. Restores the throughput of v1.19.1.
Concurrency performance hotfix — v1.19.3
2026-04-04
Fixed
Restored full pipeline throughput in the release binary. The SE-0461 concurrency setting added in 1.19.2 was silently ignored by the Xcode 16 compiler, causing metrics computation to serialise on the main thread and producing a ~2× slowdown.
Concurrency performance fix — v1.19.2
2026-04-04
Fixed
Restored full parallel pipeline throughput when building with Xcode 26 (Swift 6.2). A Swift 6.2 concurrency change (SE-0461) was causing the image-loading pipeline to run serially on the main thread, producing a ~3× slowdown. All pipeline async functions are now marked @concurrent to guarantee thread-pool execution.
Progress bar and colour rendering fixes — v1.19.1
2026-04-04
Improved
Progress bars are now shown below the main image again, next to the elapsed-time indicator.
The selected image now switches to colour immediately when colour rendering begins, rather than waiting for its turn in the batch queue.
Release builds are arm64-only, restoring native Apple Silicon performance.
Batch progress bars — v1.19.0
2026-04-04
Added
Batch progress bars (Loaded, Metrics, Sampling, Colour) appear in the toolbar during image loading, showing live progress for each pipeline phase. Each bar disappears automatically when complete.
Fixed
In Simple mode with a multi-folder session, folder sections now appear in the sidebar (previously only Geek mode showed folder groupings).
Keyboard navigation follows sidebar order — v1.18.1
2026-04-03
Fixed
Keyboard navigation (↑/↓/Home/End/Shift+↑/Shift+↓) now steps through entries in the same order they appear in the thumbnail strip. In sessions with multiple filter types (Ha, OIII, SII), pressing ↓ advances within the current filter-group section before moving to the next.
In multi-folder mode, keyboard navigation skips entries inside collapsed folder sections so the cursor can no longer land on a hidden thumbnail.
F key — toggle flag/unflag on the current entry or orange range selection (configurable in Settings → Keyboard).
D key — deflag all: clears the entire flagged set in one keystroke (configurable).
(De)flag toolbar button — toggles the flag state of the current entry or orange range, always visible next to the Cancel button.
(De)flag and Deflag All added to the Select menu, separated from range-selection commands by a divider.
Session chart brightness sliders in Settings → Display: independently control the opacity of rejected dots and non-flagged dots when a flagged set is active.
Tooltips on all toolbar buttons, session chart metric buttons, and sidebar sort button; tooltip delay reduced from ~1.5 s to 0.5 s.
Getting Started guide page on the website — full workflow walkthrough, interface overview, key hints, and tips.
Keyboard Shortcuts reference page on the website — all default bindings in one place.
Top-level navigation bar on all website pages, replacing scattered footer links.
Improved
Mode toggle button now shows Simple or Geek (the current mode) instead of a blank label, matching the Colour/Grey button convention.
Session chart brightness contrast: rejected dots now render at 15 % opacity and non-flagged dots at 50 %, making the three-level hierarchy (rejected → non-flagged → flagged/cursor) clearly readable.
Key-binding conflict detection in Settings now correctly separates plain keys from ⌘-modifier keys, preventing false conflicts (e.g. plain D vs ⌘D).
Removed
File → Open File(s)… menu item removed due to sandbox limitations.
⌘A/⌘D/⌘I operate on range selection — v1.17.1
2026-04-01
Fixed
⌘A, ⌘D, and ⌘I now operate on the orange range selection (consistent with ⇧+click and ⇧+arrow) rather than the flag set.
Improved
FAQ: ⌘A / ⌘D / ⌘I documented in the Flagged view entry and the keyboard shortcuts entry.
Selection redesign, SO filter group — v1.17.0
2026-04-01
Added
SO (SII+OIII) dual-narrowband filter group with emerald colour — recognises Askar C2 and similar filters.
Improved
Selection model fully redesigned: cursor (blue, always one frame) and range selection (orange, built with ⇧+click or ⇧+arrow) are now independent with no side effects between views.
⇧+click and ⇧+arrow build an orange range in any view; ⌘+click adds/removes the range to/from the Flagged view.
Reject acts on the orange range if active, otherwise on the cursor. In the Flagged view, rejected frames stay orange for immediate undo.
Session chart cursor dot is now white for instant position recognition; rejected frames always shown at 30% opacity.
Sidebar thumbnails show a checkmark badge on flagged frames and an orange border on range-selected frames.
FAQ: updated session chart and Flagged view entries to reflect the new model; added full filter-group colour table with swatches.
Ask Support link, FAQ improvements — v1.16.3
2026-03-31
Added
Help menu: new Ask Support item opens the GitHub bug report form directly.
Improved
FAQ: added "What do the colours and brightness levels in the session chart mean?" explaining filter-group dot colours, dashed median lines, and the spotlight brightness hierarchy.
FAQ: corrected "What is the session chart?" — dot colour represents the filter group, not the quality badge.
Session chart now dims non-selected frames when a multi-selection is active, creating a three-level brightness hierarchy: rejected (darkest) → non-selected → selected (full brightness). Works for both sidebar selections and chart drag-selections.
Auto-Flag sheet: SNR threshold is now enabled by default.
Fixed
Auto-Flag sheet: all threshold labels corrected from "Reject if …" to "Select if …".
Cmd+Click in the Flagged view with a multi-selection active (e.g. after Cmd+A) now removes the entire selection at once.
Bug fixes — v1.16.1
2026-03-31
Fixed
Website feature list said "drag-to-reject" and "Auto-reject" — corrected to "drag-to-select" and "Auto-select".
Folder count badge in the thumbnail sidebar showed the total file count regardless of the active view; it now reflects only entries visible in the current view (All / Flagged / Rejected).
Metric buttons above the session chart (Score, FWHM, Ecc, SNR, Stars) did not visually indicate which metric was active; the selected button is now filled (prominent).
Cmd+Click in the Flagged view was toggling multi-selection instead of removing the entry from the selection; it now always unflags the clicked entry.
Shift-click multi-select did not work at first open until the user clicked the first thumbnail; the shift-click anchor is now seeded when the first image is auto-selected on load.
Include REJECTED, Select All Rejected & more — v1.16.0
2026-03-29
Added
Include REJECTED folder — checkbox in the Open Folder dialog loads FITS files inside any REJECTED/ subfolder and marks them as rejected automatically. A permanent toggle is in Settings → Files & Folders.
Cmd+R — Select All Rejected — selects all rejected frames in one keystroke. Configurable in Settings → Keyboard.
Sort by Rejected — new option in the thumbnail sort picker; rejected entries sort to the bottom (ascending) or top (descending).
Ko-fi link added to the About FITS Blaster panel.
"How Scores Work" page added to the website, explaining background estimation, star detection, shape measurement, the composite score formula, and badge-colour logic.
Fixed
Reset now always switches back to "All frames" mode.
Cmd+click in "Flagged" mode with an active multi-selection now toggles the clicked entry instead of unflagging everything.
Shift+click range selection now works from the very first open.
Session chart now enlarges dots for all multi-selected thumbnails.
Undo reject correctly moves files back to their pre-rejection folder when loaded via "Include REJECTED".
Cmd+A (Select All) and other command-key shortcuts now work reliably across all keyboard layouts.
Bug fixes & polish — v1.15.1
2026-03-27
Fixed
Opening a folder no longer causes a spinning beach ball when files are stored on iCloud Drive or a slow mount. The BITPIX pre-flight check now runs on a background thread instead of the main thread.
Improved
Help menu "FITS Blaster Help" now opens the online FAQ directly.
FAQ updated: corrected references to Auto-Flag, removed outdated subscription mentions.
Switch to donationware — v1.15
2026-03-25
Removed
Subscription, paywall, and 50-frame free-tier limit — FITS Blaster is now free with no restrictions. If you find it useful, buy me a coffee.
Fixed
Sandbox permission error when rejecting files: folder access is now re-established automatically when the stored bookmark is missing or stale, with a clear error message if access cannot be recovered.
Flagged view & selection overhaul — v1.14
2026-03-25
Added
Flagged view — a sidebar filter showing only flagged frames. Add frames via ⌘+click, ⇧+click, chart drag-select, or Auto-Flag; remove them with ⌘+click inside the view.
Flag-then-inspect workflow — chart drag-select and Auto-Flag now add frames to the Flagged view for inspection before rejection, rather than rejecting immediately.
Select menu — top-level menu with Select All, Deselect All, and Invert Selection (defaults: ⌘A / ⌘D / ⌘I), all configurable in Settings.
Shift+↑/↓ extend selection — grows the multi-selection one step at a time.
Drag tooltip — while drag-selecting in the session chart, a floating label shows the metric value of the frame under the cursor.
Fixed
Arrow-key navigation now stops at the boundary of the visible set rather than crossing into hidden frames.
Improved
Session chart has breathing room before the first dot, making drag-select from frame 1 easier.
Pipeline fix + toolbar buttons — v1.12.5
2026-03-24
Fixed
Geek-mode load time regression (100 s → 62 s on M1 Air, 592 images): GPU star-detection moved back to Phase B, keeping Phase A as I/O + GPU stretch only.
Phase B semaphore raised from 2 to 6 on M1 Air, restoring throughput to match v1.12.3.
Added
Colour/Grey toggle button and Cancel button added to the toolbar.
Phase A/B pipeline decoupling — v1.12.4
2026-03-24
Improved
Loading pipeline decouples I/O from metrics: Phase A (FITS I/O + GPU stretch) displays each image immediately; Phase B (Moffat fitting) runs concurrently in detached tasks.
Phase A concurrency raised to max(8, cpuCount) — keeps the SSD pipeline fuller since slots are no longer held by CPU-bound metrics work.
Peak memory reduced: the ~100 MB Metal buffer per image is released after crop extraction rather than being held for the full Phase A+B duration.
GPU downscale + parallel Moffat fitting — v1.12.3
2026-03-24
Improved
Metal stretch kernels now downsample directly to display size in a single GPU pass using a box filter — Grey+Simple load time: 53 s → 28 s; Colour+Simple: 168 s → 82 s.
Moffat star fitting now uses a 4-wide inner task group, reducing Geek-mode Phase B time.
Added
Cancel button in the info bar to abort an in-progress load.
GPU Bayer debayering — colour FITS images can now be displayed in colour using a Metal compute shader with per-channel percentile stretch. Toggle in Settings → Image Display.
Per-folder colour normalisation — images load as greyscale first, then re-render in colour with consistent per-subfolder stretch after the batch completes.
Resizable session chart — drag handle replaces the fixed split; chart height is remembered across launches.
Dynamic y-axis — chart y-axis starts near the data minimum rather than at zero.