docs: Add specification versioning guidelines#1385
docs: Add specification versioning guidelines#1385madankumarpichamuthu wants to merge 4 commits intoa2aproject:mainfrom
Conversation
Summary of ChangesHello @madankumarpichamuthu, 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 introduces clear and comprehensive guidelines for versioning the A2A specification, aiming to resolve ambiguity for contributors and maintainers regarding when to increment patch, minor, or major versions. It standardizes the approach to versioning based on the nature of changes, ensuring consistency and predictability in specification evolution. Highlights
Using Gemini Code AssistThe 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
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 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
|
|
@darrelmiller i hope, this is what you had in mind for issue #1357? |
There was a problem hiding this comment.
Code Review
This pull request is a great addition, providing clear versioning guidelines for the A2A specification. The new sections in CONTRIBUTING.md and specification.md will be very helpful for contributors.
My review includes a couple of suggestions to refine the logic in the new guidelines to ensure they are fully consistent and cover all change types correctly. Specifically, I've proposed updates to the decision tree in specification.md to handle non-functional changes (like comment-only changes in .proto files or build script updates) correctly as patch releases. I've also suggested a small update to the summary in CONTRIBUTING.md to align with the more detailed rules.
9da75c0 to
fed65c1
Compare
Addresses review feedback to improve accuracy and eliminate logical inconsistencies in the versioning guidelines. Changes to CONTRIBUTING.md: - Updated patch release description to include concrete examples (tests, build scripts) beyond just documentation/comments - Added "backward-compatible" qualifier to minor release description for clarity - Removed redundant "(functional changes)" text Changes to specification.md decision tree: - Step 1: Clarified to only consider "functional modifications" to a2a.proto, excluding comment/formatting-only changes - Step 2: Added "in other ways" to clarify this step handles non-proto protocol changes - Step 3: Expanded non-functional change examples to include tests, build scripts, and CI configuration These changes ensure: - Comment-only changes to .proto files are correctly classified as patch releases - All types of non-functional changes (tests, CI, etc.) are properly covered - Summary in CONTRIBUTING.md aligns with detailed rules in specification.md Fixes review feedback from gemini-code-assist on PR a2aproject#1385 Co-Authored-By: madankumarpichamuthu <madankumarpichamuthu@users.noreply.github.com>
|
@gemini-code-assist review |
There was a problem hiding this comment.
Code Review
This pull request introduces clear and much-needed versioning guidelines for the specification. The changes in specification.md are well-detailed, providing rules for patch, minor, and major version increments, along with a helpful decision tree for contributors. The corresponding summary and link in CONTRIBUTING.md improve discoverability. Overall, this is an excellent addition to the documentation. I've left one minor suggestion to fix a markdown formatting issue.
Adds Section 3.6.5 to specification.md with detailed versioning rules for the A2A specification repository. Also adds a versioning summary to CONTRIBUTING.md with references to the detailed guidelines. - Defines patch release criteria (non-functional changes only) - Defines minor release criteria (backward-compatible functional changes) - Defines major release criteria (breaking changes) - Provides decision tree for determining version increments - Updates CONTRIBUTING.md with versioning summary Fixes a2aproject#1357 Co-Authored-By: madankumarpichamuthu <madankumarpichamuthu@users.noreply.github.com>
345dbbc to
a340efe
Compare
- Added blank line before heading 3.7 to satisfy markdown linting - Added explicit span anchor for a2aproject#365-specification-versioning to fix broken link Co-Authored-By: madankumarpichamuthu <madankumarpichamuthu@users.noreply.github.com>
Adds Section 3.6.5 to specification.md documenting when to use patch vs minor vs major releases for specification changes. This provides clear guidance for contributors on version increment rules:
Also adds brief cross-reference in CONTRIBUTING.md for discoverability.
Changes:
This addresses the ambiguity identified by the TSC about when contributors should use different version increments.
Fixes #1357