Skip to content

Conversation

@suketa
Copy link
Owner

@suketa suketa commented Dec 26, 2025

Summary by CodeRabbit

  • New Features

    • Added support for Ruby 4.0.0.
  • Chores

    • Bumped library version to 1.4.2.0.
    • Updated DuckDB dependency to version 1.4.2.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 26, 2025

📝 Walkthrough

Walkthrough

This PR is a release preparation that bumps the library version from 1.4.1.1 to 1.4.2.0, updates the Ruby version in Dockerfile from 3.4.7 to 4.0.0, bumps DuckDB dependency from 1.4.1 to 1.4.2, and formalizes the changelog entry for the new release.

Changes

Cohort / File(s) Summary
Release v1.4.2.0
CHANGELOG.md, Dockerfile, lib/duckdb/version.rb
Formalizes version 1.4.2.0 release: updates CHANGELOG with new versioned entry dated 2025-12-27, bumps library VERSION constant to 1.4.2.0, updates Dockerfile RUBY_VERSION to 4.0.0 and DUCKDB_VERSION to 1.4.2, and removes ad-hoc "Unreleased" notes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • prepare release 1.4.1.0 #985: Modifies CHANGELOG.md and lib/duckdb/version.rb to prepare a similar release cycle (version 1.4.1.0), following the same release documentation pattern.
  • prepare release v1.2.2.0 #942: Performs the same release-preparation pattern by updating CHANGELOG.md, lib/duckdb/version.rb, and Dockerfile ARGs for a complete version bump.
  • bump duckdb 1.4.2 #989: Updates CI and test matrices for DuckDB 1.4.2, complementing the DUCKDB_VERSION bump in the Dockerfile.

Poem

🐰 Ears twitch with release-day cheer!
Four-oh-zero hops into the sphere,
DuckDB bounds to one-four-two,
Versions sparkle, changelogs anew—
A bumpy hop for code so true! 🚀✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main purpose of the changeset, which is to prepare and release version 1.4.2.0 by updating version numbers across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch prepare_release

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a90492f and c1b344b.

⛔ Files ignored due to path filters (1)
  • Gemfile.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • CHANGELOG.md
  • Dockerfile
  • lib/duckdb/version.rb
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: suketa
Repo: suketa/ruby-duckdb PR: 0
File: :0-0
Timestamp: 2025-01-24T22:37:32.786Z
Learning: In Ruby-DuckDB C extensions, when initializing resources like prepared statements, store them directly in the context structure instead of using temporary variables to prevent memory leaks, especially when exceptions might be thrown.
Learnt from: suketa
Repo: suketa/ruby-duckdb PR: 0
File: :0-0
Timestamp: 2025-01-24T22:18:24.630Z
Learning: When using ruby-asan (AddressSanitizer), avoid letting DuckDB throw C++ exceptions by checking conditions (like table existence) beforehand and raising Ruby exceptions directly to prevent ASAN from intercepting the C++ exceptions.
📚 Learning: 2025-01-24T22:18:24.630Z
Learnt from: suketa
Repo: suketa/ruby-duckdb PR: 0
File: :0-0
Timestamp: 2025-01-24T22:18:24.630Z
Learning: When using ruby-asan (AddressSanitizer), avoid letting DuckDB throw C++ exceptions by checking conditions (like table existence) beforehand and raising Ruby exceptions directly to prevent ASAN from intercepting the C++ exceptions.

Applied to files:

  • lib/duckdb/version.rb
  • Dockerfile
📚 Learning: 2025-01-24T22:37:32.786Z
Learnt from: suketa
Repo: suketa/ruby-duckdb PR: 0
File: :0-0
Timestamp: 2025-01-24T22:37:32.786Z
Learning: In Ruby-DuckDB C extensions, when initializing resources like prepared statements, store them directly in the context structure instead of using temporary variables to prevent memory leaks, especially when exceptions might be thrown.

Applied to files:

  • lib/duckdb/version.rb
📚 Learning: 2025-01-26T00:37:44.001Z
Learnt from: suketa
Repo: suketa/ruby-duckdb PR: 871
File: ext/duckdb/appender.c:170-178
Timestamp: 2025-01-26T00:37:44.001Z
Learning: In ruby-duckdb's DuckDB::Appender#append_uint8, values larger than uint8 max (255) are silently truncated to maintain backward compatibility, following C's implicit truncation behavior. Range checking is intentionally omitted to avoid breaking changes.

Applied to files:

  • lib/duckdb/version.rb
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
  • GitHub Check: test (3.2.9, 1.4.2)
  • GitHub Check: test (3.2.9, 1.3.2)
  • GitHub Check: test (mswin, 1.3.2)
  • GitHub Check: test (3.3.10, 1.3.2)
  • GitHub Check: test (head, 1.3.2)
  • GitHub Check: test (ucrt, 1.3.2)
  • GitHub Check: test (head, 1.4.2)
  • GitHub Check: test (3.3.10, 1.3.2)
  • GitHub Check: test (head, 1.4.2)
  • GitHub Check: test (4.0.0, 1.3.2)
  • GitHub Check: test (3.4.8, 1.3.2)
  • GitHub Check: test (3.2.9, 1.4.2)
  • GitHub Check: test (3.2.9, 1.4.2)
  • GitHub Check: test (3.4.8, 1.4.2)
  • GitHub Check: test (3.2.9, 1.3.2)
  • GitHub Check: test (3.3.10, 1.4.2)
  • GitHub Check: test (3.3.10, 1.4.2)
🔇 Additional comments (4)
lib/duckdb/version.rb (1)

6-6: LGTM! Version bump is consistent with release preparation.

The version constant update from '1.4.1.1' to '1.4.2.0' aligns with the PR objectives and changelog entry.

Dockerfile (2)

1-1: LGTM! Ruby 4.0.0 version update is valid.

Ruby 4.0.0 was released on December 25, 2025, introducing features like Ruby Box and ZJIT compiler. The version bump from 3.4.7 to 4.0.0 is correct and aligns with the changelog entry.


4-4: LGTM! DuckDB 1.4.2 version update is valid.

DuckDB 1.4.2 was released on November 12, 2025 as a patch release with bugfixes and security improvements. The version bump from 1.4.1 to 1.4.2 is appropriate.

CHANGELOG.md (1)

7-11: LGTM! Changelog entry formalizes the 1.4.2.0 release.

The changelog correctly documents the release with Ruby 4.0.0 support and DuckDB 1.4.2 bump, aligning with the version changes in other files. The release date (2025-12-27) is one day in the future, which appears to be the planned release date.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@suketa suketa merged commit b54d19e into main Dec 26, 2025
38 checks passed
@suketa suketa deleted the prepare_release branch December 26, 2025 22:01
@coderabbitai coderabbitai bot mentioned this pull request Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants