Things · Personal tools and making
Changelog
An iPhone app for getting notes into Release Notes in two taps, with photos, voice memos, places, my Upcoming dates, Siri, and widgets.
What changed today? Commit.
- Status
- Active Being built or operated.
- Dates
- Started
- Where
- github.com/jthingelstad/changelog-ios
- Topics
- Play
Changelog is an iPhone app for getting notes into Release Notes, my daily Your Version Number email. It is not a second Release Notes: reading, searching, and looking back stay on the web, and Changelog is for getting things in. I write a line, tap a tag, and Commit, and it is in today’s notes. A note can carry photos, a voice memo, or where I am, and Siri, the Action Button, a widget, or the share sheet can start one. My Upcoming dates, and the activity log from every channel, are a tab away.
I built it with coding agents, starting on the morning of October 29, 2026. It began as two documents, a plan for the API Release Notes would need and a scope for the app, and both are below. The repository was made at 7:43 a.m., and by 8:06 the first scaffold had Log, Activity, Settings, and a sign-in that took a pasted token. Its first README listed photos and voice memos, Upcoming, and Shortcuts and widgets as versions to come. All three arrived that same day, along with signing in with Release Notes, and the first build was on TestFlight by that evening.
For its first day it wore iOS’s own look: grouped lists on grey, the system font, and blue links. On October 30 I asked for it to match the Release Notes website, and every screen, sheet, and widget moved onto the site’s paper: cream and navy, cobalt for actions, a tangerine Commit, and the site’s two typefaces, Bricolage Grotesque and Martian Mono. The screens below show each one before and after, taken on the simulator against the Release Notes dev server and its fictional account.
It numbers itself the way Release Notes numbers people. Changelog was 0.0.0 on the day it started and 0.0.1 the next, and the foot of Settings names each build’s version and commit. What each version brought is written up as Release Notes for Changelog on the Release Notes site, which also has the TestFlight invitation. Its code is open on GitHub under the MIT License.
The build
- The app talks only to Release Notes’ public /v1 API. Signing in is OAuth with PKCE, and the code that comes back is spent once for an ordinary API token, with no refresh token.
- Every write goes through an offline queue with an idempotency key, so a note written without a connection waits on the phone, and a resend never makes a duplicate.
- ChangelogKit, a Swift package with the API client, the queue, a port of Release Notes’ hashtag rules, and the Keychain storage, is tested on its own. The app, the share extension, and the widgets are SwiftUI on top of it, with no third-party packages.
- A test cycle drives the app on a simulator against the Release Notes dev server and its fictional account, and checks each note, photo, voice memo, and date against what the server kept.
Swift and SwiftUI iOS 26 App Intents WidgetKit Release Notes API TestFlight
Artifacts
Files from the project itself, as they were kept.
The plan
Before any code, two documents written for my review on the morning of October 29, and kept up to date through the day as I answered their questions. One is the API Release Notes would need, the other the app that would use it, and each was checked against the other. They are here as they were, lightly redacted.
-
The API plan
Tokens, a public API and Changelog as one idea with two doors: what the API would do, the order to build it in, and my calls on each question, quoted as I gave them. Every phase of it was built that day. Taken out: a cousin’s name, an email address, and one sentence.
-
The app’s scope
Changelog’s screens sketched in text, notifications with no push server, and a table checking each thing the app would do against the API plan, which changed the plan before any of it was built. Taken out: a cousin’s name and an email address.
The first scaffold
From the repository’s first half hour.
-
The icon
Release Notes’ own icon, the V and dot over two lines of notes, from the first scaffold. It has not changed since.
-
The first README
From the first scaffold, before the API it talks to was live. Photos and voice memos, Upcoming, and Shortcuts and widgets are listed for later versions; all three arrived that same day.
Before: the first day, in iOS’s own look
October 29, on the simulator against the Release Notes dev server’s fictional account. Grouped lists on grey, the system font, and blue links.
-
The first screen
The first scaffold’s sign-in, that morning, which took a token pasted from Release Notes’ Settings. Signing in with Release Notes itself came that evening.
-
Log, in iOS’s own look
Today’s version, a box for what changed, one-tap tags, buttons for a photo, the camera, a voice memo and the place, and Commit, with today’s activity underneath.
-
Upcoming
Birthdays, an anniversary, a trip and an event, each in the line the morning email gives it, like “Mom turns 6.8.0.”
-
Adding a date
A birthday, anniversary, trip or event, whether it goes in the morning email, and when the phone reminds me.
-
Activity
What came in, changed and went out, from every channel, without a note’s words.
-
The foot of Settings
Pinned tags, links to Release Notes, a debug build’s server switch, and the build line: Changelog 0.0.0, build 8a54afc, made Oct 29 at 3:57 PM CDT.
After: on the paper
The same screens on October 30, after the redesign that put every screen on the Release Notes website’s paper, with the same fictional account and the same dates. Cream and navy, cobalt for actions, a tangerine Commit, and the site’s two typefaces, Bricolage Grotesque and Martian Mono.
-
Signing in
By now Changelog signs in with Release Notes itself, which asks me to name the token it keeps and choose what it may do. A pasted token still works.
-
Log on the paper
The day in mono capitals, today’s version large and tomorrow’s under it, and below, a note filed and read back with its words.
-
Upcoming on the paper
The same five dates, each day in cobalt mono over its line.
-
Adding a date on the paper
The same form, flat on the paper instead of in grouped boxes.
-
Activity on the paper
With a line marking where I last looked, so what is new since is on top.
-
The foot of Settings on the paper
The build line in Martian Mono: Changelog 0.0.1, build 974deb4.
-
Log, as the guide shows it
The screenshot on Release Notes for Changelog, the app’s page on the Release Notes site.
-
Upcoming in dark
The same paper in the website’s dark navy, from the guide.
Sources and evidence
Observed daily from GitHub, sitemaps, feeds, the Internet Archive, and Tinylytics. Evidence never sets a status.
-
jthingelstad/changelog-ios implementation
Commits and publications per month, last twelve months.
Connections
-
Changelog sends notes into Release Notes
Changelog talks only to Release Notes’ public API, as any app someone writes for it can. It signs in with Release Notes, which asks what it may do and gives it a token of its own. Source