Skip to content

prepare release v1.4.1.1.#987

Merged
suketa merged 2 commits intomainfrom
prepare_release
Nov 2, 2025
Merged

prepare release v1.4.1.1.#987
suketa merged 2 commits intomainfrom
prepare_release

Conversation

@suketa
Copy link
Owner

@suketa suketa commented Nov 2, 2025

Summary by CodeRabbit

  • Chores

    • Version bumped to 1.4.1.1
    • Ruby updated to 3.4.7 in build configuration
    • DuckDB updated to 1.4.1 in build configuration
  • Documentation

    • Changelog updated for 1.4.1.1, fixing a typo and documenting that the connection appender method accepts a block

@coderabbitai
Copy link

coderabbitai bot commented Nov 2, 2025

Walkthrough

Bumps the gem version to 1.4.1.1, updates build ARGs for Ruby and DuckDB in the Dockerfile, and adds an unreleased changelog entry noting that DuckDB::Connection#appender_from_query accepts a block and fixes a typo.

Changes

Cohort / File(s) Summary
Version & Release Metadata
lib/duckdb/version.rb, CHANGELOG.md
Updated VERSION from 1.4.1.0 to 1.4.1.1; added an Unreleased changelog entry (2025-11-03) documenting DuckDB::Connection#appender_from_query accepting a block and fixed a typo ("accetps" → "accepts").
Build Configuration
Dockerfile
Bumped build ARGs: RUBY_VERSION 3.4.4 → 3.4.7 and DUCKDB_VERSION 1.3.1 → 1.4.1.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Connection
  participant Appender

  Note over Connection: New/Documented behavior
  User->>Connection: appender_from_query(sql) { |appender| ... }
  alt block provided
    Connection->>Appender: create appender for query
    Connection-->>User: yield Appender to block
    User->>Appender: append rows inside block (sync)
    Appender-->>Connection: flush/close
  else no block
    Connection->>Appender: return Appender object
  end
Loading

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Changes are limited to version/constants, changelog text, and Dockerfile ARG updates.
  • Files to spot-check: lib/duckdb/version.rb, CHANGELOG.md, Dockerfile.

Possibly related PRs

Poem

🐰 A tiny hop, a patch in line,
Version lifted, changelog fine.
Ruby, DuckDB step up the hill,
Appenders yield — I nibble with thrill. ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "prepare release v1.4.1.1." is directly related to the main changes in the changeset. The pull request updates the version constant from '1.4.1.0' to '1.4.1.1', adds a changelog entry for v1.4.1.1 with documentation updates, and updates the Dockerfile with new dependency versions. The title is concise, specific, and accurately describes the primary purpose of the changeset—preparing a release for version 1.4.1.1. This clearly communicates the intent to someone reviewing the git history.
✨ Finishing touches
🧪 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: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1849486 and 0ffa4d0.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • CHANGELOG.md
⏰ 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). (19)
  • GitHub Check: test (3.5.0-preview1, 1.3.2)
  • GitHub Check: test (3.4.7, 1.3.2)
  • GitHub Check: test (3.5.0-preview1, 1.3.2)
  • GitHub Check: test (mingw, 1.4.1)
  • GitHub Check: test (head, 1.3.2)
  • GitHub Check: test (mswin, 1.3.2)
  • GitHub Check: test (mswin, 1.4.1)
  • GitHub Check: test (head, 1.4.1)
  • GitHub Check: test (3.4.7, 1.4.1)
  • GitHub Check: test (mingw, 1.3.2)
  • GitHub Check: test (ucrt, 1.3.2)
  • GitHub Check: test (3.4.7, 1.3.2)
  • GitHub Check: test (3.3.10, 1.3.2)
  • GitHub Check: test (3.2.9, 1.3.2)
  • GitHub Check: test (3.3.10, 1.4.1)
  • GitHub Check: test (3.2.9, 1.4.1)
  • GitHub Check: test (head, 1.3.2)
  • GitHub Check: test (3.3.10, 1.3.2)
  • GitHub Check: test (head, 1.4.1)

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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8bd2aff and 1849486.

⛔ Files ignored due to path filters (1)
  • Gemfile.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • Dockerfile (1 hunks)
  • lib/duckdb/version.rb (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 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:

  • Dockerfile
  • lib/duckdb/version.rb
📚 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). (13)
  • GitHub Check: test (mingw, 1.3.2)
  • GitHub Check: test (3.3.10, 1.4.1)
  • GitHub Check: test (mswin, 1.3.2)
  • GitHub Check: test (ucrt, 1.4.1)
  • GitHub Check: test (3.2.9, 1.4.1)
  • GitHub Check: test (mswin, 1.4.1)
  • GitHub Check: test (mingw, 1.4.1)
  • GitHub Check: test (3.3.10, 1.3.2)
  • GitHub Check: test (3.4.7, 1.3.2)
  • GitHub Check: test (3.2.9, 1.3.2)
  • GitHub Check: test (3.5.0-preview1, 1.4.1)
  • GitHub Check: test (3.5.0-preview1, 1.4.1)
  • GitHub Check: test (head, 1.3.2)
🔇 Additional comments (2)
lib/duckdb/version.rb (1)

6-6: LGTM!

The version bump from '1.4.1.0' to '1.4.1.1' is correct for this patch release.

Dockerfile (1)

1-1: Version updates verified and approved.

Ruby 3.4.7 and DuckDB 1.4.1 are both confirmed available in their respective registries. The changes are good to merge.

@suketa suketa merged commit 2280b7d into main Nov 2, 2025
38 checks passed
@suketa suketa deleted the prepare_release branch November 2, 2025 20:46
@coderabbitai coderabbitai bot mentioned this pull request Jan 10, 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.

1 participant