Restores the source compatibility that 2.2.0 broke. 2.2.0 removed three public properties in a minor release, contrary to the Semantic Versioning contract this project follows; per the SemVer FAQ, the remedy is a new minor release that restores compatibility rather than a modified 2.2.0. No API or behavior changes beyond that.
Fixed
moreResults(of:)no longer spends a request on a deleted endpoint. 1.1.0 documented it as throwing a clear 410 alongsidecontentSearchandcombinedSearch, but it still called/search/combined/. SincecombinedSearch()throws, itsmorelink can only point at that endpoint, so it now fails the way its siblings do. Anilmorelink still returnsnil.- Four broken DocC symbol links, all pre-existing: a stale
oauthAuthorizationURL(…)signature missing thescopes:label added in 2.0.0, an ambiguousavatarData(for:size:)(three overloads) now disambiguated, and two links to things DocC cannot resolve — the internalencodeTags(_:)and a parameter name — demoted to plain code spans. - Source compatibility with 2.1.0.
Sound.aiPreference,User.aiPreferenceandMe.aiPreferencecompile again.Sound.aiPreferenceforwards togenAIPreferenceand carries@available(*, deprecated, renamed:), so Xcode offers a fix-it; theUser/Meproperties returnnil, which is all Freesound has reported for a user since it dropped the field from its user serializer. Upgrading from 2.1.0 now produces deprecation warnings pointing at the replacement instead of compile errors.
Changed
- Every deprecated declaration now lives in
Sources/FreesoundKit/Deprecations.swift, and each deprecation message names the release it was deprecated in and the 3.0.0 removal. Internal reorganization with no API change: the file is the removal list, so it can't drift from the code — shipping 3.0.0 means deleting it. - DocC symbol links are now verified in CI. A
Documentationjob runsswift package generate-documentation --warnings-as-errors, so an unresolvedsymbollink fails the build instead of surfacing later in the Swift Package Index docs build. The plugin is opt-in behindFREESOUNDKIT_BUILD_DOCS, keeping FreesoundKit dependency-free for consumers.
Deprecated
Sound.aiPreference— useSound.genAIPreference.User.aiPreferenceandMe.aiPreference— no replacement on those types; readSound.genAIPreference, which the server resolves per sound.
All three are scheduled for removal in 3.0.0.