Release history

Changelog

Nocturne is in active development and moving fast. Here's what's landed, newest first.

65releases
v0.56.0current
Jun 2026first release

v0.56.0

A stretch that no longer crushes the sky, and a histogram that shows its colours honestly.

25 October 2026

Changed

  • Stretch sets its black point the way PixInsight and Siril do, so far less of the sky goes to pure black: Unlinked used to send about 2–3% of the sky to black and now sends under 0.3%. The sky looks slightly lighter and the contrast a little lower; raise Aggressiveness if you want more. Projects and recipes saved earlier keep their old stretch. A project saved with this version and opened in an older Nocturne uses the old stretch for an Unlinked step.
  • The histogram adds its colours together, so where all three channels overlap the curve is grey. A peak every channel shares no longer looks blue.
  • Panels no longer suggest installing or switching to another star tool. They say which star detection ran.

Fixed

  • Levels: when Auto black point has nothing to take, it leaves the picture alone and says so. Before, it made a change too small to see and still turned on Apply.
  • Integration times over an hour round to the nearest minute (76.7 minutes showed as 1 h 16 m) and now match the master's file name.

v0.55.0

Big stacks that finish, gallery sends that bring their plate solve, and a fuller provenance report.

21 October 2026

Added

  • Sending a picture to the gallery now includes its plate solve, so the website can place it on the sky straight away.
  • Provenance report: Crop and Trim record which part of the picture you kept; Capture names the filter, gain, focal length, how long you captured for, the file and any trim; steps run by Auto Enhance or a preset say so; Star Colour and Sharpen Nebulosity record which star remover ran.

Changed

  • The provenance report describes Tint, Curves, Colour Balance and Narrowband in the same words their panels use. Curves are described by what they do to the dark, middle and bright tones.
  • The Stack dialog is quicker with thousands of frames: arrow keys are instant, and the chart no longer stalls.

Fixed

  • Drizzle no longer uses more memory with every frame. 2000 frames now drizzle in about 11 GB; before, 1000 frames needed 36 GB and kept climbing.
  • Stacks from several nights at a remote telescope now split the nights at the site's own midday, not your computer's.
  • A reopened project uses its saved plate solve only if it still fits the picture. After a crop, flip or rotation, it solves again.
  • StarNet2 failed on crops smaller than 512 pixels, for example in Upscale Crop, with "CLI failed (255)". It works now.
  • When an outside tool fails, the message shows its last line, the one that says why.
  • A stack running in the background no longer cuts off the main window's log.
  • The scale-bar tip in Plate Solve mentions the full Moon once.

v0.54.0

A calmer, clearer plate-solve overlay, the nebula names that were missing, and a provenance report that says only what it knows.

16 October 2026

Added

  • Lynds' Bright Nebulae (LBN): 278 faint nebulae appear on the plate-solve overlay at density All, as labels with a small ring that marks where each one is.
  • A Glossary in Help: 44 astrophotography terms in plain words, from stretch and black point to SPCC and HOO.

Changed

  • Plate solve has a new look: big objects in salmon with their common name underneath, small ones in white, no leader lines, a soft halo behind the text, gapped crosshairs on named stars, and grid labels on their lines. Colour by type is gone.
  • The provenance report says which tool actually ran Noise Reduction, in plain names, and takes its Engines section from what the steps recorded rather than from the tools you have set up today. Where something wasn't recorded, it says so.
  • An Upscale Crop copy or a Combine result reports what it was made from, instead of "No processing steps applied".
  • The Crop and Stretch panels open faster on large pictures.

Fixed

  • Nebula common names such as Horsehead, Soul, Cave and Wizard now appear in the downloaded app. They were missing from every build since 0.10.0; plate solving itself always worked. IC 434 is no longer called the Flame Nebula.
  • Plate solving failed on some pictures after strong noise reduction. It now retries and solves them.
  • A reopened project listed every Rotate and Flip as a Crop. The picture was always right; the names are now right too, and projects already saved that way are corrected when you open them.
  • Batch TIFF and PNG files are now tagged with their colour profile, as Export's are, so other programs show them correctly.
  • A problem report that couldn't be sent from Nocturne opened the support page without what you had typed. The text now arrives in the form.
  • Exporting a picture that was still linear in a wide colour space (Display P3, Adobe RGB, ProPhoto) now looks the way the screen showed it.
  • Colour Balance without a star tool now replays exactly what its window previewed.
  • In Levels, the "Auto stopped at…" note no longer makes the sliders jump while you drag Black point.
  • The log and the run summary name the star tool that actually ran, and no longer name one for steps that split nothing.

v0.53.0

Your own presets, a clearer clipping warning, and clipping you choose.

14 October 2026

Added

  • Your own presets: when a picture looks right, Save as Preset… (on Export, or in the Project menu) keeps its steps. On a similar picture, Crop → Presets… picks one, and Apply Crop + ‹name› runs it as normal, editable steps. The preset browser shows a grid or a compact list, with search, sorting, rename and delete. A preset made on an already-stretched picture only runs on pictures that open stretched, and vice versa.
  • Per-colour black points in Levels: Red, Green and Blue sliders lift one colour off zero (which clears its warning) or darken it.
  • Plate solve explains itself: rest the pointer on the scale bar, a grid label or N. For example, 15′ is 15 arcminutes, half the width of the full Moon.
  • Recipes and presets now include Star Spikes, Starless Levels and the Enhancements taps.

Changed

  • Levels' Auto black point stops at the clipping warning, so it never crushes a colour on its own. It says so when it stops short, and dragging Black point further is your choice. Skies after Auto are often lighter than before. Old projects keep the Auto they were made with; Auto Enhance, recipes, Batch and presets use the new one.
  • The clipping read-out under the histogram is two fixed lines: ▼ crushed to black and ▲ blown to white, for R, G and B. Only a value over the limit turns amber, and Show clipping is a button beside it.
  • Export: format and colour space are buttons, and the gallery has its own small window. Share to the gallery becomes available once you've exported this version. Save as Preset is here. Everything under "Optional" is optional and doesn't save your picture.
  • Colour: Sky balance and Photometric (SPCC) are buttons.
  • Projects saved with 0.53.0 can't be opened in older versions of Nocturne.

Fixed

  • The progress label in Auto Enhance and presets named the previous stage instead of the current one.
  • Opening a master after a picture that was already crushed could hide the new master's own clipping.

v0.52.0

Nocturne for Windows, presets for Auto Enhance, and Starless + Stars for everyone.

13 October 2026

Added

  • Windows: Nocturne for 64-bit Windows 11, as an installer. It installs for your own user without administrator rights, appears in the Start menu, and is removed under Settings → Apps. .nocturne projects open in Nocturne with a double-click, and FITS files get Nocturne under "Open with". The installer isn't signed yet, so Windows may show "Windows protected your PC": click More info, then Run anyway.
  • Auto Enhance presets: a click gives Natural; the arrow beside the button offers Vivid, and Gold and blue for dual-band nebulae. Auto Enhance now also runs Deconvolution (with RC-Astro) and Star Reduction.
  • Opening a file while Nocturne is running (Windows and Linux) opens it in the window that's already there.

Changed

  • Starless + Stars export works without RC-Astro: it uses StarNet2 or Nocturne's own star separation, and the log says which.
  • Starless + Stars before Stretch is stretched once, as a whole, so the two files Screen back to exactly the picture you saw.
  • Auto Enhance never uses GraXpert for noise reduction: it uses NoiseXTerminator if you have RC-Astro, and Nocturne's own denoise otherwise, so a run takes about a minute instead of ten. If a step can't run, it says which one and why.
  • A stacked master is written to a temporary file first, so a cancel or crash can't leave a broken master or destroy the one you had.

Fixed

  • Stacking dual-band data: if the helper processes failed partway, the fallback could switch away from the Ha/OIII path.
  • The Ha/OIII window could open shorter than its contents.

v0.51.0

Photometric colour that finally works, a cleaner stretch, and shape buttons for cropping.

11 October 2026

Added

  • Crop shapes as buttons in Crop, Trim, Share and Upscale Crop: Free, Original, 1:1, 5:4, 4:3, 3:2 and 16:9, each drawn in its own proportions, with a Portrait button that turns them tall (3:2 becomes 2:3). Guides and Rotate/Flip are buttons too.

Changed

  • Photometric colour (SPCC) now actually calibrates. It measured star colour without taking off the sky, so it always came out near 1.00 and changed nothing. On broadband data it now corrects for real (typically R 0.80 · G 1.07 · B 1.17); on dual-band data it steps aside and balances on the sky, and says so.
  • The linked stretch measures the sky on the sky, and sets its black point from the noisiest colour: a neutral sky and far less coloured speckle in the dark parts. Projects and recipes made before this keep the stretch they were made with.
  • Levels' Auto button is now called Auto black point.
  • Share's text opacity starts at 100% every time.
  • The start screen shows two rows of recent projects on a 1440×900 MacBook.
  • New recipes remember the crop's shape, so Batch cuts each picture to it. Free behaves as before.

Fixed

  • Apply Crop stayed grey after a Rotate or Flip.
  • Moving the Stretch slider back to its applied value still counted as an unapplied change.

v0.50.0

A new gold-and-blue Narrowband palette, a redesigned start screen, and Undo that says what it undid.

10 October 2026

Added

  • Narrowband: SHO-style (gold and blue), the Hubble look built from your own picture's hydrogen and oxygen; the dialog now opens on it. Separate Gold and Blue sliders, and Oxygen strength now decides where the blue goes.
  • A redesigned start screen: six recent projects as large cards showing target, integration time and when you last saved them; a get-started guide on first launch; drop a FITS or TIFF anywhere.
  • Share: text opacity for the title plate.

Changed

  • The Pseudo-bicolor palette has been removed. Projects and recipes that used it still open and reproduce exactly.
  • The activity log names the step behind every Undo and Redo ("↶ Undo: De-green Stars…").
  • Folder panels say Export, Save, Add or Choose instead of "Open".

Fixed

  • Opening a recent project no longer turns every thumbnail grey.
  • Save Recipe after reopening a project kept default Crop, Color and Narrowband settings instead of yours.

v0.49.0

Narrowband compares side by side, strengths are chosen with one click instead of a dropdown, and the last freezes when a picture is replaced are gone.

8 October 2026

Added

  • Narrowband's Compare offers Off, Wipe and Side by side, as Starless Levels does. Side by side shows the image as you opened it next to the recolour, and zooming or panning one moves the other with it.

Changed

  • Background, Deconvolution and Noise Reduction choose their strength with a row of buttons instead of a dropdown. Every level is visible, and one click picks it.
  • Reset, the TIFF linear/stretched switch, Combine, a finished stack and Upscale's "Open as copy" no longer freeze the window while the picture is replaced. Moving between steps is a little quicker too.
  • Combine asks before replacing a picture with unsaved changes, as opening a file already does.
  • Settings shows whether each external tool is free or paid, and that GraXpert is needed only for Background. The help gives StarNet2 its own section.

Fixed

  • Cancel while a project opens now takes effect within a step, not only once the whole project has loaded.
  • A save requested while quitting could be lost, with no warning, if another picture opened at the same moment. Nocturne now keeps the window open and says the save didn't happen.
  • After a cancelled TIFF switch, the Import panel could show the wrong choice.
  • A StarNet2 star separation was described as "free star detection", and a broken StarNet2 path was never reported.

v0.48.0

Nocturne no longer freezes while it works: sliders, tool windows and opening a file all stay responsive. Drag a file onto the window to open it, and Nocturne has a new icon.

7 October 2026

Added

  • Drag a project, a FITS file or a TIFF onto the window to open it.
  • On macOS, .nocturne projects and FITS files open from the Finder, from "Open With" and by dropping them on the Dock icon.
  • The start page shows your four most recent projects as pictures, under a clearer heading.

Changed

  • Nocturne has a new icon: the crescent.
  • Live previews are computed in the background, so sliders and the window never freeze, even on large and drizzled images. A small ring next to the histogram shows when a preview is being worked on. If you drag quickly, only the last position is computed.
  • Recover Core and Local Contrast respond much faster after the first touch on a picture. On a drizzled image Recover Core went from about 7 seconds per change to under a second.
  • Opening an image or a project runs in the background, with progress and a Cancel button on the start page. Opening a large image now freezes the window for under a second instead of about 4.
  • Star Spikes, Share, Upscale Crop and Starless Levels do their heavy work in the background. The window dims while it works, and Close always stays available.

Fixed

  • Every finished step kept a full copy of the picture in memory for the rest of the session, so memory use kept climbing on long sessions with large images.
  • If a project failed to open, the picture you already had open could take on that project's pixels. Undo, Before/After and saving were then wrong too, and saving could write those pixels into your own project file.
  • A rare crash when a window was tidied away in the background.
  • If an image or project could not be opened from the start page, the message was not visible.
  • Share sometimes didn't open if you clicked it just as a step started.

v0.47.0

Nocturne does one thing at a time, and shows it: every control dims while a step works. The nebula slider is up to nine times faster, and the start page offers every way in.

5 October 2026

Added

  • The start page offers all four ways in (Stack…, Open Image, Open Project… and Ha/OIII…) and lists your recent projects, which open with one click.

Changed

  • While a step or tool works, all of its controls are dimmed and locked: sliders, checkboxes, dropdowns, the curve editor and the crop box. The step list, Back/Next, the toolbar tools and Settings wait too. Cancel, zoom, Before/After and the help stay available.
  • The tool windows (Narrowband, Colour Balance, Upscale Crop, Combine, Ha/OIII, Stack and Batch) dim their controls while they work in the same way.
  • Saturation's nebula slider responds up to nine times faster on large and drizzled images. The star separation it needs happens when you open the step, not on your first touch of the slider.

Fixed

  • Starting a second step while one was still running, by clicking the step list during a long run, could produce a picture that was missing a step listed in its history.
  • A slider moved while Apply was running was forgotten: the picture kept the applied value, the slider showed another, and leaving the step didn't ask.
  • Curves showed a straight line when you came back to it, or reopened a project. A small nudge then replaced your curve, and the R, G and B curves could be lost.
  • Opening an image or a project while on Saturation, De-green Stars or Star Reduction started a star separation of the new picture on Import.
  • Stack could save a master under the wrong folder's name when the folder was changed while it graded. Combine and Ha/OIII could ignore a file or folder changed mid-run.

v0.46.0

Help is one click from every step and every tool, in a window of its own, and projects with Curves open again.

5 October 2026

Added

  • "How this works ↗" in Narrowband, Colour Balance, Star Spikes, Starless Levels, Trim, Upscale Crop and Share. It opens that tool's help, and you can scroll and click in it while the tool is open.
  • The About window thanks the first two Photon Donors.

Changed

  • A step's help now opens only in its own window, never in the right column, so the controls stay where they are. "How this works" opens and closes the window. It stays above Nocturne until you close it, follows the step you're on, and remembers its size and place.
  • Noise Reduction and the log name the tool that ran, such as NoiseXTerminator, BlurXTerminator or StarXTerminator, instead of "RC Astro".
  • Linear Denoise, an unreleased experiment, is removed. Older projects that contain it still open, and older recipes skip it with a note.

Fixed

  • A saved project that included a Curves step could not be opened again.

v0.45.0

Nocturne works the same way everywhere: one progress ring, and a few places that now tell you what happened.

4 October 2026

Added

  • A circular progress ring in Combine, Narrowband, Colour Balance, Upscale Crop, Star Spikes and Starless Levels. It fills with the percentage when one is known, and spins when it isn't.
  • The right column shows the same ring beside what's running, so colour calibration, plate solving, saving and export also show something moving. When a percentage is known, it appears next to the elapsed time.
  • Export says where the file went after saving, with Show in Finder (Open folder on Linux).
  • Stretch says which colour balance Apply will use, Linked or Unlinked. Visual stretch tells you in advance when choosing Linked switches it and brings Colour back.
  • A new splash screen.

Changed

  • Starless Levels opens immediately and separates the stars inside its window. A separation another tool has already made is reused instead of repeated.
  • The thin bar over the image during long operations is gone; the right column says it.
  • A star separation when entering Saturation, De-green Stars or Star Reduction is announced once, in the right column.

Fixed

  • Closing Narrowband or Colour Balance during Apply still recorded the step.
  • Starless Levels separated the stars again on every open (3–38 s), and kept its layers in memory after closing.
  • Starless Levels' log line called the built-in separation "(free)"; it now says "(built-in)" like the other tools.

v0.44.0

A stray key can't end a long stack, and Nocturne tells you when Unlinked costs you your colour calibration.

1 October 2026

Added

  • Stack: while it is working, Esc, Close and the window's close button ask "Stop stacking?" first. Keep stacking is the default.
  • Stretch: an amber note above Apply when an Unlinked stretch would discard a photometric colour calibration (SPCC), and an amber notice when it does.
  • Stack's chart draws frames moved to rejected/ in faint grey, also when you open the folder again later.

Changed

  • The Plate Solve window opens on top of Nocturne, wherever Nocturne is, instead of where it was last left. Useful with several monitors.
  • Background: "Show what was removed" gives the amount removed on the step itself, not in the log.

Fixed

  • A photometric colour calibration that couldn't run and fell back to sky balance was still recorded as photometric. The Unlinked warning and the provenance report now follow what actually ran.
  • After Auto Enhance calibrated colour photometrically, choosing Unlinked gave no warning.
  • After reopening a project, the Colour step could read "changes not applied" with nothing changed.
  • Closing the Stack window mid-run printed an error.

v0.43.0

Upscale Crop shows you what it did, and Nocturne knows the Seestar S50 Pro.

29 September 2026

Added

  • A rebuilt Upscale Crop: choose the crop on the full picture, with shapes (1:1, 4:5, 9:16, 3:2, 16:9) and the size it will become. The result opens beside your original at the same size, and the two move together as you zoom and pan. Wipe lays one over the other with a divider, a navigator shows where you are, and Star tightening updates as you move it. Progress and Cancel while it works.
  • Support for the Seestar S50 Pro: Import, plate solving, stacking and the provenance report recognise it and its sensor (OmniVision OS08B10).
  • Import names the telescope, for example "ZWO Seestar S50 Pro", and says "(assumed)" when the file doesn't.

Changed

  • Upscale Crop's size limit follows your computer's memory: about 21 MP on 8 GB, 42 MP on 16 GB (a whole S30 Pro or S50 Pro frame fits), 100 MP at most. The window shows the limit and explains a refusal beside the button.
  • Upscale Crop reminds you when Noise Reduction hasn't been applied, since enlarging makes noise twice as visible.
  • Import's summary lines its two blocks up and puts a gap between them.
  • The log says when you choose Linked or Unlinked, and Background names GraXpert.
  • The provenance report's Stretch line says "linked" or "unlinked".

Fixed

  • Add folder… accepted subs from a different camera (an S50 Pro, or the S30 Pro's wide-angle camera) and stacked them together. It now refuses them and says why.
  • Switching the Noise Reduction engine, or Linked/Unlinked, after applying was silently dropped by Next. Next now asks.
  • A reopened exported FITS no longer forgets which camera took it, and an upscaled copy no longer claims its original, larger pixel scale.
  • In the visual stretch picker, going from Unlinked back to Linked showed one amount and applied another.
  • Stack: a night's date could appear under the previous night on the chart. Messages now tell two same-named folders apart, and no longer claim that a folder merely named "rejected" holds moved frames.

v0.42.0

The Stack window tells you how your night went, and lets you choose the frames yourself.

29 September 2026

Added

  • A verdict for the night above the frame list: how many frames were kept and how many minutes of light that is, why the others were left out (soft, trailed, cloudy), and how big the stars are in arc-seconds.
  • A chart of star sharpness (FWHM) over the session, full width above the list, with rejected frames marked in amber. Click a dot to see that frame. The chart folds away and remembers.
  • Move to rejected/: the frames you leave out can be moved into a rejected/ folder beside your subs, and moved back again. Nothing is ever deleted.
  • Several nights in one folder: each night (noon to noon) is judged on its own limits, a chip per night ticks a whole night in or out, and the chart marks where each night begins.
  • Add folder… lists subs saved in another folder, such as a second night, in the same stack.
  • A better frame list, shared by Stack and Ha/OIII: a Time column, sorting, Show All / Kept / Rejected, Select All / None / Reset to suggested, a divider you can drag, a bigger preview, and Space ticks a frame from any column.
  • Drizzle advice in plain words: whether this set of subs would benefit, with the measurements in the tooltip.

Changed

  • A calmer Stack window: the options (Frames · Combine · Result) sit in one band that folds to a one-line summary, and the help starts folded. On a small screen the chart and options fold by themselves.
  • The master is saved to a folder (Save to) under a Name that fills itself in until you type your own.
  • Stacked masters in a subs folder are listed last and left out of every count.
  • The Stack window opens taller on screens with room, so the preview and list get more space.
  • Share now highlights the shape you chose, and Narrowband and Colour Balance have Reset beside Apply and Close.

Fixed

  • After you chose a folder, the Stack window could sit for half a minute or more with nothing moving before grading began. It now shows progress at once.

v0.41.0

Nothing moves any more, and Nocturne fits a laptop screen.

26 September 2026

Added

  • Every step has the same layout: a short description at the top, the controls always starting at the same height, and Apply and Reset step in the same place at the bottom.
  • The Apply button shows where the step stands — "changes not applied", "not run yet", "✓ applied" or "no changes" — and only one button is lit at a time: Apply while there is something to apply, then Next.
  • A More menu at the end of the toolbar holds the tools that do not fit; it opens on a click and stays open. Settings ▸ General ▸ Toolbar adds Icons only for small screens.

Changed

  • The bottom bar is gone: the log is in the left column and background stacking shows at the right of the toolbar, so the picture gets the full height of the window.
  • Settings is in three tabs — General, External tools and Privacy — and General shows your version and whether it is the latest.
  • Plate Solve opens in its own window over the picture, and on a small screen Curves uses the large curve editor.

Fixed

  • Undo, Redo and Reset could run while a step was still working and leave the history out of step with the picture.

v0.40.0

Nocturne works on a trackpad, and a problem report can carry the log that explains it.

24 September 2026

Added

  • Trackpad gestures, on a Mac and on Linux. Pinch to zoom, and the spot under your fingers stays put. Swipe with two fingers to pan, as in Preview and Photos. On a Mac, double-tap with two fingers to switch between the whole frame and 100% (with Smart zoom turned on in System Settings ▸ Trackpad). This works in the main view, Crop, Trim, Upscale, Share, Curves and the side-by-side compare. The mouse wheel works exactly as before.
  • Help ▸ Report a problem… now sends the report from inside Nocturne, with this session's log attached: what you did, which tools ran and what failed. You can read the whole log before sending and untick it to leave it out. Nothing leaves until you press Send. If the report cannot get out, the browser form opens instead.

Changed

  • The log names the tool each step used — StarNet2, StarXTerminator, GraXpert or the built-in one — so it is clear which path actually ran.
  • Stretch appears in the log as "0.12 unlinked" rather than as raw settings.

Fixed

  • On a trackpad, a two-finger scroll zoomed wildly: one swipe fired dozens of zoom steps and hit the maximum, and on a Mac pinch did nothing. On a laptop this made the image all but impossible to move around.
  • Settings showed no status for StarNet2 until you pressed Test, did not update it when you typed a path, and "Rescan for installed apps" crashed for anyone with StarNet2 installed in a usual place.
  • De-green Stars said RC-Astro had separated the stars when it had not; it now names a tool only when it knows which one ran.

v0.39.1

Star separation with StarNet2 works. In a packaged build, it never had.

22 September 2026

Changed

  • The download is about 12 MB larger. The codecs that decode a compressed TIFF now travel with the app instead of being guessed at, because a TIFF from another program can arrive in any of them.
  • Every build now proves it can decode a compressed TIFF before it is published.

Fixed

  • Star separation with StarNet2 failed with "could not import name 'lzw_decode' from 'imagecodecs'". StarNet2 hands its result back as a compressed TIFF, and the decoder for that compression was missing from the packaged app — so the separation ran in full and then could not read its own result back. Every version since 0.35.0 was affected, on macOS and Linux, for anyone using StarNet2 rather than StarXTerminator. It also blocked opening a compressed TIFF of your own.

v0.39.0

Sharing to the gallery moves to Export — and no longer crashes.

22 September 2026

Changed

  • Share to the gallery is now part of the Export step rather than the Share window. What is sent is the finished picture exactly as you see it: nothing is reframed and no title plate is removed on the way out, which is what happened before. The panel lists the facts that will appear beside it — object, frame count, exposure, total integration, camera and date — and your location is never among them.
  • If the file carries no object name, because it was finished from a TIFF stacked elsewhere, you can type one. You are only asked when there is nothing to show.
  • The gallery is called the gallery everywhere now, and the app says where it is: nocturneastro.com.

Fixed

  • Sending a picture to the gallery could crash Nocturne. If you are on 0.38.0, this is the reason to update.

v0.38.0

Send a finished picture to the wall, from inside Nocturne.

21 September 2026

Added

  • Send to the wall, in the Share window. Tick the box and the picture goes to the gallery at nocturneastro.com. It is sent without its title plate, because the page prints the capture details beside it as text — a burned plate would say the same thing twice and is unreadable at thumbnail size. Your location is never sent, and the handle shown beside your picture is the one in Settings.
  • Nothing appears straight away: every submission is looked at first. A picture that is not published is deleted rather than kept, and a published one can be taken down by asking through the support page.
  • If your file carries no capture details — a TIFF finished from another stacker — the object name from the title plate is used instead, so the picture still arrives with a caption.

Changed

  • The gallery is now a wall that grows. Approved pictures appear on it as they arrive, rather than when the page is rebuilt.
  • Report a problem asks what it is about — a problem, a question, data removal, or a donated file — so it lands in the right place.

v0.37.0

Reporting a problem no longer means finding me on Reddit.

21 September 2026

Added

  • Help ▸ Report a problem… opens a form with your version, operating system, screen size and the recent log already filled in. You can read and edit all of it before sending, and delete anything you would rather not share. The diagnostics travel in the link's fragment, so nothing reaches the server until you press send.
  • A session planner on the website: whether tonight is worth setting up for, and which targets are up while it is dark.

Changed

  • Nocturne lives at nocturneastro.com. The download and support links inside the app point there.

Fixed

  • A TIFF with an embedded colour profile is converted on open instead of being read as though it were sRGB. A starless+stars export in ProPhoto, Display P3 or Adobe RGB opened noticeably dark; it now matches what exported it.

v0.36.0

De-green Stars works on the stars you actually have — and StarNet2 shows its progress.

20 September 2026

Added

  • An Amount slider on De-green Stars. The step had nothing to set — it was all or nothing. The slider is the same control as Saturation in a targeted Hue/Saturation layer in Photoshop: 100 neutralises the cast completely, lower values take out part of it, and the preview follows the slider, so what you see is what Apply commits.

Changed

  • Steps that need a star split now share one. Star Reduction, Nebula Saturation, Colour Balance and Narrowband each kept a private copy of the same separation, so opening one after another on the same image paid for the split all over again. They now publish to and read from one store.
  • The website's menu collapses on a phone, and there is a download link for Linux that does not go stale with each release.

Fixed

  • De-green Stars did nothing at all unless you had RC-Astro. It asked for StarX by name, so on a machine with StarNet2 installed and working it fell back to a crude star mask and changed almost nothing. It now uses whichever separator you have.
  • De-green Stars did nothing on the stars most Seestar images have. It looked for a narrow green band that missed the teal fringing common in Seestar stars, so for many images the step was a no-op you could not see. The band now covers that fringing while stopping short of blue, and keeps faint background speckle from being treated as stars.
  • De-green Stars no longer pushes the background towards red. It used a luma target dominated by the green channel, so red had to rise to meet it. It now lands on HSL lightness, which is what Photoshop does, and takes light out rather than adding it.
  • A star split shows its progress. StarNet2 no longer runs with its output suppressed, so the app can report what it is doing while it works.
  • Re-entering a step after a flip no longer reuses the un-flipped separation. The cache key was shape, mean and standard deviation — all three unchanged by a mirror — so an image and its flip produced identical keys. Stars were reduced where there were none, and nothing about the result looked like a caching problem.

v0.35.0

Star separation without paying for it — and Nocturne runs on Linux.

18 September 2026

Added

  • StarNet2 as a free star-separation engine. Star Reduction, De-green Stars, Nebula Saturation, Narrowband, Starless Levels, Star Colour, Sharpen Nebulosity, Upscale Crop, Auto Enhance, Colour Balance and the starless+stars export now have a substantially cleaner free fallback when RC-Astro is not installed. StarNet2 is free, auto-detected where its own installers put it, and never bundled.
  • A Linux build. x86-64, shipped as a tarball that needs glibc 2.39 or newer. Unpack it anywhere and run Nocturne/Nocturne — there is nothing to install.
  • A downloads page listing every release for both platforms, a gallery of finished images, and a dedicated Install & set up page covering both platforms and all four external tools.

Changed

  • Narrowband, Colour Balance and Upscale Crop use StarNet2 when RC-Astro is not installed. They were the three places that quietly stayed RC-Astro-or-nothing while everything else had a fallback.
  • Every download is smaller. A denoise model shipped inside earlier releases that the app had no way to load — it was not selectable, and the bundle excludes the runtime that would have run it.

Fixed

  • StarNet2 installed through its own macOS .pkg or Linux .deb is now found. Those put the binary where a Finder-launched app cannot see it, so the most convenient install was the one auto-detection missed — found from a terminal, invisible in the app.
  • On Linux, Nocturne now looks for GraXpert, ASTAP and RC-Astro where Linux actually puts them, instead of in macOS application folders that cannot exist.

v0.34.0

Nocturne now tells you what leaves your Mac, and asks before counting anything.

17 September 2026

Added

  • A privacy page, an FAQ entry answering "does Nocturne phone home?", and an honest account of it in About. Nocturne has always asked GitHub whether a newer version exists, on every launch — ordinary behaviour, but nothing said so and there was no way to decline. Both are fixed: the request is described in About, on the website, and in Settings, where you can switch it off.
  • Nocturne asks once, on first run, whether it may count your use of it. Saying yes sends {"event": "daily", "version", "id"} once a day and nothing else — the id is a random number for that installation which changes every month, no IP address is stored, and nothing about you, your machine or your images is ever sent. Saying no sends nothing and is never asked again. Either answer can be changed in Settings at any time. It exists for one reason: downloads say nothing about whether anyone actually uses the app, and that decides whether things like a proper support system are worth building.

Changed

  • Visual stretch… now sits above Apply Stretch. It was the only step in the app with a control below its commit button, which read as "press this after applying" — the picker only moves the slider, and Apply still commits.
  • A stack no longer fills the Dock with a Nocturne icon per worker. Registration workers no longer build the entire interface before doing their work, avoiding extra windowless application instances.

Fixed

  • Opening Settings and pressing OK no longer discards settings the dialog does not show. Your Share plate preset and saved plate looks, the recent-projects list, the help-expanded preference and annotation density were all reset by a dialog you may have opened only to read a tool path.
  • The picture no longer darkens when you walk into Stretch. Arriving at the step used to change the canvas before you touched anything, because the display preview and the default stretch had drifted apart.
  • The provenance report no longer states things that are not so. Tool settings now carry their names and values, and the footer credits the version that made the image rather than the one that generated the report.
  • The Open dialog now offers .fts files. Nocturne could always read them — the loader and batch processing both accept the extension — but the file picker did not list it, so browsing for your own .fts file simply would not show it.

v0.33.0

Open a TIFF — finish a master stacked in Siril, APP or DeepSkyStacker.

15 September 2026

Added

  • Open Image now takes a TIFF as well as a FITS. A master stacked elsewhere can be finished here, and a picture you already finished can still reach Share, Star Spikes, Upscale and the plate-solve annotations. Nocturne measures whether the file is still unstretched — in which case the whole process applies, exactly as for a FITS — or has already been stretched, in which case it opens at the finishing steps and nothing tries to stretch it again. It says which it decided, and you can correct it in one click if a starless frame or an unusually bright subject fools it.
  • The step list now tells a step you walked past and left alone from one you have not reached yet. At the end of a pass, "which steps did I skip?" is a question the list is uniquely placed to answer, and it could not before.

Changed

  • "Open FITS" is now "Open Image", since it takes more than FITS files.
  • Typing a title in Share is fast at every size. The preview no longer composes the full-resolution image on every keystroke.

Fixed

  • A TIFF that stores its channels as separate planes — which some stackers write — no longer opens as corrupted data or misreports whether it was stretched.
  • Nocturne no longer invents a camera for a file that does not name one. It used to show the S30 Pro's sensor, pixel size, focal length and image scale as though they had been read from the file; image scale in particular feeds plate solving.
  • The Starless Levels histogram has real grab handles, instead of two hairlines the panel told you to drag.

v0.32.0

Choose your stretch by looking at it — brightness and colour, on your own image.

15 September 2026

Added

  • Visual stretch — a new button on the Stretch step opens several real versions of your own image and you click the one you like. It moves the slider; Apply still commits, and you can nudge it first. There is no single right answer, which is exactly why this is a choice and not a setting.
  • Linked or unlinked, asked before brightness. A linked stretch puts one curve through every channel and keeps the sky's own colour; an unlinked one normalises each channel on its own, which evens the sky out and usually shows more variety in star and dust colour. Both are rendered side by side at matched brightness so only the colour varies. Neither is labelled the correct one, because neither is.
  • A Linked/Unlinked switch on Import, so you can see what is in the data before committing to anything. It changes only how the unstretched image is drawn, and the choice carries forward as the default for the stretch.
  • Draggable handles on the Starless Levels histogram — round grips with arrows, like the before/after divider, instead of two hairlines the panel told you to drag.

Changed

  • The default stretch background is lower. Nocturne was leaving the sky brighter than it should, making identical noise far more visible on a lifted grey sky.
  • Choosing an unlinked stretch skips the Colour step, which would do nothing under it — a per-channel normalisation removes exactly the per-channel correction that step applies. Pick linked again and the step comes back.
  • The zoom pill stays put while you crop. It used to vanish, which left the Trim tool and Upscale Crop with no zoom control at all.
  • Typing a title in Share no longer composes the whole image on every keystroke.

Fixed

  • The visual picker sized itself from its previews rather than from your screen, so on shorter displays the bottom row could run off the edge and Cancel became unreachable.
  • A picture exported before stretching, and the before/after peek, both follow the Import view switch — so the file and the screen cannot disagree.
  • The Stretch help described a Target control that no longer exists.
  • A recipe saved by a different pre-1.0 build is refused with a clear message instead of being silently misread.

v0.31.0

Stacking runs in the background while you work, and the pipeline stops discarding your edits without asking

13 September 2026

Added

  • Stacking can run in the background. The Stack dialog has a second button, 'Stack in background', beside the one it always had; the stack moves to a separate process and the app stays fully usable while it runs. Outstanding jobs appear in a Jobs panel with their progress, and a finished background stack is logged rather than opened — it never swaps the canvas out from under work you have started. One job runs at a time because of memory limits. Quitting with jobs running warns, cancels them, and genuinely waits for them to stop. Mosaic and Ha/OIII stacks stay in the foreground for now; the background protocol carries a plain stack only.
  • Every pipeline step now says whether its settings have been applied. A step you have adjusted but not committed says so in the panel, and the green Apply button is spent only when there is actually an edit waiting — a colour worn at all times says nothing at the moment it matters. This was the first thing a new user asked about: the preview is pixel-identical to what Apply produces, by design, so nothing on screen distinguished 'looking at it' from 'done'.
  • Reset step, on every stage that commits. It puts the controls back to their defaults and removes that step's commit, and it says what it will discard before it does.
  • De-green Sky is its own step now, immediately after Stretch, instead of a button on the Color panel far from its cause. The green cast it fixes is created by the stretch — a Bayer sensor gives green more photosites — so the panel's own advice ('reach for this only if a cast survives the stretch') is finally something you can act on where you are standing.
  • The zoom pill shows the zoom level as a percentage, always, so 'am I at 100%?' is answerable without counting clicks.
  • R, G and B in the pixel readout are shown in their own colours. They are easy to skim past, and they are the numbers that tell you what the picture is actually made of.
  • The Share preview pans and zooms. You can now inspect a title plate at useful scale while editing its placement, colour and size.
  • Every tool that separates stars says which engine did it — RC-Astro's StarXTerminator or the free detector — in the log, and in the panel where there is one. The two separations differ enough that telling them apart previously took a measurement rather than a glance.

Changed

  • The two green tools are renamed for what they act ON: Remove Green is now De-green Sky, and Remove Green Fringe is now De-green Stars. Projects and recipes saved under the old names still load.
  • De-green Stars is a switch rather than a strength, and it selects green by hue. The old operator also altered cyan and yellow-green, dragging correctly coloured stars toward magenta or orange. Now only genuinely green pixels move, and they become grey of the same brightness rather than being deleted, so a star keeps its size. It is a switch because there is no useful partial amount of green to keep. Selecting by hue is also what let the star mask go: there is nothing left to protect by aiming.
  • The sweeping progress bar over the image is reserved for work you asked for that is about to change the image. Walking into a step and finding it separating stars reports in the right panel alone, with its label, elapsed time, progress and Cancel — it is neither requested nor about to change anything, and two indicators doing the same job read as inconsistency.
  • Narrowband and Colour Balance say 'Separating stars' rather than 'Removing stars'. The split keeps both layers, and the rest of the app now uses the same language.
  • The Stretch step loses its Target dropdown, and its default is now derived rather than chosen. The old dropdown could select duplicate values, and its label drifted out of sync with the slider. The default is now the slider position whose target background matches the one the display preview already uses — so arriving at Stretch and pressing Apply is identical to what was already on screen.
  • De-green Stars has no setting at all now; Apply performs it. It is one action with nothing to choose, and a checkbox in front of it was a step performed for the app's benefit.
  • The Colour step separates its optional Tint controls behind a rule and an "Optional" heading, and Reset step moves below the tool's own controls behind the same rule on every panel. Reset sat directly under Apply, where it read as part of the tool rather than as the recovery it is; it is now tinted warm to mark it as a different kind of action.

Fixed

  • Apply silently discarded every later step. Applying a step after Curves and Saturation could throw both away with nothing said and no undo. All commit paths now ask, and name what is at risk rather than merely counting it.
  • Rotate and Flip discarded ALL processing on one toolbar click, with no confirm and no way back. They ask now, and say why everything goes: re-framing the picture invalidates the processing whenever it was applied.
  • Navigating to a step after Stretch on a still-linear image silently threw away a toolbar commit. The app stretches on your behalf there, and that truncates — run Narrowband on a linear image, click Levels, and the combine was gone without a word.
  • Opening another image, opening or closing a project, and quitting all discarded an unapplied preview in silence. Navigation had asked since this release's step work; nothing else did, because the unsaved-changes guard only knew about committed edits.
  • The truncation confirm defaulted to the DESTRUCTIVE button. Qt returns a message box's buttons in layout order rather than the order they were added, so pressing Return — or the reflex of hitting the highlighted button — irreversibly discarded the named steps.
  • A revisited process step reported the wrong option. Apply Deconvolution at 'strong', navigate away and come back, and the dropdown read 'medium' over an image with 'strong' baked into it.
  • An adjusted crop box was thrown away by Next without asking. A drawn box is uncommitted work like any slider value, but it lives on the canvas rather than in a panel, so nothing was watching it.
  • Combine could lose data, and two dialogs writing the same file could race each other.
  • The step panel's buttons are now disabled during long operations as a rule rather than by a list that goes stale.
  • The mosaic explanation vanished when the Stack dialog's help was collapsed, which is exactly when it was needed.
  • A stylesheet comment written in the wrong syntax had been silently discarding every style rule after it, so the zoom readout, the new panel dividers and the Reset step tint were all rendering with Qt's defaults rather than Nocturne's.
  • A slider moved away and put back where you found it still left the step claiming unapplied changes — the Apply button stayed lit, and moving on demanded a choice between Cancel and Discard over a change that no longer existed. A step now compares its controls against both what it committed and what they read untouched, so returning to either clears it.

v0.30.0

Long external-tool runs show real progress, and the clipping view stops lying about where it is looking

11 September 2026

Added

  • GraXpert and RC-Astro report how far they have got. Both print progress throughout, but the app used to wait for the process to exit and buffer everything it said. Progress is now shown for Deconvolution, Noise Reduction, Star Reduction, Saturation, Remove Green Fringe, Narrowband, Colour Balance, Starless Levels and the star split.
  • Narrowband and Colour Balance count their star split up in place rather than showing one static line for the whole wait.

Changed

  • The 'this can take a few minutes' warning for GraXpert now appears for the people who most need it. It tested the engine the option NAMED rather than the one that would actually run, and with GraXpert installed and RC-Astro absent no engine choice is offered, so the option says RC-Astro while GraXpert runs. The warning therefore showed for anyone who had both engines and picked GraXpert, and was missing for anyone who had only GraXpert and no way to avoid the wait.
  • Auto Levels is recorded in a recipe as the decision rather than the derived values it produced. Its black point is measured from each image's own noise floor, so replaying a value from one frame on another could crush a darker frame or do nothing to a brighter one. Touching a slider afterwards makes it an ordinary chosen value, frozen like every other step, and the Auto button stays selected while the values are still derived so you can see which a recipe will store. Auto Enhance records the decision too. Recipes saved before this release are unaffected.

Fixed

  • The clipping view left a band of the picture uncovered, down the right and bottom, so nothing there could ever be marked. It mapped the image onto the screen in equal blocks whose size did not divide the image, padding the remainder. It changed with the window size and had been wrong for highlights since they shipped: there the padding was black on a black ground, so it was invisible rather than absent.
  • The clipping view reported the composite rather than the starless layer the two endpoints act on. Stars are screened back untouched, so a star pushing a pixel to white was reported as the user's clipping though nothing they set caused it and nothing they set could fix it. The same fault hid shadow clipping because screening a star back lifts a crushed pixel above zero.
  • A recipe containing Colour Balance destroyed a whole batch. The step was recorded and fully serialised but nothing could replay it, so the dialog reported that every step would run as saved and then every file in the folder failed with a raw internal name as the message. Colour Balance now replays, taking its star split the same way the app does, and the preflight checks each step can actually be built before promising it will run.
  • The clipping readout says what the current endpoints cost, not only what the image arrived carrying — a screen of marks came with no sense of whether it meant half the frame or a hundredth of it.
  • The progress bar no longer labels every operation 'Denoising', and shows progress as a percentage rather than as an unlabeled count.

v0.29.0

Black and white points can be pulled all the way in without flattening a star core, and Narrowband's oxygen control now says what it does

9 September 2026

Added

  • Starless Levels, a new finishing tool: it separates the stars, sets black and white points on the starless layer alone, and screens the untouched stars back. Pulling the white point in is how a stretched image gets its colour, and it is also how star colour is destroyed. On a starless layer there are no star cores to clip, so the move is safe there and only there.
  • The endpoints are set on a full-width histogram of the starless layer, with the two handles ON it — where the data begins and ends is the whole judgement, and a histogram is the only thing that can answer it. Values can be typed instead; the boxes and the handles are the same control.
  • A clipping view that shows what YOU are about to lose. It follows Photoshop's polarity — a white ground while the black point is being worked, black while the white point is — and it marks only what the current endpoints add, stating separately what the image arrived already carrying.
  • A compare control on Starless Levels: off, a draggable wipe divider, or side by side with the panes locked to one zoom and pan, so both views move together.

Changed

  • Narrowband's OIII boost is replaced by two separate things, because it was doing two jobs at once and they disagree. The OIII-to-Ha normalisation is now purely photometric — it matches the channels and nothing else — and a new Oxygen strength rides on top of it as the look control. This matters because the old control's centre value was its least colourful setting: at a matched point the two gases cancel wherever both are strong, and moving in either direction added colour, which is not a thing a slider should do.
  • Recipes saved before this release that contain a Narrowband step are refused rather than loaded. There is no honest mapping from the old single value onto the two controls that replaced it, and the alternative — dropping it silently and rendering with a default it was never given — would produce a different picture without saying so. Open the image in Narrowband and save the recipe again.
  • The clipping overlay is drawn by one piece of code now, shared between the main window and Starless Levels, so a mark means the same thing in both. The mark's colour is still the channel that died.

Fixed

  • Share crashed on some cropped or upscaled images whose row width Qt had padded. Qt aligns each row of a QImage to a four-byte boundary, and the conversion back assumed the padding was always a whole number of pixels.
  • A recipe preflight named tool and geometry steps by their internal ids, so it said 'flip_h', 'color_balance' or 'narrowband' at the user instead of the names those steps carry everywhere else in the app.

v0.28.0

Frames with a roof or a tree in them are rejected automatically, and the in-app help finally describes the app that shipped

9 September 2026

Added

  • Frame grading catches obstructions — a roof, a tree, a bank of cloud drifting through. It was already measuring how bright the background is, which cannot see this: a dark obstruction can leave the average sky level almost unchanged. It now also measures how much the background varies across the frame, which is exactly what an obstruction does to it. The gate is session-relative and must stay that way: wide-field Milky Way frames contain real background structure that a fixed threshold would mistake for an obstruction.

Changed

  • Narrowband opens with Saturation at 0.85 instead of 0.50. 0.50 means 'native' — no boost at all — while the two-gas palette costs colour by construction: a warm pink mapped to red hydrogen and teal oxygen goes neutral wherever the two overlap. The step was taking colour out and putting none back, so renders came out flatter than the image they were given. Saved recipes carry their own value and render exactly as before.
  • Step topics in the help are rewritten to say how to choose, not just that a control exists. Noise Reduction now explains the useful range of its engines and why stronger settings can be appropriate.
  • The Narrowband help says which control to reach for when a render looks washed out, and it is not Saturation. OIII boost at ×1.00 matches oxygen to hydrogen, so where both gases are strong the core comes out neutral — and saturation cannot rescue a neutral pixel, because it scales distance from grey and that distance is zero. ×1.00 is the least colourful setting on the slider; moving either way adds colour.

Fixed

  • The Stack dialog painted its own explanations over its own controls when opened in its default state. The window now sizes itself to its contents, and on a screen too short to hold them the explanations fold away rather than overlapping.
  • Every verdict in the frame list was truncated, hiding the measurement at the end of the sentence. The table now takes extra width when you widen the dialog, the verdict column is sized to what it holds, and each verdict has a short form for the table and the full sentence in its tooltip.
  • The help topics for Trim and fullscreen existed and could not be opened. They are now listed in the help browser and reachable from the relevant steps. The Stacking topic now explains what drizzling does instead of enlarging, the factors the recommendation weighs, and what it costs.

v0.27.0

Zooming no longer eats memory, stacking anchors on the middle of the drift, and the window opens the size it was always meant to

6 September 2026

Changed

  • Star Spikes puts its preview beside the sliders instead of above them, matching Curves, Narrowband, Share, Upscale, Stack and Colour Balance. The preview now uses the window space more effectively while the controls keep room to work.
  • Stacking anchors the master on the middle of the session's drift rather than on the first frame, so re-stacking data you already have will produce a different — larger and cleaner — master than before. Nothing about your existing files changes; only new stacks.

Fixed

  • Zooming in could exhaust the machine's memory. A drop-shadow effect on the image made Qt redraw the whole picture into an offscreen buffer at the zoomed size, so the cost grew with the square of the zoom and the visible area never bounded it. The shadow is drawn directly now: memory stays flat at any zoom, and zoom is capped at 32x.
  • The stacked master was anchored on the first frame of the session, which is the worst choice available. The field drifts over a night, so the first frame sits at one end of that drift and leaves a wide band of barely-stacked data. Anchoring on the frame nearest the middle of the drift produces a larger, cleaner master.
  • The main window had been opening too small since the splash screen was added, whatever size the code asked for. A third of the toolbar was folded behind an overflow chevron as a result. The window now opens wide enough for its own toolbar — measured from the layout rather than hardcoded — and is clamped to the screen, so a small display still gets a window that fits it.
  • Batch said nothing at all when the recipe path could not be read. A path that was set but missing, renamed, or a folder matched none of the checks, so the status line stayed empty and Run stayed enabled — you pressed it and lost the run to a load error. It now names the problem and refuses to run, which is what the pre-check exists to do.

v0.26.0

Mosaic panels match colour, and Curves gets a curve per channel and per colour

5 September 2026

Added

  • Curves has a channel and a colour selector. Pick RGB for the tone curve you already had, R, G or B to move one channel on its own, or S for a saturation curve — then narrow any of them to one family of colours, reds for Ha, gold for the star field, cyan for OIII. Grey pixels are never affected, so the background does not drift while you push a colour. Each combination is its own curve and they all stay set; an "Active curves" line lists the ones doing something.
  • Mosaic and Drizzle work together again. The two were locked apart in 0.24.0 because the combination produced an unusable master — that turned out to be a bug in drizzle's auto-crop rather than anything about mosaics, and with it fixed the gate had nothing left to protect.

Changed

  • Stacking uses less memory by not holding more frames in flight than it can work on. The master is bit-identical.
  • The large curve editor is a window you can move, with a preview you can zoom and pan. It renders whatever is on screen from the full-resolution image, so you can inspect a detail at 1:1 instead of judging a curve from a thumbnail.
  • The Share dialog says which of the two pictures in front of you is the accurate one. The exported file is colour-managed and the preview is not, so on a wide-gamut screen the file comes out very slightly less saturated than the preview — small, mostly in warm tones, and the file is the one to trust.

Fixed

  • Mosaic panels matched brightness but not colour. Over a session running several hours the sky's colour changes, and each panel kept its own tint, creating a patchwork of rectangular tiles. Panels are now matched per channel.
  • Drizzle's auto-crop was throwing the picture away. It kept only the region covered by a whole number of frames, discarding most of the interior. It now preserves the full valid drizzle coverage.
  • The clipping warning cried wolf. It counted noise dips as crushed pixels even when Noise Reduction could recover them. It now warns only when the clipping is a real region of lost detail.
  • A mosaic could report no plate solver while Settings showed ASTAP found. The two disagreed about what an .app bundle is.

v0.25.0

Nocturne tells you what it did — which tools ran, what a recipe will do, and where a stack's time went

4 September 2026

Added

  • The processing report says which engine actually ran. Several steps have an external tool and a built-in fallback whose results differ materially, and until now a history line reading “Star Reduction 0.40” could not tell you whether StarXTerminator or the free split produced it. The report names the implementation and, when it is not the preferred one, why — “RC-Astro is not configured in Settings”.
  • Batch says what a recipe will do before you run it. Not blocked is not the same as will-do-what-you-saved: most tool-backed steps quietly fall back to a free implementation, and a batch is the worst place to discover that — a whole folder is already processed by then. It now tells you up front, leading with anything that cannot run at all.
  • A log file at ~/.nocturne/nocturne.log recording how long each stacking phase took.

Changed

  • The Stack dialog's explanations fold away, behind the same “How this works” control the main window uses and remembering your choice across both. The frame list gets more room when the explanations are collapsed. What never hides is what you decide ON: the drizzle time-and-size estimate, and the reason an option was unavailable.
  • The Stack dialog's labels stand alone: “Frame selection — how picky to be about which subs to keep” rather than “Strictness”, and “rejection” rather than a bare Greek “κ”.

Fixed

  • The Stack dialog was cutting its own explanations in half. A window short of height sliced them mid-sentence and painted them over the row below. The explanations now reflow or fold away instead of overlapping the controls.
  • An Ha/OIII master could not name its own target until you saved and reopened it. The file on disk had the full header; the copy handed to the app had almost nothing, so a title plate on a freshly combined master came up blank where “NGC 7000 / North America Nebula” belonged.
  • Sharpen Nebulosity could not be saved in a recipe. It was silently dropped and reported as un-capturable — a shipped feature treated as unsupported.

v0.24.0

Half the download, and a Share dialog that gives the picture the room

2 September 2026

Added

  • Masters record when they were taken, and at what gain. Neither was ever written to the file — the session that made a stack showed the date, and re-opening that same master tomorrow showed nothing. A stack that runs past midnight now records both ends of the night, so a title plate can say “26–27 Aug 2026” rather than picking one date and being wrong about half the frames.

Changed

  • The app is smaller. It was carrying a super-resolution model that nothing could load and an HTML test-coverage report inside one of its libraries. Neither was reachable.
  • Share's controls moved into a labelled column beside the picture. Every one now has a name — Look, Typeface, Type size, Colour, Background, Position — where before values appeared without saying which control they belonged to. The preview gets more room in the same window.
  • The reframing pane appears only when you are reframing. On Original there is nothing to crop, so the picture gets the whole width; pick a shape and the frame comes back. It is headed “Post as”, and says plainly that your image is not changed — only the shared copy.
  • Dates read as “31 Aug 2026” rather than “2026-08-31”, in the title plate and the Import panel alike.

Fixed

  • Mosaic and Drizzle can no longer both be selected. Together they produced an unusable master, then failed at plate-solving after stacking every panel. Whichever you tick last now wins, and the reason is shown.
  • The Share preview opened at its smallest size and stayed there until you resized the window.
  • The credit field opened showing the end of its own text, as though the start had been lost.

v0.23.0

Your picture, titled — the Share tool becomes a plate you'd be happy to print

2 September 2026

Added

  • A title plate in Share. Instead of one line of data across the bottom, a share now carries the object's catalogue designation, its common name, and a credit line. Nocturne fills them in from the image itself — from the plate solve if you ran one, otherwise from the file's own target header plus its catalogue — and every one of them is yours to edit or delete.
  • Typefaces shipped with the app: a geometric sans, a humanist one, an elegant serif, an inscription serif and a condensed face. They travel inside Nocturne rather than being borrowed from your Mac, so a share looks the same wherever it is opened.
  • One-click looks for the plate. Scrim fades the sky under the text with no visible edge; Plate sets the text straight on the picture with a soft shadow; Keyline frames it; Matte mounts the picture above the caption instead of over it; and Data is the caption strip exactly as it was, for anyone who liked it.
  • Several positions and backgrounds for the plate, plus a warm off-white that sits on a night sky more comfortably than pure white.
  • Common names for the objects you actually shoot. Nocturne now recognises a target however it is spelled — M 31, M31, NGC 224 and NGC0224 all find “Andromeda Galaxy” — and knows objects the standard catalogue omits entirely, like M 45 and IC 1396A.
  • A log file at ~/.nocturne/nocturne.log, so an overnight stack can tell you afterwards where its time went.

Changed

  • Faster launch, by not shipping an inference runtime the app never uses.
  • A share's caption wraps instead of being cut off, so dates and photographer credits remain visible.

Fixed

  • Choosing “Save” when asked about unsaved changes did nothing but cancel what you were doing — on every path: quitting, opening a file, opening or closing a project. The save was starting in the background, and the app treated “not finished yet” as “you cancelled”.
  • Upscale's “Open as copy” replaced your project without asking, discarding an unsaved edit history that undo cannot reach back across. It asks now.
  • Saving after “Open as copy” wrote the new image over your saved .nocturne file, under the old name, with that name still in the title bar.
  • Frame grading rejected frames for being fractionally worse than their neighbours. A rejection now has to be meaningfully worse, not merely relative.
  • The Share preview sat at its minimum size for the life of the dialog instead of filling the pane.
  • A file dialog opened from inside Upscale or Stack could be unreachable behind the window it belonged to.

v0.22.0

Drizzle — genuinely more detail from well-dithered subs — and a picture file that matches your screen

1 September 2026

Added

  • Drizzle x2 stacking. Instead of enlarging the finished image, it rebuilds it on a grid twice as fine, recovering detail the pixel grid threw away. It is off by default, and the dialog says what it costs before you press anything: substantially more stacking time and a much larger working image. Nocturne also advises whether your particular subs will benefit, based on how sharp the stars are and how many frames you have.
  • Stacking tells you how long it will take and how big the file will be, for the frames you have actually selected, before you commit to it.

Changed

  • Trimming the ragged edges is no longer preselected, in Stack or in Ha/OIII. Trimming cannot be undone without stacking again — hours for a large set — while keeping the edges costs one click of Trim afterwards. The recoverable choice is now the default.
  • The Stack dialog's options were rebuilt so each one reads as a control with its explanation beneath it, rather than a line of run-on text.
  • A drizzled master is named _drizzle and records the finer pixel scale, so it plate-solves correctly and cannot be confused with an ordinary stack in the same folder.

Fixed

  • Exporting before you had stretched wrote a file about ten times darker than the picture on screen. A PNG, JPEG or TIFF is now exactly what the canvas showed. FITS still holds your linear data, as it should.
  • The before/after divider was a hairline you could not grab. It now has a round handle with arrows in the middle, and both the line and its grab area stay the same size on screen however far you zoom out. Comparing also works properly when the earlier image is larger than the current one.
  • SPCC blamed Gaia for what was a certificate problem on your own machine. It now says which it is, so a problem in Nocturne is not reported as a problem with your network.
  • A master is named for the frames it actually contains. Frames that fail to align after grading were not being counted, so a file could claim more frames than it held.

v0.21.0

The app could never reach the internet — and a toolbar ordered around how you actually work

31 August 2026

Added

  • Trim has the framing controls Crop has always had. An Aspect ratio box locks the box to a fixed shape and Guides draws the rule of thirds or a centre cross inside it, so a late trim can be composed rather than merely eyeballed. Both default to off, so trimming a few pixels off one edge works exactly as before.
  • Compressed FITS files open. A tile-compressed file (often .fits.fz, and what several capture programs and archives hand out) keeps its image in a different place inside the file, and Nocturne only ever looked in the first — so those files could not be opened at all.

Changed

  • The toolbar is ordered by when a session reaches each tool, its icons are tinted by group so related tools read as a set, and About has gone — it was a button spending permanent space on something you look at once.
  • The GraXpert / RC-Astro / ASTAP checkmarks have moved into Settings. They sat in the toolbar reporting good news forever; now the toolbar speaks only when a tool is configured but broken.

Fixed

  • Nocturne could not make a secure connection at all once built. Certificates were resolved against the machine the app was built on, so on any other Mac every attempt failed silently. The update check has therefore never once told anyone about a new version, and SPCC's star-catalogue lookup was failing the same way. Certificates now travel with the app, and a release is blocked if the built app cannot make a connection.
  • Aspect ratios 1:1 and 4:5 did nothing on a landscape image — which is every Seestar frame. Choosing them left the box exactly as it was, in Crop and in Share. Changing your mind about a ratio also no longer shrinks your selection.
  • The Export step no longer shows a greyed-out "Next →". It is the last step, and a disabled Next reads as something you have failed to do.
  • Upscale no longer shows an Engine dropdown containing a single choice.

v0.20.0

Ha/OIII extraction, rebuilt — and a way to use what it makes

29 August 2026

Added

  • Combine Ha + OIII, a new tool. Give it a stacked Ha file and a stacked OIII file and it builds the same kind of two-gas master the extractor makes, ready for the normal steps. The files can come from Nocturne or from anywhere else — another program, a mono camera, someone else's data — so channels Nocturne could not open at all are now something it can process. A Balance slider decides how much to lift the oxygen toward the hydrogen while the data is still linear, which is the one thing you cannot do after a stretch, and a live preview shows the result as you move it. If the two files do not line up it says how far apart they are and offers to align them.
  • Ha/OIII can write each gas as its own file. Off by default; tick Also write separate Ha and OIII files and you get a mono Ha and a mono OIII beside the master, left un-equalised so the true ratio between the two gases survives for whoever recombines them.
  • Ha/OIII gained the controls Stack has always had: Strictness, Framing (trim the ragged edges, or keep the full frame), a frame preview — click any row to see that sub — and a Verdict column that says why a frame was left out instead of leaving you a row of zeros. Rejected rows are dimmed, and a frame kept with a caveat is amber.
  • Ha/OIII can be stopped. Long extracts no longer leave you without a way out; grading is interruptible too.
  • The Ha/OIII dialog explains itself. It had no descriptive text and not one tooltip, which is why it was possible to commission the tool and still not know what subs it takes or what to do with the result.

Changed

  • Ha/OIII is faster. Both gases now travel through one pass over the frames instead of one pass each, and registration runs across processes as the normal stacker does.
  • The oxygen channel is stronger. Green and blue both measure the same oxygen line, and they are now weighted by how well each sensor channel actually sees it.
  • An Ha/OIII master now names its camera, its filter and whether it was trimmed. It carried none of that, so a master loaded back in could not say what took it, and two masters of the same subs could differ in size by half with nothing on disk to say why.
  • The Ha/OIII help no longer claims that ordinary stacking mixes the two gases together. That is the standard argument for this kind of tool and it is true of most programs, but not of Nocturne, which debayers in a way that never looks across colours. What the tool actually gives you is the two gases brought to a comparable level while the data is still linear.

Fixed

  • The two gases came out about a pixel apart. Red, green and blue sit at different places in the sensor's colour grid, and each was being put back as though they sat in the same place. Every star carried a faint colour fringe and the master was softer than it should have been. Fixing it also made the hydrogen channel slightly sharper and cleaner than a normal stack of the same frames.
  • Field rotation was being drawn onto the picture. An untrimmed Ha/OIII master came out with bright wedges across it where a normal stack of the same subs was clean: frames were never brought to a common sky level, so every coverage boundary became a step in brightness. It was invisible for as long as the tool always cropped to the middle.
  • Ha/OIII and Stack framed the same subs differently, because they chose different reference frames. Ha/OIII picked by overall score, which favours a frame with many stars over a sharp one — on a night when transparency varies that can align a whole session to a soft frame.
  • The Ha/OIII window wasted its space when maximised: explanatory text took room from the frame list and preview.
  • Wide-gamut colour profiles work when exporting Starless + Stars, which are 16-bit TIFFs like any other and were being refused one.

v0.19.0

Star Spikes, Narrowband and Colour Balance, gone over control by control

27 August 2026

Added

  • Narrowband has a Tame core slider. A bright nebula core often comes out of the palette combine close to white with its colour squeezed out; this rolls those highlights back down so the colour underneath shows. It was in the engine all along, sitting at a value that did nothing, with no control able to reach it. Off by default, so nothing you have already made changes.
  • Star Spikes has Variation and Star colour. Real diffraction spikes are never identical: Variation gives each star its own arm length, angle and brightness, and lets the four arms differ from one another, so a field of them stops looking stamped. Star colour carries each star's own hue into its cross — a bright star's core is blown white in every channel, so the colour is now read from a ring around it instead of its centre.
  • Compare with original in all three dialogs — Narrowband, Star Spikes and Colour Balance. Splits the preview against the image you opened with, using the same draggable divider as the main window's Before/After. A recolour or an effect is hard to judge against nothing.
  • Star Spikes has a Reset, and finds its stars without freezing the window while it opens.

Changed

  • The clipping warning now says which colour channel died, and the overlay is coloured by it. A mark's colour tells you which channel is gone — red, green or blue for one, yellow, magenta or cyan for two, white for all three, which is the only case where the pixel really is black. The measurement was always per channel; nothing said so, so checking whether the pixel looked black tested the wrong thing.
  • Star Spikes picks its stars far better. It used to let diffuse patches of nebula outrank genuinely bright stars and draw crosses on them. It now ranks by brightness and discards anything not shaped like a star, and the count slider will not offer more stars than the image holds.
  • Narrowband's Green blend is greyed out in Pseudo-SHO and Pseudo-bicolor, where it never did anything. Those palettes take green straight from one gas, so the slider moved and the picture did not. Your setting is kept and applies again in HOO.
  • The Narrowband palette list explains itself. Each palette now says what it does to each gas — hydrogen red and oxygen teal in HOO, gold and blue in Pseudo-SHO, magenta and green in Pseudo-bicolor — rather than leaving three names to guess at.

Fixed

  • Narrowband's Apply froze the window on a large master, with nothing on screen to say why. It now runs in the background and says what it is doing.
  • Narrowband's Saturation slider barely touched the nebula core — the part you are usually trying to colour. The boost was being tapered away from bright areas to protect star colour, on a layer whose stars had already been removed. The core now responds properly.
  • Narrowband's Protect background traced a hard edge around the nebula. The boundary followed the noise pixel by pixel; it is now softened.
  • Narrowband produced a different image from a recipe or a Batch run than it did by hand, because the tool and the engine disagreed about whether Preserve lightness starts on. They now cannot disagree.
  • Star Spikes drew its crosses slightly beside the stars rather than on them. It now finds each star's centre accurately.
  • Star Spikes said nothing at all when an image had no stars in it: four sliders that moved and did nothing, with no way to tell a broken tool from an image with nothing to work on. It now says so.
  • Colour Balance could save an image built from settings you had already changed. Apply runs in the background, and the sliders stayed live while it worked, so nudging one during the seconds it takes on a large mosaic changed what was written — and the settings recorded in the log and the provenance report were read even later than that. Everything is now captured the moment you press Apply, and the controls are held while it runs.
  • The Narrowband panel cut off the end of its own text — the palette description was sliced mid-sentence and "Preserve lightness" lost its last word.

v0.18.0

A beta that says so, a Batch that cannot overwrite your masters, and help that matches the app

25 August 2026

Added

  • Nocturne now tells you it is beta. A launch splash carries the logo and the beta marker, and the version reads as beta everywhere it is shown. The word had appeared nowhere on your own machine before — only on the website — so nothing in the application itself ever said what stage it is at.
  • Batch checks your recipe against the tools you have installed before it runs, and says which one is missing. A recipe containing Background needs GraXpert; without it every file in the folder used to fail in turn, under an error that never mentioned GraXpert. Recipes that do not use Background are unaffected — every other tool-backed step falls back to a free implementation and runs fine without RC-Astro.

Changed

  • Help topics rewritten against the dialogs that actually exist: Ha/OIII, Narrowband, Dualband, Recipes & Batch, Star Spikes, Upscale Crop and Auto Enhance. The Ha/OIII topic described a tool that is not in the application, the Recipes & Batch topic named none of its controls, Star Spikes gave neither a default nor a range for its sliders, and Auto Enhance promised a plan it does not always run.

Fixed

  • The Starless + Stars export was locked to sRGB. Both files it writes are 16-bit TIFFs, so they can carry Display P3, Adobe RGB or ProPhoto RGB exactly like any other 16-bit export — the colour space list simply refused to offer them.
  • Batch could write an export straight over the file it had just read. With the output folder set to the input folder and the format set to FITS, each processed image overwrote its own source. A stacked master is hours of capture, and there was no prompt and no undo.
  • Batch reported "Done — 0/0 succeeded" when pointed at a folder holding nothing it can read, which reads as success. It now refuses before starting and names both the folder it searched and the extensions it searched for — which also covers images sitting one level further down, since it does not search subfolders.

v0.17.0

Colour-managed exports, a proper Curves editor, and setup that configures itself

20 August 2026

Added

  • Choose the colour space on export — sRGB, Display P3, Adobe RGB or ProPhoto RGB. The image is converted into the space you pick and the ICC profile is embedded, so Photoshop and Lightroom read it as what it is instead of assuming their own working space. Wide-gamut spaces on 16-bit TIFF.
  • A large Curves editor with the live preview beside it.
  • Curves presets — Add contrast, Strong contrast, Lift faint, Deepen sky, Tame highlights — each measured against your own image rather than a fixed shape, so the background stays put while the rest of the curve moves.
  • Curves now draws your histogram behind the grid, with black-to-white ramps along both axes so you can see which tones you are moving.
  • Nocturne finds GraXpert, RC-Astro and ASTAP where their installers put them, so a fresh install usually needs no setup at all — and a Rescan button repairs a path that has been typed wrong.

Changed

  • Auto Levels now sets a black point and nothing else. It had been re-brightening midtones on top of a stretch that already placed the background, lifting the sky and washing images out.
  • GraXpert denoise strengths recalibrated against real data, so the settings better reflect their visible effect.
  • The Levels black point adjusts in finer increments — it is the value Auto sets, and coarse rounding used to throw most of the adjustment away.

Fixed

  • Every Browse button in Settings did nothing, in every release since v0.12.0. Configuring GraXpert, RC-Astro or ASTAP by hand-typed path was the only route left.
  • A tool path pointing at a file that cannot be run — a document, a folder — was reported as installed with a green checkmark.
  • Exports carried no colour profile at all, so other editors guessed and could render a correct file far too dark.
  • Auto Levels did nothing to the shadows of any mosaic: its black point read the empty border and came out as exactly zero.
  • Auto Levels clipped star cores to pure white on typical frames, throwing away their colour.
  • The Open large editor button in Curves did nothing.

v0.16.0

Stacking is seven times faster.

19 August 2026

Changed

  • Stacking is much faster. Nocturne now uses the available processors properly and works out how hard to push from the machine it finds itself on rather than from a fixed number — so a laptop is never asked to do what a desktop can, and a desktop is not held back to what a laptop could manage. The finished master is identical to the pixel, so saved projects reproduce exactly as they did before and nothing you have already made changes.

Fixed

  • A finished mosaic now opens in the editor, the same as any ordinary stack. It used to complete and then go nowhere — you had to close the stacking window and open the file by hand. It had been that way since mosaics arrived.

v0.15.0

Colour you can steer, and stacks that stopped blurring themselves.

18 August 2026

Added

  • Green ↔ Magenta and Cool ↔ Warm sliders on the Colour step. After you calibrate — sky balance or photometric — two sliders shift the overall colour of the picture, with a live preview as you drag and their own Apply. Both sit at zero and change nothing until you move them; double-click either to re-centre it. They multiply the colour channels rather than clamping one of them down, so the differences between stars survive the adjustment: an orange star stays orange next to a blue one, which is the one thing Remove Green cannot promise. Seestar data tends to land slightly magenta, and a small nudge toward green is usually all it wants. The panel now runs in the order you would actually work in: calibrate, nudge to taste, then remove green only if you imported the image from other software, which is where a green cast normally comes from.
  • Opening a saved project shows progress instead of appearing to freeze.

Changed

  • Stacks are sharper. Registration was resampling every frame with bilinear interpolation, the softest option available, which set a floor on how sharp any stack could be. It now uses bicubic resampling without introducing artefacts. A sharper demosaic was rejected because it painted a coloured cross around every star, and filtering that out bleached the real colour before removing the artefact.
  • Colour Balance opens faster — the star separation is reused between opens rather than recomputed each time.

Fixed

  • Stretch committed something different from what you were looking at. Pressing Apply without touching the slider used to change the picture.
  • The image no longer moves as you step through the pipeline. The right-hand panel changed width from one step to the next, shifting the picture under your cursor; it now holds a fixed width.
  • Stacking registers against the sharpest frame rather than the highest-scoring one. Star count was swamping sharpness in the score, so on a night of varying transparency a hazier but star-rich frame could be chosen as the reference every other frame was aligned to.
  • Colour calibration now says which failure it hit — Gaia unreachable, no usable stars, or an unreadable answer — instead of reporting all three as "Couldn't reach Gaia", which sent people looking at their network for faults that were not there.

v0.14.0

Colour work that no longer needs another program.

17 August 2026

Added

  • Colour Balance, a new finishing tool on the toolbar. Shift the colour of one tonal range at a time, inside a band of brightness you choose. Shadows, midtones and highlights each keep their own three sliders — Cyan/Red, Magenta/Green, Yellow/Blue — so you can warm the arms of a galaxy and leave its golden core alone in a single adjustment. The band is set with two handles over the image's own histogram, with a black-to-white scale beneath them so it is clear what is being selected, and the presets are measured from your picture rather than being fixed numbers: a stretched sky sits wherever the stretch put it. Tick Show the mask and the areas that will change light up in their own colours while everything else dims, so you can see exactly where the adjustment lands rather than only how strong it is. Your stars are separated out, left completely untouched, and laid back on top. It is a finishing tool, so it appends to your history and never discards work you have already done — run it twice with different settings if you want to treat two parts of the picture differently.
  • Black and white points on the Curves editor. Both end handles now drag: pull the low one right to set a black point, the high one left to set a white point. That is the commonest move there is on a curve and it was previously impossible — the corners were pinned. Click any point to see its input and output, and nudge it with the arrow keys one 8-bit level at a time, or ten with Shift.

Changed

  • Colour Balance skips the pixels its mask discards, and it now composes off the interface thread so the window stays responsive while it works.

Fixed

  • Open Project could not open a project. It raised an error instead of opening anything, and had done since v0.12.0 — two releases. The cause was a change to how file dialogs are opened: the new one returns a path where the old one returned a path and a filter, and the caller was still expecting both.
  • The Colour Balance and Narrowband previews were throwing away much of the star field when shrinking the image for display, taking samples rather than averaging. Stars looked blocky when you zoomed in. Both now average, so every star survives.
  • The Narrowband preview showed the starless layer, with the stars only added back when you pressed Apply. What you were tuning against was never what you got.
  • Curves mishandled a lifted black point, crushing the very shadows it was meant to lift. The curve carried on past its outermost control points instead of holding their values, so raising the black point returned something darker than the point itself.

v0.13.0

Mosaics, and a large master that no longer fights back.

16 August 2026

Added

  • Mosaic stacking. Point Nocturne at a folder of subs covering several pointings, tick Mosaic in the Stack dialog, and it works out which frames belong to which panel from where the telescope was aimed, stacks each panel with the ordinary stacker, plate-solves them, builds one global frame on the sky and assembles a single wide picture — panel edges feathered, every overlap matched at once rather than pair by pair. It needs ASTAP installed and takes considerably longer than an ordinary stack.
  • See what background extraction removed. After the step runs, tick Show what was removed to put the subtracted gradient on the canvas on its own. Mid-grey is where nothing was taken. A smooth ramp, brighter toward one edge or corner, is sky-glow and means the step did its job; if instead you can see the shape of your object in it, the model mistook your signal for sky and subtracted some of it — undo and try Light. That failure is nearly invisible in the corrected image, where the object merely looks a little flat, and obvious here.
  • The stacking report now tells you the peak level a master was normalised by.

Changed

  • Large images are quicker to work with. Stretch statistics now use a fixed, evenly spaced sample derived from the image's shape rather than reading every pixel, so the same image always produces the same result and two exports can never differ.

Fixed

  • A mosaic master now records what went into it. It was written with its position on the sky in place of the usual stack details, so the frame count, exposure and filter were missing from the finished file.
  • Show what was removed could not be clicked. Whether the control was available was worked out only when the step's panel was first drawn, and applying a step redraws the panel without rebuilding it — so after running background extraction the control stayed greyed out until you navigated to another step and back.
  • The removed gradient was shown in the wrong colours. Background extraction takes out a fixed amount per colour channel as well as a gradient, and scaling all three channels together turned that fixed amount into colour: on a North America Nebula frame the gradient rendered vivid blue-green when it was in fact strongest in red. Each channel is now levelled on its own before the view is brightened, so colour in it once again means one channel genuinely had a stronger gradient than the others.
  • A real gradient could be reported as nothing. The threshold below which the app decides nothing measurable was too high, so a slightly flatter sky could answer “removed nothing measurable” for a correction that plainly changed the picture.

v0.12.0

Colours that match your data — and dialogs that open where you can see them.

15 August 2026

Changed

  • Green removal now starts at zero. With the stretch fixed, most images have no green to remove — and on a clean image the old default of 0.40 was making the sky slightly greener, because green removal only acts where green exceeds red and blue, which on clean data happens only in the noise. It is still there, at whatever strength you choose, for an image that genuinely needs it.
  • Projects saved before this release will reopen with the corrected colour, not the colour you saved. A saved project replays its steps rather than storing the finished pixels, so it now benefits from the fix.

Fixed

  • Images no longer come out green. The stretch — the step that lifts faint signal into view — was giving each colour channel its own amount of amplification based on how noisy that channel was. A colour camera has more green photosites, so green arrives smoother, and the stretch mistook "smoother" for "needs more boost". The stretch now levels the channels first and brightens them all identically, so it changes brightness and never colour.
  • The app no longer freezes when a dialog opens. On a second monitor, macOS was placing Open and Save panels on your primary display — and if Nocturne was fullscreen, on a different desktop entirely. The panel had control, so every click elsewhere just beeped and the app looked hung, with no way out but force-quitting and losing the session. File dialogs are now attached to Nocturne's own window, where they cannot wander off to another screen.
  • Annotations no longer switch themselves back on. Hiding the plate-solve overlay and then zooming brought it straight back, because zooming rebuilds the overlay and your choice to hide it was stored on the thing being rebuilt.

v0.11.2

A fresh install no longer asks for Xcode before it will open a photograph.

5 August 2026

Fixed

  • On a Mac without Apple's command line developer tools, launching Nocturne popped a system dialog asking to install them. Nothing was broken — dismissing it left the app working normally — but it is a poor thing to meet on a machine you have just installed on, and nothing about opening a FITS needs a compiler. The cause was a library Nocturne uses to debayer raw frames, which runs `git describe` when it loads in order to decorate a version string. On a developer's machine that fails quietly and is never noticed; without the tools installed, macOS answers the same call by offering to install them. Nocturne now stops that lookup before it can start a process, which the library already copes with by falling back to its packaged version number.

v0.11.1

Background extraction that does what the label says.

5 August 2026

Changed

  • The Background strength control now has a real range. The old settings removed nearly the same amount, so there was no meaningful choice. Light now removes less than Strong, which makes it useful when your target fills the frame — a large galaxy, or a nebula spanning most of the picture — and the model can mistake the object's faint outer parts for sky. If Strong leaves your object looking flat or hollowed out at the edges, undo and try Light.

Fixed

  • Background extraction's two strengths were the wrong way round. The options are labelled by how much correction they apply, but were implemented as GraXpert's smoothing setting — the opposite axis, where a higher number means a stiffer model that removes LESS. So "strong" was gentler than "light", and the in-app help told you to reach for it when the gradient was heavy. Both now do what they say, and Strong is the default.

v0.11.0

Stacking that keeps your pixels — and a camera it recognises.

4 August 2026

Added

  • Sharpen Nebulosity, a new Enhancements tap. Sharpening a whole astro frame finds the noise first and rings the stars; this sharpens the starless layer under a signal mask and screens the stars back untouched, so nebula structure crisps up while stars cannot ring and the background is left alone. It is the easiest finishing move to overdo — a light touch is usually right.
  • Nocturne now recognises which Seestar took the picture, reading it from the file rather than assuming. Every camera question previously answered "S30 Pro", which is invisible if that is what you own and wrong otherwise. Adding a future model is a single entry.
  • Trailed frames are now rejected when stacking. Wind, a nudge of the tripod or a tracking slip stretches the stars into short streaks, and that could not be detected before. A new Round column shows how circular the stars are.
  • Keep the full frame when stacking. An alt-az mount rotates the field as it tracks, so the outer edges of a stack are built from fewer frames than the middle, and Nocturne used to always trim back to the fully covered region — about a quarter of the picture. Turn "Trim the ragged edges" off and you keep everything. You can always crop later with the Crop step or Trim, but nothing can put back what the stacker discarded.
  • Stacking says how far along it is. The progress bar fills once per phase, and reaching the end only to restart with no explanation reads as a hang, so each phase now identifies itself. Grading also explains itself while it runs, including that your Strictness and Integration choices apply instantly afterwards and never re-read the files.

Changed

  • Every frame is brought to a common sky level before combining. Sky brightness varies across a session as the target climbs and the moon moves, so which frames a given pixel happened to average used to change its background. That drew the rotation pattern onto the finished picture as curved bands wherever the edges were kept.
  • The in-app help now explains Strictness and Integration properly: what grading measures, what each option means in plain terms, when you would pick one over another, and why a frame count that does not change when you change Strictness is informative rather than broken. Sigma-clipping versus Average, and what the kappa setting actually does, are covered too.

Fixed

  • The edges of a stack came out dark. Frames that did not reach a pixel still counted toward its average, so edge pixels were dimmed in a smooth ramp inward that no amount of cropping could remove. Sigma-clipping appeared immune to this and was not.
  • Frame grading could reject most of a good session. At Strict the quality threshold could fall below the session's own median, condemning perfectly typical frames. The bright-sky warning had been misfiring the same way all along.
  • Reset did nothing on a loaded project. It restored from a value that was only set when opening a FITS file, so it failed on every saved project — and reported the failure only to the console, leaving the button looking dead.
  • A stacked master lost its optical details, so anything afterwards that needed the image scale fell back to an assumption instead of the real values. Masters now also record which camera took the data.

v0.10.0

Trim without losing your edit, a distraction-free view, and labels that stop colliding.

2 August 2026

Added

  • Trim — cut the edges off a finished image without losing the edit. Ragged stacking borders and smeared corners are often invisible in the linear data you cropped at the start and only appear once you have stretched, at which point going back to the Crop step would discard every step you had done since. Trim adds a final step instead of reaching back, so the whole edit survives and undo still works. Available once the image is stretched.
  • Press F for the image and nothing else — toolbar, step list, panels and the log all step aside so you can judge noise, star shapes and faint detail without the interface competing for attention. Escape returns, and your zoom and position are kept.
  • Names for objects that had none. The deep-sky catalogues added recently arrived as bare designations, so the Elephant's Trunk appeared as "vdB 142". Well-known targets now carry the names people actually use, so a frame is more often identified as the thing you pointed at rather than as the largest catalogued region that happens to overlap it.

Changed

  • The in-app help now covers Trim, the full-screen view, the objects-in-field list, the Density control, Re-solve, the clipping line's "on import" reading, and Share's caption and output controls. It also says plainly that plate solving needs ASTAP's star database — a separate download from ASTAP itself, and much the most common reason a solve fails.

Fixed

  • Annotation labels could print on top of one another on a crowded field, rendering "LDN 1109" and "LDN 1110" as a single unreadable smear. Labels stay a fixed size on screen while their spacing was being worked out in image pixels, so at anything below 100% zoom they were larger than the space reserved for them. They now re-place themselves as you zoom. Burned exports were never affected.

v0.9.0

Plate solving that works beyond the Seestar — and several things that were quietly wrong.

1 August 2026

Added

  • Plate solving no longer gives up when its assumed image scale turns out to be wrong. When a file carries no optical details in its header — which most stacked masters do not — Nocturne assumes the Seestar's image scale, which is right for a Seestar and badly wrong for anything else. If a solve fails with that assumption, it now drops the hint and tries again without one, so frames from other instruments can solve where they previously failed. The result card says when that happened, which is also the clearest available signal that a frame did not come from a Seestar.

Fixed

  • The same object could be named three different ways in the same window. The overlay labelled the Andromeda Galaxy "M 31" while the object list beside it and the solved-target line both called it "NGC 224". Every surface now uses the name people actually use.
  • Dialogs that show an image — Share, Upscale Crop, Star Spikes — opened with the picture shrunk into the middle of the window, and only corrected themselves once you changed something. The view now re-fits when the window is resized, while leaving a zoom you chose deliberately alone.
  • Sharing an annotated image drew the caption band on top of the annotations, swallowing the coordinate-grid labels and cutting object labels in half. With annotations burned in, the caption now sits below the picture by default, where it cannot cover anything — and you can still move it back onto the image if you prefer.

v0.8.0

Share grows up — and a colour fix that was quietly costing you accuracy.

1 August 2026

Added

  • The Share caption is yours. Nocturne still writes a first draft from the image's own data — target, integration, frame count — but it is now an ordinary text field you can rewrite, trim, or replace with something the metadata never knew. Put it on the image or below it (below extends the canvas, so nothing you photographed is covered), left, centred or right, at three sizes, in any colour, with a slider for how dark the band behind it is. The styling is remembered between shares; the text starts fresh for each image.
  • Share now lets you choose the output: 1080, 2048 or 4096 px, or full size, as JPEG or PNG. PNG is the better choice when the image carries annotations or a caption, since labels and text are hard edges and JPEG softens exactly those. Exports only ever scale down, and the status line reports the pixel size actually produced.
  • The objects the plate solve found now appear beside the image by themselves, and follow the Annotations button rather than needing a separate control. Click a row to jump the view to that object; close it with its own ✕ if you would rather see the whole picture.
  • Plate Solve is greyed out until ASTAP is configured, and says what to install rather than waiting for you to press it and then complaining.

Changed

  • The clipping warning now judges what your editing session actually caused, while still reporting the true total. An image that arrives already crushed — a re-imported export, or an upscaled copy — used to show amber from the first Stretch with nothing you could do about it. It now distinguishes imported clipping from clipping added by your edits.
  • Share's aspect buttons show which one is selected. Previously nothing indicated the current choice, so the only way to know what you would get was to read the shape of the preview.
  • Cropping, rotating or flipping a solved image now tells you the plate solve no longer lines up and its annotations have been hidden, instead of removing them in silence.

Fixed

  • Photometric colour (SPCC) silently fell back to sky balance on any master whose header carried no optical details — which is most stacked masters exported from another tool. The plate-solve tool already handled this by falling back to the Seestar's known image scale, but the colour step did not, so it solved blind, failed, and quietly used the lesser method. It now uses the same fallback.
  • A shared image ignored the plate-solved target. If your file's header never named what you photographed but Nocturne identified it, the caption left the target out entirely — while the info strip and the provenance report both showed it.
  • Opening a new image left the previous image's annotation pill and object list on screen, describing a field you were no longer looking at.
  • The plate-solve screenshot on this site and in the project README dated from before the annotation-mirroring fix, so both were illustrating the bug rather than the feature. Replaced with a current capture.

v0.7.1

Two correctness fixes — a bad pixel no longer blanks a channel, and a background step can't land on the wrong image.

1 August 2026

Fixed

  • A single bad pixel could turn a whole colour channel black on screen. Frames registered with rotation (alt-az field rotation) often carry NaN "no data" in the corners, and one such pixel was enough to blank an entire channel of the display. Importing a file containing NaN skipped normalisation, the display stretch derived its parameters from a statistic that one bad sample could destroy, and export cast those pixels differently from the canvas. Non-finite pixels are now treated the same way everywhere — as no data, drawn black — and the good pixels around them are unaffected.
  • Opening or closing an image while a step was still running could corrupt it or crash. Closing a project mid-step raised an error; opening a different image mid-step silently applied the previous image's result to the new one and recorded it in the wrong history. Saving while opening another image could also write the new project to the old file. A result now only ever lands on the image it was computed for, and Open Project no longer silently does nothing while a step is running.

v0.7.0

Plate solving you can steer — an object list, a Cancel button that works, and annotations on Share.

31 July 2026

Added

  • Objects in field — everything the solve found, as a list beside the image: deep-sky objects in the overlay's own significance order, named stars below with their magnitude. Click a row to jump the view to it. The list shows the whole field, including objects Density leaves off the image, so the ones hardest to spot are the ones easiest to reach.
  • Share can carry your annotations. A checkbox switches the preview between the clean and the annotated frame, so a labelled image gets the social reframing and caption band too — previously the only way to publish a labelled image was a PNG export, which skips both. The checkbox is hidden entirely when there is no solution.
  • Plate solving falls back to the instrument profile for the field-of-view hint when a file carries no optics. A stacked master exported from another tool routinely has neither FOCALLEN nor XPIXSZ, which left ASTAP solving a few-degree field blind and usually failing. The result card says when the scale was assumed rather than read, since on data from another instrument that assumption is wrong.

Fixed

  • Cancel during a plate solve did nothing. The button set the flag and the interface reported "Cancelling…" while ASTAP carried on to completion. It now genuinely stops the solver, and a solve that keeps grinding gives up with a diagnostic rather than holding on indefinitely.
  • A pointing hint taken from a bare RA header card was parsed as hours when it was in degrees, making the search centre meaningless. Latent — those files carry pointing elsewhere too, so the bad value was never actually passed — but a file without that fallback would have been handed nonsense.
  • The changelog on this site listed releases by headline alone, so you could not tell which version you were running. Every entry now names its version, and the newest is marked Latest.

v0.6.0

Plate solving grows up — and a fix that has been mislabelling your images since 0.3.0.

31 July 2026

Added

  • Object circles are drawn at each object's real size on the sky instead of a fixed dot, so a large nebula's ring shows how far it extends — past the frame edge if the object is bigger than your field. A dashed ring means the catalogue records no size.
  • A Plate Solve tool panel with a checkbox per layer (objects, named stars, RA/Dec grid, compass, scale bar), a Density control for how crowded the labels get, and a result card showing the field centre, size, scale, orientation, solver and elapsed time.
  • Colour by type: violet Messier objects, white dark nebulae, cyan planetary nebulae, orange galaxies, yellow named stars.
  • An RA/Dec coordinate grid, drawn as true curved lines with edge labels.
  • Far more to find in your frames. The deep-sky catalogue now includes Sharpless HII regions, Lynds and Barnard dark nebulae and van den Bergh reflection nebulae — so the dark lane inside the North America Nebula is now labelled LDN 935. Named stars now include Bayer and Flamsteed designations.
  • An Annotations button on the image toggles the overlay without closing the tool, so you can keep the labels up while you carry on editing.

Changed

  • The Plate Solve toolbar button now opens the tool rather than solving immediately — solving starts when you press Solve, so a several-second run never begins by surprise.
  • Labels are placed to avoid overlapping each other, in order of significance, with a leader line when a label has to sit away from its object.
  • Labels are larger and carry a proper dark halo, so they stay readable over bright nebulosity as well as dark sky.
  • Annotations are clipped to the image, and a solution is cleared when you crop, rotate or flip, since it belongs to the framing it was made for.
  • The result card reports no confidence score and no mirrored/not-mirrored flag. Neither can be established reliably from what the solver returns, and a wrong claim on the panel that exists to tell you the solve is trustworthy is worse than a missing one.

Fixed

  • Every annotation was mirrored vertically. Object labels, stars, the grid and the compass have all been placed on the wrong side of the image since plate solving shipped in 0.3.0 — most visible on named stars, where a label sat in empty sky while the star was elsewhere in the frame. Large nebula circles disguised it because they landed roughly over their nebula either way.
  • Photometric colour (SPCC) matched Gaia stars against the same mirrored positions, so its matches were coincidental rather than real. It now matches the stars at their corrected positions.
  • Annotated PNG exports silently dropped named stars — the exported image no longer matches what the overlay showed.
  • Sharpless objects were labelled with designations that do not exist (Sh 2117 instead of Sh 2-117), and drew a second ring and label over objects already catalogued, including on the North America and Orion nebulae.
  • The identified target could be a huge diffuse complex that merely overlaps the frame rather than the object you photographed.

v0.5.0

Know exactly what you're looking at — pixel readout, clipping warnings, and a precise cursor.

31 July 2026

Added

  • Hover pixel readout — a floating pill reports the pixel under your cursor: R/G/B (or V for mono) plus L luminance. Before Stretch it shows four decimals and tags the reading "linear", because the preview is auto-stretched while the value underneath is not.
  • Clipping warning — from Stretch onward, a live summary under the histogram shows how much of the image is blown or crushed, naming the worst channel, and turns amber past a threshold calibrated on real Seestar stacks. Tick Show clipping to paint the affected pixels on the canvas (blue shadows, red highlights) live, even mid-slider-drag.
  • Crosshair cursor over the image, so you can tell precisely which pixel a reading belongs to — the normal cursor everywhere else, and the grab hand while panning.
  • Batch processing gained a Cancel button, and each failed file is now named with the reason it failed instead of a bare success count.

Changed

  • The Levels-only clipping checkbox is retired — clipping feedback is now global and works on every step from Stretch on, including Curves.
  • Share and Upscale now ask you to Stretch first rather than silently producing a near-black result from linear data.
  • Histogram redraws faster, so live previews are smoother.
  • The in-app update link now uses HTTPS.

Fixed

  • Nocturne failed to start when run from a source checkout — a toolbar icon was missing from the repository, so launching from a fresh clone raised an error. The downloadable app was unaffected.
  • Auto Enhance now gates on a crop and respects the crop you chose.
  • Remove Green's live preview goes through the same canvas path as every other step, so what you see matches what applies.

v0.4.2

Five new one-tap Enhancements, plus recipe/batch capture and an in-app update check.

26 July 2026

Added

  • New Enhancements taps — Star Colour (recover stars' natural colour via a star/starless split), Vibrance (oversaturation-resistant colour pop), Boost Gold (warm hue boost for dust and star fields), Dark Structure (definition in dust lanes and dark nebulae), and Soft Glow (dreamy Orton-style bloom).
  • Enhancements taps are now captured in Recipes and replayed in Batch, so finishing survives folder processing.
  • In-app "Update available" indicator — a fail-silent GitHub check on launch (no telemetry).

Changed

  • Refreshed in-app help, README, and testers' guide to cover the newer tools (Auto Enhance, Plate Solve, Share, Upscale Crop, Saved Projects, Provenance, Photometric/SPCC colour, ASTAP).

Fixed

  • The crop overlay now stays within the image — resizing or moving the box clamps to the bounds.

v0.4.1

Plate-solving fixed in the app build

25 July 2026

Fixed

  • Plate Solve now works in the downloaded app — a packaging issue had it failing to solve or annotate (it had always worked when run from source).
  • macOS "Get Info" now reports the correct app version.
  • A plate-solve that can't complete now explains why, instead of showing a generic message.

v0.4.0

Saved projects, one-tap Auto Enhance, and shareable exports

25 July 2026

Added

  • Saved Projects — save your whole editing session as a .nocturne file and reopen it exactly, pixel for pixel.
  • Auto Enhance — one adaptive tap that detects dual-band vs broadband data and processes accordingly.
  • Share — reframe and caption an image for social, then export or copy to the clipboard.
  • Upscale Crop — a 2× layered upscale of any crop, exported or opened as a copy.
  • Provenance report — a readable record of every step applied to an image, from the Project menu (Save or Copy).
  • Cancel, live progress and failure diagnostics for long operations (stacking, grading, Auto Enhance, external tools).
  • A histogram info strip (resolution · integration · target), Close Project, recent projects, and refreshed toolbar icons.

Changed

  • Auto Enhance reworked to always use photometric colour with a gentler stretch.
  • The right panel no longer shifts as status messages update, and the message panels clear when a new image is opened.

Fixed

  • Readable FITS import details, a Close button on every dialog, and the Star Spikes preview now opens fitted to the image.

v0.3.0

Photometric colour & a calmer interface

23 July 2026

  • Photometric colour calibration (SPCC). Colour is now calibrated against real Gaia catalogue stars in the frame, so the sky lands neutral and star colours are true — with an automatic fall-back to sky balance when a field can't be solved.
  • Interface overhaul. Status and results now live in a copyable output area, blocking warnings sit right beside the buttons, and Back/Next stay pinned so they never shift under you.
  • Collapsible step-help. The in-panel explainer can be folded away once you know a step — and it remembers your choice everywhere.
  • Annotation polish. Named bright stars (Deneb, Vega…), clearer object labels, compass and scale bar.

Plate Solve & Annotate

22 July 2026

  • Plate solving with ASTAP. Solve any image to identify exactly what you shot, then overlay deep-sky object labels, a compass and a scale bar.
  • Exports keep the astrometry. Annotations burn into PNG exports, and the WCS is written into exported FITS.
  • Free star separation. Star Reduction, Remove Green Fringe and the nebula saturation boost now work without RC-Astro — with an optional quality lift if you own it.

Narrowband, denoise & artistic tools

20–21 July 2026

  • Guided Narrowband tool. Map Ha/OIII into finished palettes with a live preview, on the stars-removed image or the whole frame.
  • Choose your denoise engine. RC-Astro NoiseXTerminator, GraXpert, or a built-in method — whatever you have installed.
  • Star Spikes for artistic diffraction spikes, Remove Green Fringe, and a masked nebula saturation boost.
  • Spacebar before/after peek, and a default working folder used by every file picker.

Smarter stacking & a full pipeline audit

17–19 July 2026

  • Frame grading in stacking. Every sub gets a verdict (kept, soft stars, clouds…), a strictness control, quality-ranked integration and a plain-language summary of what was kept.
  • Curves (a smooth monotone-cubic editor) and HDR core recovery for taming bright galaxy and nebula cores.
  • Beginner audit of every step: Levels (auto + clipping preview), a reworked Crop (composition guides, live size, click-to-dismiss), and an Import panel that reports accurate integration time and real sensor details.

Colourise, Enhancements & in-app Help

4–6 July 2026

  • One-press Colourise. Turn a dualband master into a finished two-gas colour image — stars removed, nebula colour-mapped, stars screened back — with Advanced sliders when you want them.
  • Deconvolution step (RC-Astro BlurXTerminator, or a free fallback).
  • Tap-to-stack Enhancements, a browsable Help window, and progress indicators throughout.

First release

Late June – early July 2026

  • The guided, non-destructive pipeline — a live preview and full undo at every step.
  • Built-in stacking, Ha/OIII extraction, real narrowband palettes, and recipes & batch processing.
  • Native macOS app, and this website.