Skip to content

fix: require libcurl 7.63 for URL handles - #16

Merged
han-xudong merged 2 commits into
mainfrom
fix/curl-minimum-7.63
Jul 24, 2026
Merged

fix: require libcurl 7.63 for URL handles#16
han-xudong merged 2 commits into
mainfrom
fix/curl-minimum-7.63

Conversation

@han-xudong

@han-xudong han-xudong commented Jul 24, 2026

Copy link
Copy Markdown
Member

Summary

  • raise the declared libcurl minimum from 7.62 to 7.63.0 in the project, installed CMake package, Pixi metadata, and user documentation
  • add deterministic fake libcurl 7.62/7.63 fixtures that prove configuration rejects the unsupported release and accepts the first supported release
  • prepare the 0.2.2 patch release without changing the public C++ API or shared-library ABI

Rationale

Sensor discovery uses CURLOPT_CURLU. According to the official libcurl symbol documentation, that option was added in libcurl 7.63.0, so the previous 7.62 requirement could allow configuration to succeed before compilation failed.

The new test uses local fake headers and archives only; it does not depend on network access, a physical sensor, or wording-oriented assertions. SOVERSION remains 1 and public headers are unchanged.

Verification

  • fresh Release shared build
  • 14/14 CTest tests, including the 7.62 rejection and 7.63 acceptance fixtures
  • workflow/actionlint checks
  • clang-format and clang-tidy
  • release publication simulations
  • clean diff and worktree

Hardware

No physical hardware is required for this build-system compatibility correction.

Summary by CodeRabbit

  • Release

    • Updated the project version to 0.2.2.
  • Bug Fixes

    • Tightened the minimum libcurl requirement to 7.63.0 to ensure required sensor discovery functionality is available.
  • Documentation

    • Updated build requirements in the README to require libcurl 7.63.0 or newer.
  • Tests

    • Added a CTest that verifies configuration fails with libcurl 7.62.x and succeeds with libcurl 7.63.0.

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 54b52dfc-b46b-4f78-b649-3282227b3ab6

📥 Commits

Reviewing files that changed from the base of the PR and between 20f3277 and 5778aec.

📒 Files selected for processing (1)
  • test/curl_minimum_test.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • test/curl_minimum_test.sh

📝 Walkthrough

Walkthrough

The project version is updated to 0.2.2, the minimum required libcurl version is raised to 7.63.0, documentation is synchronized, and a CTest script validates the dependency boundary and version metadata.

Changes

libcurl version update

Layer / File(s) Summary
Version and dependency declarations
CMakeLists.txt, cmake/netftConfig.cmake.in, pixi.toml
Project metadata is updated to version 0.2.2, and libcurl requirements are set to 7.63.0 or newer.
Release and platform documentation
CHANGELOG.md, README.md
Release notes and supported-platform requirements document the libcurl 7.63.0 minimum.
Minimum-version validation
test/CMakeLists.txt, test/curl_minimum_test.sh
A CTest entry runs isolated CMake checks that reject libcurl 7.62.0, accept 7.63.0, and verify synchronized version and metadata declarations.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly reflects the main change: raising the minimum libcurl version to 7.63 for CURLOPT_CURLU/URL handle support.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/curl-minimum-7.63

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

@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/curl_minimum_test.sh`:
- Around line 62-64: Add an assertion in the test script alongside the existing
CMake dependency checks to verify that pixi.toml declares libcurl with the
minimum version constraint >=7.63.0. Use the existing repo_root path and
preserve the current checks for netftConfig.cmake.in and SOVERSION.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 50170b16-ae50-4037-9a99-ee530b2fee43

📥 Commits

Reviewing files that changed from the base of the PR and between 7654ef7 and 20f3277.

📒 Files selected for processing (7)
  • CHANGELOG.md
  • CMakeLists.txt
  • README.md
  • cmake/netftConfig.cmake.in
  • pixi.toml
  • test/CMakeLists.txt
  • test/curl_minimum_test.sh

Comment thread test/curl_minimum_test.sh
@han-xudong
han-xudong merged commit e424c40 into main Jul 24, 2026
18 checks passed
@han-xudong
han-xudong deleted the fix/curl-minimum-7.63 branch July 24, 2026 18:06
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