Changelog
All notable changes to this project will be documented in this file.
[0.12.0] - 2026-04-24
Added
- feat(configuration): add profile enum for environment defaults
Style
- style(spec): remove extra blank line to satisfy RuboCop
[0.11.0] - 2026-04-23
Added
- feat(configuration): add ssl_verify, ssl_ca_file, and ssl_options
- feat(configuration): add ENV fallback for settings
- feat(client): support multi-tenant gateways with preconfig for Mosaic
CI
- ci(release): recognise squash-merged release commits and allow manual publish (#43)
- ci(release): recognise squash-merged release commits and allow manual publish
Documentation
- docs(readme): refresh for multi-tenant, ENV fallback, Monitor
- docs(client): correct access_token_for thread-safety note (Monitor, not Mutex)
- docs(client): fill YARD gaps flagged by the PR yardstick report
- docs(client): document ServiceNotAllowedError on HTTP verbs
Fixed
- fix(configuration): deep-freeze every TenantConfig field, not only ssl_options
- fix(http_client): harden SSL plumbing after PR review
- fix(configuration): align YARD examples and isolate specs from ENV
- fix(configuration): address PR review feedback
- fix(client): harden multi-tenant — deep-freeze, string names, thread-safety, kwarg sentinel, docs
Other
- chore(cliff): skip all merge commits from the changelog
Refactored
- refactor(configuration): address TenantConfig review — deep-freeze, strict []
- refactor(configuration): return a Data-based TenantConfig value object
- refactor(client): centralize ServiceNotAllowedError message in the class
- refactor(client): extract current_tenant_settings for readability
Tests
- test(configuration): isolate class_attribute state in the around hook
[0.9.0] - 2026-04-20
Fixed
- fix(client): fail fast on SSR tenant before touching OAuth and thread-local
[0.8.0] - 2026-04-20
Fixed
- fix(client): route API calls to gateway_url, fetch token from appcenter_url
[0.7.0] - 2026-04-20
Added
- feat(config)!: add OAuth2 scope configuration with 'public' default
Other
- chore(docs): hide instance methods, keep class-level as public API
[0.6.0] - 2026-04-20
Added
- feat(response): fall back to body for non-JSON, add raw: kwarg
- feat(errors): wrap Faraday and OAuth2 errors on HTTP verbs
- feat(client): reject backend service routing on SSR tenants
Build
- build(deps): bump actions/upload-pages-artifact from 3 to 5
- build(deps): bump actions/deploy-pages from 4 to 5
Documentation
- docs: address review feedback on PR 26
- docs(errors): add summaries and @api tags to RequestError members
Fixed
- fix(response): key body fallback on Content-Type, not truthiness
[0.5.0] - 2026-04-17
Added
- feat(config)!: switch default URLs to fluence.eu domain
Documentation
- docs(contributing): add running tests, architecture, and CI sections
[0.4.0] - 2026-04-16
Added
- feat(client): add service kwarg and with_service block helper
Build
- build(deps): bump actions/create-github-app-token from 2 to 3
CI
- ci(coverage): show before/after diff vs base in PR comment
- ci(coverage): surface undercover-flagged blocks in PR comment
- ci(coverage): use undercover simplecov formatter
- ci(release): create release PR via GitHub App token
Documentation
- docs: rewrite README and fix coverage scope
- docs: add YARD + yardstick documentation pipeline
Fixed
- fix(client): only normalize symbol service names, leave strings untouched
Other
- chore(gitignore): ignore .DS_Store
[0.3.0] - 2026-04-07
Added
- feat(client): forward end-user bearer token to the gateway
CI
- ci(coverage): point undercover at simplecov resultset
- ci(coverage): add benchmark gem for ruby 4.0 compatibility
[0.2.0] - 2026-04-03
Added
- feat: add hyphenated require path
Other
- chore: remove Gemfile.lock and .idea/ from version control
Style
- style: exclude hyphenated require file from Naming/FileName
Tests
- test: add spec for hyphenated require path
[0.1.1] - 2026-04-03
Added
- feat: add default URLs for gateway and appcenter
- feat: add singleton Client with OAuth2 client_credentials
- feat: add error classes
- feat: add configuration module with Settings singleton
Build
- build(deps): bump upload-artifact to v7 and download-artifact to v8
CI
- ci: unify release system with Fluence gems
- ci: add release system with GitHub Actions, changelog, and coverage
Documentation
- docs: use source block syntax for GitHub Packages installation
- docs: add YARD documentation and CONTRIBUTING.md
- docs: add README with usage examples
Other
- chore: rubocop config and auto-corrections
- init: scaffold fluence-gateway-client gem
Refactored
- refactor: remove Style/DoubleNegation, use explicit expired? check
- refactor: rename token_url to appcenter_url with fixed /oauth/token path
Style
- style: add name to all workflow steps for consistency