pjanuario opened a new issue, #1615:
URL: https://github.com/apache/polaris/issues/1615

   ### Is your feature request related to a problem? Please describe.
   
   This proposal suggests that **Apache Polaris** adopt the [Conventional 
Commits v1.0.0](https://www.conventionalcommits.org/en/v1.0.0/) standard for 
commit messages.
   
   Structured commit messages offer significant benefits, particularly for a 
modern open-source project like Polaris, which is positioned at the 
intersection of search, data, and developer productivity.
   
   ---
   
   ### Motivation
   
   Adopting Conventional Commits provides the following advantages:
   
   *  **Improved readability** of commit history, making it easier to 
understand the intent of changes.
   *  **Automated changelog generation** with tools like 
[semantic-release](https://github.com/semantic-release/semantic-release) or 
[standard-version](https://github.com/conventional-changelog/standard-version).
   *  **Better release management** via semantic versioning based on commit 
types (e.g., `fix:` = patch, `feat:` = minor, `BREAKING CHANGE:` = major).
   *  **Standardized workflow** for both core contributors and external 
collaborators.
   *  **Enables CI/CD optimizations** such as impact-based testing, change 
classification, and conditional deploys.
   
   ---
   ### Inspiration from Other Apache Projects
   
   Several Apache Software Foundation (ASF) projects have adopted structured 
commit messaging patterns, inspired by or aligned with Conventional Commits:
   
   * [Apache Airflow](https://github.com/apache/airflow):
   
     * Uses prefixes such as `feat`, `fix`, `docs`, `test`, `chore`, and 
`refactor`.
     * Enforces commit format for PR merges. See: [Airflow Commit Message 
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#commit-message-guidelines)
   
   * [Apache Superset](https://github.com/apache/superset):
   
     * Actively encourages Conventional Commits in its [contributing 
guide](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#commit-messages).
     * Uses changelog automation based on commit metadata.
   
   * [Apache Pinot](https://github.com/apache/pinot):
   
     * Also encourages meaningful, structured commit messages.
   
   Adopting this in Apache Polaris aligns with best practices adopted across 
the foundation and supports long-term project maintainability and automation.
   
   ---
   
   ### Compatibility
   
   This is a **non-breaking workflow enhancement** and can be adopted 
incrementally. No impact on runtime behavior or existing APIs.
   
   ---
   
   ### References
   
   * 
[https://www.conventionalcommits.org/en/v1.0.0/](https://www.conventionalcommits.org/en/v1.0.0/)
   * 
[https://github.com/conventional-changelog/commitlint](https://github.com/conventional-changelog/commitlint)
   * [Apache Airflow Commit 
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#commit-message-guidelines)
   * [Apache Superset Commit 
Guidelines](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#commit-messages)
   
   
   ### Describe the solution you'd like
   
   ### Proposed Format (with Examples)
   
   Following the [Conventional 
Commits](https://www.conventionalcommits.org/en/v1.0.0/)] specification:
   
   ```bash
   feat(parser): add support for query metadata filtering
   fix(ui): correct tab rendering when resizing sidebar
   docs: update README with configuration examples
   refactor(core): simplify planner interface logic
   chore: upgrade dependencies and clean up types
   ```
   
   Example with a breaking change:
   
   ```bash
   feat(api): refactor search API response format
   
   BREAKING CHANGE: search API now returns a flattened result instead of nested 
hits
   ```
   
   ### Describe alternatives you've considered
   
   ### Implementation Plan
   
   1. Add commit message guidelines to `CONTRIBUTING.md`.
   2. Optionally add a commit hook using 
[[commitlint](https://github.com/conventional-changelog/commitlint)](https://github.com/conventional-changelog/commitlint).
   3. Integrate changelog generation and semantic versioning into the release 
process (e.g., via GitHub Actions).
   4. Encourage consistent commit messages via pull request templates and 
documentation.
   
   
   
   ### Additional context
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to