Skip to content

Latest commit

 

History

History
145 lines (109 loc) · 11.7 KB

File metadata and controls

145 lines (109 loc) · 11.7 KB

1.0.0-beta.5

  • Represent FieldValue.bytes as Data instead of a base64 String (#467)
  • Add Asset.download(using:), which fetches an asset's downloadURL from the CDN and returns the bytes, plus CloudKitError.missingAssetDownloadURL. fileChecksum turned out to be a server-minted identity token rather than a digest of the file, so no client-side checksum verification is offered — check Asset.size to guard against truncation (#466, #473)
  • Add VALIDATE to Reference.Action for CloudKit Web Services reference dictionaries (#464)
  • Consume rotated web auth tokens from the X-Apple-CloudKit-Web-Auth-Token response header via a new TokenManager.didReceiveRotatedWebAuthToken(_:) requirement, defaulted to a no-op so existing conformances keep compiling (#462, #463)
  • Model the zone payload fields confirmed live in #444: ZoneInfo.zoneType (a closed ZoneType enum that throws ConversionError.unrecognizedZoneType on unknown wire values) and ZoneInfo.deleted, so change feeds surface tombstones (#444)
  • Fix ownerRecordName never decoding on zone payloads — ZoneID read the wire key as ownerName, so shared-zone owners were always nil (#444)
  • Add an optional zoneID: parameter to createRecord, updateRecord, deleteRecord, and uploadAssets, so writes and asset uploads can target custom and shared zones (#454)
  • Round [Date] list elements and nested Location.timestamp values to whole milliseconds on the way out, matching the scalar path, and make the list conversion an exhaustive default-free switch so a new FieldValue case fails the build instead of writing an empty list
  • Extract the shared CloudKit credential configuration glue into a separate MistKitConfiguration package and converge the examples on typed configuration keys (#407, #455)
  • MistDemo: expose zoneName/zoneOwner on the web query panel and add zone-aware writes plus a live shared-zone round-trip phase (#438, #453, #454)
  • Documentation: add the "CloudKit as Your Backend" talk as a DocC article with its screenshots, plus new guides for request signing, field type polymorphism, deploying MistKit, and the two retrospectives (What CloudKit Got Wrong, What the AI Got Wrong); re-verify every existing catalog article against current source; link the guides and talk resources from the README; remove the top-level docs/ directory (#447)
  • Add a repeatable release runbook, address code review fixes, coverage, and lint tooling, and fix the MistDemo Integration static build for Swift 6.4 (#460, #461, #475)

Full Changelog: https://github.com/brightdigit/MistKit/compare/1.0.0-beta.4...1.0.0-beta.5

1.0.0-beta.4

Change Tracking

  • Add changes/database and changes/zone endpoints; deprecate zones/changes (#401, #47, #46) by @leogdion in #429
  • modifyZones per-zone failures (#431) + zones/changes metaSyncToken (#430) by @leogdion in #443

Zones & Queries

  • Add confirmed zone metadata (syncToken, atomic) to zone schemas (#386) by @leogdion in #427
  • Add custom/shared zone support to the query path (#146) by @leogdion in #426

Sharing

  • Add records/resolve and records/accept share operations (#41, #42) by @leogdion in #428

API Cleanup

  • Remove deprecated API, model server error codes, refactor FieldValue conversion, add cloud toolchain (#424, #421, #378, #358, #295) by @leogdion in #424

MistDemo & Tooling

  • Add phone-number support to MistDemo web users/discover (#398, #399) by @leogdion in #425
  • Clear two Linux build warnings (#433) by @leogdion in #442

Tooling & CI

  • Xcode 26.6 / simulator 26.5, and Swift 6.4 in the ubuntu matrix by @leogdion in #432
  • Add Xcode 27 / OS 27.0 platform lanes alongside the 26.x lanes by @leogdion in #434
  • Cancel superseded runs on the five unguarded workflows by @leogdion in #435
  • Beta.4 housekeeping: CodeFactor removal, example subrepo/CI pins (Swift 6.4 nightly), sharee auth-tokens, custom-zone query hardening (#445), CelestraCloud Swift 6.4 migration, and BushelCloud CodeQL drop by @leogdion in https://github.com/brightdigit/MistKit/commit/c5a4cd04f9512964596411c80589984d24b4e1b8

Full Changelog: https://github.com/brightdigit/MistKit/compare/1.0.0-beta.3...1.0.0-beta.4

1.0.0-beta.3

API & Request Options

  • Add documented request options to query/modify/changes (#383 #384 #385) by @leogdion in #412
  • Validate complex/list response type tags against value shape (#376) by @leogdion in #411

Correctness & Safety

  • Reduce cyclomatic complexity in FieldValue+Codable, drop lint disable (#154) by @leogdion in #414

Dependencies

  • Remove vendored ConfigKeyKit subrepo; depend on it remotely by @leogdion in #417
  • Adopt configkeykit in CelestraCloud by @leogdion in #406

Tooling & CI

  • Skip windows-2025 Swift 6.1/6.2 in CI matrix (MSVC 14.51 STL needs Clang 20) by @leogdion in #418
  • Drop obsolete scheme input from example workflows (#403) by @leogdion in #413
  • Removing Scheme from Workflow by @leogdion in #404

MistDemo & Docs

  • Fix MistDemoApp build: explicit inits for NoteEditView & RecordDetailView by @leogdion in #420
  • docs(mistdemo): note Apple 2FA "Allow shows no code" workaround by @leogdion in #422
  • Docs: record content-based CloudKit subscription uniqueness finding (#387) by @leogdion in #416
  • Docs: APNs token endpoints route under /device/ not /database/ (#382) by @leogdion in #415
  • Small Correction by @leogdion in #355

Full Changelog: https://github.com/brightdigit/MistKit/compare/1.0.0-beta.2...1.0.0-beta.3

1.0.0-beta.2

Subscriptions & Push Notifications

  • Push Notifications & Subscriptions epic — listSubscriptions, lookupSubscriptions, modifySubscriptions, createAPNsToken, registerAPNsToken by @leogdion in #381

Zones

  • Zone API: createZone, deleteZone, fetchAllZoneChanges by @leogdion in #367
  • list-zones, modify-zones, discover, and validate by @leogdion in #368

Assets

  • Implement assets/rereference endpoint and API by @leogdion in #393

Batch Conveniences

  • Auto-chunking conveniences for batch operations (lookupAllRecords, discoverAllUserIdentities(lookupInfos:batchSize:)) by @leogdion in #389

Correctness & Safety

  • Tag and validate ambiguous FieldValue scalar types (TIMESTAMP, BYTES, DOUBLE) by @leogdion in #377
  • Make response→domain conversion failures loud; add RecordResult by @leogdion in #372
  • Pre-1.0.0 correctness & safety hardening by @leogdion in #357
  • Style & error audit: explicit import access + scoped flake gates by @leogdion in #363

Tooling, MistDemo & Docs

  • Scaffold MistDemo (CLI + App + Web) for v1.0.0-beta.2 endpoints by @leogdion in #371
  • Wire landed MistKit endpoints into the MistDemo web app by @leogdion in #396
  • setup-mistkit: pin to resolved revision by @leogdion in #380
  • Enable MistDemo integration workflow on claude/** branches by @leogdion in #374

Full Changelog: https://github.com/brightdigit/MistKit/compare/1.0.0-beta.1...1.0.0-beta.2

1.0.0-beta.1

Querying & Sync

  • Add query pagination support with continuation markers by @leogdion in #306
  • Add operation classification and batch sync result tracking by @leogdion in #296
  • paginationLimitExceeded now carries accumulated records by @leogdion in #326

Authentication & User Identity

  • Refactor AuthenticationMiddleware so each Authenticator applies itself by @leogdion in #294
  • Strengthen environment and database configuration validation by @leogdion in #293
  • Add public + web-auth user-identity endpoints (fetchCaller, discoverAllUserIdentities, lookupUsersByEmail, lookupUsersByRecordName) by @leogdion in #315

Error Handling

  • Improve error handling: typed TokenManagerError and safe RecordOperation conversion by @leogdion in #305
  • Move CloudKitResponseType default implementations to protocol extension by @leogdion in #292

Concurrency

  • Replace custom AsyncChannel with swift-async-algorithms by @leogdion in #280

MistDemo

  • MistDemo: --database flag + demo-errors command by @leogdion in #282
  • Refactor IntegrationTestRunner into protocol-based phase pipeline by @leogdion in #283
  • MistDemo improvements: test split, CRUD, auth fix, native app by @leogdion in #271 / #273
  • Interactive MistDemo: web toggle + native app refresh by @leogdion in #332

Tooling, CI & Docs

  • First draft revision of docs by @leogdion in #268
  • Docs refresh + CI fixes by @leogdion in #309
  • Test suite improvements for v1.0.0-beta.1 by @leogdion in #286 / #287
  • CI Updates for May 2026 by @leogdion in #277
  • Fail lint job when any command fails, not only in STRICT mode by @leogdion in #303
  • Fix CI failures + review nits from PR #298 by @leogdion in #322
  • Add MistDemo-Integration workflow for live CloudKit runs by @leogdion in #345
  • v1.0.0-beta.1 follow-ups + CI fixes by @leogdion in #343

Full Changelog: https://github.com/brightdigit/MistKit/compare/1.0.0-alpha.5...1.0.0-beta.1

1.0.0-alpha.5

  • Add lookupZones, fetchRecordChanges, and uploadAssets operations by @leogdion in #204
  • Fix QueryFilter IN/NOT_IN serialization by @leogdion in #205
  • Migrate server-side CloudKit tutorial content by @leogdion in #248

Full Changelog: https://github.com/brightdigit/MistKit/compare/1.0.0-alpha.4...1.0.0-alpha.5