diff --git a/.gitattributes b/.gitattributes index a19ade077d..8b13789179 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -CHANGELOG.md merge=union + diff --git a/.github/workflows/changelog_verifier.yml b/.github/workflows/changelog_verifier.yml deleted file mode 100644 index b4a1a0dc30..0000000000 --- a/.github/workflows/changelog_verifier.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: "Changelog Verifier" -on: - pull_request: - types: [opened, edited, review_requested, synchronize, reopened, ready_for_review, labeled, unlabeled] - -jobs: - # Enforces the update of a changelog file on every pull request - verify-changelog: - if: github.repository == 'opensearch-project/security' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - with: - token: ${{ secrets.GITHUB_TOKEN }} - ref: ${{ github.event.pull_request.head.sha }} - - uses: dangoslen/changelog-enforcer@v3 - with: - skipLabels: "autocut, skip-changelog" diff --git a/.github/workflows/dependabot_pr.yml b/.github/workflows/dependabot_pr.yml index 860ca87a5d..44cc124f7a 100644 --- a/.github/workflows/dependabot_pr.yml +++ b/.github/workflows/dependabot_pr.yml @@ -63,25 +63,7 @@ jobs: commit_user_email: support@github.com commit_options: '--signoff' - - name: Add skip-changelog label for GitHub Actions bumps - if: ${{ steps.dependabot-metadata.outputs.package-ecosystem == 'github-actions' }} + - name: Add skip-changelog label run: gh pr edit "${{ github.event.pull_request.html_url }}" --add-label "skip-changelog" env: GITHUB_TOKEN: ${{ steps.github_app_token.outputs.token }} - - - name: Update the changelog - if: ${{ steps.dependabot-metadata.outputs.package-ecosystem != 'github-actions' }} - uses: dangoslen/dependabot-changelog-helper@v4 - with: - version: 'Unreleased 3.x' - sectionHeader: "Maintenance" - - - name: Commit changelog changes - if: ${{ steps.dependabot-metadata.outputs.package-ecosystem != 'github-actions' }} - uses: stefanzweifel/git-auto-commit-action@v7 - with: - commit_message: "Update changelog" - branch: ${{ github.head_ref }} - commit_user_name: dependabot[bot] - commit_user_email: support@github.com - commit_options: '--signoff' diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a028bba58..9bce506aa0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,36 +1,7 @@ # CHANGELOG -All notable changes to this project are documented in this file. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to the [Semantic Versioning](https://semver.org/spec/v2.0.0.html). See the [CONTRIBUTING guide](./CONTRIBUTING.md#Changelog) for instructions on how to add changelog entries. +As of the 3.6 release [the CHANGELOG is no longer used](https://github.com/opensearch-project/OpenSearch/issues/21071) to generate release notes. +[Use this PR search](https://github.com/opensearch-project/security/pulls?q=sort%3Amerged-desc+is%3Apr+-label%3Askip-changelog+is%3Amerged+base%3Amain+) to browse unreleased changes. -## [Unreleased 3.x] -### Added -- Add `plugins.security.audit.config.log4j.maximum_index_characters_per_message` setting to allow splitting of Log4j audit log messages to keep the `audit_trace_indices` and `audit_trace_resolved_indices` fields below the maximum characters specified. ([5977](https://github.com/opensearch-project/security/pull/5977)) - -### Changed - -### Features - -### Enhancements -- Make `plugins.security.dfm_empty_overrides_all` dynamically toggleable ([#6016](https://github.com/opensearch-project/security/pull/6016) -- Cache FLS status information when processing index query cache on a node ([#6044](https://github.com/opensearch-project/security/pull/6044)) -- Only update internal compiled privileges configuration when the base config objects have actually changed ([#6037](https://github.com/opensearch-project/security/pull/6037)) - -### Bug Fixes - -### Refactoring - -### Maintenance -- Bump `gradle-wrapper` from 9.4.0 to 9.4.1 ([#6049](https://github.com/opensearch-project/security/pull/6049)) -- Bump `1password/load-secrets-action` from 3 to 4 ([#6047](https://github.com/opensearch-project/security/pull/6047)) -- Bump `io.projectreactor:reactor-core` from 3.8.2 to 3.8.4 ([#6046](https://github.com/opensearch-project/security/pull/6046)) -- Bump `commons-logging:commons-logging` from 1.3.5 to 1.3.6 ([#6050](https://github.com/opensearch-project/security/pull/6050)) -- Bump `org.mockito:mockito-core` from 5.21.0 to 5.23.0 ([#6048](https://github.com/opensearch-project/security/pull/6048)) -- Bump `net.bytebuddy:byte-buddy` from 1.18.7 to 1.18.8 ([#6068](https://github.com/opensearch-project/security/pull/6068)) -- Bump `org.scala-lang:scala3-library_3` from 3.8.2 to 3.8.3 ([#6070](https://github.com/opensearch-project/security/pull/6070)) - -### Removed - -### Documentation - -[Unreleased 3.x]: https://github.com/opensearch-project/security/compare/3.6...main +Release notes are now auto-generated from PR metadata at release time using an LLM-based pipeline in [opensearch-build](https://github.com/opensearch-project/opensearch-build). +See the [release notes script](https://github.com/opensearch-project/opensearch-build/blob/main/src/release_notes_workflow/release_notes.py) and [LLM prompt](https://github.com/opensearch-project/opensearch-build/blob/main/src/release_notes_workflow/release_notes_prompt.txt) for details. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 19822ed0f5..0d2aca0e5a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ OpenSearch is a community project that is built and maintained by people just li Visit the following link(s) for more information on specific practices: - [Triaging](./TRIAGING.md) -- [Changelog](#changelog) + ## How we work @@ -31,30 +31,3 @@ Visit the following link(s) for more information on specific practices: * We operate through transparent collaboration. We believe a secure product is built through diverse perspectives, knowledge sharing, candid discussions, and doing our work in the open when and where it’s safe to do so. * We are relationship builders who create safe, respectful, and accessible spaces for everyone so we can engage and work towards the common goal of building secure solutions. * When circumstances do require privacy, we make every effort to quickly resolve those requirements and return circumstances to a state of full visibility with our community and collaborators. - -## Changelog - -OpenSearch maintains version specific changelog by enforcing a change to the ongoing [CHANGELOG](CHANGELOG.md) file adhering to the [Keep A Changelog](https://keepachangelog.com/en/1.0.0/) format. The purpose of the changelog is for the contributors and maintainers to incrementally build the release notes throughout the development process to avoid a painful and error-prone process of attempting to compile the release notes at release time. On each release the "unreleased" entries of the changelog are moved to the appropriate release notes document in the `./release-notes` folder. Also, incrementally building the changelog provides a concise, human-readable list of significant features that have been added to the unreleased version under development. - -### Which changes require a CHANGELOG entry? -Changelogs are intended for operators/administrators, developers integrating with libraries and APIs, and end-users interacting with OpenSearch Dashboards and/or the REST API (collectively referred to as "user"). In short, any change that a user of OpenSearch might want to be aware of should be included in the changelog. The changelog is _not_ intended to replace the git commit log that developers of OpenSearch itself rely upon. The following are some examples of changes that should be in the changelog: - -- A newly added feature -- A fix for a user-facing bug -- Dependency updates -- Fixes for security issues - -The following are some examples where a changelog entry is not necessary: - -- Adding, modifying, or fixing tests -- An incremental PR for a larger feature (such features should include _one_ changelog entry for the feature) -- Documentation changes or code refactoring -- Build-related changes - -Any PR that does not include a changelog entry will result in a failure of the validation workflow in GitHub. If the contributor and maintainers agree that no changelog entry is required, then the `skip-changelog` label can be applied to the PR which will result in the workflow passing. - -### How to add my changes to [CHANGELOG](CHANGELOG.md)? - -Adding in the change is two step process: -1. Add your changes to the corresponding section within the CHANGELOG file with dummy pull request information, publish the PR -2. Update the entry for your change in [`CHANGELOG.md`](CHANGELOG.md) and make sure that you reference the pull request there.