1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-08-27 13:49:10 +02:00
Commit Graph

14229 Commits

Author SHA1 Message Date
renovate[bot]
51b8f969a5
chore(deps): update dorny/test-reporter action to v2 (#9576) 2025-08-22 16:14:23 +00:00
renovate[bot]
2596d2ca19
chore(deps): update dependency @fast-check/vitest to v0.2.2 (#10524)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[@fast-check/vitest](https://redirect.github.com/dubzzz/fast-check/tree/main/packages/vitest#readme)
([source](https://redirect.github.com/dubzzz/fast-check/tree/HEAD/packages/vitest))
| [`0.2.1` ->
`0.2.2`](https://renovatebot.com/diffs/npm/@fast-check%2fvitest/0.2.1/0.2.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@fast-check%2fvitest/0.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fast-check%2fvitest/0.2.1/0.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>dubzzz/fast-check (@&#8203;fast-check/vitest)</summary>

###
[`v0.2.2`](https://redirect.github.com/dubzzz/fast-check/blob/HEAD/packages/vitest/CHANGELOG.md#022)

*Better integration with Vitest when using fast-check v3*

\[[Code](https://redirect.github.com/dubzzz/fast-check/tree/vitest%2Fv0.2.2)]\[[Diff](https://redirect.github.com/dubzzz/fast-check/compare/vitest%2Fv0.2.1...vitest%2Fv0.2.2)]

#### Fixes

- ([PR#6048](https://redirect.github.com/dubzzz/fast-check/pull/6048))
Bug: No shallow diff in Vitest, full diff by default

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44MS4yIiwidXBkYXRlZEluVmVyIjoiNDEuODEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-22 16:06:58 +00:00
Gastón Fournier
9e76b2c40a
docs: some details spotted to align with new token types (#10523)
## About the changes
Few places where we can use Backend token instead of CLIENT.
2025-08-22 10:47:32 -03:00
Gastón Fournier
7ea0c9ca9b
feat: support different etags per environment (#10512)
## About the changes
This PR introduces environment-specific etags. This way clients will not
react by updating features when there are changes in environments the
SDK doesn't care about.

## Details
There's a bit of scouting work (please don't make me split this 🙏)
and other details are in comments, but the most relevant for the lazy
ones:
- Important **decision** on how we detect changes, unifying polling and
delta:
https://github.com/Unleash/unleash/pull/10512#discussion_r2285677129
- **Decision** on how we update revision id per environment:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291888401
- and how we do initial fetch on the read path:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291884777
- The singleton pattern that gave me **nightmares**:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291848934
- **Do we still have ALL_ENVS tokens?**
https://github.com/Unleash/unleash/pull/10512#discussion_r2291913249

## Feature flag
To control the rollout introduced `etagByEnv` feature:
[0da567d](0da567dd9b)
2025-08-22 10:35:17 -03:00
Nuno Góis
885d3e1817
chore: implement unknown flags UX feedback (#10519)
https://linear.app/unleash/issue/2-3809/implement-the-latest-feedback-from-ux

Implements the latest feedback from UX regarding **unknown flags**.

Bit unsure about our column headers. E.g. instead of "Last seen" and
"Seen in Unleash" we could call them "Reported" and "Last event".

<img width="1490" height="838" alt="image"
src="https://github.com/user-attachments/assets/30ca2570-1395-429f-8d60-ccc6fe83ba92"
/>
2025-08-22 14:04:01 +01:00
Thomas Heartman
d76b676fb8
Add chart colors to colors definitions (#10521)
Adds new chart colors to the theme definitions: A1 through A5, and B
through E.
2025-08-22 14:56:41 +02:00
Thomas Heartman
9d18b0022b
Delete legacy insights charts components and remove unused colors (#10522)
Deletes the legacy insights charts component (which should have been
removed with the flag earlier this week), and also removes the colors
associated with charts that we no longer have.
2025-08-22 12:46:56 +02:00
Thomas Heartman
b321bfba99
Add .vite to biome's ignore lists (formatting and linting) (#10518)
Also fixes an auto-fixable issue reported by biome.
2025-08-22 07:36:56 +00:00
unleash-bot[bot]
18bea25383
chore(AI): paygInstanceStatsEvents flag cleanup (#10510)
This PR cleans up the paygInstanceStatsEvents flag. These changes were
automatically generated by AI and should be reviewed carefully.

Fixes #10507



🧹 AI Flag Cleanup Summary

This change removes the paygInstanceStatsEvents feature flag. The
changes
involve removing its definition from the codebase.

⚠️ No conditional logic for paygInstanceStatsEvents was found in the
provided
files. The logic may exist in another repository, and this change only
removes
the flag's definition.

🚮 Removed

• Configuration
• Removed paygInstanceStatsEvents flag definition from
src/lib/types/experimental.ts.
• Changelog
• Added an entry for the flag cleanup under a new [Unreleased] section
in
CHANGELOG.md.

📝 Why

The paygInstanceStatsEvents feature flag was marked as completed with
the
outcome "kept". This cleanup removes the flag's definition, following
our
standard process for retiring feature flags.

---------

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-08-21 13:14:19 +00:00
unleash-bot[bot]
3fffe941c5
chore(AI): paygTrialEvents flag cleanup (#10508)
This PR cleans up the paygTrialEvents flag. These changes were
automatically generated by AI and should be reviewed carefully.

Fixes #10506

## 🧹 AI Flag Cleanup Summary
The `paygTrialEvents` feature flag has been removed from the codebase.
Since no
conditional logic using this flag was found in this repository, only the
flag's
definition and configuration were removed.
⚠️ **Warning:** No conditional logic for this flag was found in the
provided
files. The logic may exist in another repository.
### 🚮 Removed
- **Configuration**
- Removed `paygTrialEvents` from the `IFlagKey` type in
`src/lib/types/experimental.ts`.
- Removed the `paygTrialEvents` flag definition from
`src/lib/types/experimental.ts`.
- Removed `paygTrialEvents` from the development server configuration in
`src/server-dev.ts`.
### 🛠 Kept
- **Feature**
- The `paygTrialEvents` feature is considered enabled by default now.
### 📝 Why
The feature flag `paygTrialEvents` was marked as completed with an
outcome of
"kept". The cleanup involves removing the flag and its related
definitions.

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-08-21 15:07:44 +02:00
Gastón Fournier
92480554dc
feat: incorporate backend as a valid api token type replacing client (#10500)
This PR deprecates `CLIENT` api token type in favor of `BACKEND` but
both will continue working.

Also replaces:
- `INIT_CLIENT_API_TOKENS` with `INIT_BACKEND_API_TOKENS`. The former is
kept for backward compatibility.
2025-08-21 09:43:54 -03:00
unleash-bot[bot]
02ee94c38f
chore(AI): createFlagDialogCache flag cleanup (#10509)
This PR cleans up the createFlagDialogCache flag. These changes were
automatically generated by AI and should be reviewed carefully.

Fixes #10504

## 🧹 AI Flag Cleanup Summary
This change removes the `createFlagDialogCache` feature flag, making its
functionality permanent. The create-feature-flag dialog will now always
cache
its state in local storage.
### 🚮 Removed
- **TypeScript Definitions**
- Removed `createFlagDialogCache` from `UiFlags` in
`frontend/src/interfaces/uiConfig.ts`.
- Removed `createFlagDialogCache` from `IFlagKey` in
`src/lib/types/experimental.ts`.
- **Flag Configuration**
- Removed the `createFlagDialogCache` flag definition from
`src/lib/types/experimental.ts`.
- **Conditional Logic**
- Removed the `useUiFlag` hook and conditional logic for caching in

`frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFe
atureTogglesHeader/CreateFeatureDialog.tsx`.
### 🛠 Kept
- **Feature Functionality**
- The feature of caching the create-flag dialog's form state in local
storage
is now always enabled.
### 📝 Why
The `createFlagDialogCache` feature has been successfully rolled out and
is now
considered stable. This cleanup removes the obsolete feature flag and
hardcodes
the enabled behavior, simplifying the codebase.

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-08-21 12:43:43 +00:00
unleash-bot[bot]
170ed87fcb
chore(AI): lifecycleMetrics flag cleanup (#10511)
This PR cleans up the lifecycleMetrics flag. These changes were
automatically generated by AI and should be reviewed carefully.

Fixes #10505

---------

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-08-21 14:35:11 +02:00
Mateusz Kwasniewski
a9b1d7c11b
chore: bump sdk with runtime setExperimentalMode (#10517) 2025-08-21 13:21:48 +02:00
Nuno Góis
edae8801d8
chore: release template resource limits (#10514)
https://linear.app/unleash/issue/2-3790/use-resource-limits-to-limit-the-amount-of-release-templates-you-can

Adds a new resource limit for release templates.

Needs a follow-up PR in Enterprise.
2025-08-21 11:52:09 +01:00
unleash-bot[bot]
d2452b91f2
chore(AI): crDiffView flag cleanup (#10487)
This PR cleans up the crDiffView flag. These changes were automatically
generated by AI and should be reviewed carefully.

Fixes #10484



🧹 AI Flag Cleanup Summary

This PR removes the crDiffView feature flag and its associated legacy
components
for displaying changes in a Change Request. The flag has been enabled
and the
new diff view is now permanent.

This involved removing the feature flag from the configuration and code,
deleting several legacy components, and updating the components that
used them
to only use the new versions.

🚮 Removed

• Feature Flag Logic
• All checks for the crDiffView flag.
• The flag definition in uiConfig.ts, experimental.ts, and
server-dev.ts.
• Legacy Components
• LegacyStrategyChange.tsx
• StrategyTooltipLink.tsx
• LegacyReleasePlanChange.tsx
• SegmentTooltipLink.tsx
• LegacySegmentChangeDetails.tsx
• LegacyArchiveFeatureChange from ArchiveFeatureChange.tsx
• LegacyDependencyChange from DependencyChange.tsx
• LegacyToggleStatusChange from ToggleStatusChange.tsx

🛠 Kept

• New Components
• The new change request diff view components (StrategyChange,
ReleasePlanChange, etc.) are now used directly.
• The UI for displaying changes in a Change Request now consistently
uses
the improved diff view.

📝 Why

The crDiffView feature flag was deemed complete and ready for permanent
implementation. The cleanup follows standard procedure to remove the
flag and
associated dead code, simplifying the codebase and making it easier to
maintain.
This change makes the improved diff view for change requests the only
available
view.

---------

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-08-21 12:33:19 +02:00
unleash-bot[bot]
d6ddc95c1e
chore(AI): improvedJsonDiff flag cleanup (#10486)
This PR cleans up the improvedJsonDiff flag. These changes were
automatically generated by AI and should be reviewed carefully.

Fixes #10483

## 🧹 AI Flag Cleanup Summary
This PR removes the `improvedJsonDiff` feature flag, making the enhanced
JSON
diffing component the default and only option. The now-unused legacy
diff
component and all related feature flag logic have been removed to
streamline the
codebase.
### 🚮 Removed
- **Components**
- `OldEventDiff` component was removed, along with its helper types and
constants.
- **Flag Logic**
- All conditional rendering based on the `improvedJsonDiff` flag was
removed.
- The `sort` prop from `EventDiff` was removed as it was only used by
the
legacy component.
- **Configuration**
- `improvedJsonDiff` flag definition was removed from `uiConfig.ts`,
`experimental.ts`, and `server-dev.ts`.
- **Tests**
- Mock configuration for `improvedJsonDiff` in tests was removed.
### 🛠 Kept
- **Components**
- `NewEventDiff` was renamed to `EventDiff` and is now the standard
implementation.
### 📝 Why
The `improvedJsonDiff` feature flag was marked as completed with its
outcome
being "kept". This cleanup finalizes the feature rollout by removing the
flag
and associated legacy code, simplifying the implementation and reducing
code
complexity.

---------

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-08-21 09:50:48 +00:00
Mateusz Kwasniewski
f5eafb2d6e
chore: featchMode flag (#10516) 2025-08-21 10:56:10 +02:00
Mateusz Kwasniewski
9d38a2310d
chore: bump node sdk with fetch control (#10515) 2025-08-21 10:20:14 +02:00
unleash-bot[bot]
229379ed15
chore(AI): timestampsInChangeRequestTimeline flag cleanup (#10492)
This PR cleans up the timestampsInChangeRequestTimeline flag. These
changes were automatically generated by AI and should be reviewed
carefully.

Fixes #10491

## 🧹 AI Flag Cleanup Summary
This PR removes the `timestampsInChangeRequestTimeline` feature flag.
The
feature is now permanently enabled.
⚠️ No conditional logic for this flag was found in the provided files.
The
changes are limited to removing flag definitions and configurations. The
actual
logic may reside in other parts of the codebase not included in this
operation.
### 🚮 Removed
- **Flag Definitions & Configuration**
- Removed `timestampsInChangeRequestTimeline` from `IFlagKey` type in
`src/lib/types/experimental.ts`.
- Removed `timestampsInChangeRequestTimeline` flag configuration from
`src/lib/types/experimental.ts`.
- Removed `timestampsInChangeRequestTimeline` from the `UiFlags`
interface in
`frontend/src/interfaces/uiConfig.ts`.
- Removed the flag from the experimental flags in `src/server-dev.ts`.
### 🛠 Kept
- **Feature Functionality**
- The behavior previously enabled by the
`timestampsInChangeRequestTimeline`
flag is now the default and only behavior.
### 📝 Why
The `timestampsInChangeRequestTimeline` feature flag was marked as
completed
with an intended outcome of "kept". This means the feature has been
rolled out
successfully and should be permanent. This cleanup removes the obsolete
flag and
its related configurations, simplifying the code and adhering to best
practices
for feature flag lifecycle management.

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
2025-08-21 09:49:37 +02:00
Tymoteusz Czech
7f6b09fa1e
Measure adoption of a reminder for project cleanup (#10502) 2025-08-19 15:33:43 +02:00
Gastón Fournier
32ddf1487b
chore: ignore CR events with feature name (#10503)
## About the changes
This ignores Change Request event types when calculating the etag
because Change Request events don't change data.

They were being included when the change request event contained a
featureName. After this change, those should be excluded.
2025-08-19 09:46:00 -03:00
Gastón Fournier
37b716c4ba
fix: wrong link (#10501)
This repository is not inside Unleash org, so it was not renamed. Should
stay as it was before.

Fixes #10145
2025-08-18 15:11:57 +00:00
Gastón Fournier
2c97fd2941
fix: lychee action after upgrade (#10499)
Adapt to some breaking changes:
https://github.com/lycheeverse/lychee/releases

Mainly remove --exclude-mail option
2025-08-18 15:28:29 +01:00
Fredrik Strand Oseberg
a99e5bc4b4
feat: add truncation and tooltips (#10498)
This PR uses the existing Truncator component to add truncation and
tooltips for long names.
2025-08-18 13:16:52 +02:00
Jaanus Sellin
05ea405bf6
chore: update ux styling for lifecycle charts (#10497)
<img width="1442" height="492" alt="image"
src="https://github.com/user-attachments/assets/4ec76d72-3bfb-4525-ac63-c3e995f7638b"
/>
2025-08-15 15:23:25 +03:00
Jaanus Sellin
b6ea8a3849
chore: move consumption UI behind separate flag (#10495)
Move consumption UI to separate flag.
2025-08-14 14:25:36 +03:00
Jaanus Sellin
5b879d9331
feat: add origin column for consumption based tables (#10494)
We will start separating traffic, when it comes from different origins.
Also will add it as primary key so merging will work correctly.

There is a problem with using normal down migration, is that if we split
data by origin, when down migrating and removing column, and re adding
the old migration, we will have conflicts and it will fail.

This means before we down migrate, we need to aggregate/sum the data and
only then we can reapply old schema.
2025-08-13 16:16:05 +03:00
Jaanus Sellin
9fe638b0b7
fix: week range for lifecycle backfill (#10493)
It is using almost same logic as
https://github.com/Unleash/unleash/pull/10476, but week range is
correct.
2025-08-13 13:43:52 +03:00
Github Actions Bot
2b539083a6 7.1.0 2025-08-13 09:25:37 +00:00
Github Actions Bot
7a9deabc9d docs: Update CHANGELOG.md 2025-08-13 09:25:28 +00:00
David Leek
f94801ab45
fix: move update approvers after cr change state (#10490) 2025-08-12 09:16:07 +02:00
Nuno Góis
105962c5c3
chore: remove flag githubAuth (#10457)
https://linear.app/unleash/issue/2-3736/remove-githubauth-feature-flag

Removes `githubAuth` feature flag.
2025-08-11 10:31:28 -03:00
Tymoteusz Czech
918e792af6
fix: health to technical debt on projects list (#10485) 2025-08-11 11:45:27 +02:00
Melinda Fekete
b8cc62cc96
SCIM config troubleshooting (#10478) 2025-08-08 17:26:51 +02:00
Jaanus Sellin
04a57e502e
fix: now lifecycle trends will be added for flags that have official flag type (#10482)
We have instances that have fake flag types in features table. This
ensures, we only count in flags have official types.
2025-08-08 13:23:35 +03:00
Jaanus Sellin
e43cdcf034
chore: update ux styling for lifecycle charts (#10481)
Some small ux tweaks to lifecycle charts.


1. Removed vertical lines
2. Styled the legend to have round dots, not square.
<img width="1891" height="656" alt="image"
src="https://github.com/user-attachments/assets/b2c09085-7a2e-4e14-92e0-b3e83edf201d"
/>
2025-08-08 10:25:58 +03:00
Nuno Góis
937cba4c1a
chore: make project list table take less horizontal space (#10480)
https://linear.app/unleash/issue/2-3761/address-ux-feedback-make-table-take-less-horizontal-space-to-prevent

Addresses UX feedback by making the project list table take less
horizontal space. This should prevent us from having to scroll
horizontally in most cases.

<img width="1103" height="647" alt="image"
src="https://github.com/user-attachments/assets/e5cc22a2-5eda-4cb5-a226-c54993c019ce"
/>
2025-08-08 08:03:02 +01:00
Gastón Fournier
60a2fa675b
chore: add next.js to findOutdatedSdks (#10479)
Next js also works as a backend SDK (thanks @Tymek for the explanation)
and might be already reporting as
69e8c64927/lib/src/getDefinitions.ts (L79)
2025-08-07 19:31:35 +02:00
Nuno Góis
57424312b5
chore: timeagocell default fallback (#10475)
https://linear.app/unleash/issue/2-3759/set-timeagocell-default-fallback-to-never

Sets the default `emptyText` fallback to 'Never'. This should help with
consistency and DRYness.

Also noticed some of our TimeAgoCell `title` properties were redundant,
so I removed them for simplicity.

Examples:

<img width="1268" height="1063" alt="image"
src="https://github.com/user-attachments/assets/b7a8118b-bd73-45bc-8823-fa9f211f9ea9"
/>

<img width="793" height="366" alt="image"
src="https://github.com/user-attachments/assets/f494e1de-2bbb-46c8-ad87-adc7a1d4ea56"
/>
2025-08-07 18:05:28 +01:00
Gastón Fournier
057a906892
chore: set min version for new SDK names (#10477)
## About the changes
This sets the minimum version for the new SDK names to the current
latest version. The versions with the new SDK name will be newer, but
this will set the baseline for the future.
2025-08-07 10:30:45 -03:00
Jaanus Sellin
75df390d0b
fix: backfilling lifecycle trends based on new logic (#10476)
Previously lifecycle trends were taking one snapshot per flag, now they
take one per flag per stage it moved.
2025-08-07 15:05:04 +03:00
renovate[bot]
aecde415c3
fix(deps): update dependency prom-client to v15 (#10257) 2025-08-07 07:49:48 -03:00
Yash Malik
287a90a395
docs: Update what-is-a-feature-flag.mdx (#10412)
Fixed hyperlink to the State of DevOps Report
2025-08-07 07:38:02 -03:00
dependabot[bot]
456365f2eb
chore(deps): bump tmp from 0.2.3 to 0.2.4 in /frontend (#10470) 2025-08-07 07:32:15 -03:00
Nuno Góis
63622618b4
fix: environment name cell (#10474)
https://linear.app/unleash/issue/2-3758/fix-environment-name-cell-after-the-latest-changes-to-textcell

Noticed the environment name cell acted differently after
[adjusting](https://github.com/Unleash/unleash/pull/10466/files#diff-485a5be6a3a5d639b56c3b29488125db051ce6b8a0e3561368d657d62dee4975R28)
the span inside TextCell to be `display: inline-flex`.

By wrapping the contents of our TextCell here into a single div we
explicitly declare this to be a single row of elements.
2025-08-07 11:32:06 +01:00
Tymoteusz Czech
98bbf85421
feat: add "cleanup" action to other flag lifecycle stages (#10471) 2025-08-07 11:54:33 +02:00
Tymoteusz Czech
ac67a50693
feat: project-level cleanup reminders (#10464) 2025-08-07 11:44:08 +02:00
Melinda Fekete
b0f4f1b3b9
docs: update diagrams affected by SDK and token renaming (#10463) 2025-08-06 16:31:45 +02:00
Gastón Fournier
a76e501438
chore: update references to repositories (#10465)
---------

Co-authored-by: Melinda Fekete <melinda.fekete@getunleash.io>
2025-08-06 14:45:26 +02:00