Releases: edwardsanchez/Tinkerble
Tinkerble 1.3.0
What's Changed
- Adds positional display-name APIs for
@TinkerbleState,@TinkerbleObservableState,@TinkerbleAction,TinkerLog.value, andTinkerble.shared.log. - Keeps
screenandcategorylabeled in the canonical API. - Deprecates old
name:and category-first spellings with migration messages. - Preserves the old
@TinkerbleObservableState("Category", name: "Name")behavior so existing category/name call sites do not silently swap meanings. - Updates the Tinkerble Demo and README examples to use the latest API.
Migration
Prefer the new required positional display name:
@TinkerbleState("Opacity", category: "Layout")
@TinkerbleObservableState("Badge Count", screen: "Basic", category: "Observable")
@TinkerbleAction("Increment Action Count", screen: "Basic", category: "Observable")
TinkerLog.value("Visible Cards", value: cards.count, screen: "Cards", category: "Deck")Older name: and category-first forms still compile for now, but they are deprecated and will warn with the suggested replacement.
Validation
swift test./Scripts/verify-macos-companion-package.shxcodebuild -project "Tinkerble Demo/Tinkerble Demo.xcodeproj" -scheme "Tinkerble Demo" -destination "generic/platform=iOS Simulator" -clonedSourcePackagesDirPath .build-demo-validation build
Tinkerble 1.2.1
What's Changed
- Moves the Tinkerble companion launch out of app target build phases and into a dedicated
MyApp + Tinkerbleshared run scheme. - Keeps normal app schemes clean for SwiftUI previews and ordinary builds.
- Updates
tinkerble installto remove the old generated companion build phase and create/update the dedicated Tinkerble scheme. - Adds
--schemefor projects with multiple shared run schemes. - Updates the Tinkerble Demo project to use
Tinkerble Demo + Tinkerble.
Existing Installations
Existing users should update the CLI installer, then rerun tinkerble install in their app project. Updating only the Swift package dependency will not rewrite an existing .xcodeproj.
curl -fsSL https://raw.githubusercontent.com/edwardsanchez/Tinkerble/main/install.sh | sh
tinkerble install --project MyApp.xcodeproj --target MyAppIf multiple shared schemes reference the same target, pass the source scheme:
tinkerble install --project MyApp.xcodeproj --target MyApp --scheme "MyApp Dev"Tinkerble 1.2
Adds fuller logging support.\n\n- Adds structured log entries with screen, category, name, value, timestamp, and decimal-place formatting.\n- Adds richer companion log cards with grouped categories, current-value rows, copy/export actions, and HUD-style presentation.\n- Supports compound values and resolved colors, including color chips and formatted RGBA display.\n- Adds the interactive logs demo for motion and color logging.
Tinkerble 1.1.1
This patch release disables Tinkerble runtime hooks in release builds so production builds avoid debug companion behavior.
Highlights:
- Makes registration, action, logging, and socket runtime hooks compile away or no-op for release builds.
- Adds test coverage for release-disabled behavior across state registration, observable state, actions, logging, and socket transport paths.
- Adds a demo release scheme for validating release-build behavior.
Tinkerble 1.1.0
This release replaces the RSocket-based transport with Tinkerble's own length-prefixed JSON socket transport.
Highlights:
- Removes the RSocket package dependency and its transitive dependency chain.
- Adds socket client and companion server transport implementations.
- Updates installer, packaging, demo, and tests around the new transport path.
- Keeps the companion communication model focused on the same registration, snapshot, update, action, and log messages over a simpler wire layer.
Tinkerble 1.0.0
Initial 1.0 release of Tinkerble.
This release establishes the SwiftUI debug companion workflow: register tweakable state in an app, run the macOS companion, inspect live values, edit supported controls, and forward logs during development.
Highlights:
- Swift Package for integrating Tinkerble into iOS apps.
- macOS companion app for inspecting and editing registered values.
- Demo project and README flow for trying the companion end to end.