• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Unleash / unleash
89%
master: 91%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Repo Added 07 Nov 2016 08:55AM UTC
Files 1264
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 1-3761
  • 1-3772
  • 1-3776
  • 1-3781
  • 1-3885
  • 2-3221
  • 2-3623
  • ability-to-add-openapi-badges
  • add-cdn-tokens-table
  • add-timer-event-store
  • amend-audit-log-for-user-creation
  • back-to-impact-metrics
  • bulk-impact-metrics
  • bump-node-client-metrics-flags
  • bump-node-sdk-token-parsing
  • cancel-duplicate-ci-runs
  • cdn-events
  • chore(1-3753)/block-deletion-of-context-server
  • chore(1-3807)/remove-flag-addEditStrategy
  • chore(1-3807)/remove-flag-addEditStrategy-take2
  • chore(1-3835)/improve-json-diff-view
  • chore(1-3905)/send-flag-enabled-to-hubspot
  • chore(1-3921)/set-sdk-version-on-clientns
  • chore-add-flag-paygInstanceStatsEvents
  • chore-add-permissions-to-ai-flag-cleanup-workflow
  • chore-ai-flag-cleanup-action-trigger-workflows
  • chore-ai-flag-cleanup-add-missing-permissions
  • chore-ai-flag-cleanup-better-support-for-url-friendly-flag-names
  • chore-ai-flag-cleanup-extended-tests
  • chore-ai-flag-cleanup-fix-prompt
  • chore-ai-flag-cleanup-report-errors-back-to-issue
  • chore-ai-flag-cleanup-test
  • chore-allow-bulk-metrics-with-empty-flag-names
  • chore-cleanup-project-related-tech-debt
  • chore-dont-include-passwordlink-if-its-unleashurl
  • chore-emit-client-metrics-event-after-sifting
  • chore-prefer-searchevents-over-deprecated-methods
  • chore-remove-deprecated-delete-project-groups-roles-endpoint
  • chore-remove-deprecated-get-project-health-report
  • chore-remove-deprecated-post-events-search
  • chore-remove-deprecated-post-ui-config-endpoint
  • chore-remove-deprecated-put-project-groups-roles-endpoint
  • chore-remove-flag-enterprise-payg
  • chore-remove-flag-featureLinks
  • chore-remove-flag-newgettingstartedemail
  • chore-remove-flag-registerFrontendClient-20250521173203
  • chore-remove-teams-integration-cr-events-flag
  • chore-sift-metrics-on-both-endpoints
  • chore-unknown-flags-add-environment
  • chore-unknown-flags-prevent-deadlocks-by-sorting-and-batching-inserts
  • chore-unknown-flags-ui
  • chore-update-slack-app-to-app-for-slack
  • chore/add-application-created-event-type
  • chore/add-payg-trial-event-flag
  • chore/addCrdiffViewFlag
  • chore/approvePSFForLicenseChecker
  • chore/disallow-new-instances-of-deprecated-integrations
  • chore/do-not-console-log
  • chore/export-iclientinstance
  • chore/exposeFeatureUsageInfo
  • chore/fix-flaky-delete-stale-session
  • chore/get-rid-of-deprecated-api-token-properties
  • chore/improve-cr-approve-request-message
  • chore/lifecycle-metrics-flag
  • chore/reduce-log-levels-in-metrics-service
  • chore/remove-flag-disableBulkToggle
  • chore/undeprecate-instance-stats-endpoint
  • chore/unleash-ai-healthtotechdebt-flag-cleanup
  • chore/unleash-ai-registerfrontendclient-flag-cleanup
  • chore/unleash-ai-reportunknownflags-flag-cleanup
  • cr-uni
  • create-user-transaction
  • decouple-impact-metrics-from-request-logger
  • enforce-deprecation-of-endpoints-in-dev
  • event-group
  • event-handler
  • expand-resolver-interface-with-metrics
  • export-impact-register
  • expose-impact-metrics
  • expose-impact-register
  • feat/context-value-type
  • feat/impact-metrics-frontend
  • feat/impact-metrics-prometheus-config
  • feat/ingest-impact-metrics
  • feat/telemetryLicenseAndHostedInformation
  • fix(1-3804)/store-flag-creation-form-state
  • fix(1-3928)/prevent-overwriting-in-instance-store
  • fix-coveralls-2
  • fix-docker-compose-file
  • fix-docker-image
  • fix-fix-new-static-folder
  • fix-frontend-api-cors
  • fix-impact-metrics-resolver-signature
  • fix-impact-metrics-undefined
  • fix-new-static-folder
  • fix-openapi-static
  • fix-openapi-static-files
  • fix-private-projects-visibility-for-editors-admins-through-group
  • fix/coverage
  • fix/flaky-lifecycle-test
  • fix/healt-to-tech-debt-flag
  • fix/health-to-techdebt-ui
  • fix/remove-flag-useMemoizedActiveTokens
  • fix/removeMd5UseSha256
  • flag-removal-keep-registerFrontendClient-junie
  • flag-removal-really-keep-registerFrontendClient-ws-swe1
  • flag/1-3728
  • gastonfournier-patch-1
  • hackathon-2
  • high-rps-metric-request-count
  • impact-metrics-collection-e2e
  • ky-migration
  • lifecycle-graphs-flag
  • lifecycle-trends-migration
  • main
  • master
  • migration-event-group
  • minor-details
  • missing-parts-for-default-env-removal
  • node-sdk-impact-metrics-env
  • openapi-diff
  • prefix-metrics-unleash-type
  • prefix-unleash-metrics-labels
  • prepare-for-default-env-removal
  • print-out-10-unknown-flag-names
  • push-mzynkmotlpzy
  • query-group
  • remove-console-log
  • remove-coveralls-dependency
  • remove-default-env-from-new-installs
  • remove-deprecated-isAPI-from-user-schema
  • remove-examples-references
  • remove-flag-cleanupReminder
  • remove-flag-removeInactiveApplications
  • remove-flag-test
  • remove-flags-featureLinks-projectLinkTemplates
  • remove-impact-metrics-flag-guard
  • remove-unknown-flag
  • remove-user-ids-strategy
  • renovate/actions-checkout-4.x
  • renovate/actions-github-script-7.x
  • renovate/aws-actions-configure-aws-credentials-4.x
  • renovate/cors-2.x
  • renovate/del-cli-6.x
  • renovate/dpage-pgadmin4-9.x
  • renovate/express-4.x
  • renovate/express-session-1.x
  • renovate/fetch-mock-12.x-lockfile
  • renovate/make-fetch-happen-14.x
  • renovate/memoizee-0.x
  • renovate/mustache-4.x-lockfile
  • renovate/pg-8.x
  • renovate/pg-8.x-lockfile
  • renovate/pg-connection-string-2.x-lockfile
  • renovate/prom-client-15.x
  • renovate/semver-7.x
  • renovate/semver-7.x-lockfile
  • renovate/slack-web-api-7.x-lockfile
  • renovate/slug-11.x
  • renovate/superagent-10.x
  • renovate/supertest-6.x
  • renovate/swc-monorepo
  • renovate/tsc-watch-7.x
  • renovate/type-is-2.x
  • renovate/uuid-11.x
  • reset-fb
  • resolve-brace-expansion
  • restore-feature
  • rev-non-reactive
  • revert-10150-chore/do-not-console-log
  • run-npm-from-branch
  • sanitize-metrics-labels-impact-metrics
  • scim-user-deletion-audit
  • search-user-events
  • sort-id
  • store-transaction-id
  • support-id-event
  • task/addCRRequestedApproversUpdatedEvent
  • task/addEmailTemplateForRequestedCRApproval
  • task/addFlagForCRApproverEmails
  • task/addIEmailEnvelopeToExportedTypes
  • task/addNotifiedAtToChangeRequestNotificationJoinTable
  • task/addRequesterToApprovalMail
  • task/addTableForRequestedApproversForChangeRequest
  • task/bumpMinimumPostgresVersion
  • task/bumpNodeVersionForOssContainer
  • task/ciRemoveUnnecessaryNodeEnvSetting
  • task/removeDeprecatedFeatureVariantEndpoint
  • task/removeDeprecatedProjectEndpoint
  • test-impact-metrics-e2e
  • transaction-context
  • translate-impact-metrics
  • typo/errror
  • ulid
  • upgrade-node
  • using-impact-metrics-with-flags
  • validate-impact-metrics

13 Nov 2026 01:41PM UTC coverage: 88.76% (-0.008%) from 88.768%
43435919973

push

github

web-flow
fix: refuse a change request that deletes a segment in use

## Summary

Applying a change request that deletes a segment no longer strips it
from the live strategies that still use it. It now answers 409, like a
direct `DELETE` does, and says why. That's
[EG-4930](https://linear.app/unleash/issue/EG-4930).

## Key points

- A change request that deletes a segment a live strategy uses is
refused, and the whole change request rolls back. A live strategy is any
strategy on a flag that isn't archived, including one on an active
release plan milestone.
- A change request that deletes an unused segment still applies.

## Why

A direct `DELETE` of a segment in use answers 409, because the route
checks for use first. Applying a change request goes through
`unprotectedDelete` instead, which had no usage check. So the delete
went through. The foreign key dropped the segment from every strategy
that used it.

No event named a flag, so the environment's revision didn't move.
Without such an event, SDKs weren't told about the strategy change.
Polling SDKs picked it up at the next unrelated change in that
environment. They served the strategy without that segment. So users the
segment had excluded could get the flag. At that same change, delta SDKs
got `segment-removed` and no update for that flag. After that change, a
delta SDK starting fresh got the segment id with no definition. That
turned the strategy off.

With this change, the apply checks for live strategies using the segment
before deleting it, and refuses with a 409.

The check and the delete aren't locked against each other. So a strategy
that gets the segment attached while the apply runs can still lose it. A
direct `DELETE` has the same window today.

## Testing

- It only adds the usage check to the change request apply. The direct
`DELETE` route stays as it is.
- The check lives in the OSS segment service, but only the change
request apply calls it. So only Enterprise and Cloud behave differently.
- ... (continued)

4210 of 5300 branches covered (79.43%)

0 of 3 new or added lines in 1 file covered. (0.0%)

1 existing line in 1 file now uncovered.

16859 of 18994 relevant lines covered (88.76%)

826.27 hits per line

Relevant lines Covered
Build:
Build:
18994 RELEVANT LINES 16859 COVERED LINES
826.27 HITS PER LINE
Source Files on master
  • Tree
  • List 1264
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
43435919973 main fix: refuse a change request that deletes a segment in use ## Summary Applying a change request that deletes a segment no longer strips it from the live strategies that still use it. It now answers 409, like a direct `DELETE` does, and says why.... push 13 Nov 2026 01:46PM UTC web-flow github
88.76
43434493736 main chore: harvest strategy validation into its own service Release plans currently do virtually no validation. That's Really, Really Bad™ because invalid configurations can cause parse failures in SDKs - that in turn means feature flags can stop wor... push 13 Nov 2026 01:36PM UTC web-flow github
88.77
43429019315 main fix: scope milestone strategy updates to the feature's release plan Fixes an issue where you could update strategies belonging to release *templates* and strategies belonging to other features/envs as long as they were milestone strategies. Does... push 13 Nov 2026 12:58PM UTC web-flow github
88.76
43403292931 main feat: enforce payload schema on milestone strategy edit push 13 Nov 2026 09:45AM UTC web-flow github
88.77
43264868274 main feat: render dashboard onboarding widgets https://linear.app/unleash/issue/SA-1261/render-the-onboarding-widgets-on-the-dashboard Shows the new onboarding widgets behind `dashboardV2Widgets` flag, alongside `dashboardV2`. Users who can create fl... push 12 Nov 2026 05:05PM UTC web-flow github
88.76
43260799951 main feat: user from an account token lookup carries the token id Adding the token id to the user when a request is authenticated with a personal access token or a service account token, so code handling the request can tell it came from a token and w... push 12 Nov 2026 04:42PM UTC web-flow github
88.76
43244182938 main feat: enforce payload schema on strategy write push 12 Nov 2026 03:10PM UTC web-flow github
88.77
43237278704 main chore: remove unused onboardingIntroTour flag > - Removes `onboardingIntroTour` from the experimental flag names. Nothing in the codebase reads it anymore. > - `onboardingIntroTourAdvancedTopics` stays; it's still in use. push 12 Nov 2026 02:30PM UTC web-flow github
88.73
43225588009 main feat: introduce app shell and new colors for navigation rework Behind `improvedSidebarNavigation` feature flag. This is just a empty shell with a logo. I introduced new theme properties group: appShell, with 2 fields: background and sidebar. push 12 Nov 2026 01:19PM UTC web-flow github
88.74
43224988332 main feat: payload schema store push 12 Nov 2026 01:16PM UTC web-flow github
88.74
See All Builds (9723)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc