You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ref in OpenAPI parameters — Parameters defined as - $ref: '#/components/parameters/Foo' now work correctly. Previously the name/in fields were non-optional, causing a decode failure for reference-only entries. Parameter.resolved(using:) looks up the definition in components/parameters, route building resolves all refs transparently, and ContractValidator now validates parameter refs with a clear error message. (MR !183)
Socket client binary mode SIGSEGV — Replaced SwiftNIO with BSD POSIX sockets in AROSocketClient, fixing a crash on compiled binaries. (closes Add example for Transform action #134)
Scoping example binary mode — Scoping example now runs in both interpreter and binary mode. (closes Add example for Sort action #135)
Robustness
Repository isEqual() — Replaced String(describing:) fallback with proper structural comparison, eliminating false negatives on complex values.
Eager OpenAPI validation — Spec errors are now reported all at once at startup instead of failing on the first issue.
RuntimeContext actor — Converted RuntimeContext from class + NSLock to a Swift actor for safe concurrent access.
Refactors & Performance
Structured ActionError — Replaced stringly-typed ActionError.runtimeError(String) with structured enum cases for better diagnostics.
Per-call scheduler — Moved the scheduler to a per-call local variable in FeatureSetExecutor, removing a shared-state source of contention.
DispatchSemaphore in ServiceBridge — Replaced Thread.sleep/usleep busy-waits with DispatchSemaphore, reducing CPU overhead in binary mode.
Documentation
ARO Essential Primer — New compact reference booklet covering the full language in a printable PDF format.
Qualifier syntax chapter — Added Section 10.3 Literal String Qualifiers: qualifier position accepts a quoted string directly, eliminating throwaway variables (e.g. Transform the <html> from the <template: "index.html">.).
New Example
ParameterRefs — Demonstrates $ref at both path-level and operation-level parameter positions.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
0.7.3-beta.28
Fixes
$refin OpenAPI parameters — Parameters defined as- $ref: '#/components/parameters/Foo'now work correctly. Previously thename/infields were non-optional, causing a decode failure for reference-only entries.Parameter.resolved(using:)looks up the definition incomponents/parameters, route building resolves all refs transparently, andContractValidatornow validates parameter refs with a clear error message. (MR !183)AROSocketClient, fixing a crash on compiled binaries. (closes Add example for Transform action #134)Scopingexample now runs in both interpreter and binary mode. (closes Add example for Sort action #135)Robustness
isEqual()— ReplacedString(describing:)fallback with proper structural comparison, eliminating false negatives on complex values.RuntimeContextactor — ConvertedRuntimeContextfromclass + NSLockto a Swiftactorfor safe concurrent access.Refactors & Performance
ActionError— Replaced stringly-typedActionError.runtimeError(String)with structured enum cases for better diagnostics.FeatureSetExecutor, removing a shared-state source of contention.DispatchSemaphoreinServiceBridge— ReplacedThread.sleep/usleepbusy-waits withDispatchSemaphore, reducing CPU overhead in binary mode.Documentation
Transform the <html> from the <template: "index.html">.).New Example
ParameterRefs— Demonstrates$refat both path-level and operation-level parameter positions.Beta Was this translation helpful? Give feedback.
All reactions