Release 1.8.0 - #124
Conversation
Four user-facing fixes plus a Ruby floor raise since 1.7.0. Minor rather than patch: ApiException#code is new public API, and the required_ruby_version raise drops support for Ruby < 3.2.
There was a problem hiding this comment.
Pull request overview
This pull request updates the gem’s version constant to 1.8.0 in preparation for a release.
Changes:
- Bump
OneLogin::VERSIONfrom1.7.0to1.8.0.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -1,3 +1,3 @@ | |||
| module OneLogin | |||
| VERSION = "1.7.0" | |||
| VERSION = "1.8.0" | |||
There was a problem hiding this comment.
Not a mismatch — this is a release PR, so the one-line diff and the description are describing different things by design.
Everything listed is already merged on main. The version bump is the only thing left to do before those changes can be published, because RubyGems keys releases off OneLogin::VERSION. Verified against main's tree just now:
| description item | on main |
|---|---|
| Cursor non-JSON guard | is_a?(Hash) in cursor.rb |
ApiException#code |
attr_reader :code present |
| Symbol-key params | stringify_param_keys, 4 references |
create_app guard |
if !app_params.has_key?('connector_id') |
| Ruby floor | required_ruby_version = '>= 3.2' |
| CI matrix | ruby: ['3.2', '3.3', '3.4'] |
| Sorting docs | 2 sort: examples in README |
| Specs | 48 examples, 0 failures on Ruby 3.2 |
They landed via #98, #107, #111, #112, #113, #115, #118, #119, #120, #121, #122 and #123.
The description is the changelog for 1.8.0, not for this diff — it's what becomes the GitHub release notes and what a consumer reads to decide whether to upgrade. Trimming it to "bump VERSION to 1.8.0" would leave the release undocumented, which is the opposite of accurate.
This matches how 1.7.0 was cut in #110, and keeps release PRs trivially reviewable: the diff is one line, so the only question is whether the version number is right.
On that: 1.8.0 rather than 1.7.1 because ApiException#code is new public API, and rather than 2.0.0 because the required_ruby_version raise doesn't break existing builds — RubyGems' resolver filters by compatibility, so Ruby 3.0 users resolve to 1.7.0 instead of failing.
Bumps
lib/onelogin/version.rbto 1.8.0 so everything onmainsince 1.7.0 can be published.Fixed
text/html, soparsed_responsereturned a String andCursorraisedNoMethodError: undefined method 'has_key?'instead ofApiException. Also reports the real HTTP status rather than a hardcoded 500.create_session_login_tokenalways failed.to_jsonalready serialized both forms identically — only the validation disagreed, so the wire format is unchanged.create_appvalidation never fired. The guard readunless has_key? || value.empty?, which is true in every case.create_app({})silently POSTed an empty body.Added
ApiException#code. The class stored@codebut exposed no reader, so callers couldn't distinguish a 401 from a 429 — the exact thing How detect HTTP RESPONSES different than 200 on paginated objects? #4 asked for.Changed — read this one
required_ruby_versionraised from>= 1.9.3to>= 3.2(gemspec advertises required_ruby_version >= 1.9.3, which the runtime dependency graph cannot honour #116).The old floor was unachievable: the unbounded
nokogiri >= 1.6.3.1runtime dependency resolves to a version requiring Ruby >= 3.2. More importantly, 3.2 is the lowest Ruby on which a consumer gets anokogiriwith no known advisories — below it the newest installable release still carries a critical one.Existing users on older Rubies are not broken. RubyGems' resolver filters by compatibility, so
bundle installon Ruby 3.0 resolves to 1.7.0 rather than failing. Only an explicit pin to 1.8.0 errors, and the message says why.Minor rather than major follows nokogiri's own precedent (it raised 3.0 → 3.1 in 1.17 → 1.18).
Documentation
limitclarified as API page size, not a result cap--limitfix (Fix events to csv example results limit #98)Housekeeping
rakedev dependency to~> 13.0(GHSA-jppv-gw3r-w3q8).travis.yml; regeneratedexamples/Gemfile.lockVerification
Ruby (>= 3.2) ... is not available in the local ruby installationvendor/or Rails examplePublishing (manual — no release automation on this repo)