v5.35.0

webiny/webiny-jsv5.35.0Apr 28, 2023by adrians5j

AI Summary

Introduces Lexical Editor, Page Templates, and ACO hooks, alongside a major refactoring using Zod validation.

Key Highlights

  • Introduction of Lexical Editor.
  • New Page Templates feature.
  • Introduction of ACO hooks.
  • Switched to Zod validation for models and groups.

New Features

  • Lexical Editor integration with color picker.
  • Page Templates creation from existing pages.
  • ACO hooks for import/export processes.
  • Zod validation for Headless CMS models.
  • Upgrade to Emotion 11.
  • Data Migration Lambda function.

Full Release Notes

# [5.35.0](https://github.com/webiny/webiny-js/compare/v5.34.8...v5.35.0) (2023-04-28)


### Bug Fixes

* add `"@emotion/react": "11.10.8"` to resolutions ([e004f51](https://github.com/webiny/webiny-js/commit/e004f51850426285bbdce4064335a85fee46e1dd))
* do not load Lexical editor with legacy PB page rendering ([a7f9061](https://github.com/webiny/webiny-js/commit/a7f906165d53e2f5ade849da0698dc53b103f0da))
* do not render provider with legacy PB page rendering ([6519a2e](https://github.com/webiny/webiny-js/commit/6519a2e9fc8ee44072c11598db937f7780981204))
* make sure query selection is only applied once per plugin instance ([#3154](https://github.com/webiny/webiny-js/issues/3154)) [skip ci] ([67f802c](https://github.com/webiny/webiny-js/commit/67f802c9914a42397e4fb4a328aa8f4c6b9a5f23))
* use `ClassNames` component further down in the component tree ([8579d54](https://github.com/webiny/webiny-js/commit/8579d54a1c2f7e63495d9703a0039cd45ca2683d))
* **api-aco:** prefix search record [no ci]([#3233](https://github.com/webiny/webiny-js/issues/3233)) ([21a1c08](https://github.com/webiny/webiny-js/commit/21a1c088e6bcd59aa44cdac3997f495d136b3d59))
* **api-aco-so-ddb-es:** register indexes ([384dd94](https://github.com/webiny/webiny-js/commit/384dd94ecc3bf1cf916fbd42bdc04fb5cf07aea7))
* **api-elasticsearch:** allow numbers in fields when filtering [no ci] ([#3234](https://github.com/webiny/webiny-js/issues/3234)) ([fb66b5b](https://github.com/webiny/webiny-js/commit/fb66b5b57df75ca28d183ecd7ac4b58d1f35e39b))
* **api-file-manager-ddb:** list tags ([69ed7ad](https://github.com/webiny/webiny-js/commit/69ed7ad666107fcc383a7f27254948fe80679e09))
* **api-headless-cms:** generate ref field resolvers in dynamic zone field ([#3237](https://github.com/webiny/webiny-js/issues/3237)) ([1145e76](https://github.com/webiny/webiny-js/commit/1145e7667ffd3d18bfea1e73d6078cd6a35c1038))
* **api-headless-cms:** model api name are optional by default ([0c5ad2f](https://github.com/webiny/webiny-js/commit/0c5ad2faaa500e0470957a4e9a9e9695f3801d6a))
* **app-file-manager:** list tags ([789b7aa](https://github.com/webiny/webiny-js/commit/789b7aa1d8351226166506295600c53595eb1cc7))
* **app-headless-cms:** dialog did not scroll on smaller screens ([b0ab638](https://github.com/webiny/webiny-js/commit/b0ab6382ad6ea892ff46c757a82d943c21130462))
* **app-headless-cms:** faulty graphql for listing of references ([c2780f5](https://github.com/webiny/webiny-js/commit/c2780f51fe628e1ef0f6b55c2bce9b74d3470d79))
* **app-headless-cms:** make content entries context available to view config ([241bf8f](https://github.com/webiny/webiny-js/commit/241bf8f71c72a69dc2c68716297ff700cf94001b))
* **app-headless-cms:** missing type ([e5c60b9](https://github.com/webiny/webiny-js/commit/e5c60b9a18ed256b143495a08d81397d2e3d7a59))
* **app-headless-cms:** render icon picker menu in a portal ([8b1bc37](https://github.com/webiny/webiny-js/commit/8b1bc37dc27f83328975b694f9aa2521bfc0a209))
* **app-headless-cms:** update deprecated imports and use react-properties ([ad3a7a4](https://github.com/webiny/webiny-js/commit/ad3a7a492009155a589fde9ef4dc7c94af43c86e))
* **cli-plugin-deploy-pulumi:** don't run migrations when --preview is set [skip ci] ([2eedd23](https://github.com/webiny/webiny-js/commit/2eedd23dee2939be6a7c7bfafd63e9f2d9a24abe))
* **migrations:** clear indexes after tests ([70e0b23](https://github.com/webiny/webiny-js/commit/70e0b23faf4a18d1cd2f2cee23eb522c96106a64))
* **project-utils:** register indexes ([cf81b6c](https://github.com/webiny/webiny-js/commit/cf81b6cfe22f87304b554bd9bbbbaf1d9d28a0c5))
* **serverless-cms-aws:** missing version from env var in payload ([#3210](https://github.com/webiny/webiny-js/issues/3210)) ([59a6061](https://github.com/webiny/webiny-js/commit/59a6061e8486604ac03ea51c76d61a7fb2af301a))
* **ui:** make DataListModalOverlay overflow visible ([58b711f](https://github.com/webiny/webiny-js/commit/58b711fef94552b37d4087632ddcb51050aecf09))
* **ui:** pass renderToPortal prop to MenuSurface component ([8f7710b](https://github.com/webiny/webiny-js/commit/8f7710b770dd2d1557d3d8cdb7922f1ed41d616a))
* **ui:** return hidden tab with display:none ([8acc9e8](https://github.com/webiny/webiny-js/commit/8acc9e8892842cabb3980ce0b6432fde55968d5b))
* ACO migrations custom fields ([#3206](https://github.com/webiny/webiny-js/issues/3206)) ([7e05b5e](https://github.com/webiny/webiny-js/commit/7e05b5e3f427330633c1c5985c88172c8457e97a))
* add comment ([1085716](https://github.com/webiny/webiny-js/commit/1085716778a44e7abc52039cb0c4d105a97eb8d7))
* add comment re changing the slug ([3f12a24](https://github.com/webiny/webiny-js/commit/3f12a2476e2229b854cc38d06cb1783f8669c8f7))
* add comments and reformat code ([f4e4a16](https://github.com/webiny/webiny-js/commit/f4e4a16a22242b549b51051d7fb70ed5bb5e8749))
* address Lexical editor TS/visual issues ([#3229](https://github.com/webiny/webiny-js/issues/3229)) ([b14eaec](https://github.com/webiny/webiny-js/commit/b14eaecf387253ed23cb96f8d31b7d16b5061936))
* always throw an error if the page template wasn't found ([d876b4d](https://github.com/webiny/webiny-js/commit/d876b4d91e0fce25eff0c02046e5817379ded341))
* apply the override within `@emotion/react` Theme ([067107b](https://github.com/webiny/webiny-js/commit/067107ba4c84c30ae74784b7677fa3d7b9c9ac6d))
* assign `null` as a default value (satisfy TS) ([373571f](https://github.com/webiny/webiny-js/commit/373571fff2f8489ade5c995d382e50ef1f526a41))
* disable buttons on submit ([5295085](https://github.com/webiny/webiny-js/commit/52950852fb99b3d861b8cc40b65af583874f6d28))
* ensure canvas width is calculated for both legacy and new page rendering engines ([80df192](https://github.com/webiny/webiny-js/commit/80df1922612a83ebeb308fe962e3cb5e058878ac))
* fix cell items position ([3746cf9](https://github.com/webiny/webiny-js/commit/3746cf9fbf1ef2fefcaf7016c901f546c9d39a17))
* list all typographies when showing text settings ([#3254](https://github.com/webiny/webiny-js/issues/3254)) ([b6408e0](https://github.com/webiny/webiny-js/commit/b6408e0deaa6ea55327b8bb35391d9ea71afee65))
* make description field a textarea ([df9c911](https://github.com/webiny/webiny-js/commit/df9c91149a42c2bf24336a627dabb4dcff9b8191))
* remove redundant `auth: false` option ([34ba876](https://github.com/webiny/webiny-js/commit/34ba876b25daabc3b25c089b6ed53fa9c10765a3))
* rename createAco context and type ([#3161](https://github.com/webiny/webiny-js/issues/3161)) ([3617f12](https://github.com/webiny/webiny-js/commit/3617f1233df624a5fab80021050433d2cb4ed4ad))
* try/catch the `getPageTemplate` call ([838dcca](https://github.com/webiny/webiny-js/commit/838dccad7bd6b44e1adbbc647dca722e58711ef8))
* upgrade theme usage in CWP template code ([5efaed8](https://github.com/webiny/webiny-js/commit/5efaed872aea83a102dc7663a9a1b04211deaf0e))
* upgrade theme usage in development code ([7b83cb2](https://github.com/webiny/webiny-js/commit/7b83cb204461cafb6ede3532e8c18b93d3c09c7e))
* upgrade theme usage in development code ([0c10973](https://github.com/webiny/webiny-js/commit/0c10973219e5e261051a876ebf04fbfc0ba4a2ef))
* use `@webiny/router` when rendering links, instead of plain `a` HTML tag ([bd8e92b](https://github.com/webiny/webiny-js/commit/bd8e92b2987b80c57f4d46d6d9261c8060a643a5))
* use actual AWS region instead of the hardcoded `eu-central-1` ([c1f17ea](https://github.com/webiny/webiny-js/commit/c1f17eab1dde78ec3fa4f7f9ea84e2d8f9c40b10))
* **api-aco:** use code model without validation ([8b4c92a](https://github.com/webiny/webiny-js/commit/8b4c92a0e2ca4bfcc43ec7893caf56963cd052ea))
* **api-headless-cms:** export utilities from the package root ([44ac99b](https://github.com/webiny/webiny-js/commit/44ac99b26c6608b064b0c00676ff58f486e4ff74))
* **api-headless-cms:** graphql schema cache does not work when no database models ([#3201](https://github.com/webiny/webiny-js/issues/3201)) ([b4be070](https://github.com/webiny/webiny-js/commit/b4be070f6a8cd6de939bc7af3416228db3528fed))
* **api-headless-cms:** model storageId type ([f12193c](https://github.com/webiny/webiny-js/commit/f12193cea9b3fad9822401f1864ad73ff80f10a5))
* **api-headless-cms:** use cms graphql schema plugin ([#3178](https://github.com/webiny/webiny-js/issues/3178)) ([77a3292](https://github.com/webiny/webiny-js/commit/77a329297ed03530d49bb51028df3a544ddb8cf5))
* **api-headless-cms:** validation when creating or cloning model [skip-ci] ([#3181](https://github.com/webiny/webiny-js/issues/3181)) ([edc5776](https://github.com/webiny/webiny-js/commit/edc5776ed1a2adfe6f2d1b55891a8574c19414ef))
* **api-headless-cms-ddb-es:** long text indexing ([#3163](https://github.com/webiny/webiny-js/issues/3163)) ([0b04cdc](https://github.com/webiny/webiny-js/commit/0b04cdc2abb51e939ee4f5573a8267591d2e1ab8))
* **api-mailer:** use code model without validation ([cab5f8b](https://github.com/webiny/webiny-js/commit/cab5f8bf52d8727851b0157785b7029d7c0f72ab))
* **api-page-builder:** page validation ([6509387](https://github.com/webiny/webiny-js/commit/6509387258f8fe18e270a16d0f5b89ba4134f088))
* **api-page-builder:** settings validation ([#3194](https://github.com/webiny/webiny-js/issues/3194)) ([04802a2](https://github.com/webiny/webiny-js/commit/04802a231a91d41cdce8d21a0cbb10ba8f523fc6))
* **app-admin:** file manager overlay z-index ([#3182](https://github.com/webiny/webiny-js/issues/3182)) ([c50c9da](https://github.com/webiny/webiny-js/commit/c50c9da8dab2152c46c880ae599dea8e9ebd9699))
* **app-admin-rmwc:** make navigation drawer auto-resizeable ([f0d8f16](https://github.com/webiny/webiny-js/commit/f0d8f16463e15b9cef9edfd283da0f9d39a86b39))
* **app-file-manager:** remove file size limit ([ae41044](https://github.com/webiny/webiny-js/commit/ae41044e8ce43675211161a09203f49ecae5e6c5))
* **app-headless-cms:** disable dynamic zone in object field ([#3160](https://github.com/webiny/webiny-js/issues/3160)) ([68e00be](https://github.com/webiny/webiny-js/commit/68e00bee7cacd73241bcfbf7e29e56c831b34ca7))
* **app-headless-cms:** entry container div covers elements below ref field [skip-ci] ([#3180](https://github.com/webiny/webiny-js/issues/3180)) ([5cf2dbb](https://github.com/webiny/webiny-js/commit/5cf2dbbaf760e3bbc5efa33604898f1b5e1641ee))
* **app-headless-cms:** improve type names and export useContentEntries hook ([8dc9faa](https://github.com/webiny/webiny-js/commit/8dc9faa5cc06f7318c81ca5169116159fe901245))
* **data-migration:** check for the unstable version [no ci] ([#3200](https://github.com/webiny/webiny-js/issues/3200)) ([386e54b](https://github.com/webiny/webiny-js/commit/386e54b8197cc590344a4281306e607b823e0677))
* **migrations:** use batchWriteAll to update admin users [skip ci] ([3214caf](https://github.com/webiny/webiny-js/commit/3214caf807c30df043eb117a947f34a8b8822c5c))
* **serverless-cms-aws:** add migrations to enterprise create api app [no ci] ([#3196](https://github.com/webiny/webiny-js/issues/3196)) ([bd1d5a1](https://github.com/webiny/webiny-js/commit/bd1d5a14d7174fb093b6ee29afd623bb7bad5dc5))
* decrease api-migration memorySize ([#3173](https://github.com/webiny/webiny-js/issues/3173)) ([b02d94b](https://github.com/webiny/webiny-js/commit/b02d94bba01eb4d2b17732279216fbc1c7ab5cd5))
* introduce limits to number of tenants (WCP) ([4925373](https://github.com/webiny/webiny-js/commit/49253735ef963669eb1064848ab098edcb9f7d77))
* log errors using console.error ([#3122](https://github.com/webiny/webiny-js/issues/3122)) ([999eb37](https://github.com/webiny/webiny-js/commit/999eb3729335da52816955acff3b01abcb8d5016))
* use regular case instead of title case [no ci] ([2ead10f](https://github.com/webiny/webiny-js/commit/2ead10fde8171487b132611867f16391a9ff49cc))
* various aco  ([#3192](https://github.com/webiny/webiny-js/issues/3192)) ([8186ef7](https://github.com/webiny/webiny-js/commit/8186ef7e9eae1293e612ca23dc8d0e2d5d3b8f45))
* **api-file-manager:** remove batch file creation limit ([0a8b1eb](https://github.com/webiny/webiny-js/commit/0a8b1eb01d3be31c7eb6e309fb733ece74f54b10))
* **api-file-manager:** use file key dirname as prefix for file cleanup ([bd507ea](https://github.com/webiny/webiny-js/commit/bd507ea8272c510098caa9961fe1c7fe4df02530))
* **api-file-manager-s3:** remove batch presign limitations ([68dda13](https://github.com/webiny/webiny-js/commit/68dda13c03ae90a5d5a9226e8dff91c223116e0a))
* **api-mailer:** validation of settings input ([48f2910](https://github.com/webiny/webiny-js/commit/48f2910c05cc3651e868c41717ac4d26b9295a10))
* **api-page-builder:** simplify and clean up demo assets and installation ([7f0245d](https://github.com/webiny/webiny-js/commit/7f0245d74231cb7534a4dda9f01740d4d65921bc))
* **app-page-builder:** add element icon color ([#3151](https://github.com/webiny/webiny-js/issues/3151)) [skip ci] ([d12e536](https://github.com/webiny/webiny-js/commit/d12e536af4b3ed5e889da44008985bac6560f580))
* **app-page-builder:** improve grid page element ([#3169](https://github.com/webiny/webiny-js/issues/3169)) ([cbea1ce](https://github.com/webiny/webiny-js/commit/cbea1ce5c0acb0936fde52c0eb3845877409b62a))
* correct the condition ([c0c5556](https://github.com/webiny/webiny-js/commit/c0c555605949013f1e4101458a73d0387aea709e))
* **page builder:** ensure no trailing slashes are present in page path ([#3153](https://github.com/webiny/webiny-js/issues/3153)) ([13771d8](https://github.com/webiny/webiny-js/commit/13771d80a8ae3195c9ea1485bf8c01f6667a129e))
* add jitter (randomization) to retries ([9444618](https://github.com/webiny/webiny-js/commit/94446189caa0502db4e7a34c5178b5838b6da1e8))
* don't clear line in non-TTY environments ([862afdf](https://github.com/webiny/webiny-js/commit/862afdf87adc278b4301a13277f84472c3b6d4ce))
* implement migration status polling ([ac2219e](https://github.com/webiny/webiny-js/commit/ac2219e7d44500146d056bec03ed331b776cab0e))
* implement start/finish timestamps ([aff7b66](https://github.com/webiny/webiny-js/commit/aff7b66fe74933f24864bde58229820804125313))
* improve grid page element ([9fc7d3a](https://github.com/webiny/webiny-js/commit/9fc7d3ac7c5147907dc14e57c549ed7ef477f4b9))
* introduce application name-based environment variables naming ([#3095](https://github.com/webiny/webiny-js/issues/3095)) ([506917f](https://github.com/webiny/webiny-js/commit/506917f43b607b81846b11c331d17e558fd20038))
* iterate through all files in __tests__ to find test files ([a7fce38](https://github.com/webiny/webiny-js/commit/a7fce382ba63f105fb329e11a6d8992753fbc722))
* listContentModels returns duplicated records ([#3148](https://github.com/webiny/webiny-js/issues/3148)) ([1903913](https://github.com/webiny/webiny-js/commit/19039132770a51bc20a545254f64b31ed4403ccb))
* page builder editor - ensure active element's borders are always visible ([#3152](https://github.com/webiny/webiny-js/issues/3152)) ([5ea04d1](https://github.com/webiny/webiny-js/commit/5ea04d1d93b4626a0a1643b3ccf768ba86d14ba2))
* tests missing elasticsearch operator plugins ([96fdb9d](https://github.com/webiny/webiny-js/commit/96fdb9d8e04ab77f74e9e5758dc4d3d794362455))
* update migration status on resume ([28f2714](https://github.com/webiny/webiny-js/commit/28f2714772055d347d7c9b9c6935d06e3b2910cc))
* **api-file-manager:** add support for legacy files ([07b00e3](https://github.com/webiny/webiny-js/commit/07b00e37245d91251afb1d2184db5194dcee872b))
* **api-file-manager-ddb-es:** keep the original file PK ([8497d42](https://github.com/webiny/webiny-js/commit/8497d42ea8c8e61a3e18507c1d2262de84df7b7a))
* **api-file-manager-ddb-es:** use storage plugins to create initial indices ([dd79709](https://github.com/webiny/webiny-js/commit/dd79709210e71e5ce07ea6b3a2605fc93fdf0fd6))
* **api-page-builder-import-export:** update file manager usage ([82b744d](https://github.com/webiny/webiny-js/commit/82b744d897b9e8d6762565294c138aee7328b589))
* **app-headless-cms:** cypress test for groups ([bec4fee](https://github.com/webiny/webiny-js/commit/bec4fee797fdbba37efe0d70f6b7b7ad592c976f))
* **cypress:** missing singular and plural fields after merge ([#3129](https://github.com/webiny/webiny-js/issues/3129)) ([aa9b75f](https://github.com/webiny/webiny-js/commit/aa9b75f145b1ed81293cae119bbd38a61723ebd0))
* **migrations:** add File Manager DDB-ES migration ([89e58c1](https://github.com/webiny/webiny-js/commit/89e58c178fc561f867daacbe40f8e1e75fb363b2))
* **migrations:** update tsconfig files ([d5262e8](https://github.com/webiny/webiny-js/commit/d5262e89cf2273fd54161382c15f078a411a9cdf))
* **migrations:** update usage of ddbQueryAllWithCallback ([4cf48ad](https://github.com/webiny/webiny-js/commit/4cf48ad96b8e5868ae8c985813550676b0100b0f))
* **migrations:** use lodash and update deps ([fd1814a](https://github.com/webiny/webiny-js/commit/fd1814afa80915ac417e84047c395df2506abed1))
* **pulumi-aws:** add ELASTICSEARCH_SHARED_INDEXES to migration Lambda ([d592da6](https://github.com/webiny/webiny-js/commit/d592da640eb2a5e017ebe49c880ddbc45498411b))
* **serverless-cms-aws:** add gzip plugin to handlers ([9faa178](https://github.com/webiny/webiny-js/commit/9faa178dd71e153bb8e4d39abf893f1e74093f3f))
* rename ACO models Ids ([#3118](https://github.com/webiny/webiny-js/issues/3118)) ([3d22f92](https://github.com/webiny/webiny-js/commit/3d22f922628b63819a50d84bc4b76484ab08a57c))
* **api-file-manager:** check all mime type file extensions ([67c00d8](https://github.com/webiny/webiny-js/commit/67c00d85a33923d141eee062f52a71d2d43024b7))
* **app-file-manager:** remove updateCache option ([42870a5](https://github.com/webiny/webiny-js/commit/42870a5caa101ac648aaeb63c159845a8b3aa31b))
* change order of block categories ([#3099](https://github.com/webiny/webiny-js/issues/3099)) ([60f44d5](https://github.com/webiny/webiny-js/commit/60f44d583ace46275da36da5267370367dbae5e0))
* fix GraphQL error after page duplicate ([#3081](https://github.com/webiny/webiny-js/issues/3081)) ([165a132](https://github.com/webiny/webiny-js/commit/165a13285c4e0a7985e3b1f45850906b7290e3e7))
* fix preview button URLs ([#3103](https://github.com/webiny/webiny-js/issues/3103)) ([cae03ac](https://github.com/webiny/webiny-js/commit/cae03ac6c5637c77a58a3599d379a375de1e8620))
* make array-based form submission values readable ([#3093](https://github.com/webiny/webiny-js/issues/3093)) ([d3acfb3](https://github.com/webiny/webiny-js/commit/d3acfb3849f0a895488e7923b861ad643c8ee2b3))
* remove old upgrade scripts and UI ([#3068](https://github.com/webiny/webiny-js/issues/3068)) ([2fca83f](https://github.com/webiny/webiny-js/commit/2fca83f456aa35e11a4d778433effcf97c1760c4))
* replace heading and quote variable inputs with rich text ones ([#3056](https://github.com/webiny/webiny-js/issues/3056)) ([f59ae14](https://github.com/webiny/webiny-js/commit/f59ae1445db7e7e12a4f8022ccf2c8cd9362e07b))
* **api-apw:** lock aws-sdk deps and make CMS models cross-tenant ([#3039](https://github.com/webiny/webiny-js/issues/3039)) ([c54ebaa](https://github.com/webiny/webiny-js/commit/c54ebaa408556feec34ab8a4540d7f812f86d8c7))
* **api-apw:** wrong arn in the cms plugin ([#3036](https://github.com/webiny/webiny-js/issues/3036)) ([1a22aba](https://github.com/webiny/webiny-js/commit/1a22aba0e34eaa974023c76f28ddf7f7e24f39b5))
* **api-cognito-authenticator:** add support for token data generic ([#3040](https://github.com/webiny/webiny-js/issues/3040)) ([9dd370b](https://github.com/webiny/webiny-js/commit/9dd370ba15c858ea64b2c251a0d7c70f494cbbb1))
* **api-file-manager:** upgrade File Manager files and settings data ([#3083](https://github.com/webiny/webiny-js/issues/3083)) ([6eb2cc5](https://github.com/webiny/webiny-js/commit/6eb2cc5bce890962dc54cd689017dae441869e8c))
* **api-form-builder:** wait for context to exist before modifying ([07853b6](https://github.com/webiny/webiny-js/commit/07853b64c2b9c7caa040655b78508d88dc030634))
* **api-headless-cms:** default limit for list entries ([#2956](https://github.com/webiny/webiny-js/issues/2956)) ([8898e03](https://github.com/webiny/webiny-js/commit/8898e0388b346057f2ce22df60efdef99b530ee2))
* **api-headless-cms:** graphql schema plugin name ([ff91668](https://github.com/webiny/webiny-js/commit/ff91668a04f9aafa4cecb5a3df5cddd657d33696))
* **api-headless-cms:** issues after dev merge ([#3016](https://github.com/webiny/webiny-js/issues/3016)) ([c65fd13](https://github.com/webiny/webiny-js/commit/c65fd137a767234add21a9889a28d0859eae0e17))
* **api-headless-cms:** model description faulty validation ([#3024](https://github.com/webiny/webiny-js/issues/3024)) ([99923bf](https://github.com/webiny/webiny-js/commit/99923bf6d07a62b1dc40a1dc16cf4bae6253da5b))
* **api-page-builder:** upgrade website settings record ([#3084](https://github.com/webiny/webiny-js/issues/3084)) ([e3f4727](https://github.com/webiny/webiny-js/commit/e3f4727c567484dc53e1efceacfb37dbacd7f4de))
* **app-page-builder-elements:** add missing lexical editor dependency ([#3065](https://github.com/webiny/webiny-js/issues/3065)) ([38b3558](https://github.com/webiny/webiny-js/commit/38b3558323552298c1aee22d0eb2773292d6ea3f))
* **block-editor-form:** support for legacy content ([318509c](https://github.com/webiny/webiny-js/commit/318509c562a3d98e03088fc49dc4a565425f9008))
* **lexical-editor:** update lexical deps to the latest version ([#3057](https://github.com/webiny/webiny-js/issues/3057)) ([60a863e](https://github.com/webiny/webiny-js/commit/60a863e033e1c323423be51f381b3ac961213e63))
* **prerendering:** add support for website re-render across all tenants ([#3041](https://github.com/webiny/webiny-js/issues/3041)) ([70ce505](https://github.com/webiny/webiny-js/commit/70ce505a086bd170aedbbb6f87480c00ba0bb96b))
* **react-properties:** make property id longer ([34b4cca](https://github.com/webiny/webiny-js/commit/34b4cca7b9ffaa9aa5c9ffc7fbe4898bd5319d6a))
* **react-properties:** use @testing-library/react ([d7f521b](https://github.com/webiny/webiny-js/commit/d7f521b0325964664dbeb6d2d07e2b6518e53841))
* **serverless-cms-aws:** add FB plugins to prebuilt handlers ([0e36c06](https://github.com/webiny/webiny-js/commit/0e36c069bf0827e6a8145889164aa23ff7b92b9a))
* **serverless-cms-aws:** update tsconfig files ([1172450](https://github.com/webiny/webiny-js/commit/1172450bb52cd7f42cf47b43b241cf19933a3c78))
* **ui:** add missing data-testid to dialog primary button ([5e28637](https://github.com/webiny/webiny-js/commit/5e2863720b2167d954ed350de75faebf1812f318))
* remove problems reported by eslint ([dd17a42](https://github.com/webiny/webiny-js/commit/dd17a42f9feb5e826d2759ab47fd2d94fda9fe46))
* upgrade to the latest version of @aws-amplify/auth ([#3049](https://github.com/webiny/webiny-js/issues/3049)) ([631e0f3](https://github.com/webiny/webiny-js/commit/631e0f3b8d53d1ccf917a296085d4f8bb68fd2e2))
* **ui:** pass onKeyDown to useCallback dependencies ([#3042](https://github.com/webiny/webiny-js/issues/3042)) ([15b6644](https://github.com/webiny/webiny-js/commit/15b664478d7458cfa3c4e2881394afbfde5d3f76))
* aco hooks creation ([#3023](https://github.com/webiny/webiny-js/issues/3023)) ([c5de9e6](https://github.com/webiny/webiny-js/commit/c5de9e6bd1fcbd7da4161a57b1dc22d40d506e8d))
* fix page blocks list render ([9e144d3](https://github.com/webiny/webiny-js/commit/9e144d3547cb9339908924e1c5f0ca0009f3d82d))
* use ComponentProps instead of an exported interface ([8b939e1](https://github.com/webiny/webiny-js/commit/8b939e1ce1007dda185bed6b5a13eb8851a1e019))
* use the new `field` prop [no ci] ([e96f5cf](https://github.com/webiny/webiny-js/commit/e96f5cfe6db675674eaff3ac47e81b38b4ae7590))


### Features

* create theme typography migration for Lexical Editor and other packages ([#3147](https://github.com/webiny/webiny-js/issues/3147)) ([f0ca560](https://github.com/webiny/webiny-js/commit/f0ca560bb702db48a21785f09c360acb56c17217))
* **api-aco:** add tags to search records [no ci] ([#3228](https://github.com/webiny/webiny-js/issues/3228)) ([2ac9238](https://github.com/webiny/webiny-js/commit/2ac9238740dd9b00e70b78facf2f16095edc34e1))
* **api-aco-so-ddb-es:** custom fields filtering and sorting ([#3224](https://github.com/webiny/webiny-js/issues/3224)) ([51ee44b](https://github.com/webiny/webiny-js/commit/51ee44b4e7c04776337cbdd03438f820ae19b916))
* add `-p` flag for our build script ([51e20f1](https://github.com/webiny/webiny-js/commit/51e20f1c7e76a9562d4dd8085b3074f617de184f))
* add ability to create a page template from an existing page ([419ee8d](https://github.com/webiny/webiny-js/commit/419ee8d291f0ff15ed87a4875d49bd3ad0aa3e42))
* in local dev, if tenant ID is missing, show an informative error message ([df2bc25](https://github.com/webiny/webiny-js/commit/df2bc2549f9d7660c1a5b45fb844c944666e1520))
* migrate page builder pages -> create ACO search records ([#3159](https://github.com/webiny/webiny-js/issues/3159)) ([f4a9c82](https://github.com/webiny/webiny-js/commit/f4a9c82c9efb680d248e06521ff91fadffd6e44e))
* visual adjustments to the page preview panel ([#3112](https://github.com/webiny/webiny-js/issues/3112)) ([5b72da4](https://github.com/webiny/webiny-js/commit/5b72da4dcfc4c222e071e501b7477f73dae5bbc3))
* **api:** benchmark ([#3183](https://github.com/webiny/webiny-js/issues/3183)) ([7d9d7bb](https://github.com/webiny/webiny-js/commit/7d9d7bbf0dbbc6bfed114d1835114b3512e33ffa))
* **api-file-manager:** add lifecycle events ([ad42613](https://github.com/webiny/webiny-js/commit/ad42613e1258ae4e44fb47fd70d10c8b7f094b5b))
* **api-file-manager:** export plugins from root ([30721b5](https://github.com/webiny/webiny-js/commit/30721b5fd47fc9e48f4f44c4757f2524e63b0b49))
* **api-file-manager:** support predefined file id ([337f6fe](https://github.com/webiny/webiny-js/commit/337f6fea4b6fac1cd9967b2cd327db939b58fb29))
* **api-file-manager-ddb:** collect all plugins from main context ([844b36d](https://github.com/webiny/webiny-js/commit/844b36d5d6d2cbcfff2b1525fdb49a67d924a5ce))
* **api-file-manager-ddb-es:** collect all plugins from main context ([a231370](https://github.com/webiny/webiny-js/commit/a231370a265c63a07b89b564f18a620f770857d8))
* **api-form-builder-so-ddb:** collect all plugins from main context ([2d3d45f](https://github.com/webiny/webiny-js/commit/2d3d45facad283420c28b4f997083f076afa08ae))
* **api-form-builder-so-ddb-es:** collect all plugins from main context ([1ea74f9](https://github.com/webiny/webiny-js/commit/1ea74f9b28adefc93e17d4a4de480127d7c9fcf5))
* **api-headless-cms:** add model icon ([118121b](https://github.com/webiny/webiny-js/commit/118121b65861650ccf17c149fc6e95474a5711cf))
* **api-headless-cms:** benchmark ([#3185](https://github.com/webiny/webiny-js/issues/3185)) ([06d5f6d](https://github.com/webiny/webiny-js/commit/06d5f6d996f1c3e1264836c55993ca7d5df81306))
* **api-headless-cms:** use without authorization ([#3177](https://github.com/webiny/webiny-js/issues/3177)) ([4187d17](https://github.com/webiny/webiny-js/commit/4187d179a72c81c41942de2d7f2b9206fbd2e8b4))
* **api-headless-cms-ddb:** add model icon to entity definition ([fe3f0d2](https://github.com/webiny/webiny-js/commit/fe3f0d2abea9809339f141bfa77df8bfd54e751b))
* **api-headless-cms-ddb:** collect all plugins from main context ([99964d5](https://github.com/webiny/webiny-js/commit/99964d544d5f57d099934b7f469df23b0719f139))
* **api-headless-cms-ddb-es:** add model icon to entity definition ([cddfbc1](https://github.com/webiny/webiny-js/commit/cddfbc1bfb5682c4d6d8f3abfb272cb79fbc2845))
* **api-headless-cms-ddb-es:** collect all plugins from main context ([a4015e4](https://github.com/webiny/webiny-js/commit/a4015e47a6f9cea281516084915941e120479c8d))
* **api-i18n:** export all plugins from root ([3faede3](https://github.com/webiny/webiny-js/commit/3faede3906b9f7a65de2a35631a34cce707c718d))
* **api-mailer:** export all plugins and methods from root ([c5422c7](https://github.com/webiny/webiny-js/commit/c5422c7a3544195b2688a615424b10109ecf6e44))
* **api-page-builder:** export all plugins from root ([27e75db](https://github.com/webiny/webiny-js/commit/27e75db1af7fc3835043f65603e737b46b8d5005))
* **api-page-builder:** replace commodo with zod ([#3167](https://github.com/webiny/webiny-js/issues/3167)) ([4490f5c](https://github.com/webiny/webiny-js/commit/4490f5ce86483d46245bca98166e1cd3759eb1e2))
* **api-page-builder-so-ddb:** collect all plugins from main context ([07968ee](https://github.com/webiny/webiny-js/commit/07968ee021ccca907c43878e0670c4815e1243c5))
* **api-page-builder-so-ddb-es:** collect all plugins from main context ([803dfa6](https://github.com/webiny/webiny-js/commit/803dfa6ce6b7cc7243677e9686d67ee57559a6a8))
* **api-security:** add withoutAuthorization utility ([#3176](https://github.com/webiny/webiny-js/issues/3176)) ([ffb13ce](https://github.com/webiny/webiny-js/commit/ffb13cea126752b109b7f272e99f4642e07360ba))
* **api-tenancy:** add withRootTenant and withEachTenant utilities ([df6d94b](https://github.com/webiny/webiny-js/commit/df6d94b531ed0453caef22c785d42be580c9df96))
* **app-file-manager:** add upload percentage callback to file upload ([1c64574](https://github.com/webiny/webiny-js/commit/1c64574dea1249b810e9dc1a624ebaafb7ff9dc8))
* **app-headless-cms:** add model icon ([a45f6b0](https://github.com/webiny/webiny-js/commit/a45f6b0044ecf7258c2e4fb5e7b830efbf6be461))
* **app-headless-cms:** model icon styling ([#3143](https://github.com/webiny/webiny-js/issues/3143)) ([7128577](https://github.com/webiny/webiny-js/commit/712857772289eb84b4bfee474bc47048aebe4a31))
* **app-headless-cms:** model in reference entry ([e801e6a](https://github.com/webiny/webiny-js/commit/e801e6a5edf045ff8cade2703545ce63bd67345f))
* **migrations:** add model icon to entity definition ([32abf69](https://github.com/webiny/webiny-js/commit/32abf69285305dc5cb12d38266bacb00537fbab1))
* **plugins:** merge containers and merge plugins by type ([24bae32](https://github.com/webiny/webiny-js/commit/24bae32e190874c0aadcbec91376af52d64a4586))
* **tenancy:** add tags to tenant entity ([d4ef5f6](https://github.com/webiny/webiny-js/commit/d4ef5f6edb43c31dd3fc89a238b2bd7359f15058))
* **utils:** add executeWithRetry utility ([ee27530](https://github.com/webiny/webiny-js/commit/ee27530b28466adc9f0dbcc9cbbf261b22e3a189))
* ACO styling ([#3140](https://github.com/webiny/webiny-js/issues/3140)) ([c3b8840](https://github.com/webiny/webiny-js/commit/c3b88402dcecf68376c1965d2fac4fbadbb0ff18))
* add command to print current migration status ([6809f00](https://github.com/webiny/webiny-js/commit/6809f00c97d6d46de63351a67e8391493f3778bb))
* add support for resumable migrations ([#3133](https://github.com/webiny/webiny-js/issues/3133)) ([0eb931f](https://github.com/webiny/webiny-js/commit/0eb931f8d98544c0d9934e276902183b08d0a9f6))
* generate mdbid for migration runs ([68613d2](https://github.com/webiny/webiny-js/commit/68613d2376ecc57cfa291d74eacef29527c60514))
* introduce new frontend utility functions (`getLocaleCode`, `getTenantId`, `getApiUrl`, ...) ([#3126](https://github.com/webiny/webiny-js/issues/3126)) ([69a8c62](https://github.com/webiny/webiny-js/commit/69a8c629eafc1592561fa845c2e486ac46ffd83f))
* multiple page builder improvements (`[@container](https://github.com/container)`, Emotion Context, Theme-aware `mq` Utility Function) ([#3141](https://github.com/webiny/webiny-js/issues/3141)) ([18ed331](https://github.com/webiny/webiny-js/commit/18ed331aa84e36f99a32bb1b3c738e653531ce9b))
* page builder pages - use SEO title instead of general settings title ([#3155](https://github.com/webiny/webiny-js/issues/3155)) ([3f6af26](https://github.com/webiny/webiny-js/commit/3f6af260cd2615eb8a013ab615f97c99d9aff071))
* upgrade to Emotion 11 ([#3138](https://github.com/webiny/webiny-js/issues/3138)) ([e84d519](https://github.com/webiny/webiny-js/commit/e84d51972f37a2185b37b39d36860956a06c6383))
* **headless-cms:** singular and plural model api name ([#3111](https://github.com/webiny/webiny-js/issues/3111)) ([cd3ffe4](https://github.com/webiny/webiny-js/commit/cd3ffe4ed5b51d0a817d898a07193b2301cae917))
* add "required field" (*) indicator to form fields ([a51a39b](https://github.com/webiny/webiny-js/commit/a51a39b394b448cbc1481d8962a820e152a1b962))
* add `packages/*` to workspaces ([#3066](https://github.com/webiny/webiny-js/issues/3066)) ([a33699e](https://github.com/webiny/webiny-js/commit/a33699ee35a7c8012a29b351a6b83575973c5c24))
* add an email form trigger ([#2957](https://github.com/webiny/webiny-js/issues/2957)) ([2fbfd20](https://github.com/webiny/webiny-js/commit/2fbfd209a931f13e3903ee61a898572e66e88a84))
* add copy form submission options ([#2952](https://github.com/webiny/webiny-js/issues/2952)) ([cb8c275](https://github.com/webiny/webiny-js/commit/cb8c2758b012bea152fbd96f9617ca71f1e42f63))
* add date to form submission export ([#2965](https://github.com/webiny/webiny-js/issues/2965)) [no ci] ([a2cf10f](https://github.com/webiny/webiny-js/commit/a2cf10f65809abd2cc7d55cfbdb5cd6acbe55ac9))
* add form field id validation ([#3017](https://github.com/webiny/webiny-js/issues/3017)) ([fabed38](https://github.com/webiny/webiny-js/commit/fabed380c845af5734330995a042e523400f269a))
* add import/export capabilities to page datatable ([#2961](https://github.com/webiny/webiny-js/issues/2961)) ([60e9680](https://github.com/webiny/webiny-js/commit/60e968001a7897edd990fe7d7eecf7dd0a1c2977))
* add infinite scroll to the form submissions list ([52a61d0](https://github.com/webiny/webiny-js/commit/52a61d0ac1cd9f8886fda7f9b91e8c6587db1c54))
* add Lexical Editor Content utility for api-page-builder-aco ([#3087](https://github.com/webiny/webiny-js/issues/3087)) ([49c3bfa](https://github.com/webiny/webiny-js/commit/49c3bfa09d55bdd7bf20bf494e3623994c535a90))
* add more export block options ([#3109](https://github.com/webiny/webiny-js/issues/3109)) ([08fa4ee](https://github.com/webiny/webiny-js/commit/08fa4eecba3bacb40621cbc1a15d5a537215faab))
* add other as an option to specific fields ([#3031](https://github.com/webiny/webiny-js/issues/3031)) ([d394754](https://github.com/webiny/webiny-js/commit/d394754102a8da2277247a05f139af6d0f68c7f3))
* add page blocks UI improvements ([#3106](https://github.com/webiny/webiny-js/issues/3106)) ([2ed2ec8](https://github.com/webiny/webiny-js/commit/2ed2ec830cc6e2b24b4eeb3a6eeb29fe3c6e2784))
* add page builder aco hooks to import process lambda ([#3071](https://github.com/webiny/webiny-js/issues/3071)) ([9499427](https://github.com/webiny/webiny-js/commit/94994273c7a1660701e244add617e6d852bd9b58))
* add page category to page template settings ([#3086](https://github.com/webiny/webiny-js/issues/3086)) ([a473c05](https://github.com/webiny/webiny-js/commit/a473c05b46a5b7abb73ef71c88854d18e793d4dc))
* add support for file aliases and preserve file names  ([#3096](https://github.com/webiny/webiny-js/issues/3096)) ([0dffcfd](https://github.com/webiny/webiny-js/commit/0dffcfd49f3765368f0c1bb497de7ffff4696f91))
* add the ability to control the width of the submit button ([#3052](https://github.com/webiny/webiny-js/issues/3052)) ([0b92c72](https://github.com/webiny/webiny-js/commit/0b92c7258d087c9e0740e6b692c68287c2e7f279))
* add the ability to duplicate a page ([#2890](https://github.com/webiny/webiny-js/issues/2890)) ([cd86612](https://github.com/webiny/webiny-js/commit/cd86612c49ae97364645a26f5af79958c728fabf))
* add the ability to import/export forms ([#3077](https://github.com/webiny/webiny-js/issues/3077)) ([ef2dcc4](https://github.com/webiny/webiny-js/commit/ef2dcc4b0e13ecd7f1c81af25243d6795ce0899b))
* bind page-builder events to aco ([#3029](https://github.com/webiny/webiny-js/issues/3029)) ([535c2e6](https://github.com/webiny/webiny-js/commit/535c2e631b37fee081ea03fb3ff890408a359670))
* build packages in parallel threads to use all CPUs ([812060d](https://github.com/webiny/webiny-js/commit/812060de9572020afbe0ba85fb2507dd2d855ad0))
* improve folders and search records listing  ([#3121](https://github.com/webiny/webiny-js/issues/3121)) ([71b2acd](https://github.com/webiny/webiny-js/commit/71b2acda3eee506ca6fb0ebee258096c0a67076d))
* move search entry into a folder ([#3102](https://github.com/webiny/webiny-js/issues/3102)) ([fbd4882](https://github.com/webiny/webiny-js/commit/fbd48829eb67fd511155147abab7d67716b3a0db))
* **api-headless-cms:** replace commodo in group crud with zod ([#2959](https://github.com/webiny/webiny-js/issues/2959)) ([1ff556e](https://github.com/webiny/webiny-js/commit/1ff556ebaf58eb1fd43b10c86f4946f344c9305b))
* **api-headless-cms:** switch to zod validation for models and fields ([#2962](https://github.com/webiny/webiny-js/issues/2962)) ([1143290](https://github.com/webiny/webiny-js/commit/11432906b3d858af515b7f6e59bb7238aad4df5c))
* **api-security-cognito:** add support for custom authorization logic ([#3054](https://github.com/webiny/webiny-js/issues/3054)) ([5d86d8a](https://github.com/webiny/webiny-js/commit/5d86d8a89db0cb74fc446f12906fd5b27fe14e52))
* **app:** add Plugin component to enforce and simplify React plugin creation ([f8655b7](https://github.com/webiny/webiny-js/commit/f8655b73fa31857041276208b081ee8472a63f8e))
* **app-admin:** extract common functions into FM provider ([c589100](https://github.com/webiny/webiny-js/commit/c58910049659217e7c776f16a80adbe4b041e7fa))
* **app-admin:** tweak CSS, improve Permissions and SearchUI component ([#3043](https://github.com/webiny/webiny-js/issues/3043)) ([4aecd19](https://github.com/webiny/webiny-js/commit/4aecd192d631e843233ba131efa060e823f8fc0f))
* **app-file-manager:** make file manager hooks generic ([9bd9267](https://github.com/webiny/webiny-js/commit/9bd9267baf06e812a2d45d9d62925fff5563cc21))
* **app-file-manager:** move FM API provider and FM UI to its own package ([80adee6](https://github.com/webiny/webiny-js/commit/80adee6f0380aa9776498d7ebda09f1719553b54))
* **app-headless-cms:** use child element to render description input ([#3038](https://github.com/webiny/webiny-js/issues/3038)) ([5709a1a](https://github.com/webiny/webiny-js/commit/5709a1a96f9db1c18863307ca4a495db616ce447))
* **lexical-editor:** introduce color picker ([#3061](https://github.com/webiny/webiny-js/issues/3061)) ([900da18](https://github.com/webiny/webiny-js/commit/900da18e547f69f15338d722702587f4eb123c00))
* **ui:** use ButtonPrimary on ImageEditorDialog ([62712b1](https://github.com/webiny/webiny-js/commit/62712b1fccb32e4ea2b4be175a561866ad28b6ca))
* improve blocks search functionality ([#2968](https://github.com/webiny/webiny-js/issues/2968)) ([d07ca8d](https://github.com/webiny/webiny-js/commit/d07ca8dcce954f0847a33af6687cff0aedc17336))
* Introduce data migration Lambda function ([#3079](https://github.com/webiny/webiny-js/issues/3079)) ([80bc1f6](https://github.com/webiny/webiny-js/commit/80bc1f608a0024737379a2d7d235326cb8e94aff))
* introduce lexical editor ([#2791](https://github.com/webiny/webiny-js/issues/2791)) ([d65ec29](https://github.com/webiny/webiny-js/commit/d65ec29d4408dff33cb4e30a943bf7d2dabceb4d))
* introduce page templates ([#2963](https://github.com/webiny/webiny-js/issues/2963)) ([1e701fb](https://github.com/webiny/webiny-js/commit/1e701fbc2eb21197064089ca1976105de0fd351b))
* merge graphql and cms lambdas ([#2945](https://github.com/webiny/webiny-js/issues/2945)) ([0d86adb](https://github.com/webiny/webiny-js/commit/0d86adb4c62baaa90bd9fdd055dcd49962d0ceab))
* migrate admin users and tenant DDB data to data envelope ([b9e6ecf](https://github.com/webiny/webiny-js/commit/b9e6ecfb579c4d7bf3db538d653a95008c91934d))
* use custom:id attribute as identity id ([#3090](https://github.com/webiny/webiny-js/issues/3090)) ([7c86c26](https://github.com/webiny/webiny-js/commit/7c86c26520dfd714ff69ae344794f81a960bed09))
* **data-migration:** add data migration package ([#3064](https://github.com/webiny/webiny-js/issues/3064)) ([fe1e999](https://github.com/webiny/webiny-js/commit/fe1e999b69676d91310741b3e8960dd14b264fdd))
* **page-builder:** add slug and tags fields ([#3044](https://github.com/webiny/webiny-js/issues/3044)) ([a2b092d](https://github.com/webiny/webiny-js/commit/a2b092df7da079632015de9e186e88643b5585de))
* move help text under the form label ([#2964](https://github.com/webiny/webiny-js/issues/2964)) ([352f637](https://github.com/webiny/webiny-js/commit/352f637ddab1cf3c2150fae012410d14d7111fb0))


### Reverts

* restore deleted icons ([444a08e](https://github.com/webiny/webiny-js/commit/444a08e6c220c798decf84371c831ed9d6ee6b18))