Skip to content

Conversation

@spoorcc
Copy link
Contributor

@spoorcc spoorcc commented Jan 3, 2026

Summary by CodeRabbit

  • Chores
    • Released version 0.11.0 of DFetch
    • Updated documentation and test fixtures to reflect the new release version

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

@coderabbitai
Copy link

coderabbitai bot commented Jan 3, 2026

Walkthrough

This pull request bumps the dfetch version from 0.10.0 to 0.11.0 across the codebase. The release is marked as finalized in the CHANGELOG with a release date of 2026-01-03. The core version export, documentation, asciicast recordings, and feature test expectations are all updated to reflect the new version number.

Changes

Cohort / File(s) Summary
Version Metadata
CHANGELOG.rst, dfetch/__init__.py
Bumped version from 0.10.0 to 0.11.0; marked release as finalized with date 2026-01-03 in CHANGELOG
Release Process Documentation
doc/contributing.rst
Updated release workflow to include "Create pull request & merge to main" step before tagging; updated example tag version to 0.11.0; updated next unreleased version to 0.12.0
Asciicast Demo Files
doc/asciicasts/{basic,check-ci,check,diff,environment,freeze,import,init,report,sbom,update,validate}.cast
Updated embedded version display from 0.10.0 to 0.11.0 in tool output and manifest version references across all recorded terminal sessions
Feature Test Files
features/{check-git-repo,check-specific-projects,check-svn-repo,checked-project-has-dependencies,diff-in-git,diff-in-svn,fetch-checks-destination,fetch-file-pattern-git,fetch-file-pattern-svn,fetch-git-repo,fetch-single-file-git,fetch-single-file-svn,fetch-with-ignore-git,fetch-with-ignore-svn,guard-against-overwriting-git,guard-against-overwriting-svn,handle-invalid-metadata,journey-basic-patching,journey-basic-usage,keep-license-in-project,list-projects,patch-after-fetch-git,patch-after-fetch-svn,report-sbom,suggest-project-name,updated-project-has-dependencies,validate-manifest}.feature
Updated all expected version output strings from 0.10.0 to 0.11.0 in test scenarios; no behavioral or control-flow changes

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested labels

development, documentation

Suggested reviewers

  • ben-edna

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 'Prepare for release 0.11.0' directly and clearly describes the main objective of the pull request, which is to prepare the codebase for version 0.11.0 release by updating version strings, release notes, and test fixtures.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 32cc3c4 and 7236285.

📒 Files selected for processing (42)
  • CHANGELOG.rst
  • dfetch/__init__.py
  • doc/asciicasts/basic.cast
  • doc/asciicasts/check-ci.cast
  • doc/asciicasts/check.cast
  • doc/asciicasts/diff.cast
  • doc/asciicasts/environment.cast
  • doc/asciicasts/freeze.cast
  • doc/asciicasts/import.cast
  • doc/asciicasts/init.cast
  • doc/asciicasts/report.cast
  • doc/asciicasts/sbom.cast
  • doc/asciicasts/update.cast
  • doc/asciicasts/validate.cast
  • doc/contributing.rst
  • features/check-git-repo.feature
  • features/check-specific-projects.feature
  • features/check-svn-repo.feature
  • features/checked-project-has-dependencies.feature
  • features/diff-in-git.feature
  • features/diff-in-svn.feature
  • features/fetch-checks-destination.feature
  • features/fetch-file-pattern-git.feature
  • features/fetch-file-pattern-svn.feature
  • features/fetch-git-repo.feature
  • features/fetch-single-file-git.feature
  • features/fetch-single-file-svn.feature
  • features/fetch-with-ignore-git.feature
  • features/fetch-with-ignore-svn.feature
  • features/guard-against-overwriting-git.feature
  • features/guard-against-overwriting-svn.feature
  • features/handle-invalid-metadata.feature
  • features/journey-basic-patching.feature
  • features/journey-basic-usage.feature
  • features/keep-license-in-project.feature
  • features/list-projects.feature
  • features/patch-after-fetch-git.feature
  • features/patch-after-fetch-svn.feature
  • features/report-sbom.feature
  • features/suggest-project-name.feature
  • features/updated-project-has-dependencies.feature
  • features/validate-manifest.feature
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: spoorcc
Repo: dfetch-org/dfetch PR: 904
File: script/package.py:10-18
Timestamp: 2026-01-02T22:46:45.589Z
Learning: In dfetch's script/package.py, importing dfetch.__version__ directly is acceptable and intentional; if dfetch is not installed in the environment, the packaging job should fail explicitly rather than handling the import error gracefully.
📚 Learning: 2026-01-02T22:46:45.589Z
Learnt from: spoorcc
Repo: dfetch-org/dfetch PR: 904
File: script/package.py:10-18
Timestamp: 2026-01-02T22:46:45.589Z
Learning: In dfetch's script/package.py, importing dfetch.__version__ directly is acceptable and intentional; if dfetch is not installed in the environment, the packaging job should fail explicitly rather than handling the import error gracefully.

Applied to files:

  • features/suggest-project-name.feature
  • features/handle-invalid-metadata.feature
  • features/updated-project-has-dependencies.feature
  • features/fetch-single-file-svn.feature
  • features/report-sbom.feature
  • features/fetch-file-pattern-svn.feature
  • features/fetch-with-ignore-svn.feature
  • features/patch-after-fetch-svn.feature
  • features/fetch-file-pattern-git.feature
  • features/guard-against-overwriting-svn.feature
  • features/journey-basic-usage.feature
  • features/patch-after-fetch-git.feature
  • features/check-git-repo.feature
  • features/diff-in-git.feature
  • features/validate-manifest.feature
  • features/guard-against-overwriting-git.feature
  • dfetch/__init__.py
  • features/keep-license-in-project.feature
  • features/journey-basic-patching.feature
  • features/checked-project-has-dependencies.feature
  • features/fetch-single-file-git.feature
  • features/list-projects.feature
  • features/check-svn-repo.feature
  • features/fetch-with-ignore-git.feature
  • features/check-specific-projects.feature
  • features/fetch-git-repo.feature
  • features/fetch-checks-destination.feature
📚 Learning: 2026-01-01T11:05:39.533Z
Learnt from: ben-edna
Repo: dfetch-org/dfetch PR: 898
File: script/package.py:201-205
Timestamp: 2026-01-01T11:05:39.533Z
Learning: In the dfetch project's script/package.py, prefer explicit failures ("crash and burn") over silently handling missing configuration values, ensuring that builds fail if required metadata (e.g., URLs in pyproject.toml) is not properly configured.

Applied to files:

  • features/suggest-project-name.feature
📚 Learning: 2025-12-25T22:46:27.554Z
Learnt from: spoorcc
Repo: dfetch-org/dfetch PR: 861
File: dfetch/resources/__init__.py:12-17
Timestamp: 2025-12-25T22:46:27.554Z
Learning: In dfetch, when building standalone binaries with Nuitka, resources are packaged at the top level as "resources" (not "dfetch.resources") to avoid name clashes with the binary executable named "dfetch". The code in dfetch/resources/__init__.py uses `"resources"` string when `__compiled__` is detected, which correctly references the top-level resources folder in the standalone build.

Applied to files:

  • dfetch/__init__.py
📚 Learning: 2025-12-31T10:55:20.972Z
Learnt from: spoorcc
Repo: dfetch-org/dfetch PR: 895
File: dfetch/commands/check.py:133-142
Timestamp: 2025-12-31T10:55:20.972Z
Learning: In dfetch, when determining ignored files for a project, the VCS detection should use the superproject's VCS type (where the manifest is located), not the fetched project's VCS type. The ignored files are then queried from the project's destination path using the superproject's VCS system.

Applied to files:

  • features/fetch-with-ignore-git.feature
⏰ 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). (18)
  • GitHub Check: build / build (ubuntu-latest)
  • GitHub Check: build / build (macos-latest)
  • GitHub Check: build / build (windows-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: run / run (windows-latest, 3.10)
  • GitHub Check: run / run (windows-latest, 3.14)
  • GitHub Check: run / run (ubuntu-latest, 3.11)
  • GitHub Check: run / run (ubuntu-latest, 3.14)
  • GitHub Check: run / run (windows-latest, 3.11)
  • GitHub Check: run / run (macos-latest, 3.14)
  • GitHub Check: run / run (ubuntu-latest, 3.10)
  • GitHub Check: run / run (macos-latest, 3.11)
  • GitHub Check: run / run (windows-latest, 3.13)
  • GitHub Check: run / run (windows-latest, 3.12)
  • GitHub Check: run / run (windows-latest, 3.9)
  • GitHub Check: test / test
  • GitHub Check: run / test-cygwin
  • GitHub Check: DevContainer Build & Test
🔇 Additional comments (44)
doc/asciicasts/diff.cast (1)

1-111: LGTM! Version correctly updated in the asciinema recording.

The recording has been properly updated to display version 0.11.0 (line 83), which is consistent with the release preparation objective. The asciinema cast format is valid and the recording demonstrates the dfetch diff functionality as expected.

features/fetch-file-pattern-svn.feature (1)

24-24: LGTM! Version string updated correctly.

The test expectation has been properly updated to reflect the new dfetch version 0.11.0.

dfetch/__init__.py (1)

3-3: LGTM! Core version bumped to 0.11.0.

The package version has been correctly updated from 0.10.0 to 0.11.0, consistent with the release preparation.

features/fetch-file-pattern-git.feature (1)

25-25: LGTM! Version string updated correctly.

The test expectation has been properly updated to reflect the new dfetch version 0.11.0.

features/fetch-single-file-svn.feature (1)

24-24: LGTM! Version string updated correctly.

The test expectation has been properly updated to reflect the new dfetch version 0.11.0.

features/handle-invalid-metadata.feature (1)

25-25: LGTM! Version string updated correctly.

The test expectation has been properly updated to reflect the new dfetch version 0.11.0.

features/suggest-project-name.feature (1)

18-18: LGTM! Version strings updated consistently.

All three test scenarios correctly reflect the new Dfetch version 0.11.0.

Also applies to: 28-28, 38-38

features/fetch-with-ignore-svn.feature (1)

30-30: LGTM! Version strings updated consistently.

All test expectations correctly reflect the new Dfetch version 0.11.0.

Also applies to: 58-58, 89-89

features/checked-project-has-dependencies.feature (1)

32-32: LGTM! Version strings updated consistently.

All test scenarios correctly reflect the new Dfetch version 0.11.0.

Also applies to: 68-68, 111-111

features/diff-in-svn.feature (1)

65-65: LGTM! Version strings updated consistently.

Both test expectations correctly reflect the new Dfetch version 0.11.0.

Also applies to: 91-91

CHANGELOG.rst (1)

1-2: LGTM! Release finalized correctly.

The release header in CHANGELOG.rst is properly updated to indicate 0.11.0 was released on 2026-01-03, and the version in dfetch/__init__.py matches (line 3: __version__ = "0.11.0").

features/keep-license-in-project.feature (1)

30-30: LGTM! Version strings updated correctly.

The expected output version strings have been updated consistently across all three scenarios to reflect the 0.11.0 release.

Also applies to: 63-63, 95-95

features/guard-against-overwriting-svn.feature (1)

26-26: LGTM! Version strings updated correctly.

The expected output version strings have been updated consistently across all three scenarios to reflect the 0.11.0 release.

Also applies to: 35-35, 45-45

features/validate-manifest.feature (1)

23-23: LGTM! Version strings updated correctly.

The expected output version strings have been updated consistently across both scenarios to reflect the 0.11.0 release.

Also applies to: 45-45

features/fetch-checks-destination.feature (1)

23-23: LGTM! Version strings updated correctly.

The expected output version strings have been updated consistently across both scenarios to reflect the 0.11.0 release.

Also applies to: 44-44

features/updated-project-has-dependencies.feature (1)

43-43: LGTM! Version strings updated correctly.

The expected output version strings have been updated consistently across all scenarios to reflect the 0.11.0 release. Verification confirms:

  • No remaining references to version 0.10.0 exist in feature files
  • Lines 43 and 90 in updated-project-has-dependencies.feature correctly show 0.11.0
  • All feature test files across the test suite have been uniformly updated to 0.11.0

The changes align well with the release preparation objectives.

features/guard-against-overwriting-git.feature (1)

26-26: LGTM! Version strings updated correctly.

The test expectations are properly updated to reflect dfetch 0.11.0 across all three scenarios in this feature file.

Also applies to: 35-35, 45-45

features/diff-in-git.feature (1)

68-68: LGTM! Version strings updated correctly.

The expected output for these scenarios now correctly reflects dfetch 0.11.0.

Also applies to: 94-94

doc/asciicasts/report.cast (1)

1-34: LGTM! Asciicast re-recorded with version 0.11.0.

The terminal recording has been updated to reflect dfetch 0.11.0. The timestamp and last-fetch dates are consistent with the release date.

doc/asciicasts/update.cast (1)

1-128: LGTM! Asciicast re-recorded with version 0.11.0.

The update workflow demonstration has been re-recorded to display dfetch 0.11.0 in both command executions. Timestamps are consistent with the release preparation date.

doc/asciicasts/validate.cast (1)

1-19: LGTM! Asciicast re-recorded with version 0.11.0.

The validate command demonstration now correctly displays dfetch 0.11.0. The recording timestamp aligns with the release date.

features/report-sbom.feature (1)

44-168: LGTM! Consistent version updates in SBOM test expectations.

All dfetch version references in the expected SBOM JSON output have been correctly updated from 0.10.0 to 0.11.0, including tool references in identity evidence sections (lines 44, 58, 72), the bom-ref (line 120), and the version field (line 168).

doc/asciicasts/freeze.cast (1)

1-70: LGTM! Asciicast recording correctly regenerated.

The terminal recording has been properly regenerated to reflect DFetch version 0.11.0 (line 32). Asciicast files are generated artifacts that should be updated when the version changes.

doc/asciicasts/init.cast (1)

1-61: LGTM! Asciicast recording correctly regenerated.

The terminal recording has been properly regenerated to reflect DFetch version 0.11.0 (line 26).

doc/asciicasts/environment.cast (1)

1-27: LGTM! Asciicast recording correctly regenerated.

The terminal recording has been properly regenerated to reflect DFetch version 0.11.0 (line 16).

doc/contributing.rst (3)

104-112: LGTM! Improved release process documentation.

The release workflow has been enhanced with better separation of concerns:

  • Explicitly requires PR creation and merge before tagging
  • Adds prerequisite steps to ensure tagging happens on an up-to-date main branch (lines 109-110)
  • Updates the example version to 0.11.0, consistent with this release

121-121: LGTM! Next version correctly incremented.

The unreleased version header has been correctly updated to 0.12.0, following semantic versioning after the 0.11.0 release.


98-122: No action needed. The only reference to 0.10.0 is the historical release entry in CHANGELOG.rst, which is correctly placed and should remain. All version references have been properly updated.

doc/asciicasts/check-ci.cast (1)

57-57: LGTM! Version correctly updated to 0.11.0.

The DFetch version string in the terminal recording has been properly updated to reflect the new release version.

doc/asciicasts/check.cast (1)

34-34: LGTM! Version correctly updated.

The version string is properly updated to 0.11.0 in this terminal recording.

doc/asciicasts/sbom.cast (1)

29-29: LGTM! Version consistently updated throughout SBOM output.

The DFetch version has been properly updated to 0.11.0 in both the CLI output and throughout the generated SBOM JSON, including all tool references and metadata.

Also applies to: 46-46

doc/asciicasts/import.cast (1)

43-43: LGTM! Version correctly updated.

The DFetch version in this import command recording is properly updated to 0.11.0.

doc/asciicasts/basic.cast (1)

43-43: LGTM! Version consistently updated across multiple commands.

The DFetch version is correctly displayed as 0.11.0 in both the dfetch check and dfetch update command outputs within this recording.

Also applies to: 123-123

features/fetch-git-repo.feature (1)

66-66: LGTM! Version bump applied correctly.

The expected output version strings have been updated consistently to reflect the 0.11.0 release.

Also applies to: 86-86

features/journey-basic-patching.feature (1)

58-58: LGTM! Version bump applied correctly.

The expected output version string has been updated to reflect the 0.11.0 release.

features/journey-basic-usage.feature (1)

31-31: LGTM! Version bump applied correctly.

The expected output version string has been updated to reflect the 0.11.0 release.

features/fetch-with-ignore-git.feature (1)

31-31: LGTM! Version bump applied correctly.

The expected output version strings have been updated consistently across all three scenarios to reflect the 0.11.0 release.

Also applies to: 60-60, 92-92

features/list-projects.feature (1)

30-30: LGTM! Version bump applied correctly.

The expected output version strings have been updated consistently across all three report scenarios to reflect the 0.11.0 release.

Also applies to: 70-70, 87-87

features/patch-after-fetch-svn.feature (1)

72-72: LGTM! Version string updated correctly.

The expected output version has been updated to 0.11.0, consistent with the release preparation.

features/fetch-single-file-git.feature (1)

24-24: LGTM! Version strings updated correctly.

Both scenarios now expect Dfetch 0.11.0 in the output, consistent with the release preparation.

Also applies to: 55-55

features/patch-after-fetch-git.feature (1)

70-70: LGTM! Version string updated correctly.

The expected output version has been updated to 0.11.0 for the patch failure scenario.

features/check-specific-projects.feature (1)

30-30: LGTM! Version string updated correctly.

The expected output version has been updated to 0.11.0, consistent with the release preparation.

features/check-git-repo.feature (1)

29-29: Verified: All 10 scenarios in check-git-repo.feature updated to Dfetch 0.11.0, and the entire test suite is consistently updated with no remaining 0.10.0 references.

The version string updates are correct and complete across all feature files.

features/check-svn-repo.feature (1)

32-32: ✓ Version bump correctly applied across all test scenarios.

All seven BDD feature test scenarios that validate dfetch version output have been consistently updated from 0.10.0 to 0.11.0. The changes are minimal, focused, and necessary for the release preparation.

Also applies to: 57-57, 94-94, 115-115, 133-133, 158-158, 178-178


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.

@spoorcc spoorcc marked this pull request as ready for review January 3, 2026 22:28
@spoorcc spoorcc merged commit 97810b8 into main Jan 3, 2026
38 checks passed
@spoorcc spoorcc deleted the prep-release-0.11.0 branch January 3, 2026 22:35
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