Skip to content

Comments

Bump trilogy from 2.9.0 to 2.10.0#2388

Merged
flavorjones merged 1 commit intomainfrom
dependabot/bundler/trilogy-2.10.0
Feb 23, 2026
Merged

Bump trilogy from 2.9.0 to 2.10.0#2388
flavorjones merged 1 commit intomainfrom
dependabot/bundler/trilogy-2.10.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 16, 2026

Bumps trilogy from 2.9.0 to 2.10.0.

Release notes

Sourced from trilogy's releases.

v2.10.0

Added

  • Add size alias for Trilogy::Result#count. #209

Fixed

  • Declare bigdecimal dependency for Ruby 3.4+. #213
  • Fix Ractor support. #215
  • Use append_cflags instead of appending directly. #231
  • Don't confuse length encoded int with EOF. #179

Changed

  • Speed up Trilogy#escape by 3 to 5x. #212
  • Use a buffer pool. #214
Changelog

Sourced from trilogy's changelog.

2.10.0

Added

  • Add size alias for Trilogy::Result#count. #209

Fixed

  • Declare bigdecimal dependency for Ruby 3.4+. #213
  • Fix Ractor support. #215
  • Use append_cflags instead of appending directly. #231
  • Don't confuse length encoded int with EOF. #179

Changed

  • Speed up Trilogy#escape by 3 to 5x. #212
  • Use a buffer pool. #214
Commits
  • e48d000 Release v2.10.0 (#256)
  • 23d1fd7 Merge pull request #255 from trilogy-libraries/ruby-40
  • 02880d6 Test with Ruby 4.0
  • 7d40e20 Merge pull request #249 from basecamp/ruby-4
  • 70cf5b5 Merge pull request #250 from trilogy-libraries/dependabot/github_actions/acti...
  • 52213ba Bump actions/checkout from 5 to 6
  • a4e7ff1 Ruby 4 support
  • 9fef677 Merge pull request #243 from jhawthorn/buffer_pool_fixes
  • ea5fcde Merge pull request #179 from trilogy-libraries/lenencint-eof-confusion
  • 737273c Don't bother checking in buffer pool on free
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Jan 16, 2026
@dependabot dependabot bot force-pushed the dependabot/bundler/trilogy-2.10.0 branch from 9c086c3 to 32e519f Compare January 19, 2026 19:43
@dependabot dependabot bot force-pushed the dependabot/bundler/trilogy-2.10.0 branch 2 times, most recently from 2fcb941 to 10618c9 Compare February 12, 2026 17:09
@flavorjones
Copy link
Member

Upgrade Analysis: trilogy v2.9.0 → v2.10.0

52 commits analyzed | 45 no impact | 5 analyzed, not affected | 2 require attention

Commits Requiring Attention

b4133f1 Don't confuse length encoded int with EOF

Impact: unlikely but relevant — fizzy has LONGTEXT/LONGBLOB columns

Fixes a C-level MySQL packet parsing bug where a row containing a field ≥ 16 MB was misidentified as an EOF packet, causing Trilogy::QueryError: TRILOGY_EXTRA_DATA_IN_PACKET.

Matched in fizzy:

  • db/schema.rbt.text "body", size: :long (action_text_rich_texts)
  • db/cache_schema.rbt.binary "value", size: :long (solid_cache_entries)
  • db/cable_schema.rbt.binary "payload", size: :long (solid_cable_messages)

No code changes needed — transparent bug fix that improves reliability for large field reads.


5b25678 Require Ruby 3.0+

Impact: hard constraint change in gemspec

No action needed — fizzy is on Ruby 3.4.7, well above the minimum.


Analyzed — No App Impact

Commit Summary Why no impact
6b4e124 Declare bigdecimal dependency for Ruby 3.4+ Fizzy doesn't pin bigdecimal
aad7cdf Buffer pool for reduced memory Transparent optimization
963af93 Fix free()/xfree() mismatch in C ext Internal fix, no API change
3a79842 Fix GC crash in buffer pool Internal safety fix
73d7edb Remove Trilogy.buffer_pool_size API Fizzy doesn't use this API

Highlights

This is a safe, beneficial upgrade:

  • 🏎️ 3-5x faster Trilogy#escape
  • 💾 Buffer pool reduces memory for idle connections
  • 🐛 EOF parsing fix prevents errors on large LONGTEXT/LONGBLOB reads
  • 💎 Ruby 3.4+ compatibility via explicit bigdecimal dependency
  • No breaking changes for fizzy

Full analysis: upgrade-analysis/fizzy-20260223-trilogy_v2.9.0..v2.10.0.md

Bumps [trilogy](https://github.com/trilogy-libraries/trilogy) from 2.9.0 to 2.10.0.
- [Release notes](https://github.com/trilogy-libraries/trilogy/releases)
- [Changelog](https://github.com/trilogy-libraries/trilogy/blob/main/CHANGELOG.md)
- [Commits](trilogy-libraries/trilogy@v2.9.0...v2.10.0)

---
updated-dependencies:
- dependency-name: trilogy
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@flavorjones flavorjones force-pushed the dependabot/bundler/trilogy-2.10.0 branch from 10618c9 to 5a8fd32 Compare February 23, 2026 22:36
@flavorjones
Copy link
Member

Upgrade Analysis: trilogy v2.9.0 → v2.10.0

52 commits analyzed | Recon + app impact analysis via upgrade-analyze

Summary

Category Count
Total commits 52
No impact (skipped at recon) 45
Analyzed, not affected 5
Requires attention 2

Commits Requiring Attention

b4133f1 — Don't confuse length-encoded int with EOF

Impact: unlikely impact — but fizzy has relevant schema
Matched in:

  • db/schema.rb:74t.text "body", size: :long (action_text_rich_texts, LONGTEXT)
  • db/cache_schema.rb:19t.binary "value", size: :long (solid_cache_entries, LONGBLOB)
  • db/cable_schema.rb:18t.binary "payload", size: :long (solid_cable_messages, LONGBLOB)

What changed: Fixes a C-level MySQL packet parsing bug where a row containing a field >= 16 MB (requiring an 8-byte length-encoded integer with 0xFE prefix) was misidentified as an EOF packet, causing Trilogy::QueryError: trilogy_read_row: TRILOGY_EXTRA_DATA_IN_PACKET.

Mitigation: No code changes needed. Transparent bug fix. Fizzy has LONGTEXT/LONGBLOB columns that could theoretically hold values >= 16 MB. After this upgrade, reading such large values will work correctly.


5b25678 — Require Ruby 3.0+

Impact: likely impact — hard constraint change
Matched in:

  • Gemfile:22gem "trilogy", "~> 2.9"
  • .ruby-version3.4.7

What changed: Adds s.required_ruby_version = ">= 3.0" to the trilogy gemspec.

Mitigation: No action needed. Fizzy is on Ruby 3.4.7, well above the 3.0 minimum.

Analyzed — No App Impact

Commit Summary Impact Level
6b4e124 Declare bigdecimal dependency for Ruby 3.4+ unlikely impact
aad7cdf Implement buffer pool for reduced memory usage unlikely impact
963af93 Use system free() for trilogy buffers (allocator mismatch fix) unlikely impact
3a79842 Fix GC crash when buffer pool freed before connections unlikely impact
73d7edb Remove Trilogy.buffer_pool_size API, hardcode to 8 likely impact

Verdict

Safe to merge. No breaking changes for fizzy. Key benefits:

  • 3-5x faster Trilogy#escape (transparent performance win)
  • Buffer pool reduces memory for idle connections
  • EOF parsing fix prevents errors on large LONGTEXT/LONGBLOB reads
  • Ruby 3.4+ compatibility via explicit bigdecimal dependency
  • No removed APIs that fizzy uses

@flavorjones flavorjones merged commit 3063a40 into main Feb 23, 2026
15 of 16 checks passed
@flavorjones flavorjones deleted the dependabot/bundler/trilogy-2.10.0 branch February 23, 2026 23:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant