Skip to content

Conversation

@kvaps
Copy link
Member

@kvaps kvaps commented Jan 10, 2026

What this PR does

This PR generates missing changelogs for releases v0.37.10, v0.38.5-v0.38.8, v0.39.2-v0.39.4, and v0.40.0 following the instructions from docs/agents/changelog.md.

Release note

[docs] Add missing changelogs for releases v0.37.10, v0.38.5-v0.38.8, v0.39.2-v0.39.4, and v0.40.0

Summary by CodeRabbit

  • Documentation
    • Added release notes for versions v0.37.10 through v0.40.0, documenting improvements to VM storage resize, dashboard form schema, Windows VM scheduling, SeaweedFS updates, and various platform enhancements and bug fixes.

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

…39.2-v0.39.4, and v0.40.0

Generated changelogs for missing releases following changelog.md instructions:
- v0.37.10: Backports for dashboard schema fix and VM resize improvements
- v0.38.5-v0.38.8: Backports for SeaweedFS, Cilium, VM scheduling, and Multus fixes
- v0.39.2-v0.39.4: Backports for VM services, tenant policies, LINSTOR fixes, and Multus dependencies
- v0.40.0: Minor release with LINSTOR scheduler, SeaweedFS traffic locality, valuesFrom mechanism, auto-diskful, and version management systems

All changelogs include proper PR author attribution using GitHub CLI and user impact descriptions.

Signed-off-by: Andrei Kvapil <[email protected]>
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jan 10, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 10, 2026

📝 Walkthrough

Walkthrough

This PR adds changelog documentation for multiple Cozystack releases spanning v0.37.10 through v0.40.0, documenting features, improvements, bug fixes, and dependency updates across virtual machine management, networking, storage, and system components.

Changes

Cohort / File(s) Summary
Changelog Documentation
docs/changelogs/v0.37.10.md, docs/changelogs/v0.38.5.md, docs/changelogs/v0.38.6.md, docs/changelogs/v0.38.7.md, docs/changelogs/v0.38.8.md, docs/changelogs/v0.39.2.md, docs/changelogs/v0.39.3.md, docs/changelogs/v0.39.4.md, docs/changelogs/v0.40.0.md
Multiple release notes added documenting VM storage resize improvements, dashboard schema fixes, Windows VM node affinity, Cilium auto-rollout, SeaweedFS updates, apiserver typed object refactoring, load balancer testing, kubevirt alert fixes, Multus memory limits removal, service exposure for VMs, network policy egress rules, etcd defrag resources, tenant cleanup isolation, LINSTOR scheduler integration, traffic locality, and package dependency management.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Hops of joy through changelogs so neat,
Storage resizes, network treats!
From version bumps to fixes fine,
Cozystack's improvements align.
Each release notes the way we've grown,
A documentation warren, well-known! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding generated changelogs for multiple missing releases (v0.37.10 and v0.38.5-v0.40.0).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @kvaps, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a documentation gap by generating and adding missing changelogs for several past releases, specifically v0.37.10, v0.38.5-v0.38.8, v0.39.2-v0.39.4, and the major v0.40.0 release. The changes aim to provide a complete and accurate historical record of features, improvements, and fixes, enhancing transparency and making it easier for users and developers to understand the evolution of the platform across these versions.

Highlights

  • Changelog Generation: Generated missing changelogs for releases v0.37.10, v0.38.5-v0.38.8, v0.39.2-v0.39.4, and v0.40.0, ensuring comprehensive documentation for past updates.
  • v0.37.10 Updates: Includes backports for dashboard CustomFormsOverride schema fixes and virtual-machine resize improvements.
  • v0.38.x Series Updates: Covers SeaweedFS v4.02, Cilium automatic pod rollout, VM nodeAffinity, apiserver refactoring, load balancer tests for tenant k8s, fixes for VM alerts, and Multus memory limit removal.
  • v0.39.x Series Updates: Features VM service exposure, tenant network policies, etcd-defrag resources, cleanup job improvements, SeaweedFS traffic locality, Kube-OVN update, LINSTOR fixes and improvements, and Multus dependencies for paas-full package.
  • v0.40.0 Major Release: Introduces LINSTOR scheduler for optimal pod placement, SeaweedFS traffic locality, a new valuesFrom configuration mechanism, auto-diskful for LINSTOR, and automated version management systems for various applications.
  • Changelog Process Adherence: All changelogs were generated following a strict checklist, including obtaining PR authors, handling backport PRs, checking optional repositories, describing user impact, and ensuring format consistency.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds several missing changelog files for past releases. The changelogs are well-structured and detailed. I've found a few areas for improvement, mainly related to consistency and removing redundant information in the changelogs for v0.39.3 and v0.40.0. Specifically, I've pointed out some duplicate entries in the 'Dependencies' sections, some inconsistent formatting for change summaries, and a couple of minor typos. Applying these suggestions will improve the clarity and professionalism of the release notes.


## Fixes

* **[linstor] fix: prevent DRBD device race condition in updateDiscGran**: Fixed race condition in DRBD device management during granularity updates, preventing potential data corruption or device conflicts ([**@kvaps**](https://github.com/kvaps) in #1829, #1836).
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

There's an inconsistent style for summarizing changes. This line uses [component] fix: while the next line uses fix(component):. The latter format is more aligned with the Conventional Commits standard. For consistency within the changelog, I suggest adopting the type(scope): message format.

Suggested change
* **[linstor] fix: prevent DRBD device race condition in updateDiscGran**: Fixed race condition in DRBD device management during granularity updates, preventing potential data corruption or device conflicts ([**@kvaps**](https://github.com/kvaps) in #1829, #1836).
* **fix(linstor): prevent DRBD device race condition in updateDiscGran**: Fixed race condition in DRBD device management during granularity updates, preventing potential data corruption or device conflicts ([**@kvaps**](https://github.com/kvaps) in #1829, #1836).

Comment on lines +28 to +32
## Dependencies

* **[seaweedfs] Traffic locality**: Upgraded SeaweedFS to v4.05 with traffic locality capabilities ([**@nbykov0**](https://github.com/nbykov0) in #1748, #1830).
* **[kube-ovn] Update to v1.14.25**: Updated Kube-OVN to version 1.14.25 ([**@kvaps**](https://github.com/kvaps) in #1819, #1837).

Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The "Dependencies" section contains entries that are already listed under "Features and Improvements", making it redundant. To improve clarity and avoid repetition, I suggest removing this section entirely.

  • The change for seaweedfs is on line 7 and 30.
  • The change for kube-ovn is on line 8 and 31.

* **[linstor] Enable auto-diskful for diskless nodes**: Enabled DRBD auto-diskful functionality to automatically convert diskless nodes to diskful when they hold volumes in Primary state for more than 30 minutes. Improves I/O performance for long-running workloads by creating local replicas and includes automatic cleanup options to prevent storage waste ([**@kvaps**](https://github.com/kvaps) in #1826).
* **[linstor] Build linstor-server with custom patches**: Added custom patches to linstor-server build process, enabling platform-specific optimizations and fixes ([**@kvaps**](https://github.com/kvaps) in #1726).
* **[seaweedfs] Traffic locality**: Upgraded SeaweedFS to v4.05 with traffic locality capabilities, new admin component with web-based UI, worker component for distributed operations, and enhanced S3 monitoring with Grafana dashboards. Improves S3 service performance by routing requests to nearest available volume servers ([**@nbykov0**](https://github.com/nbykov0) in #1748).
* **[linstor] fix: prevent DRBD device race condition in updateDiscGran**: Fixed race condition in DRBD device management during granularity updates, preventing potential data corruption or device conflicts ([**@kvaps**](https://github.com/kvaps) in #1829).
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

There's an inconsistent style for summarizing changes. This line uses [component] fix: while the next line uses fix(component):. The latter format is more aligned with the Conventional Commits standard. For consistency within this major release changelog, I suggest adopting the type(scope): message format.

Suggested change
* **[linstor] fix: prevent DRBD device race condition in updateDiscGran**: Fixed race condition in DRBD device management during granularity updates, preventing potential data corruption or device conflicts ([**@kvaps**](https://github.com/kvaps) in #1829).
* **fix(linstor): prevent DRBD device race condition in updateDiscGran**: Fixed race condition in DRBD device management during granularity updates, preventing potential data corruption or device conflicts ([**@kvaps**](https://github.com/kvaps) in #1829).

Comment on lines +132 to +136
* **Update SeaweedFS v4.02**: Updated SeaweedFS to version 4.02 ([**@kvaps**](https://github.com/kvaps) in #1725).
* **[seaweedfs] Traffic locality**: Upgraded SeaweedFS to v4.05 with traffic locality capabilities ([**@nbykov0**](https://github.com/nbykov0) in #1748).
* **[linstor] Update piraeus-operator v2.10.2**: Updated piraeus-operator to version 2.10.2 ([**@kvaps**](https://github.com/kvaps) in #1689).
* **[kube-ovn] Update to v1.14.25**: Updated Kube-OVN to version 1.14.25 ([**@kvaps**](https://github.com/kvaps) in #1819).
* **[cilium] Update Cilium to v1.18.5**: Updated Cilium to version 1.18.5 ([**@lexfrei**](https://github.com/lexfrei) in #1769).
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

These dependency updates are already mentioned in other sections of the changelog with more detail (e.g., "Storage", "Networking", "Improvements"). To avoid redundancy and keep the changelog concise, please remove these duplicate entries. The entry for "Update go modules" on line 137 is not a duplicate and can remain.

* **fix(ci): remove GITHUB_TOKEN extraheader to trigger workflows**: Removed GITHUB_TOKEN extraheader to properly trigger workflows ([**@kvaps**](https://github.com/kvaps) in commit 68a639b3).
* **Fix: Add missing components to `distro-full` bundle**: Fixed missing components in distro-full bundle, ensuring all required components are included ([**@LoneExile**](https://github.com/LoneExile) in #1620).
* **Update Flux Operator (v0.33.0)**: Updated Flux Operator to version 0.33.0 ([**@kingdonb**](https://github.com/kingdonb) in #1649).
* **Add changelogs for v0.38.3 and v.0.38.4**: Added missing changelogs for v0.38.3 and v0.38.4 releases ([**@androndo**](https://github.com/androndo) in #1743).
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

There's a typo in the version number v.0.38.4. The extra dot should be removed to be v0.38.4 for consistency with the rest of the document and the description of the change.

Suggested change
* **Add changelogs for v0.38.3 and v.0.38.4**: Added missing changelogs for v0.38.3 and v0.38.4 releases ([**@androndo**](https://github.com/androndo) in #1743).
* **Add changelogs for v0.38.3 and v0.38.4**: Added missing changelogs for v0.38.3 and v0.38.4 releases ([**@androndo**](https://github.com/androndo) in #1743).

* **Fix: Add missing components to `distro-full` bundle**: Fixed missing components in distro-full bundle, ensuring all required components are included ([**@LoneExile**](https://github.com/LoneExile) in #1620).
* **Update Flux Operator (v0.33.0)**: Updated Flux Operator to version 0.33.0 ([**@kingdonb**](https://github.com/kingdonb) in #1649).
* **Add changelogs for v0.38.3 and v.0.38.4**: Added missing changelogs for v0.38.3 and v0.38.4 releases ([**@androndo**](https://github.com/androndo) in #1743).
* **Add changelogs to v.0.39.1**: Added changelog for v0.39.1 release ([**@androndo**](https://github.com/androndo) in #1750).
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

There's a typo in the version number v.0.39.1. The extra dot should be removed to be v0.39.1 for consistency.

Suggested change
* **Add changelogs to v.0.39.1**: Added changelog for v0.39.1 release ([**@androndo**](https://github.com/androndo) in #1750).
* **Add changelogs to v0.39.1**: Added changelog for v0.39.1 release ([**@androndo**](https://github.com/androndo) in #1750).

Copy link
Contributor

@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

🤖 Fix all issues with AI agents
In @docs/changelogs/v0.39.3.md:
- Around line 7-8: The Dependencies section duplicates the seaweedfs and
kube-ovn entries already described under Features; remove the duplicate bullet
lines that repeat the seaweedfs and kube-ovn entries (the exact bullets
mentioning "seaweedfs Traffic locality" and "kube-ovn Update to v1.14.25") and
either (a) replace Dependencies with concise, actionable upgrade notes (e.g.,
required minimum versions, migration steps, config changes) that reference the
same components, or (b) delete the Dependencies section entirely so Features
remains the single source of truth—ensure the remaining text clarifies upgrade
intent and does not repeat feature descriptions.
🧹 Nitpick comments (3)
docs/changelogs/v0.40.0.md (1)

153-155: Minor readability improvement: reduce repetition of "Add" at sentence start.

Three consecutive bullet points begin with the phrase "Add", which creates a repetitive reading pattern. Consider rewording one or two of these for variety.

- * **Add changelogs for v0.38.3 and v.0.38.4**: Added missing changelogs for v0.38.3 and v0.38.4 releases ([**@androndo**](https://github.com/androndo) in #1743).
- * **Add changelogs to v.0.39.1**: Added changelog for v0.39.1 release ([**@androndo**](https://github.com/androndo) in #1750).
+ * **Added missing changelogs for v0.38.3 and v0.38.4**: Missing changelogs for v0.38.3 and v0.38.4 releases were added ([**@androndo**](https://github.com/androndo) in #1743).
+ * **Changelog added for v0.39.1**: Changelog for v0.39.1 release ([**@androndo**](https://github.com/androndo) in #1750).
  * **Add Cloupard to ADOPTERS.md**: Added Cloupard to the adopters list ([**@SerjioTT**](https://github.com/SerjioTT) in #1733).
docs/changelogs/v0.38.5.md (1)

13-13: Improve prose clarity and formality.

The phrase "Additionally, fixed an issue where" uses "fixed" after "Refactored" on the same line, creating redundancy. Restructure for more formal wording: consider "Additionally, this fix addresses..." or similar to vary verb choice.

💬 Proposed rewording
-* **[apps] Refactor apiserver to use typed objects and fix UnstructuredList GVK**: Refactored the apiserver REST handlers to use typed objects (`appsv1alpha1.Application`) instead of `unstructured.Unstructured`, eliminating the need for runtime conversions and simplifying the codebase. Additionally, fixed an issue where `UnstructuredList` objects were using the first registered kind from `typeToGVK` instead of the kind from the object's field when multiple kinds are registered with the same Go type. This fix includes the upstream fix from kubernetes/kubernetes#135537 ([**@kvaps**](https://github.com/kvaps) in #1679, #1709).
+* **[apps] Refactor apiserver to use typed objects and fix UnstructuredList GVK**: Refactored the apiserver REST handlers to use typed objects (`appsv1alpha1.Application`) instead of `unstructured.Unstructured`, eliminating the need for runtime conversions and simplifying the codebase. Additionally, this correction addresses an issue where `UnstructuredList` objects were using the first registered kind from `typeToGVK` instead of the kind from the object's field when multiple kinds are registered with the same Go type. This fix includes the upstream resolution from kubernetes/kubernetes#135537 ([**@kvaps**](https://github.com/kvaps) in #1679, #1709).

Or more concisely:

-* **[apps] Refactor apiserver to use typed objects and fix UnstructuredList GVK**: Refactored the apiserver REST handlers to use typed objects (`appsv1alpha1.Application`) instead of `unstructured.Unstructured`, eliminating the need for runtime conversions and simplifying the codebase. Additionally, fixed an issue where `UnstructuredList` objects were using the first registered kind from `typeToGVK` instead of the kind from the object's field when multiple kinds are registered with the same Go type. This fix includes the upstream fix from kubernetes/kubernetes#135537 ([**@kvaps**](https://github.com/kvaps) in #1679, #1709).
+* **[apps] Refactor apiserver to use typed objects and fix UnstructuredList GVK**: Refactored the apiserver REST handlers to use typed objects (`appsv1alpha1.Application`) instead of `unstructured.Unstructured`, eliminating the need for runtime conversions and simplifying the codebase. Additionally, corrected an issue where `UnstructuredList` objects were incorrectly using the first registered kind from `typeToGVK` instead of the kind from the object's field when multiple kinds are registered with the same Go type. This correction incorporates the upstream fix from kubernetes/kubernetes#135537 ([**@kvaps**](https://github.com/kvaps) in #1679, #1709).
docs/changelogs/v0.39.3.md (1)

16-16: Strengthen the adverb for more impactful wording.

The phrase "now properly cleans up" is weak. Use a stronger adverb like "thoroughly," "reliably," or "completely" to emphasize the reliability of the fix.

💬 Proposed rewording
-* **fix(linstor): prevent orphaned DRBD devices during toggle-disk retry**: Fixed issue where retry logic during disk toggle operations could leave orphaned DRBD devices, now properly cleans up devices during retry attempts ([**@kvaps**](https://github.com/kvaps) in #1823, #1825).
+* **fix(linstor): prevent orphaned DRBD devices during toggle-disk retry**: Fixed issue where retry logic during disk toggle operations could leave orphaned DRBD devices, now reliably cleans up devices during retry attempts ([**@kvaps**](https://github.com/kvaps) in #1823, #1825).

Or:

-* **fix(linstor): prevent orphaned DRBD devices during toggle-disk retry**: Fixed issue where retry logic during disk toggle operations could leave orphaned DRBD devices, now properly cleans up devices during retry attempts ([**@kvaps**](https://github.com/kvaps) in #1823, #1825).
+* **fix(linstor): prevent orphaned BRBD devices during toggle-disk retry**: Fixed issue where retry logic during disk toggle operations could leave orphaned DRBD devices, now thoroughly cleans up devices during retry attempts ([**@kvaps**](https://github.com/kvaps) in #1823, #1825).
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 80a5f19 and fd3c9cc.

📒 Files selected for processing (9)
  • docs/changelogs/v0.37.10.md
  • docs/changelogs/v0.38.5.md
  • docs/changelogs/v0.38.6.md
  • docs/changelogs/v0.38.7.md
  • docs/changelogs/v0.38.8.md
  • docs/changelogs/v0.39.2.md
  • docs/changelogs/v0.39.3.md
  • docs/changelogs/v0.39.4.md
  • docs/changelogs/v0.40.0.md
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

Git commits should follow [component] Description format and include --signoff flag

Files:

  • docs/changelogs/v0.38.8.md
  • docs/changelogs/v0.39.2.md
  • docs/changelogs/v0.39.4.md
  • docs/changelogs/v0.39.3.md
  • docs/changelogs/v0.37.10.md
  • docs/changelogs/v0.40.0.md
  • docs/changelogs/v0.38.6.md
  • docs/changelogs/v0.38.7.md
  • docs/changelogs/v0.38.5.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: When user asks to generate or create a changelog, read `docs/agents/changelog.md` and follow ALL steps in the checklist without skipping mandatory steps
🪛 LanguageTool
docs/changelogs/v0.38.8.md

[grammar] ~7-~7: Ensure spelling is correct
Context: ...rtup after node reboots (reported up to 3Gi). This temporary change prevents out-of...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

docs/changelogs/v0.39.3.md

[style] ~16-~16: Consider an alternative adverb to strengthen your wording.
Context: ... could leave orphaned DRBD devices, now properly cleans up devices during retry attempts...

(PROPERLY_THOROUGHLY)

docs/changelogs/v0.40.0.md

[style] ~50-~50: Consider an alternative adverb to strengthen your wording.
Context: ... could leave orphaned DRBD devices, now properly cleans up devices during retry attempts...

(PROPERLY_THOROUGHLY)


[style] ~155-~155: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...s://github.com/androndo) in #1750). * Add Cloupard to ADOPTERS.md: Added Cloupa...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

docs/changelogs/v0.38.5.md

[style] ~13-~13: Consider using a different verb for a more formal wording.
Context: ...simplifying the codebase. Additionally, fixed an issue where UnstructuredList objec...

(FIX_RESOLVE)

🔇 Additional comments (10)
docs/changelogs/v0.38.8.md (1)

1-11: Changelog entry meets all requirements.

The commit follows the [component] Description format with proper signoff ([docs] component, complete description, Signed-off-by present). The entry is well-documented with clear rationale for the temporary memory limit removal and consistent formatting.

docs/changelogs/v0.38.7.md (1)

1-12: Verify that mandatory changelog generation checklist steps were completed.

This changelog was auto-generated in bulk, but the review comment doesn't verify that the mandatory steps from docs/agents/changelog.md were followed. Per the checklist, all patch release changelogs must satisfy these MANDATORY requirements:

  • Step 6: Website repository checked for documentation changes with authors and PR links obtained via GitHub CLI
  • Step 6: ALL optional repositories (talm, boot-to-talos, cozyhr, cozy-proxy) checked for tags during the release period
  • Step 7: For each PR (#1770, #1804, #1805), author verified via gh pr view <PR> --json author --jq .author.login (not commit author)
  • Step 9: Verification checklist completed before saving

The file format is correct for a patch release, but evidence of these mandatory verification steps is not present in the auto-generation commit. Confirm that the changelog generation process followed all mandatory checklist requirements before approving.

docs/changelogs/v0.39.4.md (1)

1-11: Format is consistent and properly documented.

The changelog entry matches the established format across recent releases (v0.39.0–v0.39.3), with clear feature description, component reference, contributor credit, and changelog link. The GitHub release tag and comparison links reference an unpublished release, which is expected for changelog entries added pre-release; verification of those links will only be possible after the release is published.

docs/changelogs/v0.38.6.md (1)

1-12: Changelog formatting looks good.

This release note is concise and follows the established changelog format. The feature is clearly described with proper attribution to the contributor and PR references.

docs/changelogs/v0.37.10.md (1)

1-16: Well-structured changelog entry.

Both the Features and Improvements and Fixes sections are clearly documented with sufficient detail and proper contributor attribution. The changelog follows the established format consistently.

docs/changelogs/v0.40.0.md (3)

1-40: Excellent release overview and feature documentation.

The introduction and Feature Highlights sections provide clear context for major changes. The detailed explanations of LINSTOR Scheduler, SeaweedFS Traffic Locality, ValuesFrom Configuration, and Auto-diskful functionality effectively communicate the impact to users.


41-180: Comprehensive feature and improvement documentation.

The organized breakdown by component (Storage, Platform Architecture, Version Management, Networking, etc.) makes the changelog easy to navigate. All changes are properly attributed with PR numbers and contributor links, and external repository contributions are correctly referenced.


183-198: Contributors list is well-formatted.

All contributors are properly acknowledged and linked. This provides good visibility to the community members who contributed to the release.

docs/changelogs/v0.39.2.md (1)

1-19: LGTM!

The changelog is well-structured with proper contributor attribution, clear PR references, and consistent formatting. All changes are clearly documented with context about their impact.

docs/changelogs/v0.39.3.md (1)

1-36: Verify that all changelog files follow the docs/agents/changelog.md checklist.

The PR summary claims that "Process checklist items completed" according to docs/agents/changelog.md, including: obtaining PR authors, handling backport PRs, checking website/optional repos, describing user impact, generating contributors list, and matching existing format. However, I cannot access the checklist to verify these steps were actually completed. Please confirm:

  1. Have all mandatory checklist items from docs/agents/changelog.md been completed for all changelog files?
  2. Were PR authors obtained via GH CLI for all changes listed?
  3. For backport PRs, were both original and backport PR numbers included consistently across all releases (v0.37.10, v0.38.5-v0.38.8, v0.39.2-v0.39.4, v0.40.0)?
  4. Was the website repo (and any optional repos) checked for additional changes needing documentation?
  5. Were user impact descriptions included for breaking changes or major updates?

Comment on lines +7 to +8
* **[seaweedfs] Traffic locality**: Upgraded SeaweedFS to v4.05 with traffic locality capabilities, new admin component with web-based UI, worker component for distributed operations, and enhanced S3 monitoring with Grafana dashboards. Improves S3 service performance by routing requests to nearest available volume servers ([**@nbykov0**](https://github.com/nbykov0) in #1748, #1830).
* **[kube-ovn] Update to v1.14.25**: Updated Kube-OVN to version 1.14.25 with improved stability and new features ([**@kvaps**](https://github.com/kvaps) in #1819, #1837).
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Remove duplicate entries in Dependencies section.

Lines 7-8 (seaweedfs and kube-ovn entries) are duplicated verbatim in the Dependencies section (lines 28-31). This creates confusion about what actually changed in v0.39.3. Clarify the purpose of the Dependencies section: if it's meant to summarize upgrade requirements, streamline it with clear upgrade notes rather than repeating feature descriptions.

🔧 Proposed fix

Option 1: Remove duplicates and clarify Dependencies section purpose with actionable upgrade notes:

 ## Dependencies
 
-* **[seaweedfs] Traffic locality**: Upgraded SeaweedFS to v4.05 with traffic locality capabilities ([**@nbykov0**](https://github.com/nbykov0) in #1748, #1830).
-* **[kube-ovn] Update to v1.14.25**: Updated Kube-OVN to version 1.14.25 ([**@kvaps**](https://github.com/kvaps) in #1819, #1837).
+* SeaweedFS v4.05 is required (see Features and Improvements: seaweedfs Traffic locality)
+* Kube-OVN v1.14.25 is required (see Features and Improvements: kube-ovn Update to v1.14.25)

Option 2: Remove the Dependencies section entirely and rely on the Features section as the single source of truth for dependency changes.

Also applies to: 28-31

🤖 Prompt for AI Agents
In @docs/changelogs/v0.39.3.md around lines 7 - 8, The Dependencies section
duplicates the seaweedfs and kube-ovn entries already described under Features;
remove the duplicate bullet lines that repeat the seaweedfs and kube-ovn entries
(the exact bullets mentioning "seaweedfs Traffic locality" and "kube-ovn Update
to v1.14.25") and either (a) replace Dependencies with concise, actionable
upgrade notes (e.g., required minimum versions, migration steps, config changes)
that reference the same components, or (b) delete the Dependencies section
entirely so Features remains the single source of truth—ensure the remaining
text clarifies upgrade intent and does not repeat feature descriptions.

@kvaps kvaps merged commit 8025657 into main Jan 10, 2026
5 checks passed
@kvaps kvaps deleted the docs/changelogs-missing-releases branch January 10, 2026 02:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants