v3.0.0-beta.105
Version v3.0.0-beta.105Major ReleasePre-release
Release Notes
v3.0.0-beta.105 (2024-09-15)
⚡ Performance
- upgrade ajv, and upgrade typescript to 5.6.2 in monorepo (#8204) (fbc28b0)
- upgrade jsonwebtoken from 9.0.1 to 9.0.2 (#8202) (ec624bd)
🐛 Bug Fixes
- plugin-seo: removes duplicative json translations (#8206) (64f2395)
- error when viewing versions if plural label is set as a function (#8213) (ff1c1e0)
- richtext-lexical: default Cell not being a link when used as the primary column in lists (#8212) (d0bb1c9)
- ui: field type being overridden when providing a Cell component (#8211) (1608150)
- db-postgres: preserve parent createdAt when creating a new version (#8160) (43a9109)
- richtext-lexical: unnecessary
isEnabledcomputations on toolbar items (#8176) (334f940) - graphql: id field non null (#8169) (db29e1e)
- ui: bulk selection and useSelection hook losing types of the IDs its returning (#8194) (d28d40c)
- ui: properly extracts label from field in FieldLabel component (#8190) (a6f13f7)
- requires client field prop in server field components (#8188) (c28618b)
⚠️ BREAKING CHANGES
- ui: bulk selection and useSelection hook losing types of the IDs its returning (#8194) (d28d40c)
This PR changes the type of
selectedreturned from theuseSelectionhook from theSelectionProviderfrom an object to a Map. This fixes a bug where in some situations we lose the type of the ID which can break data entry when using postgres, due to keys being cast to strings inside of objects which doesn't happen when using a Map. This PR also fixes a CSS bug with the checkbox when it should be partially selected.
```ts
// before
selected: Record<number | string, boolean>
// after
selected: Map<number | string, boolean>
```
This means you now need to read the data differently than before.
```ts
// before
Object.entries(selected).forEach(([key, value]) => {
// do something
})
// after
for (const [key, value] of selected) {
// do something
}
```
🤝 Contributors
- Jacob Fletcher (@jacobsfletch)
- Paul (@paulpopus)
- Alessio Gravili (@AlessioGr)
- Sasha (@r1tsuu)
- Germán Jabloñski (@GermanJablo)
- Jarrod Flesch (@JarrodMFlesch)
- Elliot DeNolf (@denolfe)
- Victor Winberg (@VictorWinberg)
- Florian Quiblier (@fofoy)
- Christoffer Hasselberg (@stofolus)