1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Commit Graph

2818 Commits

Author SHA1 Message Date
Nuno Góis
3dd188e77c
refactor: shared url_safe_basic constant (#5952)
Uses a new `URL_SAFE_BASIC` regex constant that checks for characters
that are commonly used in URL path sections: alphanumeric lowercase
characters, dashes and underscores.

This will allow us to re-use this constant in our server-side
validation.
2024-01-18 12:33:33 +00:00
Nuno Góis
5b56fac66f
Chore inc webhooks modal form (#5938)
https://linear.app/unleash/issue/2-1818/ui-create-incoming-webhook-newedit-modal

Adds the incoming webhooks modal form, which allows users to create and
edit incoming webhooks, along with their respective tokens.

Follows a logic similar to service accounts and their tokens, and tries
to use the newest form validation flow that we implemented in the roles
form.


![image](https://github.com/Unleash/unleash/assets/14320932/5d37a72e-2777-4c8b-b71b-3c0610959a52)
2024-01-18 11:38:05 +00:00
Tymoteusz Czech
4b02d6aa9c
Executive Dashboard page setup (#5949) 2024-01-18 12:32:25 +01:00
Mateusz Kwasniewski
d3215335c9
feat: metrics periods expressed in days (#5928) 2024-01-18 11:54:20 +01:00
Mateusz Kwasniewski
f5cf118b12
fix: precise selected all chips check (#5945) 2024-01-18 11:53:56 +01:00
Mateusz Kwasniewski
567099a15b
fix: table loader (#5937) 2024-01-18 11:26:42 +01:00
andreas-unleash
60813acb09
fix: make the conflcit email template button conditionally render (#5931)
Makes the schedule conflict email button conditional to having the link
present.

Closes #
[1-1950](https://linear.app/unleash/issue/1-1950/modify-the-template-to-make-the-new-button-conditional)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2024-01-17 13:26:07 +00:00
Fredrik Strand Oseberg
1deee10317
Feat/disabled strategies (#5930)
This PR makes disabled strategies more prominent in the UI:

<img width="1031" alt="Skjermbilde 2024-01-17 kl 11 26 11"
src="https://github.com/Unleash/unleash/assets/16081982/4a07c0aa-8f86-4854-829e-1088abecfb4e">
2024-01-17 13:20:39 +01:00
Mateusz Kwasniewski
5fb2ac8054
fix: select default application based on timespan (#5927) 2024-01-17 12:15:03 +01:00
Christopher Kolstad
2b1111044f
feat: added killswitch for admin tokens (#5905)
Since we've now added PAT's we really do recommend switching to those,
or for enterprises, we recommend using service accounts.

Admin tokens have an obvious disadvantage in that they're not connected
to any user, so actions performed by them are harder to audit.

This PR adds a killswitch for turning it off, in preparation for
deprecating them and ultimately removing them in the future.
2024-01-17 10:27:36 +01:00
Mateusz Kwasniewski
6a55964ce8
fix: metrics apps should be selected from the longest time span (#5923) 2024-01-17 09:51:59 +01:00
renovate[bot]
f61750a755
chore(deps): update dependency debounce to v2 (#5901)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [debounce](https://togithub.com/sindresorhus/debounce) | [`1.2.1` ->
`2.0.0`](https://renovatebot.com/diffs/npm/debounce/1.2.1/2.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/debounce/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/debounce/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/debounce/1.2.1/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/debounce/1.2.1/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>sindresorhus/debounce (debounce)</summary>

###
[`v2.0.0`](https://togithub.com/sindresorhus/debounce/releases/tag/v2.0.0)

[Compare
Source](https://togithub.com/sindresorhus/debounce/compare/1.2.1...v2.0.0)

##### Breaking

- Require Node.js 18 and modern browsers
[`2872fb8`](https://togithub.com/sindresorhus/debounce/commit/2872fb8)
- Removed support for
[component](https://togithub.com/componentjs/component) (now defunct
project)

##### Improvements

- Add TypeScript types
[`2872fb8`](https://togithub.com/sindresorhus/debounce/commit/2872fb8)
- Protect against improper use in classes
[`95eef87`](https://togithub.com/sindresorhus/debounce/commit/95eef87)

##### Fixes

- Fix recursive callback args
([#&#8203;32](https://togithub.com/sindresorhus/debounce/issues/32))
[`c997759`](https://togithub.com/sindresorhus/debounce/commit/c997759)

</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**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2024-01-17 10:29:17 +02:00
Fredrik Strand Oseberg
9d32bf53eb
fix: refactor autosave to use the id to resolve the constraint (#5917)
Use id to resolve autosave constraints now that we have consistent id
references
2024-01-17 08:51:54 +01:00
Nuno Góis
d2366a8aa1
fix: improve SSO default role resolution (#5916)
This improves the role resolution in the value of the default root role,
preventing a bug where settings saved
pre-https://github.com/Unleash/unleash/pull/5887 would show an empty
default root role in the dropdown.

Also makes the role update more robust.
2024-01-16 16:08:46 +00:00
Mateusz Kwasniewski
3bebc11fb2
feat: adjust height on applications list in metrics (#5918) 2024-01-16 16:21:55 +01:00
Fredrik Strand Oseberg
967ee13e62
fix: add symbols as constraint ids (#5913)
This PR adds uuids as ids using a symbol in order to make sure we only
use this to keep internal order in the viritual DOM. This makes us able
to have predictable mutable lists on the frontend, and makes it easy to
not pass this property along to the backend.
2024-01-16 13:47:04 +01:00
Mateusz Kwasniewski
dfeaea8ee9
feat: hours back feature metrics tracking (#5904) 2024-01-16 10:30:06 +01:00
Nuno Góis
3b5b1ec020
chore: add tokens column to incoming webhooks table (#5903)
https://linear.app/unleash/issue/2-1827/add-remaining-columns-to-the-incoming-webhooks-table

Adds the "tokens" column to the incoming webhooks table.

Also includes some slight adjustments to the table, including a fix to
center the actions button.


![image](https://github.com/Unleash/unleash/assets/14320932/2ca63b17-c20e-41d0-9065-db8bcad33c24)
2024-01-16 08:43:14 +00:00
Fredrik Strand Oseberg
9d370ad85d
Fix/autosave on delete (#5899)
This PR will make FeatureStrategyConstraints use the value coming from
the setState function instead of closing over a stale value.
2024-01-16 09:23:35 +01:00
Mateusz Kwasniewski
6cfb7b4fb8
feat: feature metrics table timezone (#5880) 2024-01-15 15:31:10 +01:00
Mateusz Kwasniewski
9ac8a466ab
feat: select all applications (#5897) 2024-01-15 15:30:35 +01:00
Nuno Góis
0ba37e8622
feat: list all root roles in SSO config (#5887)
Lists all root roles in SSO config, including custom root roles.


![image](https://github.com/Unleash/unleash/assets/14320932/30114169-4184-4a22-9671-c7041b750d1c)
2024-01-15 13:13:29 +00:00
Nuno Góis
22acadf4cc
fix: role form sluggishness (#5888)
This seems to improve the performance in the role form while still
maintaining the same validation logic.

A big factor was the memoization of the categories calculation and
respective elements, which is especially impactful when there are many
environments.
2024-01-15 08:37:53 +00:00
Fredrik Strand Oseberg
ebd673e9fc
fix: use the new method (#5894)
This PR adds the new setValuesWithRecord method to the deletion of
values. In addition, we'll auto save when using the undo button aswell.
2024-01-15 09:28:19 +01:00
Fredrik Strand Oseberg
f7b285d340
feat: add undo (#5879)
This PR adds undo functionality so you can restore the state of your
constraint if you make a mistake. We also amend the autosave
functionality to only apply when values are changed and you have a valid
value. See demo:

https://www.loom.com/share/da704da8aee94ac18d4caae697426802
2024-01-15 08:47:59 +01:00
Thomas Heartman
a4c1161285
chore: fix lints on main (#5877)
These were introduced by prs created before the new biome update.
2024-01-12 11:38:08 +00:00
Thomas Heartman
8ae267ea25
feat: show suspended schedules in timeline (#5873)
This PR updates the timeline to show suspended schedules. It also adds
"schedule failed" when the schedule has failed.

<img width="465" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/aabbee02-b407-4653-959b-92bec8a1fa66">

<img width="465" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/7242c34a-1b1e-4efc-a778-a360e3bc4428">
2024-01-12 16:50:08 +05:30
Mateusz Kwasniewski
c816ffd49d
feat: aggregate metrics for the same timestamp (#5876) 2024-01-12 12:19:30 +01:00
Thomas Heartman
a88763283a
feat: show suspended schedule states in review status (#5872)
Updates the change request review status box to handle suspended
schedules.

<img width="852" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/2af52b6d-d821-4d30-9166-e8e76ead120d">
2024-01-12 16:48:58 +05:30
Thomas Heartman
aecc0b54a1
feat: show suspended states in change request badge (#5871)
This updates the CR badge to show suspended states correctly.

<img width="370" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/f678059b-f72a-46ef-9111-0fc90f228fc8">
2024-01-12 16:48:34 +05:30
Christopher Kolstad
5a3bb1ffc3
Biome1.5.1 (#5867)
Lots of work here, mostly because I didn't want to turn off the
`noImplicitAnyLet` lint. This PR tries its best to type all the untyped
lets biome complained about (Don't ask me how many hours that took or
how many lints that was >200...), which in the future will force test
authors to actually type their global variables setup in `beforeAll`.

---------

Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2024-01-12 09:25:59 +00:00
Mateusz Kwasniewski
e27a578fab
feat: separate UI flag and backend flag for extended metrics (#5875) 2024-01-12 10:20:03 +01:00
Thomas Heartman
39145e2617
refactor: use union types for change request types (#5870)
This changes the two interfaces IChangeRequest and
IChangeRequestSchedule to be union types instead of interfaces. It also
extracts the constituents of those union types into proper types
themselves (so that they can be used in function type signatures etc).
It also updates the type names.

This turned out to be more work than I had imagined, but I think the end
result pays off, giving us more type safety and control.

I wanted to use just `ChangeRequest` for the IChangeRequest type, but
that caused issues due to naming collisions with the `ChangeRequest`
component that we have, causing tests to fail. I've named it
`ChangeRequestType` as a potential solution, but suggestions are
welcome.

The relevant changes are in
`frontend/src/component/changeRequest/changeRequest.types.ts`.
Everything else is updated references and some necessary refactoring to
respect the new types.
2024-01-12 13:15:43 +05:30
Mateusz Kwasniewski
6ba4591c7f
feat: select multiple apps (#5860) 2024-01-12 08:33:52 +01:00
Thomas Heartman
be579ba63b
chore: update orval schemas (#5858)
This PR updates Orval schemas. The motivation is to get the new schemas
for schedule suspension, but as always, we get everything else too.
2024-01-11 18:18:44 +05:30
Nuno Góis
b496990f79
chore: add no unused imports biome rule (#5855)
Adds a Biome rule for "no unused imports", which is something we
sometimes have trouble catching.

We're adding this as a warning for now. It is safely and easily fixable
with `yarn lint:fix`.


![image](https://github.com/Unleash/unleash/assets/14320932/fd84dea8-6b20-4ba5-bfd8-047b9dcf2bff)

![image](https://github.com/Unleash/unleash/assets/14320932/990bb0b0-760a-4c5e-8136-d957e902bf0b)
2024-01-11 12:44:05 +00:00
Nuno Góis
7af91c7e9d
chore: incoming webhooks table (#5837)
https://linear.app/unleash/issue/2-1817/ui-create-an-incoming-webhooks-configuration-page

This adds an incoming webhooks page with the respective table. We plan
on possibly extending the table with a couple more columns in a future
PR.

This allows us:
 - View all configured incoming webhooks;
 - Copy their URL to the clipboard;
 - Remove them;

For "new" and "edit" operations we still need the incoming webhooks
form/dialog, coming in a future PR.

**Note**: Even though we are showing the full URL in the table for now,
we may end up truncating its start in the future (e.g.
`.../api/incoming-webhook/<webhook-name>` - This decision depends on how
it will look like after the rest of the columns are added.


![image](https://github.com/Unleash/unleash/assets/14320932/1cac3286-818f-4967-8686-43f78aa6bd33)
2024-01-11 12:05:14 +00:00
Fredrik Strand Oseberg
2a723ea9e8
fix: remove empty variants when changing tabs (#5850)
This PR makes a change to how variants work in the new setup. Variants
will now:

* Be removed if you change tab or unmount the component and it has no
name
* Moved StrategyVariants into a separate component to isolate this
change
* Add error handling around onSubmit and only trigger feedback if it's
successful
2024-01-11 10:43:29 +01:00
Mateusz Kwasniewski
3a2d4ae60b
feat: daily metrics display (#5836) 2024-01-11 10:39:58 +01:00
renovate[bot]
2bff3f010b
chore(deps): update material-ui monorepo (#4403)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@mui/icons-material](https://mui.com/material-ui/material-icons/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-icons-material))
| [`5.11.9` ->
`5.15.2`](https://renovatebot.com/diffs/npm/@mui%2ficons-material/5.11.9/5.15.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2ficons-material/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2ficons-material/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2ficons-material/5.11.9/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2ficons-material/5.11.9/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@mui/lab](https://mui.com/material-ui/about-the-lab/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-lab))
| [`5.0.0-alpha.120` ->
`5.0.0-alpha.158`](https://renovatebot.com/diffs/npm/@mui%2flab/5.0.0-alpha.120/5.0.0-alpha.158)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2flab/5.0.0-alpha.158?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2flab/5.0.0-alpha.158?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2flab/5.0.0-alpha.120/5.0.0-alpha.158?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2flab/5.0.0-alpha.120/5.0.0-alpha.158?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@mui/material](https://mui.com/material-ui/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-material))
| [`5.11.10` ->
`5.15.2`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/5.11.10/5.15.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fmaterial/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fmaterial/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fmaterial/5.11.10/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fmaterial/5.11.10/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@mui/x-date-pickers](https://mui.com/x/react-date-pickers/)
([source](https://togithub.com/mui/mui-x/tree/HEAD/packages/x-date-pickers))
| [`6.18.3` ->
`6.18.6`](https://renovatebot.com/diffs/npm/@mui%2fx-date-pickers/6.18.3/6.18.6)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fx-date-pickers/6.18.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fx-date-pickers/6.18.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fx-date-pickers/6.18.3/6.18.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fx-date-pickers/6.18.3/6.18.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mui/material-ui (@&#8203;mui/icons-material)</summary>

###
[`v5.15.2`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#5152)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.15.1...v5.15.2)

<!-- generated comparing v5.15.1..master -->

*Dec 25, 2023*

A big thanks to the 13 contributors who made this release possible. Here
are some highlights :

- 🚀 Added support for callbacks in the [variant's props
definition](https://mui.com/material-ui/customization/theme-components/#creating-new-component-variants)
([#&#8203;40094](https://togithub.com/mui/material-ui/issues/40094))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- 💫 Published a
[blogpost](https://mui.com/blog/2023-material-ui-v6-and-beyond/) for the
2024's plan about Material UI

##### `@mui/material@5.15.1`

- ​<!-- 31 -->\[Badge] Use the variants API in the styled call
([#&#8203;40213](https://togithub.com/mui/material-ui/issues/40213))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 04 -->\[Paper] Add missing Paper classes descriptions
([#&#8203;40300](https://togithub.com/mui/material-ui/issues/40300))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### `@mui/system@5.15.1`

- ​<!-- 03 -->Support props callback in the variant's definition
([#&#8203;40094](https://togithub.com/mui/material-ui/issues/40094))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### `@mui/base@5.0.0-beta.29`

- ​<!-- 29 -->\[Popup] Use context-based transition API
([#&#8203;39326](https://togithub.com/mui/material-ui/issues/39326))
[@&#8203;michaldudak](https://togithub.com/michaldudak)
- ​<!-- 28 -->\[Popup] Popup no longer opens outside viewport
([#&#8203;39827](https://togithub.com/mui/material-ui/issues/39827))
[@&#8203;adamhylander](https://togithub.com/adamhylander)
- ​<!-- 27 -->\[useSelect] Refactor to use DOM focus management instead
of active descendant
([#&#8203;39675](https://togithub.com/mui/material-ui/issues/39675))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)

##### `@mui/material-next@6.0.0-alpha.115`

- ​<!-- 15 -->\[material-next]\[Divider]Divider ts support
([#&#8203;40307](https://togithub.com/mui/material-ui/issues/40307))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### Docs

- ​<!-- 30 -->\[base-ui] Fix form submission Select demo
([#&#8203;40014](https://togithub.com/mui/material-ui/issues/40014))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 24 -->\[blog] Add Material UI v6 and beyond blog post
([#&#8203;40242](https://togithub.com/mui/material-ui/issues/40242))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 10 -->\[material-ui] Fix broken links in the All components page
([#&#8203;40303](https://togithub.com/mui/material-ui/issues/40303))
[@&#8203;muazaqdas](https://togithub.com/muazaqdas)
- ​<!-- 09 -->\[material-ui] Fix broken links on the All components page
([#&#8203;40279](https://togithub.com/mui/material-ui/issues/40279))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 08 -->\[material-ui] Add aria-current for nav tabs demo
([#&#8203;39594](https://togithub.com/mui/material-ui/issues/39594))
[@&#8203;Kimzify](https://togithub.com/Kimzify)
- ​<!-- 07 -->\[material-ui] Add an "All components" page
([#&#8203;40256](https://togithub.com/mui/material-ui/issues/40256))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 06 -->\[material-ui]\[Tooltip] Add demo to show how to change
distance between tooltip and its anchor
([#&#8203;40087](https://togithub.com/mui/material-ui/issues/40087))
[@&#8203;anle9650](https://togithub.com/anle9650)

##### Core

- ​<!-- 26 -->\[blog] Fix 301 redirection
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 25 -->\[blog] Reduce max image size
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 23 -->\[code-infra] Extract Babel macro from mui-utils
([#&#8203;40262](https://togithub.com/mui/material-ui/issues/40262))
[@&#8203;michaldudak](https://togithub.com/michaldudak)
- ​<!-- 22 -->\[core] Simplify a bit the release instructions
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 21 -->\[core] Push force to deploy is not unexpected
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 20 -->\[core] Fix CSS2 vs. CSS3 ::after syntax
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 19 -->\[core] Fix CSS2 vs. CSS3 ::before syntax
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 05 -->\[core] Use direct import from utils package
([#&#8203;40254](https://togithub.com/mui/material-ui/issues/40254))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 18 -->\[core] Yaml format match most common convention
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 17 -->\[core] Polish docs-feedback issue template
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 16 -->\[core] Pin Node version on GitHub Actions to 18.18
([#&#8203;40187](https://togithub.com/mui/material-ui/issues/40187))
[@&#8203;michaldudak](https://togithub.com/michaldudak)
- ​<!-- 14 -->\[docs] Fix SEO regression
([#&#8203;40306](https://togithub.com/mui/material-ui/issues/40306))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 13 -->\[docs] Fix docs redirections
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 12 -->\[docs] Update the Contributing guide to give more
guidance on documentation
([#&#8203;40274](https://togithub.com/mui/material-ui/issues/40274))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- ​<!-- 11 -->\[docs-infra] Add polish to the inline code block
([#&#8203;40260](https://togithub.com/mui/material-ui/issues/40260))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 02 -->\[website] Update Gold sponsors: add RxDB, standardize
formatting
([#&#8203;40273](https://togithub.com/mui/material-ui/issues/40273))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- ​<!-- 01 -->\[website] Revert change to homepage SEO attributes
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)

All contributors of this release in alphabetical order:
[@&#8203;adamhylander](https://togithub.com/adamhylander),
[@&#8203;anle9650](https://togithub.com/anle9650),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai),
[@&#8203;Kimzify](https://togithub.com/Kimzify),
[@&#8203;michaldudak](https://togithub.com/michaldudak),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;muazaqdas](https://togithub.com/muazaqdas),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.15.1`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#5151)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.15.0...v5.15.1)

<!-- generated comparing v5.15.0..master -->

*Dec 19, 2023*

A big thanks to the 15 contributors who made this release possible.
This release was mostly about 🐛 bug fixes and 📚 documentation
improvements.

##### `@mui/material@5.15.1`

- ​<!-- 13 -->\[CardActions]\[DialogActions] Apply margin for all
children except for 1st child
([#&#8203;40168](https://togithub.com/mui/material-ui/issues/40168))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 03 -->\[TablePagination] Add ability to change icons in
TablePaginationActions using `slots` and `slotProps`
([#&#8203;33797](https://togithub.com/mui/material-ui/issues/33797))
[@&#8203;pratikkarad](https://togithub.com/pratikkarad)
- ​<!-- 13 -->\[CssVarsProvider] Fix HSL breaking button styles
([#&#8203;39869](https://togithub.com/mui/material-ui/issues/39869))
[@&#8203;gitstart](https://togithub.com/gitstart)

##### `@mui/joy@5.0.0-beta.19`

- ​<!-- 05 -->\[FormControl] Fix issue with the conditional setting of
`htmlFor` and `id` attributes not functioning properly for form labels
([#&#8203;40180](https://togithub.com/mui/material-ui/issues/40180))
[@&#8203;ReaZzy](https://togithub.com/ReaZzy)
- ​<!-- 04 -->\[typescript] Address TypeScript issue with custom zIndex
not functioning
([#&#8203;40133](https://togithub.com/mui/material-ui/issues/40133))
[@&#8203;qiweiii](https://togithub.com/qiweiii)

##### `@mui/styled-engine-sc@6.0.0-alpha.9`

- ​<!-- 02 -->\[typescript] Fix `theme` being of type any
([#&#8203;40200](https://togithub.com/mui/material-ui/issues/40200))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### Docs

- ​<!-- 09 -->\[joy-ui] Fix typo in the CSS baseline page
([#&#8203;40222](https://togithub.com/mui/material-ui/issues/40222))
[@&#8203;possibilities](https://togithub.com/possibilities)
- ​<!-- 08 -->\[joy-ui] Document missing Autocomplete props
([#&#8203;39979](https://togithub.com/mui/material-ui/issues/39979))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 10 -->\[joy-ui] Fix typo about Typography levels
([#&#8203;40230](https://togithub.com/mui/material-ui/issues/40230))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 07 -->\[material-ui] Update the related projects page to list
`mui-tiptap` for rich text
([#&#8203;40216](https://togithub.com/mui/material-ui/issues/40216))
[@&#8203;sjdemartini](https://togithub.com/sjdemartini)
- ​<!-- 06 -->\[material-ui] Fix typo in the Next.js integration page
([#&#8203;40209](https://togithub.com/mui/material-ui/issues/40209))
[@&#8203;s8990](https://togithub.com/s8990)

##### Core

- ​<!-- 14 -->\[blog] Fix access to Notion without an account
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 12 -->\[core] Update workflows and issue templates to reflect
the updated label
([#&#8203;40197](https://togithub.com/mui/material-ui/issues/40197))
[@&#8203;MBilalShafi](https://togithub.com/MBilalShafi)
- ​<!-- 11 -->\[docs] Replace Twitter with X
([#&#8203;40193](https://togithub.com/mui/material-ui/issues/40193))
[@&#8203;mbrookes](https://togithub.com/mbrookes)
- ​<!-- 10 -->\[docs-infra] Uplift the Algolia search modal design
([#&#8203;40186](https://togithub.com/mui/material-ui/issues/40186))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 01 -->\[website] Update product descriptions and social preview
images
([#&#8203;32181](https://togithub.com/mui/material-ui/issues/32181))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)

All contributors of this release in alphabetical order:
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;gitstart](https://togithub.com/gitstart),
[@&#8203;MBilalShafi](https://togithub.com/MBilalShafi),
[@&#8203;mbrookes](https://togithub.com/mbrookes),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;possibilities](https://togithub.com/possibilities),
[@&#8203;pratikkarad](https://togithub.com/pratikkarad),
[@&#8203;qiweiii](https://togithub.com/qiweiii),
[@&#8203;ReaZzy](https://togithub.com/ReaZzy),
[@&#8203;s8990](https://togithub.com/s8990),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;sjdemartini](https://togithub.com/sjdemartini),
[@&#8203;zanivan](https://togithub.com/zanivan),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.15.0`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#5150)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.19...v5.15.0)

<!-- generated comparing v5.14.20..master -->

*Dec 11, 2023*

A big thanks to the 15 contributors who made this release possible. Here
are some highlights :

- 🚀 Added [a new package for a better Material UI integration with
Next.js](https://mui.com/material-ui/guides/nextjs)
([#&#8203;39947](https://togithub.com/mui/material-ui/issues/39947))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)

##### `@mui/material@5.15.0`

- ​<!-- 12 -->Revert "\[Select]\[material-ui] Add name to hidden input
element"
([#&#8203;40174](https://togithub.com/mui/material-ui/issues/40174))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 02 -->\[material-ui] Refactor ComponentsVariants type into a
generic
([#&#8203;39623](https://togithub.com/mui/material-ui/issues/39623))
[@&#8203;blakenetz](https://togithub.com/blakenetz)

##### `@mui/material-nextjs@5.15.0`

- ​<!-- 01 -->\[material-ui] Add new Next.js integration package
([#&#8203;39947](https://togithub.com/mui/material-ui/issues/39947))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)

##### `@mui/material-next@6.0.0-alpha.113`

- ​<!-- 11 -->\[Badge]\[material-next] Apply new OwnerState type to
Badge
([#&#8203;40119](https://togithub.com/mui/material-ui/issues/40119))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 06 -->\[material-next]\[ButtonGroup] Change `ButtonGroup` files
to ts
([#&#8203;39794](https://togithub.com/mui/material-ui/issues/39794))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### `@mui/icons-material@5.15.0`

- ​<!-- 05 -->\[icons] Add X logo
([#&#8203;38811](https://togithub.com/mui/material-ui/issues/38811))
[@&#8203;abreel](https://togithub.com/abreel)

##### `@mui/base@5.0.0-beta.27`

- ​<!-- 10 -->\[base-ui] useControllableReducer warns when controlled
props become uncontrolled (and vice versa)
([#&#8203;39096](https://togithub.com/mui/material-ui/issues/39096))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/joy@5.0.0-beta.18`

- ​<!-- 04 -->\[joy-ui]\[Radio]\[Input] Fix inheritance of disabled prop
([#&#8203;39934](https://togithub.com/mui/material-ui/issues/39934))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### `@mui/lab@5.0.0-alpha.156`

- ​<!-- 03 -->\[lab]\[LoadingButton] LoadingButton now inherits props
from ButtonGroup
([#&#8203;39679](https://togithub.com/mui/material-ui/issues/39679))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### Docs

- ​<!-- 09 -->\[docs] Fix reference to non-existent checkmark in
supported-components.md
([#&#8203;40056](https://togithub.com/mui/material-ui/issues/40056))
[@&#8203;mbrookes](https://togithub.com/mbrookes)
- ​<!-- 09 -->\[docs]\[base-ui] Add copy button & primary color picker
to the component gallery page
([#&#8203;39884](https://togithub.com/mui/material-ui/issues/39884))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 08 -->\[docs-infra] Update CodeSandbox links
([#&#8203;39992](https://togithub.com/mui/material-ui/issues/39992))
[@&#8203;anle9650](https://togithub.com/anle9650)
- ​<!-- 04 -->\[material-ui]\[docs] Fix wrong root element for emotion
styles in shadow DOM
([#&#8203;35326](https://togithub.com/mui/material-ui/issues/35326))
[@&#8203;EloB](https://togithub.com/EloB)
- ​<!-- 03 -->\[material-ui]\[docs] Move the responsive font charts from
recharts to MUI X
([#&#8203;40097](https://togithub.com/mui/material-ui/issues/40097))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 02 -->\[joy-ui]\[templates] Remove outdated code
([#&#8203;40095](https://togithub.com/mui/material-ui/issues/40095))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 05 -->\[material-ui]\[docs]\[Popper] Update Positioned Popper
demo styles
([#&#8203;40170](https://togithub.com/mui/material-ui/issues/40170))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### Core

- ​<!-- 08 -->\[blog] Add a Phuket retreat blog post
([#&#8203;40055](https://togithub.com/mui/material-ui/issues/40055))
[@&#8203;mikailaread](https://togithub.com/mikailaread)
- ​<!-- 07 -->\[blog] Adjust the latest MUI X blog post
([#&#8203;40046](https://togithub.com/mui/material-ui/issues/40046))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 05 -->\[core] Migrate from tslint to eslint
([#&#8203;40020](https://togithub.com/mui/material-ui/issues/40020))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

All contributors of this release in alphabetical order:
[@&#8203;abreel](https://togithub.com/abreel),
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;anle9650](https://togithub.com/anle9650),
[@&#8203;blakenetz](https://togithub.com/blakenetz),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;EloB](https://togithub.com/EloB),
[@&#8203;lhilgert9](https://togithub.com/lhilgert9),
[@&#8203;mbrookes](https://togithub.com/mbrookes),
[@&#8203;mikailaread](https://togithub.com/mikailaread),
[@&#8203;mj12albert](https://togithub.com/mj12albert),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;zanivan](https://togithub.com/zanivan),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.14.19`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51419)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.18...v5.14.19)

<!-- generated comparing v5.14.18..master -->

*Nov 29, 2023*

A big thanks to the 18 contributors who made this release possible. Here
are some highlights :

- 🐛 Fix Material UI Autocomplete behavior when there are duplicate
labels
([#&#8203;36426](https://togithub.com/mui/material-ui/issues/36426))
[@&#8203;islandryu](https://togithub.com/islandryu)
- 🚀 Added Material You Linear Progress to `material-next` package
([#&#8203;39807](https://togithub.com/mui/material-ui/issues/39807))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### `@mui/material@5.14.19`

- ​<!-- 44 -->\[Autocomplete] Fix behavior when there are duplicate
labels
([#&#8203;36426](https://togithub.com/mui/material-ui/issues/36426))
[@&#8203;islandryu](https://togithub.com/islandryu)
- ​<!-- 37 -->\[Box] Added boxClasses
([#&#8203;39889](https://togithub.com/mui/material-ui/issues/39889))
[@&#8203;sadik-malik](https://togithub.com/sadik-malik)
- ​<!-- 18 -->\[FilledInput] Fix slot props deepmerge order
([#&#8203;38922](https://togithub.com/mui/material-ui/issues/38922))
[@&#8203;dhaub-exelixis](https://togithub.com/dhaub-exelixis)
- ​<!-- 12 -->\[Select] Add id to hidden input element
([#&#8203;39414](https://togithub.com/mui/material-ui/issues/39414))
[@&#8203;DarhkVoyd](https://togithub.com/DarhkVoyd)
- ​<!-- 11 -->\[Select] Remove unnecessary picking of `onChange` type
from SelectInputProps
([#&#8203;39891](https://togithub.com/mui/material-ui/issues/39891))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

##### `@mui/base@5.0.0-beta.25`

- ​<!-- 46 -->\[Menu] Fix navigation of items when 1st item is disabled
([#&#8203;39828](https://togithub.com/mui/material-ui/issues/39828))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 42 -->\[Modal] Refine demos
([#&#8203;39824](https://togithub.com/mui/material-ui/issues/39824))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 41 -->\[NumberInput] Implement `numberInputReducer`
([#&#8203;38723](https://togithub.com/mui/material-ui/issues/38723))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 40 -->\[useNumberInput] Fix change handlers passed through
slotProps
([#&#8203;39407](https://togithub.com/mui/material-ui/issues/39407))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/joy@5.0.0-beta.16`

- ​<!-- 38 -->\[Box] Added boxClasses
([#&#8203;39895](https://togithub.com/mui/material-ui/issues/39895))
[@&#8203;sadik-malik](https://togithub.com/sadik-malik)

##### `@mui/system@5.14.19`

- ​<!-- 36 -->\[Box] Added boxClasses
([#&#8203;39896](https://togithub.com/mui/material-ui/issues/39896))
[@&#8203;sadik-malik](https://togithub.com/sadik-malik)
- ​<!-- 09 -->Add outlineColor to defaultSxConfig
([#&#8203;39962](https://togithub.com/mui/material-ui/issues/39962))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### `@mui/types@7.2.10`

- ​<!-- 08 -->Add `PartiallyRequired` type
([#&#8203;39939](https://togithub.com/mui/material-ui/issues/39939))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### `@mui/material-next@6.0.0-alpha.111`

- ​<!-- 47 -->\[ProgressIndicator] Apply MD3 style to `LinearProgress`
([#&#8203;39807](https://togithub.com/mui/material-ui/issues/39807))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 17 -->\[FormHelperText] Add FormHelperText component
([#&#8203;39503](https://togithub.com/mui/material-ui/issues/39503))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 16 -->\[IconButton] Copy IconButton to material-next
([#&#8203;39945](https://togithub.com/mui/material-ui/issues/39945))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 13 -->\[Switch] Copy `Switch` to material next
([#&#8203;39887](https://togithub.com/mui/material-ui/issues/39887))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### Docs

- ​<!-- 19 -->\[material-ui] Fix theme prop in v5 migration guide
([#&#8203;39976](https://togithub.com/mui/material-ui/issues/39976))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 43 -->\[base-ui] Improve Next.js Link docs
([#&#8203;39838](https://togithub.com/mui/material-ui/issues/39838))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 39 -->\[base-ui] Export Base UI theme in stylesheet
([#&#8203;39694](https://togithub.com/mui/material-ui/issues/39694))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 52 -->\[joy-ui] Fix the date min & max slot props values on the
Input demo
([#&#8203;40018](https://togithub.com/mui/material-ui/issues/40018))
[@&#8203;avikalpg](https://togithub.com/avikalpg)
- ​<!-- 35 -->\[joy-ui]\[ButtonGroup] Fix orientation prop description
([#&#8203;39876](https://togithub.com/mui/material-ui/issues/39876))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 25 -->\[joy-ui] Update gif from the Dark Mode Optimization page
([#&#8203;39726](https://togithub.com/mui/material-ui/issues/39726))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 24 -->\[joy-ui] Fix h1 template
([#&#8203;40017](https://togithub.com/mui/material-ui/issues/40017))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 23 -->\[joy-ui] Fix wrong product id
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 22 -->\[joy-ui] Fixes in theme scoping documentation
([#&#8203;39899](https://togithub.com/mui/material-ui/issues/39899))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 21 -->\[joy-ui] Refine the Email, Teams and Files templates
([#&#8203;39579](https://togithub.com/mui/material-ui/issues/39579))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 15 -->\[joy-ui]\[templates] Fix layout shift on Profile template
([#&#8203;40022](https://togithub.com/mui/material-ui/issues/40022))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 14 -->\[joy-ui]\[Templates] Update thumbnails
([#&#8203;39938](https://togithub.com/mui/material-ui/issues/39938))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 20 -->\[material-next] Add contributing guide
([#&#8203;39944](https://togithub.com/mui/material-ui/issues/39944))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 51 -->End v6 blogpost notification
([#&#8203;39879](https://togithub.com/mui/material-ui/issues/39879))
[@&#8203;joserodolfofreitas](https://togithub.com/joserodolfofreitas)
- ​<!-- 31 -->Fix nested CSS warning
([#&#8203;39932](https://togithub.com/mui/material-ui/issues/39932))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 30 -->Make integration searchable
([#&#8203;39967](https://togithub.com/mui/material-ui/issues/39967))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 29 -->Fix use of quote in markdown
([#&#8203;39953](https://togithub.com/mui/material-ui/issues/39953))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 28 -->Show design links on Joy UI
([#&#8203;39955](https://togithub.com/mui/material-ui/issues/39955))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 27 -->Restore Algolia results when searching for "Figma"
([#&#8203;39956](https://togithub.com/mui/material-ui/issues/39956))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 26 -->Fix two tone icon dark mode color
([#&#8203;39868](https://togithub.com/mui/material-ui/issues/39868))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### Core

- ​<!-- 45 -->Improve lerna's renovate package rules
([#&#8203;40029](https://togithub.com/mui/material-ui/issues/40029))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)
- ​<!-- 34 -->Downgrade lerna to 7.2.0
([#&#8203;40026](https://togithub.com/mui/material-ui/issues/40026))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)
- ​<!-- 32 -->Rename OpenCollective
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 48 -->\[docs-infra] Env variables should be string
([#&#8203;39991](https://togithub.com/mui/material-ui/issues/39991))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 10 -->\[Portal] Improve docs for container prop
([#&#8203;39180](https://togithub.com/mui/material-ui/issues/39180))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 50 -->\[website] Update pricing table
([#&#8203;40023](https://togithub.com/mui/material-ui/issues/40023))
[@&#8203;cherniavskii](https://togithub.com/cherniavskii)
- ​<!-- 49 -->\[website]\[docs] Update the product identifier menu and X
page
([#&#8203;39832](https://togithub.com/mui/material-ui/issues/39832))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 07 -->\[website] Mark TreeView and Charts as stable
([#&#8203;39975](https://togithub.com/mui/material-ui/issues/39975))
[@&#8203;flaviendelangle](https://togithub.com/flaviendelangle)
- ​<!-- 06 -->\[website] Update career page
([#&#8203;40015](https://togithub.com/mui/material-ui/issues/40015))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 05 -->\[website] Sync about dataset
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 04 -->\[website] Fix 301 redirection to X tree-view
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 03 -->\[website] Change redirection prefixes
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 02 -->\[website] Fix 301 link
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 01 -->\[website] Fix modal not being closed with the escape key
on the Base UI page
([#&#8203;39880](https://togithub.com/mui/material-ui/issues/39880))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

All contributors of this release in alphabetical order:
[@&#8203;avikalpg](https://togithub.com/avikalpg),
[@&#8203;brijeshb42](https://togithub.com/brijeshb42),
[@&#8203;cherniavskii](https://togithub.com/cherniavskii),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DarhkVoyd](https://togithub.com/DarhkVoyd),
[@&#8203;dhaub-exelixis](https://togithub.com/dhaub-exelixis),
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai),
[@&#8203;flaviendelangle](https://togithub.com/flaviendelangle),
[@&#8203;islandryu](https://togithub.com/islandryu),
[@&#8203;joserodolfofreitas](https://togithub.com/joserodolfofreitas),
[@&#8203;lhilgert9](https://togithub.com/lhilgert9),
[@&#8203;mj12albert](https://togithub.com/mj12albert),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;sadik-malik](https://togithub.com/sadik-malik),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;zanivan](https://togithub.com/zanivan),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.14.18`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51418)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.16...v5.14.18)

<!-- generated comparing v5.14.17..master -->

*Nov 14, 2023*

A big thanks to the 14 contributors who made this release possible. Here
are some highlights :

- 💫 Introduced new [Stepper](https://mui.com/joy-ui/react-stepper/)
component in Joy UI
([#&#8203;39688](https://togithub.com/mui/material-ui/issues/39688))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
-   other 🐛 bug fixes and 📚 documentation improvements

##### `@mui/material@5.14.18`

- ​<!-- 32 -->\[Autocomplete] Add `defaultMuiPrevented` to onKeyDown
type
([#&#8203;39820](https://togithub.com/mui/material-ui/issues/39820))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 31 -->\[Autocomplete] Fix React key warning in Next.js
([#&#8203;39795](https://togithub.com/mui/material-ui/issues/39795))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 24 -->\[Checkbox] Asterisk placement aligned correctly
([#&#8203;39721](https://togithub.com/mui/material-ui/issues/39721))
[@&#8203;axelbostrom](https://togithub.com/axelbostrom)
- ​<!-- 04 -->\[Rating] Fix the hover highlighting for spaced icons
([#&#8203;39775](https://togithub.com/mui/material-ui/issues/39775))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 03 -->\[TablePagination] Implement `slotProps` pattern for the
actions and the select slots
([#&#8203;39353](https://togithub.com/mui/material-ui/issues/39353))
[@&#8203;anle9650](https://togithub.com/anle9650)
- ​<!-- 02 -->\[TextField] Fix padding on small filled multiline
TextField
([#&#8203;39769](https://togithub.com/mui/material-ui/issues/39769))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/joy@5.0.0-beta.15`

- ​<!-- 11 -->\[Stepper] Add new `Stepper` component
([#&#8203;39688](https://togithub.com/mui/material-ui/issues/39688))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 12 -->\[Select] Fix displaying placeholder when multiple is true
([#&#8203;39806](https://togithub.com/mui/material-ui/issues/39806))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### `@mui/material-next@6.0.0-alpha.110`

- ​<!-- 26 -->\[ButtonGroup] Copy `ButtonGroup` to material next
([#&#8203;39739](https://togithub.com/mui/material-ui/issues/39739))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 09 -->\[ProgressIndicator] Change `CircularProgress` files to ts
([#&#8203;39791](https://togithub.com/mui/material-ui/issues/39791))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 08 -->\[ProgressIndicator] Change `LinearProgress` files to ts
([#&#8203;39793](https://togithub.com/mui/material-ui/issues/39793))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 07 -->\[ProgressIndicator] Copy `LinearProgress` to material
next
([#&#8203;39779](https://togithub.com/mui/material-ui/issues/39779))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 06 -->\[ProgressIndicator] Copy `CircularProgress` to material
next
([#&#8203;39780](https://togithub.com/mui/material-ui/issues/39780))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 05 -->\[TextField] Add FormLabel and InputLabel components
([#&#8203;39483](https://togithub.com/mui/material-ui/issues/39483))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

###
[`v5.14.16`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51416)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.15...v5.14.16)

<!-- generated comparing v5.14.15..master -->

*Oct 31, 2023*

A big thanks to the 19 contributors who made this release possible. Here
are some highlights :

-  New highly requested Joy UI component:
[Snackbar](https://mui.com/joy-ui/react-snackbar)
([#&#8203;38801](https://togithub.com/mui/material-ui/issues/38801))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

##### `@mui/material@5.14.16`

- ​<!-- 03 -->Fix ownerstate being propagated to DOM node when using
styled-components v6
([#&#8203;39586](https://togithub.com/mui/material-ui/issues/39586))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### `@mui/base@5.0.0-beta.22`

- ​<!-- 28 -->\[Autocomplete] Standardize box shadow on demos
([#&#8203;39519](https://togithub.com/mui/material-ui/issues/39519))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 27 -->\[useSelect] Support browser autofill
([#&#8203;39595](https://togithub.com/mui/material-ui/issues/39595))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)
- ​<!-- 30 -->\[base-ui] Fix mergeSlotProps className join order
([#&#8203;39616](https://togithub.com/mui/material-ui/issues/39616))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/joy@5.0.0-beta.13`

-   ​<!-- 29 -->\[Accordion] Add type button to accordion
- ​<!-- 28 -->\[Card] Fix CardOverflow in nested cards
([#&#8203;39668](https://togithub.com/mui/material-ui/issues/39668))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp) summary
([#&#8203;39532](https://togithub.com/mui/material-ui/issues/39532))
[@&#8203;Popppins](https://togithub.com/Popppins)
- ​<!-- 08 -->\[Menu] Fix closing of listbox in `MenuList` demo
([#&#8203;39459](https://togithub.com/mui/material-ui/issues/39459))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 07 -->\[Progress] Revamp Linear and Circular progress variants
([#&#8203;39492](https://togithub.com/mui/material-ui/issues/39492))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 06 -->\[Select] Support selection of `multiple` options
([#&#8203;39454](https://togithub.com/mui/material-ui/issues/39454))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 05 -->\[Textarea] Add ref usage instructions
([#&#8203;39615](https://togithub.com/mui/material-ui/issues/39615))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 10 --> Fix sticky hover media query issue on mobile
([#&#8203;37467](https://togithub.com/mui/material-ui/issues/37467))
[@&#8203;gitstart](https://togithub.com/gitstart)
- ​<!-- 09 --> Add Snackbar component
([#&#8203;38801](https://togithub.com/mui/material-ui/issues/38801))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

##### `@mui/material-next@6.0.0-alpha.108`

- ​<!-- 04 -->\[theme] Update Material You typescale tokens
([#&#8203;39514](https://togithub.com/mui/material-ui/issues/39514))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### Docs

- ​<!-- 22 -->Fix 301 link to Primer design system
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 19 -->\[joy-ui] Revise the CSS vars page
([#&#8203;39335](https://togithub.com/mui/material-ui/issues/39335))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 18 -->\[joy-ui] Add docs for changing styles based on states
([#&#8203;39597](https://togithub.com/mui/material-ui/issues/39597))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 17 -->\[joy-ui] Fix wrong messages
([#&#8203;39602](https://togithub.com/mui/material-ui/issues/39602))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 16 -->\[material-ui] Include link to bundler how-to for Styled
Components users
([#&#8203;39620](https://togithub.com/mui/material-ui/issues/39620))
[@&#8203;jcoyle37](https://togithub.com/jcoyle37)
- ​<!-- 15 -->\[material-ui] Improve Dialog demos
([#&#8203;39642](https://togithub.com/mui/material-ui/issues/39642))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 14 -->\[material-ui] Add stray design fine-tuning to the example
collection
([#&#8203;39581](https://togithub.com/mui/material-ui/issues/39581))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 13 -->\[system] Clean up `@mui/styles` docs and discourage users
from installing it
([#&#8203;39644](https://togithub.com/mui/material-ui/issues/39644))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- ​<!-- 12 -->\[examples] Upgrade Remix to v2
([#&#8203;39229](https://togithub.com/mui/material-ui/issues/39229))
[@&#8203;Nkzn](https://togithub.com/Nkzn)
- ​<!-- 11 -->\[examples]\[material-ui] Remove hardcoded `color="black"`
from Next.js App Router layout
([#&#8203;39577](https://togithub.com/mui/material-ui/issues/39577))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)

##### Core

- ​<!-- 26 -->\[core] Setup vale for enforcing style guides
([#&#8203;39633](https://togithub.com/mui/material-ui/issues/39633))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 25 -->\[core] Remove unused use client
([#&#8203;38967](https://togithub.com/mui/material-ui/issues/38967))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 24 -->\[core] Remove duplicate export
([#&#8203;39346](https://togithub.com/mui/material-ui/issues/39346))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 23 -->\[core] Remove not used `@types/loader-utils` package from
`zero-next-plugin`
([#&#8203;39609](https://togithub.com/mui/material-ui/issues/39609))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 21 -->\[docs-infra] Add meta charset in codesandbox examples
([#&#8203;39424](https://togithub.com/mui/material-ui/issues/39424))
[@&#8203;Janpot](https://togithub.com/Janpot)
- ​<!-- 20 -->\[docs-infra] Fix settings drawer accessibility issues
([#&#8203;39589](https://togithub.com/mui/material-ui/issues/39589))
[@&#8203;emamoah](https://togithub.com/emamoah)
- ​<!-- 02 -->\[website] Add stray adjustments and clean-ups
([#&#8203;39673](https://togithub.com/mui/material-ui/issues/39673))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 01 -->\[website] Open the `Design Engineer - xGrid` role
([#&#8203;39375](https://togithub.com/mui/material-ui/issues/39375))
[@&#8203;DanailH](https://togithub.com/DanailH)

All contributors of this release in alphabetical order:
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar),
[@&#8203;DanailH](https://togithub.com/DanailH),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai),
[@&#8203;emamoah](https://togithub.com/emamoah),
[@&#8203;gitstart](https://togithub.com/gitstart),
[@&#8203;Janpot](https://togithub.com/Janpot),
[@&#8203;jcoyle37](https://togithub.com/jcoyle37),
[@&#8203;mj12albert](https://togithub.com/mj12albert),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;Nkzn](https://togithub.com/Nkzn),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;Popppins](https://togithub.com/Popppins),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;zanivan](https://togithub.com/zanivan),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.14.15`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51415)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.14...v5.14.15)

<!-- generated comparing v5.14.14..master -->

*Oct 24, 2023*

A big thanks to the 17 contributors who made this release possible.

##### `@mui/material@5.14.15`

- ​<!-- 24 -->\[Checkbox]\[Radio] Fix theme style overrides not working
for different sizes
([#&#8203;39377](https://togithub.com/mui/material-ui/issues/39377))
[@&#8203;gitstart](https://togithub.com/gitstart)
- ​<!-- 12 -->\[InputLabel] InputLabel supports ownerState.focused for
styleOverrides
([#&#8203;39470](https://togithub.com/mui/material-ui/issues/39470))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 07 -->\[ToggleButton] Add `fullWidth` to `toggleButtonClasses`
and `toggleButtonGroupClasses`
([#&#8203;39536](https://togithub.com/mui/material-ui/issues/39536))
[@&#8203;Semigradsky](https://togithub.com/Semigradsky)

##### `@mui/base@5.0.0-beta.21`

- ​<!-- 29 -->\[useAutocomplete] Correct keyboard navigation with
multiple disabled options
([#&#8203;38788](https://togithub.com/mui/material-ui/issues/38788))
[@&#8203;VadimZvf](https://togithub.com/VadimZvf)
- ​<!-- 28 -->\[Select] Standardize box shadow on demos
([#&#8203;39509](https://togithub.com/mui/material-ui/issues/39509))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 27 -->\[Slider] Refine demos
([#&#8203;39526](https://togithub.com/mui/material-ui/issues/39526))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 34 -->\[Input] Update and port additional tests from material-ui
([#&#8203;39584](https://togithub.com/mui/material-ui/issues/39584))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/material-next@6.0.0-alpha.107`

- ​<!-- 16 -->\[FilledInput] Add FilledInput component
([#&#8203;39307](https://togithub.com/mui/material-ui/issues/39307))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 13 -->\[InputAdornment] Fix unstable_capitalize import
([#&#8203;39510](https://togithub.com/mui/material-ui/issues/39510))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)
- ​<!-- 08 -->\[Snackbar] copy files to mui-material-next
([#&#8203;39232](https://togithub.com/mui/material-ui/issues/39232))
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar)
- ​<!-- 33 -->\[Menu] Use useMenu hook
([#&#8203;38934](https://togithub.com/mui/material-ui/issues/38934))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### `@mui/joy@5.0.0-beta.12`

- ​<!-- 26 -->\[Button] Fix button size being a decorator
([#&#8203;39529](https://togithub.com/mui/material-ui/issues/39529))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 25 -->\[CardOverflow] Remove conditional CSS to support Next.js
App dir
([#&#8203;39101](https://togithub.com/mui/material-ui/issues/39101))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 11 -->\[Link] Apply `userSelect: none` only when it's a button
([#&#8203;39486](https://togithub.com/mui/material-ui/issues/39486))
[@&#8203;mwskwong](https://togithub.com/mwskwong)

##### `@mui/lab@5.0.0-alpha.150`

- ​<!-- 09 -->Update peer dep of
[@&#8203;mui/material](https://togithub.com/mui/material)
([#&#8203;39398](https://togithub.com/mui/material-ui/issues/39398))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### `@mui/zero-runtime@0.0.1-alpha.0`

- ​<!-- 06 -->Implement typings for public runtime API
([#&#8203;39215](https://togithub.com/mui/material-ui/issues/39215))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### `@mui/zero-vite-plugin@0.0.1-alpha.0`

- ​<!-- 05 -->Modify plugin to transform node_modules
([#&#8203;39517](https://togithub.com/mui/material-ui/issues/39517))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### Docs

- ​<!-- 31 -->\[base-ui] Standardize grey palette across demos
([#&#8203;39504](https://togithub.com/mui/material-ui/issues/39504))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 30 -->\[base-ui] Overall demos design review
([#&#8203;38820](https://togithub.com/mui/material-ui/issues/38820))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 19 -->\[joy-ui] Adjust the responsiveness of the template card
([#&#8203;39534](https://togithub.com/mui/material-ui/issues/39534))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 18 -->\[material-ui] Typo fixes in overview page
([#&#8203;39540](https://togithub.com/mui/material-ui/issues/39540))
[@&#8203;Evan151](https://togithub.com/Evan151)
- ​<!-- 35 -->\[material-ui] Add stray design tweaks to the templates
collection
([#&#8203;39583](https://togithub.com/mui/material-ui/issues/39583))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 17 -->\[system] Revise the Box page
([#&#8203;39159](https://togithub.com/mui/material-ui/issues/39159))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 22 -->Fix git diff format
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 15 -->\[I10n] Add Norwegian (nynorsk) (nn-NO) locale
([#&#8203;39481](https://togithub.com/mui/material-ui/issues/39481))
[@&#8203;hjalti-lifekeys](https://togithub.com/hjalti-lifekeys)
- ​<!-- 10 -->\[l10n] Fix double space typo in ar-EG
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 14 -->\[I10n] Additions to Icelandic (is-IS) locale
([#&#8203;39480](https://togithub.com/mui/material-ui/issues/39480))
[@&#8203;hjalti-lifekeys](https://togithub.com/hjalti-lifekeys)

##### Core

- ​<!-- 23 -->\[core] Replace a `useCallback` by `useRef` in
useEventCallback
([#&#8203;39078](https://togithub.com/mui/material-ui/issues/39078))
[@&#8203;romgrk](https://togithub.com/romgrk)
- ​<!-- 21 -->\[docs-infra] Prevent docs crash
([#&#8203;39214](https://togithub.com/mui/material-ui/issues/39214))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 20 -->\[docs-infra] Fix no-op autoprefixer warning
([#&#8203;39385](https://togithub.com/mui/material-ui/issues/39385))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 32 -->\[docs-infra] Refine the API page design
([#&#8203;39520](https://togithub.com/mui/material-ui/issues/39520))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 25 -->\[docs-infra] Fix cut-off sponsors
([#&#8203;39572](https://togithub.com/mui/material-ui/issues/39572))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 04 -->\[website] Add missing h1 on page
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 03 -->\[website] Fix unrecognized prop warning
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 02 -->\[website] Store Engineer role filled
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 01 -->\[website] Add stray design adjustments
([#&#8203;39496](https://togithub.com/mui/material-ui/issues/39496))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)

All contributors of this release in alphabetical order:
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar),
[@&#8203;brijeshb42](https://togithub.com/brijeshb42),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai),
[@&#8203;Evan151](https://togithub.com/Evan151),
[@&#8203;gitstart](https://togithub.com/gitstart),
[@&#8203;hjalti-lifekeys](https://togithub.com/hjalti-lifekeys),
[@&#8203;mj12albert](https://togithub.com/mj12albert),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;mwskwong](https://togithub.com/mwskwong),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;romgrk](https://togithub.com/romgrk),
[@&#8203;Semigradsky](https://togithub.com/Semigradsky),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;VadimZvf](https://togithub.com/VadimZvf),
[@&#8203;zanivan](https://togithub.com/zanivan)

###
[`v5.14.14`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51414)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.13...v5.14.14)

<!-- generated comparing v5.14.13..master -->

*Oct 17, 2023*

A big thanks to the 24 contributors who made this release possible. Here
are some highlights :
This release was mostly about 🐛 bug fixes and 📚 documentation
improvements.

##### `@mui/material@5.14.14`

- ​<!-- 29 -->\[material-ui]\[AppBar] Support all default palette colors
in TypeScript
([#&#8203;39389](https://togithub.com/mui/material-ui/issues/39389))
[@&#8203;BreakBB](https://togithub.com/BreakBB)
- ​<!-- 28 -->\[material-ui]\[AvatarGroup] Add `renderSurplus` prop
([#&#8203;39283](https://togithub.com/mui/material-ui/issues/39283))
[@&#8203;uuxxx](https://togithub.com/uuxxx)
- ​<!-- 25 -->\[material-ui]\[Box] Fix system properties has incorrect
`Theme` interface when applied directly
([#&#8203;39404](https://togithub.com/mui/material-ui/issues/39404))
[@&#8203;Semigradsky](https://togithub.com/Semigradsky)
- ​<!-- 04 -->\[material-ui]\[Pagination] Update `type` parameter of
`getItemAriaLabel` prop
([#&#8203;39390](https://togithub.com/mui/material-ui/issues/39390))
[@&#8203;Simer13](https://togithub.com/Simer13)
- ​<!-- 06 -->\[material]\[tab] Show/hide scroll buttons for dynamically
added children
([#&#8203;39415](https://togithub.com/mui/material-ui/issues/39415))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### `@mui/base@5.0.0-beta.20`

- ​<!-- 26 -->\[base-ui]\[Menu] Do not reopen the menu after clicking on
a trigger in Safari
([#&#8203;39393](https://togithub.com/mui/material-ui/issues/39393))
[@&#8203;michaldudak](https://togithub.com/michaldudak)

##### `@mui/material-next@6.0.0-alpha.106`

- ​<!-- 23 -->\[Divider]\[material-next] Add Divider component
([#&#8203;39179](https://togithub.com/mui/material-ui/issues/39179))
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar)

##### `@mui/joy@5.0.0-beta.11`

- ​<!-- 08 -->\[joy-ui]\[List] Add the `marker` prop
([#&#8203;39313](https://togithub.com/mui/material-ui/issues/39313))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 07 -->\[joy-ui]\[Skeleton] Fix semi-transparent scenario when
with surface components and color inversion
([#&#8203;39400](https://togithub.com/mui/material-ui/issues/39400))
[@&#8203;TheNatkat](https://togithub.com/TheNatkat)
- ​<!-- 06 -->\[joy-ui]\[Textarea] Fix focus ring for error state
([#&#8203;39391](https://togithub.com/mui/material-ui/issues/39391))
[@&#8203;vineetjk](https://togithub.com/vineetjk)

##### `@mui/icons-material@5.14.14`

- ​<!-- 09 -->\[icons] Fix VoiceChatOutlined showing the wrong icon
([#&#8203;39418](https://togithub.com/mui/material-ui/issues/39418))
[@&#8203;devuser200](https://togithub.com/devuser200)

##### `@mui/system@5.14.14`

- ​<!-- 03 -->\[mui-system]\[style] bug fix for style value check color
in nullable object
([#&#8203;39457](https://togithub.com/mui/material-ui/issues/39457))
[@&#8203;DarhkVoyd](https://togithub.com/DarhkVoyd)

##### `@mui/styled-engine-sc@6.0.0-alpha.2`

- ​<!-- 05 -->\[styled-engine-sc] Fix TS issues because of missing types
([#&#8203;39395](https://togithub.com/mui/material-ui/issues/39395))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### Docs

- ​<!-- 27 -->\[docs]\[base-ui] Renaming demos to BaseXxx
([#&#8203;39104](https://togithub.com/mui/material-ui/issues/39104))
[@&#8203;christophermorin](https://togithub.com/christophermorin)
- ​<!-- 26 -->\[docs] Accessibility in Base UI
([#&#8203;39264](https://togithub.com/mui/material-ui/issues/39264))
[@&#8203;michaldudak](https://togithub.com/michaldudak)
- ​<!-- 22 -->\[docs] Fix 301 redirection
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 21 -->\[docs] Improve Base UI table of contents for APIs
([#&#8203;39412](https://togithub.com/mui/material-ui/issues/39412))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 20 -->\[docs] Adjust design kits-related content
([#&#8203;39367](https://togithub.com/mui/material-ui/issues/39367))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 19 -->\[docs] Revise the Contributing Guide
([#&#8203;39190](https://togithub.com/mui/material-ui/issues/39190))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- ​<!-- 12 -->\[docs]\[joy-ui] Fix row hover prop name in the Table page
([#&#8203;39431](https://togithub.com/mui/material-ui/issues/39431))
[@&#8203;adrienbrault](https://togithub.com/adrienbrault)
- ​<!-- 11 -->\[docs]\[joy-ui] Fix color inversion demos
([#&#8203;39403](https://togithub.com/mui/material-ui/issues/39403))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 10 -->\[docs]\[material-ui] Remove irrelevant TODO from Snackbar
demo
([#&#8203;39396](https://togithub.com/mui/material-ui/issues/39396))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 06 -->\[docs]\[material-ui]\[Table] Bug in "Sorting & Selecting"
demo
([#&#8203;39426](https://togithub.com/mui/material-ui/issues/39426))
[@&#8203;codewithrabeeh](https://togithub.com/codewithrabeeh)
- ​<!-- 05 -->\[docs]\[joy-ui]\[typography] Update docs after lineHeight
changes
([#&#8203;39366](https://togithub.com/mui/material-ui/issues/39366))
[@&#8203;zanivan](https://togithub.com/zanivan)

##### Core

- ​<!-- 24 -->\[core] Fix multiple typos across the repo
([#&#8203;39422](https://togithub.com/mui/material-ui/issues/39422))
[@&#8203;parikshitadhikari](https://togithub.com/parikshitadhikari)
- ​<!-- 18 -->\[docs-infra] Add refinements to the API content design
([#&#8203;39425](https://togithub.com/mui/material-ui/issues/39425))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 17 -->\[docs-infra] Add a min height to the layout component
([#&#8203;39416](https://togithub.com/mui/material-ui/issues/39416))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 16 -->\[docs-infra] Prevent horizontal scroll in the TOC
([#&#8203;39417](https://togithub.com/mui/material-ui/issues/39417))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 15 -->\[docs-infra] Add a collapsible list & table views to the
API content display
([#&#8203;38265](https://togithub.com/mui/material-ui/issues/38265))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 14 -->\[docs-infra] Adjust the `kbd` tag styles
([#&#8203;39397](https://togithub.com/mui/material-ui/issues/39397))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 13 -->\[docs-infra] Fix strong style regression
([#&#8203;39384](https://togithub.com/mui/material-ui/issues/39384))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 04 -->\[website] Add the LinkedIn profile to the contributors
section on the About page
([#&#8203;39455](https://togithub.com/mui/material-ui/issues/39455))
[@&#8203;chhawinder](https://togithub.com/chhawinder)
- ​<!-- 03 -->\[website] Update new role template
([#&#8203;39386](https://togithub.com/mui/material-ui/issues/39386))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 02 -->\[website] Add stray design fine-tunning to the Pricing
page
([#&#8203;39472](https://togithub.com/mui/material-ui/issues/39472))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 01 -->\[website] Fix career anchor link to perks & benefits
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)

All contributors of this release in alphabetical order:
[@&#8203;adrienbrault](https://togithub.com/adrienbrault),
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar),
[@&#8203;BreakBB](https://togithub.com/BreakBB),
[@&#8203;brijeshb42](https://togithub.com/brijeshb42),
[@&#8203;chhawinder](https://togithub.com/chhawinder),
[@&#8203;christophermorin](https://togithub.com/christophermorin),
[@&#8203;codewithrabeeh](https://togithub.com/codewithrabeeh),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DarhkVoyd](https://togithub.com/DarhkVoyd),
[@&#8203;devuser200](https://togi

</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 becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzcuMTIxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2024-01-11 08:17:10 +00:00
Fredrik Strand Oseberg
0b50a4e7c5
fix/remove cancel button (#5838)
This PR removes the cancel button from the new constraint accordion.
Since we now do autosave when the constraint updates, cancel is no
longer needed, the done button and delete button is enough.
2024-01-11 08:55:49 +01:00
Fredrik Strand Oseberg
78fa122604
Fix/banner placement (#5833)
This PR determines where we show the banners in the new strategy
configuration:

<img width="1166" alt="Skjermbilde 2024-01-10 kl 14 46 35"
src="https://github.com/Unleash/unleash/assets/16081982/db2cd3aa-9de5-4095-873f-33e09610c74f">
2024-01-10 16:08:56 +01:00
Fredrik Strand Oseberg
d6afe69a0f
Fix/constraint accordion autosave (#5825)
This PR adds autosave to the constraint accordion which means that when
you add values to it, it will automatically save the constraint locally.
If you unmount the constraint component without any valid values, it
will remove the constraint from the list.
2024-01-10 11:48:15 +01:00
Nuno Góis
10c3acd27d
chore: adapt integrations layout for incoming webhooks (#5828)
https://linear.app/unleash/issue/2-1823/adapt-integrations-page-to-incoming-webhooks-tab-layout

Adapts the current integrations page to the incoming webhooks feature,
which includes things like:
- Displaying both configured and available integrations in a single
"page block"
 - Implement tabs
 - Add "Incoming Webhooks" integration card
 - Adapt the existing `IntegrationCard` component to support `onClick`

This also includes a small girl scouting fix: Some tabs (like on the
roles page) did not correctly reflect the active tab.

### `incomingWebhooks` disabled


![image](https://github.com/Unleash/unleash/assets/14320932/f5c1c61b-0eb1-487e-ab5a-c65e9fc168c8)

### `incomingWebhooks` enabled

Notice the new "Incoming webhooks" tab and integration card.


![image](https://github.com/Unleash/unleash/assets/14320932/f5680ad5-4a00-4acb-bc8d-77160cc91034)
2024-01-10 10:33:51 +00:00
Jaanus Sellin
d770f624e6
refactor: move plausible context on top of feedback (#5824)
We were unable to send plausible events from feedback. Now we can.
2024-01-10 11:31:41 +02:00
renovate[bot]
92ae2235a0
chore(deps): update dependency @biomejs/biome to v1.4.1 (#5709)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@biomejs/biome](https://biomejs.dev)
([source](https://togithub.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome))
| [`1.4.0` ->
`1.4.1`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/1.4.0/1.4.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@biomejs%2fbiome/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@biomejs%2fbiome/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@biomejs%2fbiome/1.4.0/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@biomejs%2fbiome/1.4.0/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>biomejs/biome (@&#8203;biomejs/biome)</summary>

###
[`v1.4.1`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#141-2023-11-30)

[Compare
Source](889593e3f9...a887513062)

##### Editors

- Fix [#&#8203;933](https://togithub.com/biomejs/biome/issues/933). Some
files are properly ignored in the LSP too. E.g. `package.json`,
`tsconfig.json`, etc.

##### Formatter

##### Bug fixes

- Fix some accidental line breaks when printing array expressions within
arrow functions and other long lines
[#&#8203;917](https://togithub.com/biomejs/biome/pull/917). Contributed
by [@&#8203;faultyserver](https://togithub.com/faultyserver)

- Match Prettier's breaking strategy for `ArrowChain` layouts
[#&#8203;934](https://togithub.com/biomejs/biome/pull/934). Contributed
by [@&#8203;faultyserver](https://togithub.com/faultyserver)

- Fix double-printing of leading comments in arrow chain expressions
[#&#8203;951](https://togithub.com/biomejs/biome/pull/951). Contributed
by [@&#8203;faultyserver](https://togithub.com/faultyserver)

##### Linter

##### Bug fixes

- Fix [#&#8203;910](https://togithub.com/biomejs/biome/issues/910),
where the rule `noSvgWithoutTitle` should skip elements that have
`aria-hidden` attributes. Contributed by
[@&#8203;vasucp1207](https://togithub.com/vasucp1207)

##### New features

-   Add [useForOf](https://biomejs.dev/linter/rules/use-for-of) rule.
The rule recommends a for-of loop when the loop index is only used to
read from an array that is being iterated.
Contributed by [@&#8203;victor-teles](https://togithub.com/victor-teles)

##### Enhancement

- Implements
[#&#8203;924](https://togithub.com/biomejs/biome/issues/924) and
[#&#8203;920](https://togithub.com/biomejs/biome/issues/920).
[noUselessElse](https://biomejs.dev/linter/rules/no-useless-else) now
ignores `else` clauses that follow at least one `if` statement that
doesn't break early. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

    For example, the following code is no longer reported by the rule:

    ```js
    function f(x) {
        if (x < 0) {
          // this `if` doesn't break early.
        } else if (x > 0) {
            return x;
        } else {
            // This `else` block was previously reported as useless.
        }
    }
    ```

##### Bug fixes

- Fix [#&#8203;918](https://togithub.com/biomejs/biome/issues/918),
[useSimpleNumberKeys](https://biomejs.dev/linter/rules/use-simple-number-keys)
no longer repports false positive on comments. Contributed by
[@&#8203;kalleep](https://togithub.com/kalleep)

- Fix [#&#8203;953](https://togithub.com/biomejs/biome/issues/953),
[noRedeclare](https://biomejs.dev/linter/rules/no-redeclare) no longer
reports type parameters with the same name in different mapped types as
redeclarations. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;608](https://togithub.com/biomejs/biome/issues/608),
[useExhaustiveDependencies](https://biomejs.dev/linter/rules/use-exhaustive-dependencies)
no longer repports missing dependencies for React hooks without
dependency array. Contributed by
[@&#8203;kalleep](https://togithub.com/kalleep)

##### Parser

</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 becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Leek <david@getunleash.io>
2024-01-10 09:11:49 +00:00
Gastón Fournier
72f84f0381
feat: overflow email when it's too long (#5801)
## About the changes
For long emails we want to 
![Screenshot from 2024-01-09
10-29-42](https://github.com/Unleash/unleash/assets/455064/85305c41-25c3-4c54-8159-f9ce32adeb6c)


![image](https://github.com/Unleash/unleash/assets/455064/b1728aa0-eb93-44d9-ab65-e41d3fae0d2b)
2024-01-09 11:07:42 +01:00
andreas-unleash
fbeb5425af
feat: add tooltip to Scheduled badge (#5726)
Closes #
[1-1831](https://linear.app/unleash/issue/1-1831/enhancement-tooltips-for-change-request-overview-page-to-add-hover)

<img width="1332" alt="Screenshot 2023-12-22 at 12 59 15"
src="https://github.com/Unleash/unleash/assets/104830839/1a851b47-4756-4f3f-a9e6-14067e395738">
<img width="1263" alt="Screenshot 2023-12-22 at 12 59 07"
src="https://github.com/Unleash/unleash/assets/104830839/cdce0e81-3e04-4414-8965-13072b282dea">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2024-01-09 10:32:52 +02:00
Nuno Góis
c8fb313004
chore: incoming webhook token hooks (#5790)
https://linear.app/unleash/issue/2-1814/create-new-incoming-webhook-token-hooks-on-the-frontend

Adds incoming webhook token hooks to help us with CRUD operations on the
frontend.
2024-01-08 15:43:24 +00:00
Nuno Góis
68d7af919d
chore: incoming webhook hooks (#5788)
https://linear.app/unleash/issue/2-1813/create-new-incoming-webhook-hooks-on-the-frontend

Adds incoming webhook hooks to help us with CRUD operations on the
frontend.
2024-01-08 15:12:47 +00:00
Mateusz Kwasniewski
8955a9906d
feat: extended metrics options ui (#5786) 2024-01-08 14:49:41 +01:00
Thomas Heartman
c6f1f44e64
chore: show new change request diagram for users who are exposed to scheduled CRs (#5777)
This PR adds the new CR diagram (with schedule info) conditionally.
It'll only render for users who are exposed to scheduled CRs.

It also updates the text of the old version to make it all consistent
and adds a `aria-details` attribute to the SVG so that assistive tech
knows what it is.

New version

![image](https://github.com/Unleash/unleash/assets/17786332/54833996-41ff-4d5c-9c62-8eb36aa065c6)
2024-01-08 09:49:13 +05:30
Nuno Góis
c6ba9603c8
fix: demo banner zIndex, display on top (#5776)
This PR does 2 things:
- Fixes the `DemoBanner` zIndex to be the same as the sticky banners (no
longer displays on top of modals)
- Moves the `Demo` wrapper to `App` instead of `MainLayout`, always
displaying the demo banner before other banners


![image](https://github.com/Unleash/unleash/assets/14320932/b115ee7f-26e0-468f-91aa-1f82335a6538)
2024-01-05 14:57:34 +00:00
Fredrik Strand Oseberg
04814bfc63
fix: add condition to show variants tab (#5775)
Adds a conditional check so we don't display this tab for strategies
that don't support it.
2024-01-05 11:05:58 +01:00
Fredrik Strand Oseberg
de7f6e035e
feat: add badges to the new strategy configuration form (#5773)
This PR adds badges to display the amount of variants and constraints /
segments.

<img width="778" alt="Skjermbilde 2024-01-05 kl 10 12 39"
src="https://github.com/Unleash/unleash/assets/16081982/3a188d46-7d2f-4fa2-b2a9-e64a59d5ef09">
2024-01-05 10:28:27 +01:00
Fredrik Strand Oseberg
46ecce49a8
fix: add checks to remove warnings on project settings (#5766)
This PR removes warning on the project settings by always making sure we
have the project before rendering the settings and do a conditional
check on the featureLimit number field.
2024-01-05 09:23:12 +01:00
Nuno Góis
769146fbd3
fix: properly handle markdown links (#5768)
Iterates on https://github.com/Unleash/unleash/pull/5762

While on the previous PR we would always open markdown links on a new
tab, we still want to navigate on the same tab when a relative link is
specified.

This adds a new `Markdown` common component with this logic by default,
which should make things a lot simpler and easier to maintain. The logic
that was followed is similar to the existing internal/external links
logic in our banners.
2024-01-05 08:18:34 +00:00
Nuno Góis
ab139553c5
fix: adapts react markdown to open links in new tab (#5762)
Adapts our current implementations of `ReactMarkdown` to always open
markdown links in new tabs.
2024-01-04 14:32:27 +00:00
Jaanus Sellin
77074a26de
refactor: now always show feedback button for search page (#5765) 2024-01-04 14:59:45 +02:00
Jaanus Sellin
182901aab6
feat: plausible for feedback (#5763) 2024-01-04 14:38:54 +02:00
Jaanus Sellin
b24471c1b4
feat: add dont ask me again button (#5753) 2024-01-04 14:10:01 +02:00
Fredrik Strand Oseberg
5582339560
feat: add click away handler to sidebar content (#5751)
Does what it says on the can
2024-01-04 12:33:00 +01:00
Thomas Heartman
ff96563742
fix: align timeline icon for schedule failures (#5761)
Aligns the icon to the end of the end of the box to make it match the
text.

Also removes a redundant br element.
2024-01-04 16:04:50 +05:30
Thomas Heartman
795aa18bca
fix: use the correct icon for failed scheduled CRs (#5760)
This PR switches the notification icon to an exclamation mark (the Error
icon). It updates three components:

1. The badge
2. The timeline
3. The review status

Screenshot with all the replaced icons

![image](https://github.com/Unleash/unleash/assets/17786332/cb10b8d1-9da3-4c48-b13c-09c7680e2b05)
2024-01-04 15:44:53 +05:30
Nuno Góis
8736189b4f
fix: UI improvements related to the increase of width (#5752)
https://linear.app/unleash/issue/UNL-309/1500px-width-ui-issues

UI fixes, improvements and adjustments related to the recent increase in
width on the UI. Tried to follow the feature flag logic wherever it made
sense.


![image](https://github.com/Unleash/unleash/assets/14320932/b5b4f437-c232-4025-ab24-09070a036592)


![image](https://github.com/Unleash/unleash/assets/14320932/e9008e3b-db5c-4553-bd7d-58a01120433d)


Co-authored-by: Nicolae <nicolae@getunleash.ai>
2024-01-04 09:57:30 +00:00
Jaanus Sellin
e0c9ef6d2f
fix: snapshot update to fix build (#5755) 2024-01-04 09:02:08 +01:00
Simon Hornby
efa2117ded
chore: update default version in UI (#4761)
We get a flash of the Unleash scaffold when we first load the page. For
a brief moment, we display version 3 and then overwrite it with the
correct version. Looks kinda silly, we know we're in version 5.x so
let's just do that
2024-01-03 22:23:25 +01:00
Fredrik Strand Oseberg
70600552d2
Feat/add feedback to new strategy form (#5745)
This PR adds the feedback form to the new create / edit strategy form
behind a feature flag.

* Add feedback form
* Minor refactor to useFeedback
2024-01-03 15:43:22 +01:00
Jaanus Sellin
a73d87a943
feat: make feedback available for OSS (#5748) 2024-01-03 15:08:01 +02:00
Thomas Heartman
1556a51e37
fix: update text in scheduling components (#5746)
This pr updates the text in some of the scheduling components to be more
clear and consistent.
2024-01-03 18:18:52 +05:30
Thomas Heartman
b0c5baa9d3
chore: format schedule information according to user preferences (#5747)
This pr uses the user's preferred timezone to display the scheduled
times. If the user has no preferences, the default will be used.

With norwegian locale set as preference: 

<img width="1529" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/0072432c-e470-4edc-91fb-864a86bc8f30">

With nothing set (falls back to my system setting):
<img width="1529" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/adf3d95f-4015-4302-ac09-e3ba511090db">
2024-01-03 18:18:43 +05:30
Ivar Conradi Østhus
fef6935d3a
feat: license checker for self-hosted (#5239)
Show banner for enterprise self-hosted if they violate their license.

---------

Co-authored-by: Nuno Góis <github@nunogois.com>
2024-01-02 20:06:35 +00:00
Jaanus Sellin
dc0df235dd
chore: remove private projects flag (#5743) 2024-01-02 15:53:26 +02:00
Fredrik Strand Oseberg
049c5b9afa
feat: variant name change on create (#5742)
This PR refactores the StrategyVariants component to be passed in from
the outside to the new form component. This allows us to pass in the
StrategyVariants with an "editable" property in the create form which we
use to determine the editable state of the name input field. If the
editable field is not passed in we keep the old behavior.

Notable changes:
* StrategyVariants is now passed in from the outside, allowing us to
define different props at call time
* Added tests for the new behavior, and for keeping the old behavior
(such as in edit strategy)
* Added tracking
2024-01-02 13:53:04 +01:00
Jaanus Sellin
e4c9a257ad
feat: make local storage work and make feedback url configurable (#5738)
Make storage work react way.
Make feedback url configurable by env variable.
2023-12-29 13:19:08 +02:00
Jaanus Sellin
55bd0a6760
feat: keep feedback submission in local storage (#5737)
Now it will track if feedback has been submitted in local storage.
2023-12-29 10:08:19 +02:00
Jaanus Sellin
86da11015c
feat: ui now connects to backend, full e2e (#5736)
Added API hooks and now frontend actually sends data to database.
2023-12-28 14:31:53 +02:00
Jaanus Sellin
2588a90f79
feat: feedback screen main ui (#5729)
Completes the main UI for feedback.
Next steps is to correct data flow and finetuning.
2023-12-28 09:30:36 +02:00
Tymoteusz Czech
eeb2b2115e
Fix: icon rendering issue in ApplicationList and add help to app update (#5730)
- Fixed app icon rendering
- Added tooltip with link to MUI
2023-12-27 18:35:08 +01:00
Jaanus Sellin
9d8487ad6e
feat: feedback skeleton ui (#5727)
This adds component, which will allow to draw feedback component based
on incoming data.
2023-12-22 15:09:02 +02:00
Jaanus Sellin
d8a7d76f7b
chore: generate missing orval types (#5722) 2023-12-22 12:10:50 +02:00
andreas-unleash
12100b3912
fix: add padding to warning banner (#5720)
Closes #
[1-1830](https://linear.app/unleash/issue/1-1830/potential-conflict-warning-add-padding-8px)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-21 14:58:17 +02:00
andreas-unleash
aea18d1ac4
fix: review status title color (#5716)
Closes #
[1-1825](https://linear.app/unleash/issue/1-1825/change-the-color-of-the-scheduled-and-pending-state-to-warningdark)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-21 14:38:33 +02:00
Jaanus Sellin
3926ec6c51
feat: tracking feature buttons clicks (#5714) 2023-12-21 11:01:16 +02:00
Tymoteusz Czech
9b7981047d
Fix row selection on paginated pages (#5706) 2023-12-21 11:01:10 +02:00
David Leek
4e56d1d8d5
feat: implement column created_by_user_id in feature_tag (#5695)
## About the changes

Adds the new nullable column created_by_user_id to the data used by
feature-tag-store and feature-tag-service. Also updates openapi schemas.
2023-12-21 10:00:45 +01:00
andreas-unleash
e0f83347ab
fix: hide variant diff if no change in ChangeRequestOverview (#5715)
Closes #
[1-1813](https://linear.app/unleash/issue/1-1813/do-not-show-variants-table-in-change-request-when-no-variant-change)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-21 10:39:18 +02:00
Fredrik Strand Oseberg
3ab331dce7
feat: increase unleash width (#5707)
This PR adds two feature flags:
* One is to add some holiday cheer to the unleash logo
* The other allows us to increase the width of unleash if the screen
allows it

<img width="1837" alt="Skjermbilde 2023-12-20 kl 16 18 16"
src="https://github.com/Unleash/unleash/assets/16081982/a25ccfb0-fd99-470f-8583-3ba9ef9186f9">
2023-12-21 08:42:28 +01:00
Fredrik Strand Oseberg
59a6ef46e8
fix: separate concerns for ConstraintAccordionList (#5701)
## Problem

The ConstraintAccordionList component was used in multiple places: 
* Playground
* Segment form
* StrategyExecution
* Change requests
* Create strategy
* Edit strategy

This is problematic because some of the views are just pure visual
representations, and other views allow you to interact with and edit the
constraints. This causes a situation where the visual representation
needs to be aware of the implementation details of editing and mutating
constraints. In addition the ConstraintAccordionList is not just a pure
rendering of the list, it also keeps internal state on when to show the
create button and optional headers. This is makes it hard to make
changes when stylings need to be subtly different across components.

## Solution

Taking on the full refactor for this is out of scope, but it's
unfortunate that the ConstraintAccordionList needs all this internal
state. For now I split out the list into it's own component called
ConstraintList. I gathered the functions needed for editing and mutating
the constraints in a reusable hook and isolated the version of the list
used in the new feature strategy edit / create components into it's own
component so that the changes in layout will not affect anything else.

Ideally we should try to move towards a future where the components
don't keep internal state like this but clear boundaries and purposes
for the use.
2023-12-20 15:36:23 +01:00
Tymoteusz Czech
6d0e32810c
fix: empty paginated table state (#5685)
Table placeholder should be visible if search query returns no data.
2023-12-20 14:11:21 +00:00
Mateusz Kwasniewski
f3ca4f0c54
chore: upgrading vite to newer version (#5703) 2023-12-20 14:48:18 +01:00
andreas-unleash
0f8a6661a8
Feat: allow rescheduling of failed scheduled cr (#5702)
Allows for rescheduling failed scheduled requests

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-20 15:19:23 +02:00
Jaanus Sellin
bb5b322475
fix: now project overview has skeleton instead of placeholders (#5696)
Removed `ref` dependency from `useLoading` hook, it was being overly
reactive and breaking skeleton.
2023-12-20 14:59:41 +02:00
Mateusz Kwasniewski
7be0c55d39
fix: move paginated table into isolation context (#5694) 2023-12-20 10:47:22 +01:00
Fredrik Strand Oseberg
5a263ee35c
Feat/new strategy configuration tests (#5692)
Does what it says
2023-12-20 09:16:45 +01:00
Jaanus Sellin
c979e687ca
fix: remove extra call to features on project load (#5690)
Currently EnableEnvironmentDialog was loaded even if no feature was
touched. Now it will only load, if feature toggle was selected.
2023-12-19 21:03:24 +02:00
Tymoteusz Czech
dce91b0e90
fix: pagination and column width 2023-12-19 16:24:43 +01:00
Mateusz Kwasniewski
8306073e1f
feat: keep filter order (#5688) 2023-12-19 15:35:39 +01:00
Nuno Góis
c0bc2d9b68
fix: prevent banner from crashing with invalid variant (#5686)
https://linear.app/unleash/issue/2-1760/prevent-banner-from-crashing-when-set-with-an-invalid-variant

This prevents the banner from crashing when set with an invalid variant.
Instead, it default its styles to the default variant, which is `info`.

Also adds tests to validate our assumptions.
2023-12-19 13:09:40 +00:00
Tymoteusz Czech
8388700f76
fix: project features batch actions refetch (#5680)
Reload paginated features on project overview after batch action.
2023-12-19 14:46:06 +02:00
Jaanus Sellin
42943ada75
fix: now history is only shown to search bars that have id to save hi… (#5684) 2023-12-19 14:20:10 +02:00
Jaanus Sellin
8e09f08a05
feat: rebrand feature toggle list as search (#5675) 2023-12-19 13:42:14 +02:00
Mateusz Kwasniewski
7800d9d1b4
feat: export all features in project (#5677) 2023-12-19 08:57:10 +01:00
Tymoteusz Czech
b2c31a3bd3
fix: column visibility (#5676)
- always show favorites and selection
- reset local storage columns cache
2023-12-18 16:24:39 +01:00
Mateusz Kwasniewski
e380d28924
feat: up and down arrow navigation for filter items (#5673) 2023-12-18 14:13:32 +01:00
andreas-unleash
75bdd73c15
feat: add plausible tracking to scheduling (#5668)
Adds plausible tracking with actions:
- scheduled-created
- scheduled-updated
- scheduled-rejected
- scheduled-applied

Closes #
[1-1630](https://linear.app/unleash/issue/1-1630/add-plausible-metrics)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-18 15:06:58 +02:00
Paulo Miranda
fd34f35e0e
feat: add reset password to user manager (#5580)
## About the changes
This PR adds a reset password functionality to user table (only available to admins). This makes it possible to reset passwords without configuring the email service.

![Screenshot from 2023-12-10
20-41-22](https://github.com/Unleash/unleash/assets/32435715/0209525a-4f3a-4998-b9de-7299469e1a68)

![Screenshot from 2023-12-16
16-40-36](https://github.com/Unleash/unleash/assets/32435715/556e324c-c0b0-4bb9-b2b5-3bd653f4d329)

![Screenshot from 2023-12-16
16-40-48](https://github.com/Unleash/unleash/assets/32435715/b0249e9d-9e1a-4cfe-a5ee-0ab22f45ce28)

---------

Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
Co-authored-by: Thomas Heartman <thomasheartman+github@gmail.com>
2023-12-18 13:54:04 +01:00
Mateusz Kwasniewski
c5b3058890
fix: date filter item missing key (#5674) 2023-12-18 13:51:27 +01:00
Mateusz Kwasniewski
6bf54a2f24
feat: keyboard navigation filter item (#5667) 2023-12-18 12:36:00 +01:00
Mateusz Kwasniewski
5ba588f59a
feat: Multi highlighter (#5666) 2023-12-18 10:58:07 +01:00
andreas-unleash
7fdd720aa3
feat: show failure in cr overview (#5660)
Show failure reason in change request overview

Closes
[1-1769](https://linear.app/unleash/issue/1-1769/add-reason-and-icon-to-change-request-overview)
<img width="771" alt="Screenshot 2023-12-15 at 10 37 03"
src="https://github.com/Unleash/unleash/assets/104830839/898b6ac9-bd44-442f-92a4-9b4d5754fea7">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-18 11:37:56 +02:00
Jaanus Sellin
2da919fee9
fix: disable sort (#5665)
'
2023-12-18 10:25:10 +02:00
Mateusz Kwasniewski
cc01971ff0
feat: update message with no feature toggles (#5663) 2023-12-18 09:05:58 +01:00
Tymoteusz Czech
50ff36cbce
feat: feature table tags (#5659)
- tags on project overview
- refactor of tags cell
2023-12-15 16:22:19 +01:00
Mateusz Kwasniewski
d429f51cbd
feat: filter chips icons (#5658) 2023-12-15 13:42:09 +00:00
Fredrik Strand Oseberg
864ae4530b
Feat/new strategy configuration header (#5655)
This PR adds more information to the header of the strategy according to
the new designs:

<img width="1298" alt="Skjermbilde 2023-12-15 kl 13 31 26"
src="https://github.com/Unleash/unleash/assets/16081982/73a3bc6b-c78b-4f24-b9f3-8a4b2c14e39c">
2023-12-15 14:09:47 +01:00
Mateusz Kwasniewski
8283edfc0a
feat: Sort by stale (#5653) 2023-12-15 11:56:06 +00:00
Mateusz Kwasniewski
bf4d37fded
feat: disable sorting on selected columns (#5652) 2023-12-15 12:47:00 +01:00
Fredrik Strand Oseberg
cbd6aa1324
Feat/new strategy variants tab (#5649)
This PR sets up the variants tab for the new strategy configuration.
Also some minor adjustments to the new form:

* Change where padding is controlled to allow us to have more granular
control over how the buttons width and border should look and have the
tabs have full-width borders across the form
* Move the buttons to be absolutely positioned at the bottom of the page
* Move where we display banners to avoid clutter

<img width="1284" alt="Skjermbilde 2023-12-14 kl 21 17 53"
src="https://github.com/Unleash/unleash/assets/16081982/45e6a364-e4aa-47ac-b420-f3be9b39a15e">
2023-12-15 12:26:13 +01:00
Jaanus Sellin
848415c5ca
feat: add history for search (#5651)
This is simple refactor. Just moving history part out of suggestions
component.
2023-12-15 13:22:19 +02:00
Tymoteusz Czech
203d6ac848
refactor: paginated project table cleanup (#5646)
- added `getRowId` - fix row selection
- move and rename paginated table
2023-12-15 11:37:49 +01:00
Nuno Góis
8be09510e8
chore: clean up banners feature flag (#5648)
Cleans up some leftover references to the `banners` feature flag. 

Related to https://github.com/Unleash/unleash/pull/5348
2023-12-15 10:16:13 +00:00
Nuno Góis
f84fa81ebe
chore: add incomingWebhooks feature flag (#5647)
https://linear.app/unleash/issue/2-1683/feature-flag-add-a-new-incomingwebhooks-feature-flag-for-this-feature

Adds a new `incomingWebhooks` feature flag.
2023-12-15 10:15:52 +00:00
Mateusz Kwasniewski
0726887bb8
feat: reset persistent table offset on change (#5650) 2023-12-15 10:20:55 +01:00
Fredrik Strand Oseberg
53b32db278
Feat/new strategy configuration targeting tab (#5643)
This PR sets up the new targeting tab for strategy configuration:

<img width="1292" alt="Skjermbilde 2023-12-14 kl 11 24 11"
src="https://github.com/Unleash/unleash/assets/16081982/5c2d8f02-b3ec-49d4-b8bd-90f93ef3931c">
2023-12-15 10:20:34 +01:00
Jaanus Sellin
fbb5dd9022
feat: add icons to filters (#5640) 2023-12-14 15:06:26 +02:00
Mateusz Kwasniewski
772682176e
feat: pagination reset on feature list (#5644) 2023-12-14 13:44:27 +01:00
andreas-unleash
a595c0fbcc
feat: show failure reason for scheduled requests in timeline (#5639)
Adds an icon with a tooltip and changes the dot color to red for
scheduled change requests

Closes #
[1-1768](https://linear.app/unleash/issue/1-1768/add-reason-and-icon-to-timeline)
<img width="1668" alt="Screenshot 2023-12-14 at 10 20 27"
src="https://github.com/Unleash/unleash/assets/104830839/dcf54834-ea9f-4e78-b69d-15d6179ffce3">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-14 11:49:14 +02:00
andreas-unleash
cbd50ac0f5
Feat: show status of scheduled change request (#5630)
Modifies the ChangeRequestStatusBadge to display the failed execution

Closes #
[1-1767](https://linear.app/unleash/issue/1-1767/add-status-to-scheduled-badge)
![Screenshot 2023-12-13 at 13 10
42](https://github.com/Unleash/unleash/assets/104830839/5aab83b4-a3d8-4a88-8f17-628cb37d7850)
![Screenshot 2023-12-13 at 13 15
26](https://github.com/Unleash/unleash/assets/104830839/799e4bbe-b469-4cee-a3df-f0b6efcca33a)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-14 11:49:03 +02:00
Mateusz Kwasniewski
176e22ed40
feat: adjust filter chips styling (#5638) 2023-12-14 10:40:12 +01:00
Tymoteusz Czech
29bd636273
Feat: row actions (#5635)
- add table placeholder back
- add row actions column
- refactor actions into hook
- batch actions
2023-12-14 09:04:56 +01:00
Mateusz Kwasniewski
adb9ba5c09
test: filter selection avoid duplicates (#5636) 2023-12-13 15:57:49 +01:00
Jaanus Sellin
d00d27a9ac
fix: last seen now will not break (#5634) 2023-12-13 16:05:54 +02:00
Jaanus Sellin
1191094981
feat: add tests for filters component (#5632) 2023-12-13 16:05:09 +02:00
Mateusz Kwasniewski
bcf0e6b7a3
fix: avoid duplicate unselected filters (#5633) 2023-12-13 13:01:55 +01:00
Fredrik Strand Oseberg
c552f3ae72
Feat/new strategy configuration general tab (#5628)
* Adds the new general tab settings behind a feature flag
* Adds a test for the FlexibleStrategy component
2023-12-13 12:34:43 +01:00
Mateusz Kwasniewski
54316cace3
feat: project filter names (#5627) 2023-12-13 11:34:30 +01:00
Jaanus Sellin
92dd3feec2
refactor: project overview using filters component (#5626) 2023-12-13 11:56:08 +02:00
Jaanus Sellin
ed4a182e7e
refactor: filter abstraction (#5625) 2023-12-13 11:43:02 +02:00
Tymoteusz Czech
17b747ea8f
feat: project features - new columns visibility handling (#5605)
In `ExperimentalProjectTable.tsx`, changes have been made to the columns
configuration in order to handle column visibiilty. This includes adding
id property to every column. Logic responsible for dynamically adjusts
column visibility based on screen size was moved to new hook,
`useDefaultColumnVisibility`
2023-12-13 10:08:16 +01:00
Jaanus Sellin
c0c1dba9b0
refactor: simplify configuration for filters (#5622)
This is building block of abstraction for filters.
2023-12-13 10:23:59 +02:00
Mateusz Kwasniewski
11b477d872
test: scrollable filter options and sticky search (#5623) 2023-12-13 09:23:20 +01:00
Mateusz Kwasniewski
2b7e127680
test: feature toggle list table (#5618) 2023-12-13 08:13:19 +01:00
Jaanus Sellin
4f207f18e6
feat: filters for project overview (#5620) 2023-12-12 22:50:49 +02:00
Jaanus Sellin
1c95029319
feat: add plausible tracking (#5614) 2023-12-12 15:46:48 +02:00
Jaanus Sellin
8961a6e1db
fix: paginated project overview now returns single project (#5615) 2023-12-12 15:46:08 +02:00
andreas-unleash
4376697250
feat: show Changes scheduled in feature variants even when CR are dis… (#5613)
show Changes scheduled in feature variants even when CR are disabled

Modifies existing hook to call the new `change-requests/scheduled`
endpoint that returns the relevant scheduled change requests even when
change requests are disabled

Rename the ChangeRequestIdentityData to ScheduledChangeRequestViewModel
for consistency (finalised schemas will replace the BE and FE types in a
follow up PR)

Closes #
[1-1746](https://linear.app/unleash/issue/1-1746/show-change-scheduled-badge-in-feature-environment-variants-even-if)

<img width="1486" alt="Screenshot 2023-12-12 at 14 24 44"
src="https://github.com/Unleash/unleash/assets/104830839/7c4e92ef-81d8-423e-8b78-9015ede59952">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 15:34:32 +02:00
Tymoteusz Czech
bc62a98f51
update withTableState (#5603)
## About the changes
Handle column visibility from table state in URL and local storage.
2023-12-12 14:01:04 +01:00
Tymoteusz Czech
8a5a73ad7d
feat: new columns visibility menu (#5604)
New `<ColumnsMenu />` is using it's own list of elements instead of
inferring it from table columns definition. This component doesn't need
it's internal structure to depend on react-table and it's interface.
2023-12-12 13:41:25 +01:00
Jaanus Sellin
386c4baa86
feat: keep filters ordered based on user selection (#5609) 2023-12-12 13:01:23 +02:00
Mateusz Kwasniewski
850b78a699
fix: show popover on empty state (#5611) 2023-12-12 11:40:00 +01:00
Mateusz Kwasniewski
eebe43fcb1
feat: show dropdown immediately (#5606) 2023-12-12 09:27:50 +01:00
Mateusz Kwasniewski
e88beff2b2
feat: do not cache old search and filter results (#5600) 2023-12-12 08:47:57 +01:00
andreas-unleash
e02c252636
fix: show Changes scheduled badge for strategies even if change reque… (#5599)
show Changes scheduled badge for strategies even if change requests are
disabled

Closes #
[1-1745](https://linear.app/unleash/issue/1-1745/show-changes-scheduled-badge-in-strategy-item-even-if-change-requests)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 09:30:57 +02:00
Jaanus Sellin
74f6f15247
feat: do not show project if not multiple projects exist (#5598) 2023-12-11 16:02:10 +02:00
Fredrik Strand Oseberg
9dbb7ea9a9
feat: add initial setup for tabs (#5586)
This PR sets up the initial tab structure for the new strategy form
2023-12-11 13:39:21 +01:00
Tymoteusz Czech
d11aedc12f
Project Overview with react-table v8 (#5571) 2023-12-11 13:33:11 +01:00
Mateusz Kwasniewski
ba50d1ef69
feat: adjust styling for search filters (#5587) 2023-12-11 13:11:26 +01:00
Jaanus Sellin
9bae14a2cc
feat: add tags filter (#5584) 2023-12-11 14:10:03 +02:00
Fredrik Strand Oseberg
ec670450fd
feat: initial setup (#5583)
This PR sets up the feature flag for the new strategy configuration and
duplicates the components for the new setup
2023-12-11 12:23:18 +01:00
andreas-unleash
2322e1149a
feat: more info on staleness in health report (#5582)
Adds an info tooltip for potentially stale and a link to configure
feature toggle type lifetime


Closes
[UNL-215](https://linear.app/unleash/issue/UNL-215/improve-health-page-with-some-guidance-about-staleness)
<img width="1323" alt="Screenshot 2023-12-11 at 11 39 36"
src="https://github.com/Unleash/unleash/assets/104830839/386ec6e6-55df-42ca-b5e0-ef3e75448452">

<img width="1316" alt="Screenshot 2023-12-11 at 11 43 07"
src="https://github.com/Unleash/unleash/assets/104830839/5bf7df15-ff87-4ce0-be25-0c031c881d05">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-11 13:11:28 +02:00
Jaanus Sellin
5d80f5fa4d
feat: test filter date item (#5576) 2023-12-11 12:22:00 +02:00
Thomas Heartman
879e4c98e5
feat: show potential schedule conflicts when you archive flags (#5575)
Show change requests that would be impacted by an archive operation


![image](https://github.com/Unleash/unleash/assets/17786332/7b2af89a-7292-4b90-b7a4-768df375e0fb)
2023-12-11 10:45:45 +01:00
Tymoteusz Czech
e5c865b716
fix: menu routes for new features page - mobile option (#5566)
Remove duplicated option in the menu.
2023-12-08 14:53:10 +02:00
Thomas Heartman
cd731cef03
refactor: update the API url for getting scheduled change requests with a strategy (#5573)
Relates to enterprise PR 889; update the API url
2023-12-08 12:29:54 +01:00
Jaanus Sellin
166432bcb0
feat: support localization in date filter (#5572) 2023-12-08 13:20:39 +02:00
Jaanus Sellin
1173b664da
feat: add created date filter component (#5569) 2023-12-08 10:07:57 +02:00
Simon Hornby
0e5861ac33
chore: use explicit images for inverted operator rather than a boolean not operator (#5565) 2023-12-07 13:03:19 +02:00
Jaanus Sellin
e89ebf358e
refactor: split filter configuration with filter visibility state (#5563)
This PR splits the filter configuration with filter visibility state.
This will simplify adding different filter types in future, for example
date filters.
2023-12-07 11:59:35 +02:00
Mateusz Kwasniewski
38d02e1a85
feat: segments operators (#5562) 2023-12-06 17:38:36 +02:00
Thomas Heartman
a228f54344
feat: show scheduled CRs using strategies when removing it (#5560)
Show a warning about how deleting a strategy might mess up scheduled
change requests.

If there are change requests, list them. If there are no conflicts, show
nothing. If we don't know (because of no successful response from the
API), say that it might cause issues.


![image](https://github.com/Unleash/unleash/assets/17786332/2c6a4257-69f5-458a-ab6f-9b2ea2f5d550)
2023-12-06 15:39:17 +01:00
Mateusz Kwasniewski
87ebbb0fa2
feat: segments filter (#5558)
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2023-12-06 14:50:18 +02:00
Jaanus Sellin
eda4186a6c
fix: state now persist to filters (#5559)
When navigating to features list, now it will respect the query params.
2023-12-06 14:17:49 +02:00
Jaanus Sellin
d9648de08d
chore: rename is not any of to is none of (#5544) 2023-12-06 12:53:51 +02:00
Jaanus Sellin
eb43d37379
feat: segment cell and orval types (#5543) 2023-12-06 12:51:00 +02:00
Jaanus Sellin
b8fabbd726
feat: add new filter button with state (#5556)
[Screencast from 2023-12-05
16-59-28.webm](https://github.com/Unleash/unleash/assets/964450/793c771b-6246-4e28-8c13-920696a48bd5)

---------

Co-authored-by: kwasniew <kwasniewski.mateusz@gmail.com>
2023-12-06 12:50:33 +02:00
Mateusz Kwasniewski
da1a9d4036
test: Filter item test (#5557) 2023-12-06 09:10:15 +01:00
Mateusz Kwasniewski
2dcf4af7b1
feat: filter persisted in url (#5549) 2023-12-05 17:31:23 +01:00
Nuno Góis
f348acb3b9
feat: improve role form validation (#5548)
https://linear.app/unleash/issue/2-1717/improve-the-ux-when-all-the-required-fields-are-not-filled-in

Improves role form validation behavior.
We may want to look into a form validation library, like
[react-hook-form](https://react-hook-form.com/), for future
implementations.
2023-12-05 12:39:30 +00:00
Saeed Akasteh
fa9d38fc22
fix(removeapitokenbutton.tsx): add environment name in delete token modal (#5469)
add environment name in delete token modal
2023-12-05 13:17:31 +01:00
Tymoteusz Czech
b5122a74e7
refactor: table state management in withTableState (#5531) 2023-12-05 12:16:58 +01:00
Tymoteusz Czech
795c67306c
fix: features sidebar scroll (#5524)
Feature toggle overview screen - the sidebar getting sticky was making it hard to see many environments
2023-12-05 09:08:02 +01:00
Jaanus Sellin
6b2b7a3388
chore: generate new models from openapi (#5528) 2023-12-04 21:49:49 +02:00
Tymoteusz Czech
ddca82213a
refactor: project overview table state (#5530)
Use new table state management on project overview and on
project/features
2023-12-04 17:04:28 +01:00
Mateusz Kwasniewski
5c889df9be
test: persistent table state (#5529) 2023-12-04 15:47:53 +01:00
Tymoteusz Czech
a506b92544
feat: Refactor Table State Persistence in Feature Toggle List (#5527)
new custom hook, `usePersistentTableState`

Co-authored-by: Mateusz Kwasniewski <kwasniewski.mateusz@gmail.com>
2023-12-04 13:21:03 +00:00
Thomas Heartman
a0a15416c4
feat: display potential conflicts in existing change requests (#5521)
This update displays schedule conflicts in active change requests (any
CR that isn't applied, canceled, or rejected).


![image](https://github.com/Unleash/unleash/assets/17786332/181c6c0a-f5de-4eed-9093-ac0109e1e8f3)
2023-12-04 13:33:28 +01:00
Mateusz Kwasniewski
a9363efec1
fix: prevent search being stacked on top of the form dropdown (#5523) 2023-12-04 12:27:25 +01:00
Jaanus Sellin
a299885e22
feat: update project overview endpoint (#5518)
1. Created new hook for endpoint
2. Start removing useProject hook, when features not needed.
2023-12-01 20:00:35 +02:00
Tymoteusz Czech
755c22f3b9
feat: features list pagination (#5496)
New paginated table - tested on /features-new behind a flag
2023-12-01 14:53:05 +00:00
Tymoteusz Czech
fba80222de
Frontend OpenAPI types update (#5520) 2023-12-01 13:30:30 +00:00
andreas-unleash
02451baaf2
feat: hide change actions when change request is scheduled (#5514)
Added 'Scheduled' state to the check for non-pending change requests

Closes #
[1-1680](https://linear.app/unleash/issue/1-1680/remove-edit-change-ui-when-cr-is-scheduled)
<img width="868" alt="Screenshot 2023-11-30 at 11 54 44"
src="https://github.com/Unleash/unleash/assets/104830839/8e6afec5-1353-4030-b49b-4a8f3eaee5f6">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-30 12:52:29 +02:00
Mateusz Kwasniewski
2b66ba41dc
fix: groups link (#5511) 2023-11-30 09:42:27 +01:00
Tymoteusz Czech
f690fe86da
feat: new search for feature toggle list table (#5454)
Filtering of feature toggles list with backend
2023-11-29 10:42:35 +01:00
Tymoteusz Czech
e476de5faa
feat: update feature search (#5473) 2023-11-29 08:45:30 +01:00
renovate[bot]
c7498dcac6
chore(deps): update dependency @biomejs/biome to v1.4.0 (#5288)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@biomejs/biome](https://biomejs.dev)
([source](https://togithub.com/biomejs/biome)) | [`1.3.3` ->
`1.4.0`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/1.3.3/1.4.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@biomejs%2fbiome/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@biomejs%2fbiome/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@biomejs%2fbiome/1.3.3/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@biomejs%2fbiome/1.3.3/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>biomejs/biome (@&#8203;biomejs/biome)</summary>

###
[`v1.4.0`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#140-2023-11-27)

[Compare
Source](af24597c18...889593e3f9)

##### CLI

- Remove the CLI options from the `lsp-proxy`, as they were never meant
to be passed to that command. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add option `--config-path` to `lsp-proxy` and `start` commands. It's
now possible to tell the Daemon server to load `biome.json` from a
custom path. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add new `--diagnostic-level` option to let users control the level of
diagnostics printed by the CLI. Possible values are: `"info"`, `"warn"`,
`"hint"`. Contributed by
[@&#8203;simonxabris](https://togithub.com/simonxabris)

- Add option `--line-feed` to the `format` command. Contributed by
[@&#8203;SuperchupuDev](https://togithub.com/SuperchupuDev)

- Add option `--bracket-same-line` to the `format` command. Contributed
by [@&#8203;faultyserve](https://togithub.com/faultyserve)

- Add option `--bracket-spacing` to the `format` command. Contributed by
[@&#8203;faultyserve](https://togithub.com/faultyserve)

##### Bug fixes

- Fix the command `format`, now it returns a non-zero exit code when if
there pending diffs. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

##### Configuration

- Add option `formatter.lineFeed`. Contributed by
[@&#8203;SuperchupuDev](https://togithub.com/SuperchupuDev)
- Add option `javascript.formatter.bracketSameLine`. Contributed by
[@&#8203;faultyserve](https://togithub.com/faultyserve)
- Add option `javascript.formatter.bracketSpacing`. Contributed by
[@&#8203;faultyserve](https://togithub.com/faultyserve)

##### Formatter

##### New features

- Add a new option
[`--line-ending`](https://biomejs.dev/reference/configuration/#formatterlineending).
This option allows changing the type of line endings. Contributed by
[@&#8203;SuperchupuDev](https://togithub.com/SuperchupuDev)
- Added a new option called `--bracket-spacing` to the formatter. This
option allows you to control whether spaces are inserted around the
brackets of object literals.
[#&#8203;627](https://togithub.com/biomejs/biome/issues/627).
Contributed by [@&#8203;faultyserver](https://togithub.com/faultyserver)
- Added a new option called `--bracket-same-line` to the formatter. This
option allows you to control whether spaces are inserted around the
brackets of object literals.
[#&#8203;627](https://togithub.com/biomejs/biome/issues/627).
Contributed by [@&#8203;faultyserver](https://togithub.com/faultyserver)

##### Bug fixes

- Fix [#&#8203;832](https://togithub.com/biomejs/biome/issues/832), the
formatter no longer keeps an unnecessary trailing comma in type
parameter lists. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;301](https://togithub.com/biomejs/biome/issues/301), the
formatter should not break before the `in` keyword. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

##### Linter

##### Promoted rules

-
[a11y/noInteractiveElementToNoninteractiveRole](https://biomejs.dev/linter/rules/no-interactive-element-to-noninteractive-role)
-
[complexity/noThisInStatic](https://biomejs.dev/linter/rules/no-this-in-static)
-
[complexity/useArrowFunction](https://biomejs.dev/linter/rules/use-arrow-function)
-
[correctness/noEmptyCharacterClassInRegex](https://biomejs.dev/linter/rules/no-empty-character-class-in-regex)
-
[correctness/noInvalidNewBuiltin](https://biomejs.dev/linter/rules/no-invalid-new-builtin)
-
[style/noUselessElse](https://biomejs.dev/linter/rules/no-useless-else)
-
[style/useAsConstAssertion](https://biomejs.dev/linter/rules/use-as-const-assertion)
-
[style/useShorthandAssign](https://biomejs.dev/linter/rules/use-shorthand-assign)
-
[suspicious/noApproximativeNumericConstant](https://biomejs.dev/linter/rules/no-approximative-numeric-constant)
-
[suspicious/noMisleadingInstantiator](https://biomejs.dev/linter/rules/no-misleading-instantiator)
-
[suspicious/noMisrefactoredShorthandAssign](https://biomejs.dev/linter/rules/no-misrefactored-shorthand-assign)

The following rules are now recommended:

-   [a11y/noAccessKey](https://biomejs.dev/linter/rules/no-access-key)
-
[a11y/useHeadingContent](https://biomejs.dev/linter/rules/use-heading-content)
-
[complexity/useSimpleNumberKeys](https://biomejs.dev/linter/use-simple-number-keys)

The following rules are now deprecated:

-
[correctness/noNewSymbol](https://biomejs.dev/linter/rules/no-new-symbol)
The rule is replaced by
[correctness/noInvalidNewBuiltin](https://biomejs.dev/linter/rules/no-invalid-new-builtin)

##### New features

- Add
[noDefaultExport](https://biomejs.dev/linter/rules/no-default-export)
which disallows `export default`. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Add
[noAriaHiddenOnFocusable](https://biomejs.dev/linter/rules/no-aria-hidden-on-focusable)
which reports hidden and focusable elements. Contributed by
[@&#8203;vasucp1207](https://togithub.com/vasucp1207)

- Add
[noImplicitAnyLet](https://biomejs.dev/linter/rules/no-implicit-any-let)
that reports variables declared with `let` and without initialization
and type annotation. Contributed by
[@&#8203;TaKO8Ki](https://togithub.com/TaKO8Ki) and
[@&#8203;b4s36t4](https://togithub.com/b4s36t4)

- Add [useAwait](https://biomejs.dev/linter/rules/use-await) that
reports `async` functions that don't use an `await` expression.

- Add
[useValidAriaRole](https://biomejs.dev/linter/rules/use-valid-aria-role).
Contributed by [@&#8203;vasucp1207](https://togithub.com/vasucp1207)

- Add [useRegexLiterals](https://biomejs.dev/linter/use-regex-literals)
that suggests turning call to the regex constructor into regex literals.
COntributed by [@&#8203;Yuiki](https://togithub.com/Yuiki)

##### Enhancements

- Add an unsafe code fix for
[a11y/useAriaActivedescendantWithTabindex](https://biomejs.dev/linter/rules/use-aria-activedescendant-with-tabindex)

##### Bug fixes

- Fix [#&#8203;639](https://togithub.com/biomejs/biome/issues/639) by
ignoring unused TypeScript's mapped key. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;565](https://togithub.com/biomejs/biome/issues/565) by
handling several `infer` with the same name in extends clauses of
TypeScript's conditional types. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;653](https://togithub.com/biomejs/biome/issues/653).
[noUnusedImports](https://biomejs.dev/linter/rules/no-unused-imports)
now correctly removes the entire line where the unused `import` is.
Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;607](https://togithub.com/biomejs/biome/issues/609)
`useExhaustiveDependencies`, ignore optional chaining, Contributed by
[@&#8203;msdlisper](https://togithub.com/msdlisper)

- Fix [#&#8203;676](https://togithub.com/biomejs/biome/issues/676), by
using the correct node for the `"noreferrer"` when applying the code
action. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Fix [#&#8203;455](https://togithub.com/biomejs/biome/issues/455). The
CLI can now print complex emojis to the console correctly.

- Fix [#&#8203;727](https://togithub.com/biomejs/biome/issues/727).
[noInferrableTypes](https://biomejs.dev/linter/rules/no-inferrable-types)
now correctly keeps type annotations when the initialization expression
is `null`. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;784](https://togithub.com/biomejs/biome/issues/784),
[noSvgWithoutTitle](https://biomejs.dev/linter/rules/no-svg-without-title)
fixes false-positives to `aria-label` and reports svg's role attribute
is implicit. Contributed by
[@&#8203;unvalley](https://togithub.com/unvalley)

- Fix [#&#8203;834](https://togithub.com/biomejs/biome/issues/834) that
made
[noUselessLoneBlockStatements](https://biomejs.dev/linter/rules/no-useless-lone-block-statements)
reports block statements of switch clauses. Contributed by
[@&#8203;vasucp1207](https://togithub.com/vasucp1207)

- Fix [#&#8203;783](https://togithub.com/biomejs/biome/issues/834) that
made
[noUselessLoneBlockStatements](https://biomejs.dev/linter/rules/no-useless-lone-block-statements)
reports block statements of `try-catch` structures. Contributed by
[@&#8203;hougesen](https://togithub.com/hougesen)

- Fix [#&#8203;69](https://togithub.com/biomejs/biome/issues/69) that
made
[correctness/noUnnecessaryContinue](https://biomejs.dev/linter/rules/no-unnecessary-continue)
incorrectly reports a `continue` used to break a switch clause.
Contributed by [@&#8203;TaKO8Ki](https://togithub.com/TaKO8Ki)

- Fix [#&#8203;664](https://togithub.com/biomejs/biome/issues/664) by
improving the diagnostic of
[style/useNamingConvention](https://biomejs.dev/linter/use-naming-convention)
when double capital are detected in strict camel case mode. Contributed
by [@&#8203;vasucp1207](https://togithub.com/vasucp1207)

- Fix [#&#8203;643](https://togithub.com/biomejs/biome/issues/643) that
erroneously parsed the option of
[complexity/useExhaustiveDependencies](https://biomejs.dev/linter/use-naming-convention).
Contributed by [@&#8203;arendjr](https://togithub.com/arendjr)

##### Parser

##### Bug fixes

- Fix [#&#8203;846](https://togithub.com/biomejs/biome/issues/846) that
erroneously parsed `<const T,>() => {}` as a JSX tag instead of an arrow
function when both TypeScript and JSX are enabled.

##### VSCode

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Christopher Kolstad <chriswk@getunleash.io>
2023-11-28 09:32:00 +00:00
Thomas Heartman
dba1c90db8
Feat: show change request data on segment project usage page (#5410)
Show usage in change requests if that'd cause you to not be able to move
the segment into a project.

- [x] ~Relies on changes from #5407 (and #5405, #5406) to go through
first.~


![image](https://github.com/Unleash/unleash/assets/17786332/e6b84664-db86-457e-885f-a86c95bc46ec)
2023-11-28 10:01:56 +01:00
Mateusz Kwasniewski
de287a75fe
chore: remove dependent feature flags (#5419) 2023-11-27 14:54:40 +01:00
Christopher Kolstad
c179c8ad5e
chore(update): Updates biome config to 1.3 format (#5421)
Does what it says on the tin, update to 1.3.x format for biome config
2023-11-27 13:42:58 +01:00
Nuno Góis
023db4e2c9
refactor: favor permission name over id (#5409)
https://linear.app/unleash/issue/2-1664/create-db-migration-that-favors-the-name-column-over-id-for

Similar to https://github.com/Unleash/unleash/pull/5398, but
non-breaking (semver).
This keeps the permissions `id` column intact, however favors the
permission name whenever possible.
2023-11-27 11:12:09 +00:00
Thomas Heartman
b021e7cf85
feat: show strategies used by segments (#5407)
This PR displays change request usage of segments when such usage is
returned from the API. It expects at least #5406 to have been merged
before it can be merged.


![image](https://github.com/Unleash/unleash/assets/17786332/c74bb1c9-07f9-4bca-95bb-4ca020398444)
2023-11-27 10:34:34 +00:00
Thomas Heartman
90915cfdd7
Chore: add strategy sorting algorithm (#5406)
This PR adds a strategy sorting algorithm to be used for the segment
deletion dialog. It assumes that you have a list of existing strategies
and a list of change request strategies. Based on the content of these
two lists, it will create one unified list sorted after a number of
criteria (as listed in the test).

# Discussion point: 

This impl does the sorting on the front end, but could we do it on the
back end? Instead of adding a new property to the segment data, could we
simply fold the change request strategies in with the existing segment
strategies and return it using the old property? If the only place we do
that is in this view, then that might be a good suggestion.

Response:

I'll leave this in the front end for now. The reason is that we can't add change request strategies to the existing `strategies` property of the API payload without it being a breaking change. The OpenAPI schema says that `id` is a required field on a strategy, and that field doesn't exist on strategies that have only been added in change requests, but not yet applied.
2023-11-27 11:23:10 +01:00
Chris Hepner
ef46b042cc
fix: typo in Unleash playground frontend (#5389)
## About the changes

- Change "undestand" to "understand"
- Capitalize "Unleash"

Co-authored-by: Chris Hepner <chris@healthtensor.com>
2023-11-27 09:30:00 +01:00
Tymoteusz Czech
dbd897e3bd
Feat/new paginated table (#5371)
## About the changes
2023-11-24 17:50:58 +01:00
Nuno Góis
47e214d96f
fix: enable toggle with disabled strategies dialog (#5416)
https://linear.app/unleash/issue/UNL-283/improve-dialog-when-there-are-disabled-strategies-and-we-want-to

Improves the "enable toggle when there are disabled strategies" dialog.
Also implements passing in the missing `disabledStrategiesCount`
property to the dialog.


![image](https://github.com/Unleash/unleash/assets/14320932/95d9110e-8c1c-47ce-8e1b-389607115a54)
2023-11-24 14:57:03 +00:00
Nuno Góis
aa8347eb7a
fix: delete archived feature toggles in the UI (#5411)
This PR addresses 2 tasks that aim to fix and improve the UI/UX on
archived feature toggle deletion:

-
https://linear.app/unleash/issue/UNL-260/delete-feature-toggle-dialog-update-word-toggles-to-singular-toggle
-
https://linear.app/unleash/issue/UNL-282/deleting-multiple-toggles-in-the-project-archive-the-batch-selector

Essentially:

- Makes it clearer that we're deleting a single feature toggle by
changing the text to singular toggle
- Improves clarity further by adding a list of feature toggles about to
be deleted
- Fixes a bug where the batch selector would not be cleared after
deleting multiple feature toggles

## Deleting one feature toggle (singular)

![image](https://github.com/Unleash/unleash/assets/14320932/c956f459-ef18-4153-97f7-ffdd6b11613c)

## Deleting multiple feature toggles (plural)

![image](https://github.com/Unleash/unleash/assets/14320932/14f875a4-7f56-4db9-81db-cd06526e5bd5)
2023-11-24 09:35:13 +00:00
Tymoteusz Czech
ffe37ac709
Basic filter label (#5387) 2023-11-24 10:07:42 +01:00
Nuno Góis
7d2fd172a5
fix: role permissions UI improvements (#5388)
https://linear.app/unleash/issue/2-1657/role-permissions-improvements

This PR includes 3 improvements:
 - Sort permissions alphabetically
 - Ensure we don't display duplicate permissions
 - Improve alignment of columns by using a proper grid


![image](https://github.com/Unleash/unleash/assets/14320932/7cb4a70e-8e39-4077-95a0-66f29b3c2e55)
2023-11-23 09:43:15 +00:00
andreas-unleash
937a605888
chore: remove variantTypeNumber flag (#5382)
Closes #
[1-1648](https://linear.app/unleash/issue/1-1648/clean-varianttypenumber-flag-for-release)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-23 11:12:56 +02:00
andreas-unleash
1dafc85eaa
chore: remove playgroundImprovements flag (#5384)
Closes #:

[1-1647](https://linear.app/unleash/issue/1-1647/clean-playgroundimprovements-flag-for-release)

[1-1665](https://linear.app/unleash/issue/1-1665/flaky-test-playgroundconnectionfieldsettesttsx)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-23 10:50:19 +02:00
andreas-unleash
3e12c2b5b6
Chore: remove disableEnvsOnRevive flag (#5391)
Closes #
[1-1646](https://linear.app/unleash/issue/1-1646/clean-disableenvsonrevive-flag-for-release)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-23 10:10:37 +02:00
Fredrik Strand Oseberg
5414fa6663
Refactor/remove last seen at flag (#5394)
This PR removes the feature flag for displaying the new last seen by
environments component.
2023-11-22 13:32:38 +01:00
Nuno Góis
5dc3e830a8
feat: add CREATE_TAG_TYPE permission (#5386)
https://linear.app/unleash/issue/2-1164/update-tag-type-covers-both-creation-and-update

Adds a new `CREATE_TAG_TYPE` permission instead of using
`UPDATE_TAG_TYPE` for both actions.
2023-11-22 10:20:19 +00:00
andreas-unleash
8ffc92af5b
fix: Only show strategy variant changes if there is a diff in the variants (#5353)
What it says on the box

Closes #
[1-1652](https://linear.app/unleash/issue/1-1652/remove-the-variants-from-change-request-page-when-not-modified)

![Screenshot 2023-11-16 at 11 26
05](https://github.com/Unleash/unleash/assets/104830839/8f25b82c-4dbc-46fb-bdd6-0e0049659c72)

![Screenshot 2023-11-16 at 11 25
46](https://github.com/Unleash/unleash/assets/104830839/e6366622-3a50-4a0e-bba2-6c1d34e64077)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-22 09:50:03 +02:00
Fredrik Strand Oseberg
83fe430a14
Feat/private project badge (#5373)
Adds an icon with tooltip for private projects in ProjectCard and
Project header:

<img width="528" alt="Skjermbilde 2023-11-21 kl 10 58 13"
src="https://github.com/Unleash/unleash/assets/16081982/28004c11-a20d-4740-98f4-127f41639896">
2023-11-21 11:49:50 +01:00
Tymoteusz Czech
d5049e6197
feat: useTableState hook (#5362)
Simplified logic for handling interaction between URL (query), table state and localstorage.
2023-11-21 11:25:31 +01:00
Fredrik Strand Oseberg
11533bf97a
refactor: remove feature flag for Dora (#5367) 2023-11-21 08:18:00 +01:00
Thomas Heartman
90d6c7c0ba
chore: remove usage of feature naming pattern flag (#5364)
In preparation for this feature going GA
2023-11-20 12:42:24 +01:00
Gastón Fournier
4801b64824
feat(banners): enable customer banners (#5348)
## About the changes
This feature allows our Enterprise customers to configure banners to be
displayed on their Unleash instance for all their users to see and
interact with. Previously known as "internal message banners".
2023-11-17 13:56:09 +00:00
Thomas Heartman
be699962b1
chore: remove segments oss splash (#5359)
This change removes the oss segments splash screen that was introduced
in https://github.com/Unleash/unleash/pull/5053.
2023-11-17 13:39:43 +00:00
andreas-unleash
0dc5f306cc
Feat: change request scheduled timeline (#5346)
Adds the scheduled state to the timeline

Closes #
[1-1632](https://linear.app/unleash/issue/1-1632/update-the-progress-bar-for-scheduled-changes)

![Screenshot 2023-11-16 at 10 51
03](https://github.com/Unleash/unleash/assets/104830839/6267299e-d5c3-4cbf-9ab2-25da53f2d526)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-17 11:20:14 +02:00
Nuno Góis
f8a9d7f355
fix: take into account project segments permission in form (#5352)
https://linear.app/unleash/issue/SR-184/ticket-1106-users-with-createedit-project-segment-dont-see-all-the

https://github.com/Unleash/unleash/pull/5304 did not take into account
permissions further into the Segment form.

This PR fixes the remaining permission checks to take into consideration
the project-level permission: `UPDATE_PROJECT_SEGMENT`.
2023-11-16 11:54:56 +00:00
Fredrik Strand Oseberg
2dd2d520e3
Feat/exp project features (#5351)
This PR adds feature toggle list on the project on a separate page as an
experiment
2023-11-16 12:41:31 +01:00
Jaanus Sellin
4e1040c849
feat: connect sort table to backend (#5338)
Now FE sorting is done in backend.
2023-11-15 16:01:02 +02:00
Fredrik Strand Oseberg
db77962a72
fix/usefeaturesearch cache (#5340)
Fixes a bug where the closure over the useFeatureSearch hook would not
account for projectId and return the wrong total/initial load
2023-11-15 11:09:13 +01:00
Fredrik Strand Oseberg
357af740c8
refactor: new table styling for project overview (#5334)
This PR alters the table styling for the Project Overview table so that
we utilise more of the surrounding space:
2023-11-14 13:57:06 +01:00
Jaanus Sellin
069d90d8cb
fix: date should sort asc/desc properly (#5335) 2023-11-14 14:47:28 +02:00
Tymoteusz Czech
fd3a7f12cb
chore: remove featureSwitchRefactor flag (#5329)
Cleanup. This change has been rolled out to significant number of
customers already, and we have another parallel version behind a flag.
2023-11-14 13:03:23 +01:00
Jaanus Sellin
cdebf9aa28
fix: sort order should be persisted and used from local storage (#5332) 2023-11-14 11:08:04 +02:00
Fredrik Strand Oseberg
ddd718fd23
refactor/reshape table (#5328)
This PR fixes a couple of issues with the pagination bar:

* Fixes an issue where padding bottom would be broken due to disabling
padding on the parent container
* Remove padding on the entire table to create more space and remove
header bar border radius as per discussion with @nicolaesocaciu
2023-11-14 08:44:36 +01:00
Fredrik Oseberg
0f7360c1e8
fix: conditionally show pagination bar 2023-11-13 14:47:51 +01:00
Fredrik Strand Oseberg
834ae1d8a4
Feat/pagination loading (#5325)
This PR makes changes to how the project overview skeleton screen works.
Important changes:

- Add skeleton screens to missing elements, creating a more
comprehensive loading screen
- Split the page into different loading sections, so that we can load
the table when we fetch the next page without affecting the rest of the
page.

https://www.loom.com/share/e5d30dc897ac488ea80cfae11ffab646

Next steps:
* Hide bar if total is less than 25
* Add FE testing
2023-11-13 14:08:48 +01:00
Fredrik Strand Oseberg
7f4df19660
Feat/pagination bar (#5309)
Initial implementation of the sticky pagination bar.
2023-11-10 14:16:31 +01:00
Nuno Góis
15f77f5b8b
fix: project settings flag limit not properly set (#5317)
https://linear.app/unleash/issue/SR-169/ticket-1107-project-feature-flag-limit-is-not-correctly-updated

Fixes #5315, an issue where it would not be possible to set an empty
flag limit.
This also fixes the UI behavior: Before, when the flag limit field was
emptied, it would disappear from the UI.

I'm a bit unsure of the original intent of the `(data.defaultStickiness
!== undefined || data.featureLimit !== undefined)` condition. We're in
an update method, triggered by a PUT endpoint - I think it's safe to
assume that we'll always want to set these values to whatever they come
as, we just need to convert them to `null` in case they are not present
(i.e. `undefined`).
2023-11-10 09:57:20 +00:00
andreas-unleash
180c0dceae
Fix/scheduled request UI (#5318)
Change timezone format
Fixes a bug where the Edit button on hover being elongated

Before:
<img width="755" alt="Screenshot 2023-11-09 at 21 36 01"
src="https://github.com/Unleash/unleash/assets/104830839/189f21d5-8a68-4d6b-b094-b518749a9b2f">

After:
<img width="812" alt="Screenshot 2023-11-09 at 22 09 26"
src="https://github.com/Unleash/unleash/assets/104830839/9056f995-bd2b-4353-8526-77160e49e990">

Adds the missed onClick to the edit button to show the dialog

Fixes a bug with ScheduleChangesDialog onClose

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-10 11:22:03 +02:00
andreas-unleash
77db9f3258
feat: add Changes Scheduled badge to feature variants (#5312)
Adds the Changes Scheduled badge to environment variant when appropriate

Closes #
[1-1625](https://linear.app/unleash/issue/1-1625/show-a-badge-when-variant-in-scheduled-request)
<img width="1006" alt="Screenshot 2023-11-09 at 15 42 37"
src="https://github.com/Unleash/unleash/assets/104830839/118a3f0b-9acf-4a49-92d2-49bbe49a4c91">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-09 14:58:58 +00:00
andreas-unleash
100c22b42a
Feat: scheduled change request badges (#5300)
Adds a new badge to strategies that have changes in an a scheduled
change request

Closes #
[1-1620](https://linear.app/unleash/issue/1-1620/create-a-new-badge-for-flag-that-is-part-of-scheduled-change)
<img width="1671" alt="Screenshot 2023-11-09 at 11 49 53"
src="https://github.com/Unleash/unleash/assets/104830839/596abbc0-f9ab-4642-9ed2-79ef50fb6c05">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-09 13:48:29 +02:00
Nuno Góis
4d1f76e61b
fix: take into account project segments permission (#5304)
https://linear.app/unleash/issue/SR-164/ticket-1106-user-with-createedit-project-segment-is-not-able-to-edit-a

Fixes a bug where the `UPDATE_PROJECT_SEGMENT` permission is not
respected, both on the UI and on the API. The original intention was
stated
[here](https://github.com/Unleash/unleash/pull/3346#discussion_r1140434517).

This was easy to fix on the UI, since we were simply missing the extra
permission on the button permission checks.

Unfortunately the API can be tricky. Our auth middleware tries to grab
the `project` information from either the params or body object, but our
`DELETE` method does not contain this information. There is no body and
the endpoint looks like `/admin/segments/:id`, only including the
segment id.

This means that, in the rbac middleware when we check the permissions,
we need to figure out if we're in such a scenario and fetch the project
information from the DB, which feels a bit hacky, but it's something
we're seemingly already doing for features, so at least it's somewhat
consistent.

Ideally what we could do is leave this API alone and create a separate
one for project segments, with endpoints where we would have project as
a param, like so:
`http://localhost:4242/api/admin/projects/:projectId/segments/1`.

This PR opts to go with the quick and hacky solution for now since this
is an issue we want to fix quickly, but this is something that we should
be aware of. I'm also unsure if we want to create a new API for project
segments. If we decide that we want a different solution I don't mind
either adapting this PR or creating a follow up.
2023-11-09 09:37:47 +00:00
andreas-unleash
3e9d88f789
Feat/scheduled cr UI tests (#5296)
Ui tests scheduled change requests

Closes # [1-1598](https://linear.app/unleash/issue/1-1598/e2e-ui-tests)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-08 14:28:16 +02:00
Jaanus Sellin
24f9fa3058
feat: connect search and filter with server api (#5297) 2023-11-08 14:19:40 +02:00
Jaanus Sellin
4bacd3e055
feat: introduce offset based search instead of cursor (#5274) 2023-11-08 11:12:42 +02:00
Tymoteusz Czech
06d62278dc
fix: change request table sort type (#5295) 2023-11-07 17:13:43 +01:00
andreas-unleash
addda5b022
feat: schedule changes dialog (#5285)
Closes: # 

[1-1585](https://linear.app/unleash/issue/1-1585/reschedule-changes-dialog)

[1-1582](https://linear.app/unleash/issue/1-1582/change-apply-changes-apply-or-schedule-changes)

Manually tested e2e -> Approve -> Schedule -> Reschedule ->
Apply/Reject: ui tests verifying it in next pr

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-11-07 10:59:49 +02:00
Fredrik Strand Oseberg
92e2b1890c
Refactor/project overview api calls (#5279)
This PR reduces the overhead of making API calls on pages with heavy
renders. We forego loading states and default error handling in favor of
more speed by avoiding triggering multiple re-renders from the API call.
2023-11-07 09:19:55 +01:00
andreas-unleash
2262ca1be6
Feat: scheduled change request dialogs (#5267)
Creates the Apply and Reject scheduled change request dialogs

Closes #
[1-1584](https://linear.app/unleash/issue/1-1584/add-modal-for-apply-now)

Closes #
[1-1586](https://linear.app/unleash/issue/1-1586/reject-changes-dialog)

<img width="1669" alt="Screenshot 2023-11-03 at 14 43 17"
src="https://github.com/Unleash/unleash/assets/104830839/832edb8e-1da1-4d96-a5c3-4fa0cd336fea">
<img width="1669" alt="Screenshot 2023-11-03 at 14 43 28"
src="https://github.com/Unleash/unleash/assets/104830839/f9028671-e5e1-441c-886b-1e562c83f214">

UI e2e tests will be in a follow up PR

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-06 11:13:50 +02:00
andreas-unleash
6b637d5fa9
feat: scheduled change request state (#5261)
Adds the scheduled state to ChangeRequestOverview.tsx

<img width="1523" alt="Screenshot 2023-11-03 at 12 52 07"
src="https://github.com/Unleash/unleash/assets/104830839/710b5f26-04a0-4ee9-b646-8ff3090ad86a">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-03 15:02:51 +02:00
Fredrik Strand Oseberg
ddb9b5c20f
Refactor/rename constraint button (#5260)
This PR changes the button type and text for constraint accordions
2023-11-03 11:34:15 +01:00
Thomas Heartman
7cf998c509
fix: move useUiFlag before "return null" to avoid rendering more hooks on the first render (#5258)
Move the hook to before the first return to avoid React erroring out.
2023-11-03 10:04:03 +00:00
Mateusz Kwasniewski
fe61947435
feat: serach and filter input to query param parser (#5255) 2023-11-03 10:10:46 +01:00
Thomas Heartman
e471c0c62e
chore: update orval schemas (#5249)
This PR updates the orval schemas in prep for working with scheduled CRs
on the front end. Also contains a whole host of other orval updates.
2023-11-03 08:48:07 +01:00