Releases: WaffledogHQ/airlock-ios
Releases · WaffledogHQ/airlock-ios
Release list
v0.3.17
Fixed
- Rule mode: array returns are now suppressed instead of dispatched, bringing iOS into parity with Android and §2 of the evaluation contract. Previously
JSValue.toDictionary()coerced a returned array into a numeric-keyed dictionary ({"0":…, "1":…}) and dispatched it as an unusable event payload;evaluateRulenow short-circuits onjsResult.isArrayand suppresses the event. Scripts that returned an array and relied on the dispatched numeric-keyed payload (none known) will now see the event suppressed.
v0.3.16
Fixed
- Derived Metric: event-leak between rules (script's
eventreference is now a per-evaluation snapshot, not the cached one) - Derived Metric: reserved-name guard — metric names that collide with reserved contextdata keys (
airlock,airlock_type,airlock.status,airlock.error,&&events,&&products) are now rejected at resolution time - Derived Metric: per-entry error tolerance — one misbehaving metric no longer aborts the rest
v0.3.12
Fixed
- Test sandbox de-duplication code review fixes
- collect_distinct delimiter code review fixes
v0.3.10
Fixed
- Set Serialized Events code review fixes
- Cleaned up dead
onIdSourceChangecode path in the Launch view
v0.3.8
Added
- Accumulator data element type (#33). Modes:
count,sum,average,max,min,collect_distinct. Persistence scopes:sessionanduser(UserDefaults-backed). Filter-gated increment/decrement. reset-accumulatorsaction type — zero one-or-more named accumulators and re-publish shared stateupload-airlock-extensionClaude Code skill for automating Adobe Launch uploads via@adobe/reactor-uploader
Changed
- Renamed: "Session Accumulator" data element type renamed to Accumulator. The original name implied session-only persistence; the type actually supports both session- and user-scoped persistence, so the more general name fits better.
Fixed
- Multiple accumulator engine bugs flagged during review (off-by-one in moving average, decrement ordering, persistence key collisions)