1.1.2
(fix): Fix pagination query parameter key mismatch. Query parameters were initialized
with string keys but pagination iterator blocks used symbol keys, causing duplicate
parameters to be sent (e.g., page=0&page=0) which resulted in 400 errors.
(fix): URI-encode path parameters before interpolation into URL paths. Resource IDs
containing reserved URI characters (e.g., pipes, spaces) now work correctly
instead of raising URI::InvalidURIError.
1.1.1
(fix): Strip zero-millisecond datetime values from WireMock stub query parameters.
Ruby’s DateTime/Time ISO 8601 serialization omits zero fractional seconds
(e.g., 2024-09-08T12:00:00Z), but mock-utils generates values with .000Z
(e.g., 2024-09-08T12:00:00.000Z). WireMock’s equalTo matcher is exact-match,
so the stubs never fired for datetime query parameters. This follows the same
pattern used by the Python and PHP generators.
1.1.0
(feat): Add omitFernHeaders configuration option. When enabled, Fern platform headers
(X-Fern-Language, X-Fern-SDK-Name, X-Fern-SDK-Version, User-Agent) are omitted
from generated SDK requests.
1.0.9
(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.
1.0.8
(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.
1.0.7
(fix): Fix dynamic snippets to include global headers in generated code examples.
Previously, required global headers (e.g., X-Organization-ID) configured via
x-fern-global-headers were missing from dynamic snippet output. Also fixes
header value lookup to use wire values instead of a non-existent property.
1.0.6
(chore): Improve error logging for reference.md generation failures. The generator
now logs the actual error message and stack trace instead of a generic
“this is OK” message, making it easier to diagnose generation issues.
1.0.5
(chore): Parallelize endpoint snippet generation in populateSnippetsCache(). All
endpoints are now processed concurrently via Promise.all instead of
sequentially, reducing snippet generation time for large APIs.
1.0.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. Falls back to http://localhost:8080 if the
variable is not set.
1.0.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.
1.0.2
(fix): Rename Union#member? to Union#type_member? to avoid rubocop-minitest’s
Minitest/AssertIncludes cop incorrectly autocorrecting assert obj.member?(x)
to assert_includes obj, x. The autocorrected form calls Module#include? which
raises TypeError: wrong argument type Class (expected Module) on union type tests.