Releases: ishanmalu/daisy
Release list
Daisy 0.9.0
Several files into one PDF.
Drop three photos, pick PDF, and Daisy now asks what you meant: one PDF of three pages, or three separate PDFs. It always quietly assumed the second — combining existed only under ⌥ as Merge PDF, which isn't where anyone looks for it. Works for any number of files; 40 photos into a 40-page PDF behaves the same.
Pages come out in filename order (img2 before img10), because a multi-file drop arrives in whatever order the source app hands over — for Finder that's selection order, which is invisible and not something you can control.
It only asks when both readings are real. A single file never asks. A set that can only be combined — a pile of PDFs, or images mixed with PDFs, where PDF→PDF isn't a conversion — merges straight away. Those sets also now show a PDF petal at all, which they couldn't before.
Universal, macOS 14+. Ad-hoc signed, so first launch needs right-click → Open. 87 self-checks pass.
Daisy 0.8.1
Fixed: the wheel kept re-presenting the file you just converted.
Summoning the wheel loaded whatever file URL was on the clipboard. Copying a file is how most people get one in, so every summon after a conversion put the same file straight back in the middle — it looked like the wheel never let go of it. (The reset after a conversion was working the whole time; the wheel was refilling itself afterwards.)
It now always opens at ground zero: drop a file, click to choose, or paste. Paste is still one keystroke — it just has to be asked for, and the empty ring now says ⌘V paste.
Universal, macOS 14+. Ad-hoc signed, so first launch needs right-click → Open. 80 self-checks pass.
Daisy 0.8.0
Quit works again. Every menu item had been pointed at the app delegate in one sweep, Quit included — but its action was NSApplication.terminate(_:), which the delegate doesn't implement, and AppKit silently greys out any item whose target can't perform its action. --selftest now asserts every menu item can fire.
Updating from Settings. The current version sits at the top of Settings with a button that checks GitHub Releases and turns into Update when there's something newer, plus an opt-in daily check. Also in the menu bar as Check for Updates….
Nothing installs without two independent checks: the download must match the SHA-256 published with the release (a release without one is refused, not trusted), and the app inside must satisfy the running app's own code-signing requirement. Because these builds are ad-hoc signed, that second check can never pass — the requirement pins one exact code hash — so Daisy verifies the image and reveals it in Finder for you to install by hand. Automatic in-place updates begin working the day Daisy is signed with a Developer ID.
This is the first release to publish SHA256SUMS.txt; earlier ones didn't, so the updater would have refused those downloads by design.
Universal, macOS 14+. Ad-hoc signed, so first launch needs right-click → Open. 80 self-checks pass.
Daisy 0.6.1
The wheel blooms open — a ring of accent light flares past the rim and burns off as the disc scales up. The site blooms on scroll to match.
Also a full contrast pass: every text node on the site now clears WCAG AA. The muted grey was failing at 3.31:1 across captions, table headers and code comments, and the download button's subtitle was 3.66:1 dark-on-yellow.
Universal, macOS 14+. Ad-hoc signed, so first launch needs right-click → Open. 63 self-checks pass.
Daisy 0.6.0
Kuori is now Daisy. The old name was a Finnish pun on peel, left over from being a Tangerine alternative. The wheel stopped being citrus a long time ago — it's a ring of petals around a centre — so the name now describes the thing itself.
White petals, yellow centre. The petals are near-opaque on purpose: a translucent white over a dark desktop turns grey, and grey petals aren't a daisy. The glass shows in the gaps between them and around the rim instead. Icon and menu-bar glyph are drawn from the wheel's own geometry.
Also in this release (0.5.0 and 0.6.0 together):
- Click to choose. The empty ring is a button — click it, press ↵, or ⌘O and Finder's picker opens. New Convert File… menu-bar item. You no longer have to know about Shift-drag to use it.
- Folder drops read both ways. Drop a folder of photos and you get image targets for everything inside and ZIP/TAR/7Z for the folder itself, on the same wheel.
- Liquid glass. A real behind-window blur clipped to the disc, with a lit top rim and a shaded underside. It rises into place instead of blinking on.
~/Library/Application Support/Kuori/ — copy the JSON files across to .../Daisy/ if you had any. The old app won't be replaced automatically; drag it to the Trash.
Universal (arm64 + x86_64), macOS 14+. Ad-hoc signed, so first launch needs right-click → Open. 63 self-checks pass in the shipped binary.
Kuori 0.4.0
Licence: Kuori is now under PolyForm Noncommercial 1.0.0 — free to use, read, modify and share for anything that isn't commercial. Commercial use is a conversation.
The download is GPL-free and 9.3 MB. ffmpeg, pandoc, potrace and libvips are no longer bundled (libvips's bottle hard-links libfftw3 and libimagequant, both GPL). Kuori still finds all of them on PATH — only what's redistributed changed:
brew install ffmpeg pandoc potrace # video, audio, documents, SVG traceEverything else is native: ImageIO, PDFKit and Vision cover images, PDFs, OCR and background removal. WebP — the one raster format macOS decodes but won't encode — now goes through cwebp (BSD-3), with quality, resize, EXIF preservation and --strip unchanged.
Universal (arm64 + x86_64), macOS 14+. Ad-hoc signed, so the first launch needs right-click → Open. 54 self-checks pass in the shipped binary.
Kuori 0.3.1 — Universal
Now a universal binary — runs natively on Apple Silicon and Intel.
Download Kuori-0.3.1.dmg, drag to Applications. Ad-hoc signed, so the first
launch needs right-click → Open. macOS 14 or later.
Intel, honestly
The nine bundled engines are arm64 only — Homebrew has stopped publishing
x86_64 macOS bottles for pandoc, qpdf and sevenzip, so a fully bundled
universal build can't be put together from it.
Kuori now reads each engine's Mach-O header and skips any it can't run, so on
Intel it never tries to launch an arm64 binary. Everything native still
works with nothing installed:
- images through ImageIO — jpg, png, heic, avif, tiff, gif, bmp
- images ↔ PDF, PDF → pages, PDF → text, merge, split, compress
- OCR to a searchable PDF, and background removal (Vision)
- resize, crop, compress, strip metadata
- folder ↔ zip / tar / tar.gz via the system
bsdtar
For video, audio, WebP, SVG and documents on Intel:
brew install ffmpeg vips resvg potrace unar qpdf sevenzip pandocAlso
EngineLocatorapplies the architecture check to all three lookup tiers
(bundle → Application Support → PATH), and searches/usr/local/binas well
as/opt/homebrew/bin.- 54 self-test checks, verified on both slices.
SHA-256 e800aa6df7c9b33d1d4b456d87a134543f45897f6afeaf650877678d7297ba3b
Kuori 0.3.0
The converter that comes to you. Hold Shift, drag a file, drop it on a petal.
Install
Download Kuori-0.3.0.dmg, drag Kuori to Applications. It's ad-hoc signed, so the
first launch needs right-click → Open to get past Gatekeeper.
macOS 14 or later, Apple Silicon.
What's in it
- Convert — images (jpg png webp heic avif tiff bmp gif, SVG both ways), audio
(mp3 m4a aac wav flac ogg opus aiff), video (mp4 mov mkv webm avi m4v, → gif,
→ audio), documents (md html rtf txt epub docx odt, Office → PDF), PDF ↔ images,
and folder ↔ zip / tar / tar.gz / 7z. - Tools (hold ⌥) — resize, compress, crop to aspect, trim, strip metadata,
merge and split PDFs, OCR to a searchable PDF and background removal,
both on macOS Vision. - Recipes — saved multi-step pipelines, and watch folders that run them
automatically on anything you drop in. - CLI —
kuori convert,tool,recipe,watch,formats, over the same engine.
Summoning it
- Hold Shift and drag a file out of Finder — the wheel appears in the middle.
- ⌥⇧V anywhere.
- Menu bar, or Finder → Services → "Convert with Kuori…".
Notes
- Nine conversion engines (ffmpeg, libvips, pandoc, qpdf, resvg, potrace, 7-Zip,
unar, ffprobe) are bundled with ~86 relocated dylibs, so it runs with nothing
on yourPATH. That's why the download is 101 MB. - Creating RAR archives isn't supported — there's no licensable RAR encoder.
Extraction works. Use ZIP or 7z. - LibreOffice is bring-your-own: install it under /Applications and the
high-fidelity Office ↔ PDF routes light up. - Nothing is uploaded. There is no network code in the conversion path.
SHA-256 a72d7dbe4910ce83012212835d6dec7287cc58ae9049b1485c4c276af98187d4