Skip to content

feat(releases): allow projects to pin semver ordering - #126431

Open
sansynx wants to merge 6 commits into
getsentry:masterfrom
sansynx:feat/project-semver-ordering
Open

sansynx wants to merge 6 commits into
getsentry:masterfrom
sansynx:feat/project-semver-ordering

Conversation

@sansynx

@sansynx sansynx commented Oct 5, 2026 •

Copy link
Copy Markdown

Summary

Related to #126295

Three recent non-semver releases can switch a project back to release-order comparison. An older semantic version created later can then reopen an issue that was already resolved

This adds an opt-in semver field to the project API, backed by sentry:semver and gated by organizations:project-semver-ordering. When enabled, valid semantic releases keep semantic ordering regardless of recent release names. The preference is checked before the heuristic cache, so changing it takes effect immediately

Automatic detection remains the default. Non-semver release versions still use the existing release-order fallback. Projects can turn the setting off even after the feature flag is disabled

This PR contains the backend change only. A settings-page toggle should follow separately under the repository's backend/frontend deployment rules. Feature rollout is not included

Validation

The backend workflow passed on c31afede, including all 22 backend test shards, API docs tests, migrations, and typing. GitHub pre-commit lint and both Sentry and Cursor reviews also passed on this revision

Ruff lint and format checks passed locally for all ten PR files, and git diff --check passed. The regression test was verified to fail before the original fix

Local pytest could not be rerun after the upstream merge because its container environment was unavailable. The local prek attempt timed out; GitHub's pre-commit job completed successfully

The optional OpenAPI comparison reports the expected semver additions against the production schema. Vercel requires Sentry team authorization. Downstream getsentry tests require a collaborator to add the Trigger: getsentry tests label after reviewing the code

AI assistance was used for implementation, review, and running the checks listed above

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

Copilot AI balanced review requested due to automatic review settings October 5, 2026 05:27
@sansynx
sansynx requested review from a team as code owners October 5, 2026 05:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Oct 5, 2026
Comment thread src/sentry/core/endpoints/project_details.py
@sansynx
sansynx requested a review from a team as a code owner October 5, 2026 05:41
@sansynx

sansynx commented Oct 13, 2026

Copy link
Copy Markdown
Author

could a collaborator add the Trigger: getsentry tests label after reviewing this and authorize the Vercel preview? those checks are waiting on approval

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants