You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
macOS releases can be notarised, which is what lets a downloaded plugin or dmg
be opened with no further steps. A Developer ID signature now also carries the
hardened runtime and a secure timestamp, both of which Apple requires before it
will notarise anything and neither of which was being requested.
Tagging a release now builds the iPadOS display and uploads it to TestFlight,
so a tablet no longer has to be built from source to be updated. The upload
runs after the release is published rather than before it, which means a
TestFlight build always corresponds to a release that exists. The IPA itself
is deliberately not attached to the release: an App Store build provisions no
devices, so a downloaded copy could not be installed by anyone.
The iPadOS build declares that it uses no encryption. Without that declaration
every TestFlight build waits in "Missing Compliance" until somebody answers
the export question by hand, which is the one step an automatic upload cannot
take.
⚡ Changed
The application identifier is now com.openaudioanalyzer.oaa, and the
plugin's is com.openaudioanalyzer.oaa.plugin. Both were under dev., which
reversed a domain nobody held; these reverse open-audio-analyzer.com. The
hyphens do not survive the trip, and cannot: an Android applicationId and a
Kotlin package are Java identifiers and reject -, while Apple's CFBundleIdentifier accepts only letters, digits, - and . and so rejects
the _ that Android would want in its place. Stripping them is the one form
that is legal on all six platforms. The Linux application id, the AppStream
and flatpak ids, the msix identity and the hicolor icon filenames all move
with it.
🐛 Fixed
The macOS plugin bundles are built for Apple silicon and Intel, and load on
macOS 11 and later. Every release up to 0.5.0 shipped a bundle built for
whichever machine the release ran on — Apple silicon only, and requiring that
machine's own macOS version or newer — which a DAW reports in exactly the way
it reports a plugin that was never installed.
The instructions for a downloaded macOS plugin now describe what macOS 15 and
later actually do when the quarantine flag is still on it: a modal saying the
plugin cannot be verified free of malware, or that it will damage your
computer, with nothing in System Settings to override it — the "Open
Anyway" button there is only offered for a blocked launch, and loading a plugin
into a DAW is a library load. The fix has not changed and is still xattr -dr com.apple.quarantine; what was wrong was the description of the
symptom, which called the failure silent and sent people looking for a
different problem.
The README no longer claims the macOS build is distributed "signed with a
Developer ID and notarised". It has never been either.
🚧 Internal
CI imports a signing certificate before anything signs. OAA_SIGNING_IDENTITY
was being handed to codesign on runners whose keychain was empty, and OAA_NOTARY_PROFILE named a credential that only exists on a developer's own
machine, so neither secret could have worked on a runner — and neither failed a
job, because they had never been set and the scripts took their no-credential
branches instead.
packaging/ios/make_ipa.sh and packaging/ios/testflight.sh, and the ipa
and testflight jobs in ci.yml. Manual signing is injected through ios/Flutter/Release.xcconfig so the Xcode project stays on automatic signing
for local development; the script reads the signing authority back off the
archive, because flutter build ipa exits 0 on an export that silently fell
back to automatic signing.