0.19.4
(fix): Handle bytes endpoints, query name collisions, and WireMock mapping fixes
for wire test generation. Bytes endpoints with query params now generate
individual parameter arguments instead of a struct. Query request type names
include subpackage prefixes when collisions exist. WireMock mappings strip
.000 milliseconds from datetime strings and add fallback mappings for bytes
endpoints. Allow-multiple query parameters are now correctly wrapped in list types.
0.19.3
(chore): Add concurrency configuration to generated CI workflow with cancel-in-progress: false
to prevent stacked runs from being cancelled when a newer run starts.
0.19.2
(fix): Re-throw errors after logging for README.md and reference.md generation failures.
Documentation generation errors now break the generation flow so they are treated
as important to fix.
0.19.1
(fix): Improve error logging for README.md and reference.md generation failures.
The generator now logs the actual error message and stack trace instead
of crashing the entire generation, making it easier to diagnose issues.
0.19.0
(feat): Add WebSocket connector pattern and README code snippets when enableWebsockets: true.
WebSocket channels are now accessible through the root client via connector structs
(e.g., client.realtime.connect(...)) matching Python and Java generator patterns.
Generated README includes a Websockets section with connect, send, receive, and close examples.
0.18.3
(fix): Fix duplicate module declarations and WebSocket type name collisions when multiple
subpackages (e.g., HTTP REST and AsyncAPI WebSocket) map to the same namespace. Deduplicates
pub mod declarations, client re-exports, and doc comments. WebSocket channel generators
now use collision-aware type names (e.g., AuthResponse2 instead of AuthResponse) to
correctly reference disambiguated types in the trading namespace.
0.18.2
(fix): Fix Rust module naming collision when a subpackage has children that share the same
directory name as the parent’s client file. Previously, both X.rs and X/mod.rs could
be generated in the same directory, causing rustfmt errors like “file for module found
at both”. Now the client code is inlined into the unified mod.rs when any children exist,
and child re-exports are only emitted for subpackages with services or endpoints.
0.18.1
(fix): Escape Rust reserved keywords (e.g., type, match, self) when used as path parameter
names in generated client methods. Previously, reserved keywords like type were emitted
as-is, causing rustfmt and compilation failures. Now they are properly escaped with the
r# prefix (e.g., r#type).
0.17.4
(chore): Standardize WireMock configuration to use WIREMOCK_URL environment variable
(e.g., http://localhost:8080) instead of a hardcoded constant. Docker Compose
now uses dynamic port mapping (0:8080) to avoid port conflicts when running
multiple SDK tests in parallel. The start_wiremock function discovers the
assigned port and sets WIREMOCK_URL automatically. Falls back to
http://localhost:8080 if the variable is not set.
0.17.3
(chore): Use generator-cli JS API directly instead of subprocess spawning.
Remove generator-cli from Docker image since it is now bundled via esbuild.
0.18.0
(feat): Add WebSocket (WSS) support with typed channel clients using tokio-tungstenite.
Generates per-channel client structs with typed send/receive methods, auto-reconnection,
and serde-based message serialization. Includes WebSocketClient runtime, feature-gated
dependency management, and integration into the SDK generation pipeline.
0.17.2
(fix): Add serde helpers for base64 and BigInt types to properly serialize/deserialize these types
in JSON. Add execute_request_base64 method for handling base64 primitive endpoint responses.
Fix union variant serde rename to be case-sensitive for proper JSON deserialization.
0.17.1
(fix): Fix compilation errors when generating SDKs without streaming endpoints by conditionally
including sse_stream.rs only when streaming endpoints exist. Also fix missing FixedOffset
import for DateTime types when dateTimeType is set to “offset” (the default).
0.17.0
(feat): Add OAuthTokenProvider for automatic OAuth token management with caching and refresh support.
The provider implements thread-safe token caching with a 2-minute expiration buffer,
double-checked locking pattern for concurrent access, and automatic token refresh.