Skip to content

Tags: jlian/wingdex

Tags

ios-v0.9.1

Toggle ios-v0.9.1's commit message
chore(ios-release): 0.9.1

# [wingdex-ios-v0.9.1](ios-v0.9.0...ios-v0.9.1) (2026-08-11)

### Bug Fixes

* **iOS:** dismiss keyboard before location suggestions ([#318](#318)) ([d58c362](d58c362))
* **scripts:** keep human reverts and run workers as threads ([428f4c9](428f4c9))

v1.24.2

Toggle v1.24.2's commit message
chore(Release): 1.24.2

## [1.24.2](v1.24.1...v1.24.2) (2026-08-10)

### Bug Fixes

* **Outings:** cancel the autocomplete debounce on unmount ([3a4d7a3](3a4d7a3))
* **scripts:** keep human reverts and run workers as threads ([428f4c9](428f4c9))

v1.24.1

Toggle v1.24.1's commit message
chore(Release): 1.24.1

## [1.24.1](v1.24.0...v1.24.1) (2026-08-10)

### Bug Fixes

* **ios-release:** check out the branch tip so queued releases are not stale ([5187948](5187948)), closes [#302](#302)
* **ios-release:** publish the exact commit preflight archived ([d007518](d007518))

v1.24.0

Toggle v1.24.0's commit message
chore(Release): 1.24.0

# [1.24.0](v1.23.0...v1.24.0) (2026-08-10)

### Bug Fixes

* address app review feedback ([6dad5cf](6dad5cf))
* align geocoding provider contract ([f7380d0](f7380d0))
* **api:** harden provider credential ownership ([329f5de](329f5de))
* **auth:** accept only invalid_grant as an idempotent Apple revocation ([9ae9dd9](9ae9dd9))
* **auth:** bind Apple revocation grants to subject ([4ac055e](4ac055e))
* **Auth:** keep Apple sign-in after revocation token capture fails ([ebcc1db](ebcc1db))
* **auth:** reject a null JSON body on Apple credential capture ([e7b90af](e7b90af))
* **auth:** revoke providers before account deletion ([98fcb07](98fcb07))
* **auth:** route every account deletion through provider revocation ([b1ab9a4](b1ab9a4))
* **auth:** send the GitHub revocation body as JSON ([de12285](de12285))
* **auth:** treat already-revoked Apple grants as idempotent success ([fed6934](fed6934))
* **birdId:** accept the occurrence blob however the host encodes it ([fae9515](fae9515))
* **BirdID:** drop the BirdLife credit from the identification caption ([dc53d7a](dc53d7a))
* **ci:** inspect iOS release archives ([17591a4](17591a4))
* **ci:** restore TestFlight artifact path ([d50a45f](d50a45f))
* **ci:** rotate native Apple client secret ([2570ac8](2570ac8))
* **ci:** validate iOS before publishing releases ([60189c3](60189c3))
* **geocoding:** defer dropping coordination tables until worker is live ([e22c2d0](e22c2d0))
* **geocoding:** preserve current search provenance ([4dfb72e](4dfb72e))
* **geocoding:** rate limit the Geoapify-backed routes ([40bbc1d](40bbc1d))
* **geocoding:** reject a null JSON body on the geocoding routes ([efd52de](efd52de))
* **geocoding:** repair the Geoapify places lookup ([dce0dbb](dce0dbb))
* **Health:** hide internal outcome headers ([dabd348](dabd348))
* **migrations:** restore the original apple revocation migration filename ([26d3657](26d3657))
* **Privacy:** disclose location handling ([3feb81b](3feb81b))
* **privacy:** disclose proxied geocoding ([1d313d3](1d313d3))
* **privacy:** enforce geocoding retention ([530cb94](530cb94))
* **release:** harden privacy and version detection ([61b0deb](61b0deb))
* **Settings:** shorten the location copy and stop it meeting the toggle ([b3e1a70](b3e1a70))
* **web:** credit every location data source ([6ab937f](6ab937f))
* **web:** harden bird model downloads ([794b9a1](794b9a1))
* **web:** preserve canonical inferred species names ([12c9bec](12c9bec))
* **web:** preserve identity on account deletion ([5f13f1f](5f13f1f))
* **web:** submit geocoding through proxy ([f35e124](f35e124))
* **web:** use provider-aware account deletion ([1b064c7](1b064c7))
* **wikimedia:** credit each photo with its own creator and license ([0b23cbe](0b23cbe))
* **wikimedia:** identify every Wikimedia request and credit reference photos ([b5313ca](b5313ca))

### Features

* **api:** log geocoding cache outcomes ([1241c47](1241c47))
* **api:** proxy and rate-limit geocoding ([e9d5bed](e9d5bed))
* consolidate app observability ([315927e](315927e))
* expand application observability ([c34dd2b](c34dd2b))
* record the AI confidence behind each observation ([565d159](565d159))

### Reverts

* **migrations:** keep the geocoding table drop out of this release ([6e7411b](6e7411b))

ios-v0.9.0

Toggle ios-v0.9.0's commit message
chore(ios-release): 0.9.0

# [wingdex-ios-v0.9.0](ios-v0.8.0...ios-v0.9.0) (2026-08-10)

### Bug Fixes

* address app review feedback ([6dad5cf](6dad5cf))
* **Auth:** keep Apple sign-in after revocation token capture fails ([ebcc1db](ebcc1db))
* **BirdID:** drop the BirdLife credit from the identification caption ([dc53d7a](dc53d7a))
* **ci:** inspect iOS release archives ([17591a4](17591a4))
* **geocoding:** preserve current search provenance ([4dfb72e](4dfb72e))
* **iOS:** capture Apple deletion credentials ([bfc679f](bfc679f))
* **iOS:** distinguish loading from empty tabs ([aac3190](aac3190))
* **iOS:** expand accessibility coverage ([343bf2f](343bf2f))
* **iOS:** improve Home accessibility ([1f3c98b](1f3c98b))
* **iOS:** keep the compared photos aligned when the credit wraps ([467b679](467b679))
* **iOS:** match the web reference caption layout ([250509e](250509e))
* **iOS:** mirror the trimmed display name back into the field ([e6b9955](e6b9955))
* **iOS:** rebuild the outing location control ([e6cea6f](e6cea6f))
* **iOS:** respect Reduce Motion on sign in ([542fd97](542fd97))
* **ios:** restore GPS location metadata ([fbb0ce7](fbb0ce7))
* **iOS:** show session validation progress ([68a85ad](68a85ad))
* **iOS:** support accessibility text sizes ([31e831a](31e831a))
* **iOS:** use built-in primitives for Settings and sign-in ([3f244c1](3f244c1))
* **iOS:** use proxied outing geocoding ([202eeea](202eeea))
* **Outings:** gate place-search loading state on a generation token ([4ae5d11](4ae5d11))
* **Privacy:** disclose location handling ([3feb81b](3feb81b))
* **privacy:** disclose proxied geocoding ([1d313d3](1d313d3))
* **Settings:** shorten the location copy and stop it meeting the toggle ([b3e1a70](b3e1a70))
* **wikimedia:** credit each photo with its own creator and license ([0b23cbe](0b23cbe))
* **wikimedia:** identify every Wikimedia request and credit reference photos ([b5313ca](b5313ca))

### Features

* consolidate app observability ([315927e](315927e))
* record the AI confidence behind each observation ([565d159](565d159))

v1.23.0

Toggle v1.23.0's commit message
chore(Release): 1.23.0

# [1.23.0](v1.22.3...v1.23.0) (2026-08-07)

### Bug Fixes

* **BirdID:** address Copilot review on cache, parser and e2e robustness ([2038216](2038216))
* **BirdID:** credit iNaturalist for the occurrence prior, not BirdLife ([9c0e787](9c0e787))
* **BirdID:** floor absent species at 1e-12, the value the calibration was fit at ([c8897b3](c8897b3))
* **BirdID:** show a spinner during ID, and fix the download bar's total ([3bebcc1](3bebcc1))
* **BirdID:** stop rounding tiny confidences to 0%, and gate at 0.8 ([5c1a229](5c1a229))
* **BirdID:** stop shipping the deleted endpoint's client and buffering a copy ([f2484a2](f2484a2))
* **coreml:** load the parity fixtures the quantizer scores against ([a812d0a](a812d0a))
* correct download-gate copy, import style, and progress accounting ([fc41a39](fc41a39))
* correct the privacy policy, and survive a failed or abandoned download ([2ee54b2](2ee54b2))
* declare the Localhost launch args, label sizes as MB, unpin harness path ([222e3a9](222e3a9))
* **e2e:** run playwright with one worker, the suite shares a database ([f961c46](f961c46))
* **gate:** count the prior at its gzipped size so progress reaches 100 ([a25acaf](a25acaf))
* **gate:** quote the real transfer size and stop showing two totals ([6fe1773](6fe1773))
* **model-cache:** name the asset when a download fails ([2943ebb](2943ebb))
* **Outings:** keep location stable while confirming ([#281](#281)) ([0a6966d](0a6966d))
* **Outings:** prevent new outing self-match ([#281](#281)) ([e3a394b](e3a394b))
* stop applying January's prior to photos with unreadable EXIF dates ([54aa084](54aa084))
* validate occurrence header length and correct stale asset names ([256d36a](256d36a))

### Features

* **BirdID:** port the occurrence prior and Strategy I ranker to Swift ([1ada7e4](1ada7e4))
* on-device bird ID with WingCLIP-0.3, 95.0 percent top-1 in the browser ([12396a4](12396a4))
* on-device bird ID with WingCLIP-0.3, 95.0 percent top-1 in the browser ([#279](#279)) ([90c057b](90c057b)), closes [#260](#260) [#278](#278) [#278](#278)

### Performance Improvements

* cut preprocessing peak memory ~4x, and version the model URLs ([d72f136](d72f136))
* decode photos at reduced scale instead of decoding then resizing ([b3dcf34](b3dcf34)), closes [hi#frequency](https://github.com/hi/issues/frequency)
* halve identification memory by dropping two redundant copies of the photo ([467fc11](467fc11))
* **web:** enable threaded on-device inference ([e547965](e547965)), closes [#283](#283)

research/bioclip-distill

Toggle research/bioclip-distill's commit message

Verified

This tag was signed with the committer’s verified signature.
jlian John Lian
WingCLIP distillation research branch, PR #278.

Preserved before the squash merge, which leaves the 239 original commits
unreachable and eventually garbage-collected. The value here is the reasoning
in the commit messages, not the final tree: the SSOT experiment log (phases A
through H), the G20 floor refit, the H3 score-mismatch correction, and the
Perch bioacoustics mistake are all recorded as they were found.

ios-v0.8.0

Toggle ios-v0.8.0's commit message
chore(ios-release): 0.8.0

# [wingdex-ios-v0.8.0](ios-v0.7.3...ios-v0.8.0) (2026-08-07)

### Bug Fixes

* **BirdID:** credit iNaturalist for the occurrence prior, not BirdLife ([9c0e787](9c0e787))
* **BirdID:** drop the AI crop box, which nothing can populate any more ([9e342aa](9e342aa))
* **BirdID:** floor absent species at 1e-12, the value the calibration was fit at ([c8897b3](c8897b3))
* **BirdID:** harden the blob parser and take the real max in the softmax ([74dfbdf](74dfbdf))
* **BirdID:** stop rounding tiny confidences to 0%, and gate at 0.8 ([5c1a229](5c1a229))
* **BirdID:** swap the deprecated cblas_sgemv for vDSP_mmul ([aa6c333](aa6c333))
* declare the Localhost launch args, label sizes as MB, unpin harness path ([222e3a9](222e3a9))
* **ios:** compare generated assets by content, not modification time ([f77cfc9](f77cfc9))
* **ios:** fill the add photos wizard background ([e58a0e3](e58a0e3)), closes [#280](#280)
* **ios:** pin the decode byte order and assert channel order ([c434366](c434366))

### Features

* **BirdID:** identify on device instead of calling the deleted endpoint ([60444d4](60444d4))
* **BirdID:** port CLIP preprocessing and decode photos at reduced scale ([bf24e7d](bf24e7d))
* **BirdID:** port the occurrence prior and Strategy I ranker to Swift ([1ada7e4](1ada7e4))

v1.22.3

Toggle v1.22.3's commit message
chore(Release): 1.22.3

## [1.22.3](v1.22.2...v1.22.3) (2026-08-03)

### Bug Fixes

* address review feedback on hero blur and image loading ([153f717](153f717))

v1.22.2

Toggle v1.22.2's commit message
chore(Release): 1.22.2

## [1.22.2](v1.22.1...v1.22.2) (2026-08-03)

### Performance Improvements

* **WingDex:** derive hero image URL from the dex thumbnail ([03b8ce5](03b8ce5)), closes [#272](#272)