1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-01 13:47:27 +02:00
Commit Graph

14280 Commits

Author SHA1 Message Date
Jaanus Sellin
829c2c5bc3
feat: start trackign db calls for feature environments (#10585) 2025-09-01 13:38:15 +03:00
Nuno Góis
96c74578b5
chore: add Release Templates OpenAPI tag (#10584)
https://linear.app/unleash/issue/2-3813/make-sure-we-promote-api-to-ga

Adds a new "Release Templates" OpenAPI tag.
2025-09-01 11:20:35 +01:00
Thomas Heartman
7cc3c32eb2
fix: date localizations for chart (#10581)
Adds date localization to the charts on the analytics page. In doing so,
I have extracted the default locales that we allow the user to set into
constants, so that we can reference it from other places. I have also
sorted the list and added my personal favorite format (ja) to it.

Because we have multiple charts on the analytics page, it felt weird
that only one chart should follow your preferred format. It also aligns
the existing charts' tooltip date format with the new one (`P` instead
of `PPP`).

In short: previously, the charts would show you only your system locale
(I think), which for me defaults to en-US, regardless of what setting
you'd set in your profile. Now we respect your setting as long as it's
one of the default ones.

Before (date formatting is en-US):
<img width="1444" height="1658" alt="image"
src="https://github.com/user-attachments/assets/99a893c7-efb6-4e55-b47c-9df66bf97636"
/>


After (date formatting is sv-SE):
<img width="1383" height="1653" alt="image"
src="https://github.com/user-attachments/assets/d408afd9-a8a7-46f3-8c13-9f7fde608cc4"
/>
2025-09-01 09:29:45 +00:00
Mateusz Kwasniewski
901ffdf3c8
chore: node sdk bump with poll mode switch fix (#10583) 2025-09-01 11:20:32 +02:00
Jaanus Sellin
a1a43d1177
feat: start tracking database calls for lifecycle (#10582)
Start tracking db calls for lifecycle store.
2025-09-01 12:19:27 +03:00
Thomas Heartman
c7cb5465ff
chore: chart bar adjustments (#10555)
Updates chart bars with explicit border radii.

Before:
<img width="995" height="425" alt="image"
src="https://github.com/user-attachments/assets/d52c56a7-e022-4d27-8651-8897a49012e6"
/>


After:
<img width="1120" height="490" alt="image"
src="https://github.com/user-attachments/assets/b8660eb2-580b-48b7-8800-c5711b8a45a5"
/>
2025-09-01 10:30:27 +02:00
Thomas Heartman
5c74c34cbf
chore: Add date to archive vs creation tooltip (#10578)
Makes it easier to understand what piece of data you're looking at. The
raw date isn't available directly, but we have the formatted version for
the tooltip, so we'll display that.

This PR changes the format to be more in line with the UX sketches (just
numbers and separators instead of words). In theory, it should also be
possible to [adjust the
locale](https://www.npmjs.com/package/chartjs-adapter-date-fns#locale-support-via-scale-options)
(in this case, it should be to the user's chosen locale), but I can't
seem to make that option work. I don't want to spend more time on that
right now, unless we get feedback on it. However, _yes_ the format is
american, and _yes_, that puts months ahead of days. However, you also
have the date in longer form on the x axis, so I think you'll be able to
work it out.


Before:
<img width="279" height="139" alt="image"
src="https://github.com/user-attachments/assets/5c71e708-9d9f-412a-acbb-7d28e5071d5a"
/>


After: 
<img width="246" height="154" alt="image"
src="https://github.com/user-attachments/assets/13a4f5b3-281b-4003-8aae-a248578fead8"
/>
2025-09-01 07:19:47 +00:00
Thomas Heartman
a7c8f527bd
chore: show N/A for ratio if we can't calculate it (#10580)
Also, change the widget title to reflect the order of the ratio.

Before:
<img width="214" height="105" alt="image"
src="https://github.com/user-attachments/assets/0e08e107-b142-4913-af06-a8ab7eed8cb7"
/>

<img width="280" height="153" alt="image"
src="https://github.com/user-attachments/assets/967ff1b4-ec44-4811-9a34-ad4979dbb761"
/>



After:
<img width="242" height="117" alt="image"
src="https://github.com/user-attachments/assets/ff43efee-81ad-4c6c-8513-960656b095b8"
/>

<img width="249" height="153" alt="image"
src="https://github.com/user-attachments/assets/47271484-1ba4-42c3-a85f-5db62e6560c3"
/>


Closes 1-4039
2025-09-01 09:14:02 +02:00
Thomas Heartman
758ea69f4f
Update chart colors to increase contrasts between the A series. (#10579)
Makes it easier to tell the difference between a1 and a2 in particular.

Before: 
<img width="1468" height="499" alt="image"
src="https://github.com/user-attachments/assets/a77c4e61-33c1-4c87-8b39-f9919122137d"
/>

After:
<img width="1384" height="486" alt="image"
src="https://github.com/user-attachments/assets/b35e856a-e6d3-44b4-adea-dfeb15bcdfcc"
/>
2025-09-01 08:22:44 +02:00
Melinda Fekete
f827d5e832
docs: update links in main readme (#10577) 2025-08-29 15:49:26 +02:00
Nuno Góis
0035f18370
chore: allows you to add a flag from the unknown flags list (#10569)
https://linear.app/unleash/issue/2-3826/allow-you-to-create-the-flag-from-the-unknown-flags-list

Allows you to add a flag from the unknown flags list.

<img width="1515" height="896" alt="image"
src="https://github.com/user-attachments/assets/4dc20639-9bdb-457d-aef3-9df74fb9566c"
/>

<img width="1391" height="662" alt="image"
src="https://github.com/user-attachments/assets/c6531b62-3379-4bf9-b6a8-4da3a3cc8340"
/>
2025-08-29 12:19:28 +01:00
Thomas Heartman
718a731d2f
fix: Show 100% instead of Infinity% if you've not created any flags (#10575)
JS gives you positive infinity if you divide a positive number by 0,
which isn't very helpful here. Instead, let's show 100%. If you divide 0
by 0, then you get NaN, which we also need to handle explicitly because
it doesn't work with math.min.

Before:
<img width="472" height="273" alt="image"
src="https://github.com/user-attachments/assets/006ba5c1-4783-4794-b876-f64085937258"
/>

<img width="1365" height="484" alt="image"
src="https://github.com/user-attachments/assets/beec7e18-758c-49eb-97c8-febe6cb63119"
/>


After:
<img width="388" height="252" alt="image"
src="https://github.com/user-attachments/assets/bc326c25-ee63-4055-a765-a6016b51e35a"
/>
<img width="1365" height="488" alt="image"
src="https://github.com/user-attachments/assets/eaafc5c3-79d6-49a3-b1f2-cd42c5d16dae"
/>


Fixes 1-4033.
2025-08-29 09:31:13 +00:00
Mateusz Kwasniewski
924325f623
feat: make impact metrics config save call (#10576) 2025-08-29 11:26:11 +02:00
Nuno Góis
e7b757d7e1
chore: unknown flags should not include flags that exist in Unleash (#10568)
https://linear.app/unleash/issue/2-3825/fetching-unknown-flags-should-not-include-flags-that-currently-exist

Fetching unknown flags should not include flags that currently exist in
Unleash.

This is especially noticeable if you create a flag with an unknown
flag's name, since it won't go away from the list right away.
2025-08-29 10:20:43 +01:00
David Leek
31a924dd4b
chore: rollback hashing of release-plans and templates (#10574)
Rolls back hashing of the newly added releasePlans and releaseTemplates
fields
2025-08-29 11:19:20 +02:00
Mateusz Kwasniewski
c36d1554c7
chore: orval with impact metrics (#10573) 2025-08-29 09:23:38 +02:00
unleash-bot[bot]
af28fb110d
chore(AI): filterFlagsToArchive flag cleanup (#10565)
---------

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2025-08-29 08:44:28 +02:00
Gastón Fournier
091aa2e8e9
chore: improve openapi diff output (#10570)
This will output the comment of openapi diffs in proper markdown format.
2025-08-28 18:15:18 -03:00
Melinda Fekete
8364498c22
docs: add feature and versioning info (#10547) 2025-08-28 17:51:52 +02:00
Nuno Góis
4c5b869140
chore: show release templates in license info in the UI (#10563)
https://linear.app/unleash/issue/2-3823/show-release-templates-in-license-info-in-ui

Shows release templates in license info in the UI.

<img width="1173" height="687" alt="image"
src="https://github.com/user-attachments/assets/b93cb510-282d-4027-bd39-2269ec138cc6"
/>
2025-08-28 15:23:48 +01:00
Thomas Heartman
709a890bd8
fix: incorrect current calculation of ratio (#10567)
Looks like the sinner was looking at the last entry of each data list,
when they are sorted by most recent first.
2025-08-28 15:53:25 +02:00
Thomas Heartman
016d269675
Chore: Use step size of 1 for created vs archived. (#10566)
You can't archive half a flag.

Closes 1-4034.
2025-08-28 15:53:04 +02:00
unleash-bot[bot]
3e4edfbfa9
chore(AI): etagByEnv flag cleanup (#10560)
This PR cleans up the etagByEnv flag. These changes were automatically
generated by AI and should be reviewed carefully.

Fixes #10556

## 🧹 AI Flag Cleanup Summary
This change removes the `etagByEnv` feature flag and makes its
functionality
permanent. This modifies the ETag generation for client API requests to
be
environment-specific, improving caching efficiency. The cleanup involved
removing the flag definition, updating the controller logic to
permanently use
the environment-specific ETag calculation, and refactoring the
corresponding E2E
tests to only cover the enabled behavior.
### 🚮 Removed
- **Flag Definition**
- The `etagByEnv` flag from `IFlagKey` in
`src/lib/types/experimental.ts`.
- **Conditional Logic**
- The check for the `etagByEnv` flag in `calculateMeta` method in

`src/lib/features/client-feature-toggles/client-feature-toggle.controller.ts`.
- **Tests**
- Test cases in `src/test/e2e/api/client/feature.optimal304.e2e.test.ts`
that
covered the disabled state of the `etagByEnv` flag.
### 🛠 Kept
- **Environment-Specific ETags**
- The behavior of generating environment-specific ETags is now the
default and
only behavior.
- **Tests**
- E2E tests verifying the functionality of environment-specific ETags
have
been retained and simplified.
### 📝 Why
The `etagByEnv` feature has been successfully rolled out and validated.
By
removing the feature flag and associated conditional logic, we simplify
the
codebase, reduce complexity, and make it easier to maintain. This change
makes
the improved ETag generation strategy a permanent part of the system.

---------

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2025-08-28 10:41:04 -03:00
Thomas Heartman
b071b17dd6
Fix: created vs archived rendering errors; memoize options (#10562)
Fixes the rendering / max update depth exceeded errors we were seeing in
the console for this chart by memoizing the options.

<img width="1710" height="1420" alt="image"
src="https://github.com/user-attachments/assets/9a24d4e5-b563-4a3c-9a76-915e0a5fda24"
/>

Now the chart doesn't throw any errors anymore.
2025-08-28 14:48:53 +02:00
David Leek
7fb523e348
chore: add release plans/templates count to instance stats (#10540) 2025-08-28 14:44:24 +02:00
Github Actions Bot
e355506bb9 7.1.2 2025-08-28 12:11:41 +00:00
Github Actions Bot
baa0859445 docs: Update CHANGELOG.md 2025-08-28 12:11:31 +00:00
Gastón Fournier
3b467238a5
fix: backend tokens mapped to client tokens (#10561)
Edge does not support backend token type, so until then, we need to keep
returning backend token type as if they're client token types.
2025-08-28 13:57:03 +02:00
unleash-bot[bot]
fa7857dff1
chore(AI): debugEtag flag cleanup (#10558)
This PR cleans up the debugEtag flag. These changes were automatically
generated by AI and should be reviewed carefully.

Fixes #10557

## 🧹 AI Flag Cleanup Summary
This removes the `debugEtag` feature flag from the codebase. This flag
was used
to enable additional logging for debugging ETag generation for the
client
features endpoint.
### 🚮 Removed
- **Flag Definition**
- The `debugEtag` flag from the `IFlagKey` type in
`src/lib/types/experimental.ts`.
- **Conditional Logging**
- Removed logging statements guarded by the `debugEtag` flag in
`client-feature-toggle.controller.ts` and
`configuration-revision-service.ts`.
### 🛠 Kept
- **Default Behavior**
- The existing code paths for when the flag was disabled, which is now
the
only behavior.
### 📝 Why
The `debugEtag` flag was marked as completed with the outcome
"discarded". The
debugging functionality it provided is no longer needed. This change
removes the
dead code associated with the flag, simplifying the codebase.

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
2025-08-28 07:54:38 -03:00
Jaanus Sellin
b8521121a1
fix: feature link should return same id as it sends to db (#10553)
During feature link creation, we should return same id as it sends to
db.
2025-08-28 11:43:46 +03:00
Thomas Heartman
9eb872de82
Show tooltip on group instead of single graph bar (#10546)
The tooltip should show you the ratio of the group and the numbers for
both archived and created.

The tooltip's position is averaged between all the bars in the group.

<img width="335" height="262" alt="image"
src="https://github.com/user-attachments/assets/d62a4bdc-ba07-4eea-8cbf-6e42793804b2"
/>


This still throws the same errors as before. Not sure exactly what's
going on with the custom tooltip, but I'll investigate it in a
follow-up.

Closes 1-4017.
2025-08-28 10:26:46 +02:00
Gastón Fournier
8ba36ee9a2
fix: consider both client and backend token types from the DB (#10552)
## About the changes
In the previous fix: https://github.com/Unleash/unleash/pull/10543, we
made sure client token types were displayed in the UI. Here, we're also
making sure that the Backend token types are displayed as well.

1. A test validates that if a backend token exists in the db it will be
returned in the API response.
2. The UI has been adapted to also consider backend token types
2025-08-28 04:02:56 -03:00
Fredrik Strand Oseberg
8da040b89a
Fix/website performance (#10489) 2025-08-27 15:54:32 +02:00
Mateusz Kwasniewski
64eaf21928
feat: add impact metrics flag modal (#10550) 2025-08-27 15:28:03 +02:00
Mateusz Kwasniewski
32392f201f
feat: add feature impact metrics initial area (#10548) 2025-08-27 13:24:41 +02:00
Mateusz Kwasniewski
a28f38e06a
feat: exposure metrics header (#10545) 2025-08-27 11:27:26 +02:00
Github Actions Bot
9c9f944380 7.1.1 2025-08-26 16:59:58 +00:00
Github Actions Bot
b07023ff2f docs: Update CHANGELOG.md 2025-08-26 16:59:48 +00:00
Nuno Góis
7c4bada7a7
chore: disable browser autocomplete on commandbar (#10544)
https://linear.app/unleash/issue/2-3819/disable-browser-autocomplete-on-our-command-bar

Disables browser autocomplete on our CommandBar:

### Before

<img width="424" height="352" alt="image"
src="https://github.com/user-attachments/assets/597bbb9f-6391-4bb9-9f80-4fa80cb5c00c"
/>

### After

<img width="421" height="351" alt="image"
src="https://github.com/user-attachments/assets/ef5409b2-5cfd-4780-b33c-63a8f740feda"
/>
2025-08-26 17:55:50 +01:00
Gastón Fournier
8cb11f69df
fix: permissions should allow to access client token types (#10543)
Internally token types are still identified as CLIENT, therefore when we
filter the ones we're allowed to see, we should still consider them as
CLIENT tokens not BACKEND tokens. This is internal until we can fully
remove CLIENT with the next major.
2025-08-26 13:33:21 -03:00
Gastón Fournier
750a32f0e9
chore: Etag log and code improvements (#10542)
This is a follow-up on the comments in
https://github.com/Unleash/unleash/pull/10512

Mostly using get and set when accessing the Map
2025-08-26 13:21:37 -03:00
Nuno Góis
d11e8b2c81
chore: UX adjustments in new unknown flag table headers (#10535)
https://linear.app/unleash/issue/2-3816/further-ux-adjustments-to-new-table-headers

Smaller UX adjustments to the new unknown flag table headers.
2025-08-26 16:21:43 +01:00
Mateusz Kwasniewski
b2d296138e
chore: bump node sdk with sse end event (#10541) 2025-08-26 16:08:28 +02:00
unleash-bot[bot]
0792125bb7
chore(AI): releasePlans flag cleanup (#10537)
This PR cleans up the releasePlans flag. These changes were
automatically generated by AI and should be reviewed carefully.

Fixes #10536

## 🧹 AI Flag Cleanup Summary
The `releasePlans` feature flag has been removed, making the feature
permanently
available for Enterprise customers. All conditional logic and checks
related to
this flag have been removed from the codebase.
This change ensures that Release Plans are an integral part of the
Unleash
Enterprise offering.
### 🚮 Removed
- **Flag Definitions**
- `releasePlans` flag from `experimental.ts` in the backend.
- `releasePlans` flag from `uiConfig.ts` in the frontend.
- `releasePlans` flag from `server-dev.ts` development config.
- **Conditional Logic**
- Removed checks for `releasePlansEnabled` in components and hooks,
including
`ReleaseManagement.tsx`, `FeatureStrategyMenu.tsx`, and
`NewInUnleash.tsx`.
- Removed `useUiFlag('releasePlans')` calls from all frontend files.
- Removed the `flag: 'releasePlans'` property from route definitions in
`routes.ts`.
### 🛠 Kept
- **Feature Functionality**
- All UI and logic related to Release Plans and Release Templates are
now
unconditionally enabled for Enterprise users.
### 📝 Why
The `releasePlans` feature has been successfully rolled out and is now a
stable
part of the product. This cleanup removes the artık feature flag to
simplify the
codebase and reduce complexity.

---------

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Nuno Góis <github@nunogois.com>
2025-08-26 14:48:19 +01:00
Mateusz Kwasniewski
f375ae4694
fix: pagination limit and placeholder (#10533) 2025-08-26 14:39:03 +02:00
Gastón Fournier
ac11af8c05
chore: add some debug statements controlled by a flag (#10532)
## About the changes
Add some **info** logs prefixed with `[etag]` so que can control them
and with this investigate the increase in traffic after the new etag
implementation.
2025-08-25 11:26:36 -03:00
Thomas Heartman
0cd64780fa
Simplify created numbers (don't show count by flag type) and update colors (#10531)
Simplifies the data we show for the archive vs creation chart by not
showing the created count by flag type. Instead, all we show is the
total.

Also, in doing this, updates the colors we use for the bars (to A1, and
A2). The contrast is a little low between A1 and A2, so we should look
at that before taking this into production.

The created tooltip colors are wrong, but we'll need to update the
tooltip in a later PR, so not tackling that now.

Before:
<img width="1115" height="456" alt="image"
src="https://github.com/user-attachments/assets/13626295-1aa5-42be-b8dd-cea9912effe0"
/>
<img width="564" height="311" alt="image"
src="https://github.com/user-attachments/assets/7a02eec0-e018-49fd-8b1f-92aa3376a6cc"
/>



After: 
<img width="1179" height="481" alt="image"
src="https://github.com/user-attachments/assets/1ba6584a-d7e2-4ae4-81ec-38260c1f0e07"
/>

<img width="420" height="159" alt="image"
src="https://github.com/user-attachments/assets/e4433c32-eaa4-41d2-a5ef-af84a9725c30"
/>

Closes 1-4018, 1-4013, 1-4014
2025-08-25 16:09:44 +02:00
Thomas Heartman
434ed4cf63
adjust chart color names so that they all have numbers (#10530)
This makes it easier to add more variation of each of the non-A colors
later too.
2025-08-25 14:31:24 +02:00
Thomas Heartman
0223437f49
Remove ratio graph & column to the right (#10529)
This PR removes the flags archived / flags created trend line as well as
the right-hand column.

Before:
<img width="1107" height="459" alt="image"
src="https://github.com/user-attachments/assets/f6bcbef0-7b71-44c1-b8a0-db5ebaff01ed"
/>


After:
<img width="1128" height="450" alt="image"
src="https://github.com/user-attachments/assets/e55bd335-cc8c-4b88-8e3c-dafecf134742"
/>

I'm not deleting the tooltip yet, because I think we'll want to re-use
that for the group tooltip.
2025-08-25 14:27:07 +02:00
Thomas Heartman
2ee92d8c78
Use new chart colors for current lifecycle stage. (#10528)
Takes the green from the current lifecycle charts and replaces it with
charts.A2. Also stabilizes the colors between the dark and light.
2025-08-25 11:44:21 +02:00