Version 1.0.0 is the first stable release of this client and a full regeneration against the current Flat API. The package was previously below 1.0, so this is the point at which it starts making a compatibility promise. The previous release line (0.3.x) was generated in 2024 or earlier and is missing everything the API has shipped since.
The previous major stays installable and is deprecated on RubyGems, not withdrawn. Nothing breaks until you choose to upgrade.
- Complete API coverage. All 123 public operations, verified automatically on every release. The old client predates a great deal of the API, including OMR.
- It stays current. Releases are now automatic, tied to specification releases.
- Typed errors, retries, pagination and OAuth refresh, none of which the old client had.
- Modern runtimes and full type information.
- Package layout changed. Import from the package root rather than reaching into internals.
- Errors are typed. Code that inspected status codes or parsed message strings should branch on the error class instead. Note that rate limiting is HTTP 403, not 429.
- Supported runtimes moved up to Ruby 3.3 and 3.4. End-of-life runtimes are no longer supported.
- Manual pagination is unnecessary. Hand-rolled cursor loops still work, but the built-in iterator is correct in cases hand-rolled loops usually miss.
- Model names follow the specification. A few renames follow schema names upstream.
- Raise your runtime to a supported version.
- Bump the dependency:
gem install flat_api. - Replace status-code checks with typed error handling.
- Replace manual paging loops with the built-in iterator.
- Run your tests. Anything unresolved is likely a model rename; check the reference.
It keeps working and stays installable. It will not receive new API capability, and it is not regenerated when the API changes. If you need something added to the API after early 2024, you need 1.0.0.
Open an issue on this repository, or email developers@flat.io.