lightcraft/docs/whats-new.md

6.6 KiB
Raw Blame History

What's new in LightCraft

October 2026

Presets and profiles

  • Import presets from other editors: XMP presets, classic .lrtemplate files, "DNG presets" from mobile apps and .zip bundles of any of these — whole folders at once, grouped by pack. Masks inside presets come along.
  • Luminar looks: .lmp files and .mplumpack collections import as presets (grouped by collection); the sliders with a counterpart here come along, the rest is listed.
  • 23 new built-in presets: Portrait, Landscape, Urban, Food, Seasons, Vintage and B&W toners.

Reliability

  • Exports and renders never write over a photo's original (issue #93): exporting into the photo's own folder with the same name and "Overwrite" (or Export with Previous repeating it), an exact output path from the control channel or MCP, a merge preview path or lightcraft-cli render IMG.jpg -o IMG.jpg is refused with a clear message, and the original is left byte for byte. Ordinary earlier exports are still overwritten when asked. Exported files are written to a temp file, synced and then renamed into place, so a full disk or an unplugged drive never leaves a truncated file; the XMP sidecar of an "Original" export follows the "If file exists" choice too.
  • Convert to DNG, Copy as DNG, Photo Merge and smart previews no longer write straight to the final file (issue #106): a DNG is checked against the raw data, written to a temp file, synced and read back before it gets its name (never replacing a file), and only then is the photo relinked or the raw copy removed — a failed write leaves no DNG and keeps the raw. Smart previews are written the same way; a damaged one (cut short by a crash or a full drive) no longer counts as built and Build Smart Previews replaces it.
  • Import ▸ Copy verifies every copy, like Move (issue #96): each file is written as a new file, synced to disk and compared byte for byte with the card. A copy that fails or differs is removed and reported as a failed import — so "import complete" means the copies are good before you format the card — and a name that is taken gets -1, -2… instead of being replaced.
  • Canon CR2 photos from the EOS 7D, 50D, 60D, 550D, 600D, 1200D, 1300D, 5D Mark II and 1D Mark IV (and other models whose sensor starts on a green-blue row) no longer come out magenta (issue #85): the colour-filter layout is read from each file instead of assumed.
  • Exports are never black because of the GPU (issue #78): a GPU render that runs out of device memory, exceeds the GPU's buffer limits, hits a driver error or reset, or comes back incomplete is redone on the CPU — the file is the same image either way. Work is sent to the GPU in short pieces so slow integrated GPUs aren't reset by their watchdog. ui.inspect → perf (gpuReason, gpuFallback), Help ▸ System Info and Settings ▸ Performance say why the GPU isn't used (e.g. a skipped software adapter such as llvmpipe) and why the last render fell back.
  • The thumbnail cache only ever counts and deletes its own files (issue #98): a library opened on a folder that already has a thumbs/ folder of other pictures no longer loses them when the cache is trimmed or cleared.

Library

  • Rename Photos never overwrites another photo when only the letter case changes (issue #95): on case-sensitive volumes (Linux, case-sensitive APFS) img_1.JPG next to IMG_1.JPG is a different photo and the renamed one gets img_1-1.JPG; on case-insensitive volumes the case change still goes through.
  • Rename Photos reports files it could not move back after a failure (issue #105), e.g. when a network share drops mid-batch: the error lists them (old → new) and the library points at their new names (an undoable partial rename), so none shows as missing. Renaming one of a raw + JPEG pair copies their shared IMG_0001.xmp instead of taking it away from the other (issue #92). Find Missing Photos also finds renamed files by their content, prefers a content match over a same-name same-size look-alike, and skips (and reports) photos it can't tell apart instead of guessing.
  • Smart albums with a rule editor: match all / any / none, nested groups, 26 fields.
  • Quick Collection and target album (B in the grid), keyword sets (⌥1–⌥9), colour-label sets.
  • Colour-label filter with several labels at once; expandable folder tree in Local.
  • Import: copy to any folder, by day / by month / one folder, rename on import, metadata preset, Copy as DNG.
  • Import ▸ Move: photos go into the destination (with the same folders and renaming as Copy, e.g. Photos/2026/20260114/20260114_001.jpg) together with their XMP sidecars; each original leaves the card only after its copy is verified and in the library. Duplicates and files that fail stay where they were.
  • Watched-folder auto import; Convert to DNG; Duplicate; Build Standard / 1:1 / Smart Previews.
  • Export file names use the Rename Photos tokens ({title}, {seq:2}, {date:%Y-%m-%d}…), plus new {num}, {folder}, {lens}, {iso}, {rating}, {creator}.
  • Copyright status, rights usage terms and copyright info URL in Info, metadata presets and exports.
  • Auto-Tag from Tracklog: GPS locations for your photos from a GPX track log, matched by capture time.
  • A change that can't be saved to disk (full or unplugged drive) is no longer silent: the command reports "saved in memory but not written to disk", the top bar shows a warning, and LightCraft keeps retrying until the save goes through.
  • Smaller, faster catalogs: photos you only looked at in Local (never added, rated or edited) are forgotten once their folder has not been browsed for 30 days — your files and sidecars stay, and browsing the folder shows them again. Change the period (or turn it off) in Settings → Performance.

Editing

  • Auto Sync: edits apply to every selected photo. Auto B&W mix. Automatic versions.
  • Colour-range masks: click the photo to sample. Luminance ranges: range bar, smoothness, luminance map.
  • ⌘-drag to straighten, ⇧G Guided Upright, a grid while transforming.

Viewing and sharing

  • Slideshow, second window, All Metadata, System Info.
  • Edit in External Editor (⇧⌘E): a 16-bit TIFF copy, stacked, refreshed when you come back.
  • Lossy DNG files and Smart Previews open as raw photos.
  • Compressed Nikon NEFs (lossless and lossy compressed, 12- and 14-bit — e.g. D3200, D5100, D7000, D750, D850, Z 50) now develop from the raw data instead of the camera's embedded JPEG, so a B&W or other picture style set in the camera no longer gets baked in. Photos already imported as "preview only" switch over on Reload. (Files that Nikon splits into two differently compressed halves still use the preview for now.)