What's Changed
- Patches-based sync engine and undo/redo by @kof in #14
- Props update/delete using transactions by @kof in #20
- add create instance tests by @piyusharorawork in #13
- Breakpoints by @kof in #28
- Update selected instance when running undo by @kof in #41
- Add Github actions by @SaraVieira in #48
- chore(devx) - Add relative-deps by @SaraVieira in #50
- Combobox instead of autocomplete by @kof in #51
- Fixes bouncing back animation from native thumbnail on drop by @kof in #55
- Move database to be postgres by @SaraVieira in #49
- Posgres in prod by @SaraVieira in #58
- update sdk version by @SaraVieira in #60
- update sdk version by @SaraVieira in #59
- Better instance outline from outside iframe by @kof in #63
- Scroll state inside the iframe needs to be considered for tools positioning by @kof in #76
- Fix node to v16 by @okonet in #79
- chore: Add lint-staged and run prettier on pre-commit by @okonet in #80
- Teach webpack for storybook about our ~ alias from remix by @kof in #81
- Auth by @SaraVieira in #62
- Env config inlined for the UI before any other script runs by @kof in #90
- Add sentry by @SaraVieira in #88
- numericGestureControl by @natlusyht in #82
- Create a POC with Lexical WYSIWYG by @kof in #89
- TS Types for gesture controller by @kof in #97
- Add errors on auth & prisma fixes by @SaraVieira in #86
- Use webpack5 and lazy compilation in Storybook by @okonet in #100
- chore(env) - Add env check before starting app by @SaraVieira in #104
- fix(numeric-gesture-control): abstract PointerLock API by @natlusyht in #105
- Move content editable toolbar to workspace tools and replace the text editor with Lexical by @kof in #93
- feat(Select): Use Radix Select for Select by @okonet in #101
- chore(sentry) - Use new @remix/sentry by @SaraVieira in #103
- CSF in Properties by @kof in #53
- Add google login by @SaraVieira in #106
- chore(Auth) - Disable social login buttons and show tooltip on preview by @SaraVieira in #102
- Deploy by @SaraVieira in #110
- Fix url by @SaraVieira in #111
- fix urls in social login by @SaraVieira in #112
- createContentController by @natlusyht in #87
- Fix error on clone project by @SaraVieira in #115
- New deploy by @SaraVieira in #116
- fix vercel deployments by @LonJonn in #123
- Turborepo by @kof in #118
- Full-stack DEBUG variable and FEATURE flags by @kof in #119
- Decouple storybook from yarn dev by @kof in #124
- designer theme update by @natlusyht in #130
- Remove Vercel deployment workarounds by @LonJonn in #129
- Theme switcher by @kof in #120
- Make sure we have validated at runtime data that isn't part of Prisma by @kof in #137
- Enable feature switcher for everyone by @kof in #139
- Release by @kof in #141
- Fix tree flicker by @rpominov in #145
- Merge @webstudio-is/sdk to monorepo by @andrasbacsai in #140
- Assets - Allow local upload by @SaraVieira in #136
- Add more image info to DB by @SaraVieira in #148
- rename sdk folder by @SaraVieira in #158
- Fix follow up issues from CSF branch by @okonet in #154
- Release by @kof in #159
- Allow image upload to S3 by @SaraVieira in #150
- Autodeploy SDK by @andrasbacsai in #164
- Enable choosing the tag for Heading by @kof in #160
- Speed up CI a bit by @rpominov in #170
- Drag & drop prototype by @kof in #149
- Autodeploy SDK & Watch packages by @SaraVieira in #167
- Move asset db code into asset package by @SaraVieira in #174
- Weird margin fix by @kof in #122
- Make prisma its own package by @SaraVieira in #172
- fix env check by @SaraVieira in #178
- Add support for cloud flare R2 and clean path in db by @SaraVieira in #180
- Fix image CSS in asset manager by @SaraVieira in #182
- Combobox by @kof in #168
- Add a tag prop with a list of predefined container tags by @kof in #184
- Added createBatchUpdate to apply multiple properties updates at once by @kof in #185
- rename worker url env to CDN url by @SaraVieira in #188
- Use only the first four characters in AUTH_SECRET by @SaraVieira in #189
- Image loading on upload by @SaraVieira in #186
- Standalone package for icons by @kof in #199
- Merge canvas components with react sdk primitives 2 by @kof in #200
- Fix sync status icon jumping around in width when in loading state by @kof in #191
- Release by @kof in #202
- Moving design system into a package, adding linters in packages where we missed to add them by @kof in #203
- Allow deleting assets by @SaraVieira in #190
- Add storybook support to design-system by @rpominov in #205
- Npm for all packages by @andrasbacsai in #181
- refactor: update type for designer path config option by @johnnyghost in #209
- Toasts v1 by @SaraVieira in #208
- New drag and drop implementation in canvas by @rpominov in #176
- Introduce body component that is used as a root by default by @kof in #207
- Release by @kof in #214
- Find a valid parent when inserting into selected instance by @rpominov in #215
- Toast redesign by @SaraVieira in #218
- Navigator panel by @kof in #216
- show error on image upload by @SaraVieira in #219
- Add new asset image uploading animation by @SaraVieira in #220
- Add header & clean files and folders in assets by @SaraVieira in #223
- Edge published sites by @andrasbacsai in #201
- Merge main to prod by @andrasbacsai in #224
- fix project connectiuon by @SaraVieira in #229
- fix: prisma client command by @andrasbacsai in #232
- Lazy load text editor by @kof in #234
- New text component by @kof in #239
- Drag & drop in the navigator tree & design update by @rpominov in #217
- Drag&drop improvements & some minor fixes by @rpominov in #243
- Release by @kof in #244
- fix: GitHub actions by @andrasbacsai in #246
- Refactor
pubsub
to use strongly-typed events between publishers and subscribers by @Andarist in #240 - Redesign asset info by @SaraVieira in #230
- fix: Github Actions by @andrasbacsai in #250
- fix: typos by @andrasbacsai in #254
- Fix esm loader by @andrasbacsai in #253
- Asset manager types improvements by @kof in #256
- Migrate Asset to meta, clean up types in asset manager by @kof in #255
- Data migrations by @rpominov in #249
- Setting up migrations for Vercel by @rpominov in #260
- fix: remove http-client gh actions for now by @andrasbacsai in #263
- Assets - Fix design of upload button and cog by @SaraVieira in #251
- feature(style panel): layout - flex by @natlusyht in #183
- Preparation for Fonts manager by @kof in #262
- Reusable asset uploader UI by @kof in #265
- Upgrade to TS 4.7 by @Andarist in #267
- Migrations improvements by @rpominov in #264
- Fix migration yarn scripts by @rpominov in #275
- Cleanup assets uploader by @kof in #270
- Migration to asset.meta by @kof in #274
- Update package.json by @rpominov in #276
- HTTP API package by @andrasbacsai in #242
- Make http-client public and publish to npm by @andrasbacsai in #278
- Project package by @andrasbacsai in #277
- Move canvasDocument to react-sdk by @andrasbacsai in #280
- fix project package imports by @andrasbacsai in #281
- Preparation for pages by @kof in #231
- Fix failed migrations by @rpominov in #282
- Wait for designerReady event on the canvas before publishing data by @kof in #284
- Upload a single font file by @kof in #279
- Font metadata and logic improvements by @kof in #285
- Fix a bug where navigator attempts to show
string
children of Bold and crashes by @rpominov in #290 - Update prisma by @rpominov in #294
- Outline on canvas item that's hovered in navigator by @rpominov in #291
- Omit conflicting props by @Andarist in #295
- Make sure that TS 4.7 gets used by @Andarist in #297
- Pages routes by @rpominov in #293
- Speedup sdk build, avoid building things that haven't changed by @kof in #303
- Integrate lost-pixel by @okonet in #302
- Fix critical css for global styles, reset styles for ssr by @kof in #306
- fix: use isomorphic fetch for worker, node & browser by @andrasbacsai in #309
- fix: http-client should not have process.env by @andrasbacsai in #310
- Separate remix root document + critical css extraction on canvas from designer by @kof in #311
- Fix github login by @kof in #312
- Fix saving text change when quickly pressing esc after editing by @kof in #314
- Fix a bug where user can't D&D a link on canvas by @rpominov in #317
- Image component by @kof in #316
- Remove node 14 support by @rpominov in #321
- Minimal pages panel by @rpominov in #319
- CSS Value Input that combines the TextField and Combobox updates all in one by @kof in #322
- [Design System] TextField: Add prefix and suffix props by @okonet in #292
- New unified route for canvas / preview / local publish by @rpominov in #323
- fix: send origin url to publisher by @andrasbacsai in #327
- Isolated domains for user-editable content by @rpominov in #326
- fixes and enhancement for numeric gesture control by @thysultan in #330
- Feature: CSSValueControl by @okonet in #313
- Remove Schema suffix from Zod schemas by @rpominov in #332
- Render the fonts list and font-face by @kof in #299
- Fix stale unit change in scrub logic for css value input by @kof in #334
- Ability to add a page by @rpominov in #328
- Style fixes for buttons and unit icon-button by @kof in #335
- Fix header buttons by @rpominov in #336
- Return to the size 2 upload button and return to previous border radius by @kof in #337
- Release by @kof in #320
- Fix migration by @rpominov in #338
- Deploy by @rpominov in #339
- Increase migration timeout by @rpominov in #340
- Deploy by @rpominov in #341
- Fix bugs in PROD by @rpominov in #344
- Deploy by @rpominov in #345
- Lowercase existing project domains by @rpominov in #349
- Deploy by @rpominov in #350
- Use TS project references to improve the IDE experience by @Andarist in #298
- Fixed the
build
script by @Andarist in #353 - Increment react-sdk version by @andrasbacsai in #355
- New packages: prisma-client & fonts by @andrasbacsai in #356
- Fix a crash in canvas when "Block third-party cookies" is enabled in Chrome by @rpominov in #352
- Release by @kof in #361
- Fonts manager & selector by @kof in #351
- Watch less files with Remix by @Andarist in #363
- Remaining CssValueInput todos by @natlusyht in #354
- Tweak the Stitches module by @Andarist in #373
- Fixed the declared dependencies of
@webstudio-is/project
by @Andarist in #372 - Fonts remaining todos by @kof in #364
- [admin] Add docker-compose with postgres by @istarkov in #371
- Remaining style fixes for fonts manager by @kof in #379
- Ability to edit basic page settings and delete a page by @rpominov in #362
- Fix defaultValue to work with storybook by @istarkov in #386
- Upgrade to lexical v0.6 by @TrySound in #380
- Storybook for Icons by @rpominov in #388
- Hydrate text editor instances by @TrySound in #394
- [jest] Allow inline snapshots by @istarkov in #399
- Generate actual
/server
entries in packages by @Andarist in #383 - Prepare text toolbar to new text editor by @TrySound in #398
- Asset manager - fonts and images together by @kof in #396
- Don't use __DEPRECATED__Text in Label by @rpominov in #414
- Font weights by @kof in #385
- Add a file transform to jest to handle assets by @Andarist in #392
- Reimplement text editor by @TrySound in #412
- Drop legacy text editor by @TrySound in #416
- Add reusable functions for routes paths by @rpominov in #419
- Text control prefix icon by @natlusyht in #391
- fix select styles to be more inline with N-1 figma design update by @natlusyht in #415
- FIX CI by @natlusyht in #425
- Allow text editor styles nesting by @TrySound in #423
- Create CODE_OF_CONDUCT.md by @kof in #427
- [sdk] Image by @istarkov in #378
- Pages small improvements by @rpominov in #428
- Save db state after docker compose down by @TrySound in #435
- Tailwind spacing by @kof in #436
- Fix up login card a little bit, by @kof in #437
- Allow span fragment in text editor by @TrySound in #426
- Fix a bug where outline does not update for inline elements by @rpominov in #438
- Migrate fontSize & lineHeight and borderRadius tokens by @kof in #439
- Minor fixes by @rpominov in #440
- Setup svgo-jsx for icons package by @TrySound in #443
- Add more options to text editor by @TrySound in #442
- Feature style panel flex child section by @natlusyht in #304
- Feature style panel typography section by @natlusyht in #331
- CSS Engine by @kof in #441
- fix style panel search error by @natlusyht in #455
- Able to query pages in loadProject by @andrasbacsai in #454
- Removing stitches from sdk and canvas entirely by @kof in #456
- Publish project package by @andrasbacsai in #458
- Page settings animation by @kof in #459
- Pages UI fixes by @rpominov in #447
- Remove PANEL_WIDTH constant, use token by @kof in #460
- Restrict some prefixes for page paths by @rpominov in #462
- Fix unit font by @kof in #464
- Move css-data to a package by @kof in #461
- Generate icons index.ts with after hook by @TrySound in #466
- Use floating-ui to position text toolbar by @TrySound in #467
- Fix styles when enter editor mode by @TrySound in #469
- [release-fix] Flex gap icon is not button by @istarkov in #472
- [release-fix] Show align-content only if wrap enabled by @istarkov in #471
- [release-fix] Change align-items onto align-self by @istarkov in #470
- Find unused variables with typescript by @TrySound in #474
- Check all .ts and .tsx in packages src folder by @TrySound in #476
- Remove components meta data unused in app by @TrySound in #481
- Publish
css-data
&css-engine
to NPM by @andrasbacsai in #486 - Fix a security issue with eval() by @rpominov in #485
- fix: missing dependency (detect-font) + github action by @andrasbacsai in #489
- Bump to jest 29 by @TrySound in #484
- Fix upload errors by @istarkov in #483
- Stop flicker when hovering instances by @kof in #477
- Fix dev in prisma-client by @TrySound in #496
- Bump lost-pixel by @TrySound in #497
- Migrate packages to native ESM by @TrySound in #493
- [designer] Assets picker by @istarkov in #444
- Pages update for Edge version by @andrasbacsai in #491
- fix: type CanvasData by @andrasbacsai in #500
- don't display empty unitless dropdown by @natlusyht in #478
- Fix esm in prisma migrations by @TrySound in #505
- Output cjs in font package by @TrySound in #506
- Improve text editor styling and enable auto focus by @TrySound in #504
- Improve packages auto publish by @TrySound in #508
- Release by @kof in #374
- Bump saas deps by @TrySound in #511
- Image by @istarkov in #502
- Use corepack to setup yarn by @TrySound in #377
- Primitive tokens by @kof in #507
- Fix npm publish token by @TrySound in #515
- Publish css-vars package to npm by @TrySound in #517
- Handle loader errors in error boundary by @TrySound in #520
- Ability to replace SDK components by @rpominov in #516
- Use serialized loader types by @TrySound in #522
- Fix accidentally commented code at #516 by @istarkov in #524
- Remove assets flag by @istarkov in #525
- Remove paragraphs from text editor by @TrySound in #514
- Bump saas packages by @TrySound in #527
- Release by @kof in #523
- Added aspect ratio property to sizes by @kof in #528
- Split Link and RichTextLink components by @TrySound in #530
- [release-fix] Fix adding new prop by @istarkov in #531
- Make lost-pixel request legacy backend by @d-ivashchuk in #533
- Cross page / project / browser window copy-paste by @rpominov in #463
- Replace flags with component type by @TrySound in #532
- Move defaults into ws by @istarkov in #541
- Use sources as type deifnitions by @TrySound in #539
- Replace tsc with esbuild to build packages by @TrySound in #543
- Drop lost-pixel dependency by @TrySound in #545
- use RemixLink in Link by @rpominov in #488
- Fix that images with asset had value inside db by @istarkov in #549
- Fix span component type by @TrySound in #552
- Deploy per-PR Storybooks on Chromatic by @Andarist in #519
- Primitive tokens by @kof in #518
- Remove a redundant install step in one of the workflows by @Andarist in #557
- Fixed publish by overriding the implicitly enforced yarn registry with the default one by @Andarist in #559
- Make CSSValueInput controllable, by @istarkov in #551
- Give body separate type in sdk by @TrySound in #560
- Fix dependency mapping for blockLevelElements by @kof in #561
- Disable dark theme for now until we got it up-to-date by @kof in #562
- Fix scrub uses other instance value by @istarkov in #563
- [progress] Naive aspectRatio by @istarkov in #556
- Bump packages versions by @istarkov in #566
- Fix props clone by @rpominov in #568
- Fix switch display by @istarkov in #569
- Check authenticated user against db by @TrySound in #542
- Able to use remote dev environments with IP address by @andrasbacsai in #570
- Deprecate legacy icon button in design system by @TrySound in #574
- Eslint improvements by @andrasbacsai in #573
- Fix media query specificity by @kof in #576
- Add a composed Storybook by @Andarist in #529
- Fix menu not closed on blur by @istarkov in #577
- Upload each asset separately by @kof in #565
- Add new RGB Style, then fix typescript errors by @istarkov in #578
- Bump versions by @istarkov in #582
- Redesign text toolbar by @TrySound in #567
- Support asterix for FEATURES env by @kof in #586
- Setup custom hotkeys for sidebar tree by @TrySound in #594
- Asset status can be undefined if image was not just recently uploaded by @kof in #595
- Don't let an input/button grow beyond the layout constraint by @kof in #596
- Fix alpha didn't changed by @istarkov in #597
- Add initial props by @istarkov in #599
- Bump versions by @istarkov in #601
- Add proprety reset button in popover by @TrySound in #583
- Move
@webstudio-is/design-tokens
to@webstudio-is/react-sdk
prod deps by @Andarist in #602 - Enter has no effect if menu is open and no value selected by @istarkov in #607
- Show only important values in "display" select by @TrySound in #609
- Cache css by @istarkov in #612
- Bump versions by @istarkov in #616
- Refresh assets after deletion by @kof in #618
- Auto select span after toggling by @TrySound in #622
- Fix property reset glitches by @TrySound in #620
- Rename defaultStyle to presetStyle by @kof in #629
- Remove treeId from props updates by @TrySound in #635
- Track selected rect close to element by @TrySound in #627
- Scrub fixes by @rpominov in #636
- Fix images appears disappears during upload/delete. by @istarkov in #623
- Hide deleting assets immediately on delete by @istarkov in #640
- Resolve tsconfig package by @TrySound in #643
- Fix performance issue with scrub when used inside popover by @rpominov in #633
- Use explicit imports from @jest/globals by @TrySound in #645
- Install missing deps and restrict ranges by @TrySound in #646
- Start the smallest breakpoint at 0 by @kof in #639
- Send selected instance data from connector by @TrySound in #637
- Install missing deps with types by @TrySound in #647
- Drop selected element container by @TrySound in #648
- Unify Storybook config by @Andarist in #585
- Update hovered rect when scroll ends by @TrySound in #650
- Use resizer when we are rendering the thumbnails in image manager by @istarkov in #642
- Check mark in Combo Boxes can be lost or be incorrect in case of input changes by @istarkov in #652
- Better pull request template by @kof in #655
- Convert text children to nodes in tree by @TrySound in #654
- Position floating panel without hacks by @kof in #659
- Fix inspector layout when style panel sections are collapsed by @kof in #664
- Use +- keys for zoom without cmd by @kof in #660
- Add
reason
argument to onChangeComplete by @rpominov in #669 - Spacing UI by @rpominov in #550
- Bump packages versions by @TrySound in #672
- Migrate to pnpm for package management by @TrySound in #641
- Fix orientation detection in D&D by @rpominov in #674
- Make left sidebar grow full height by @kof in #671
- CSSValueInput ESC support, do not save if nothing has changed by @istarkov in #673
- Improve packages publish by @TrySound in #676
- Replace concurrently with shell emulator by @TrySound in #678
- Apply the first available weight when current weight isn't supported by @kof in #679
- Don't populate an instance on paste, because its already populated by @kof in #681
- Hide outline when preview styles by @TrySound in #663
- Remove unused components, deprecate components consistently by @kof in #683
- Fix ESC to work at unit menu by @istarkov in #680
- Add delay to spacing tooltip by @istarkov in #686
- Fix flex grid control states by @TrySound in #682
- Hide outline when window is resizing by @TrySound in #688
- Fix hover outline by @TrySound in #689
- Fix onComplete event lost if was tab during opened menu and nothing selected by @istarkov in #690
- Bump versions by @istarkov in #693
- Bump to remix 1.6.8 by @TrySound in #695
- Drop inherited style from style panel by @TrySound in #698
- Switch from LoaderFunction to LoaderArgs by @TrySound in #697
- Drop getFinalValue by @TrySound in #699
- Pass property to control by @TrySound in #700
- Access style config by property by @TrySound in #702
- Drop section style by @TrySound in #703
- Background image DB support by @istarkov in #701
- Add Background image to Designer app (without image-set) by @istarkov in #707
- Add object position property by @kof in #708
- Add style info with source data by @TrySound in #704
- Use style info to display "local" values in style panel by @TrySound in #709
- Add assets upload restriction 1 file per request by @istarkov in #710
- Add status field to assets table by @istarkov in #711
- Style Source Input by @kof in #692
- Fallback to cascaded and inherited when value not set by @TrySound in #712
- Show remote style source in UI by @TrySound in #713
- Fix css input (scrub, etc) Beautify options and input for css-value-input by @istarkov in #716
- Restrict assets uploading by MAX_ASSETS_PER_PROJECT env variable by @istarkov in #714
- Fix selected breakpoint to delete by @musyyy in #718
- Support option/shift in spacing's scrub by @rpominov in #717
- Style panel css value input layout was broken by @kof in #720
- Fix select options case by @istarkov in #721
- Show in popover where remote style comes from by @TrySound in #715
- Do not show flex properties in style panel when layout is not flex by @istarkov in #722
- Figma tokens sync by @rpominov in #727
- Upgrade to remix 1.7.6 by @TrySound in #725
- Parse properties initial value by @TrySound in #726
- Remove incorrect keywords from generated data by @TrySound in #730
- Tweak
Instance
type by @Andarist in #732 - Add a stylesheet name for easier debugging by @kof in #731
- Fix unitless initial values by @TrySound in #734
- Keyboard support in spacing control by @rpominov in #723
- Improve units in style panel by @TrySound in #735
- Use tokens from Figma in Stitches by @rpominov in #728
- Remove tokens file from the old location by @rpominov in #739
- Fix linked flex gap and replace icons by @TrySound in #737
- rename Spacing to Space by @rpominov in #745
- Store preset style separately from tree by @TrySound in #724
- Bump remix to 1.9.0 by @TrySound in #740
- Fix publish build by @TrySound in #748
- Normalize styles in database by @TrySound in #749
- Render static css from normalized styles by @TrySound in #750
- Bump packages by @TrySound in #753
- Update normalized styles directly by @TrySound in #757
- Style source input by @kof in #752
- Synchronize canvas store with designer by @TrySound in #762
- Implement disable function for style source input by @kof in #761
- Synchronize transactions created in designer by @TrySound in #768
- Sortable style source items by @kof in #770
- Update store in style panel directly by @TrySound in #771
- Improve size section layout according to design by @TrySound in #760
- Sync figma tokens by @rpominov in #772
- Use normalized styles in style panel by @TrySound in #773
- Current item in style source UI by @kof in #774
- Update Button by @rpominov in #751
- Drop css rules from instance by @TrySound in #775
- Migrate to nanostores by @TrySound in #779
- Add action that re-creates
figma-tokens
branch when it gets deleted by @rpominov in #781 - Style source input by @kof in #776
- Move breakpoints logic to designer by @TrySound in #782
- Simplify props state by @TrySound in #783
- Sync tokens & Add a GitHub action that will automatically keep figma-design-tokens.ts up to date by @rpominov in #778
- Move props updates to designer by @TrySound in #784
- Use props from synchronize state instead of selected instance by @TrySound in #787
- Use props state instead of local one by @TrySound in #786
- Fix styles uploads by @TrySound in #789
- Normalize instances in db by @TrySound in #788
- Login visual fixes by @kof in #793
- Add initial trpc interface package by @istarkov in #780
- Add returnTo support for login, disable cloning without login by @istarkov in #794
- Cleanup rest by @istarkov in #795
- Update token store directly by @TrySound in #796
- Type-safe CSS Stitches' variables by @rpominov in #792
- Add feature-flags package by @TrySound in #800
- Style source input states by @kof in #785
- Bump packages by @TrySound in #805
- Use build-package for http-client by @TrySound in #806
- Added instructions about pull requests when syncing tokens from Figma by @rpominov in #804
- Fix Transaction already closed: Could not perform operation on InstanceProps by @istarkov in #811
- Bump packages by @TrySound in #814
- Sync patches with server in designer by @TrySound in #813
- Deprecate label component by @TrySound in #810
- Add instructions on how to approve Lost-pixel test when syncing tokens from Figma by @rpominov in #815
- Dashboard redesign by @kof in #809
- Figma tokens by @markxtang in #818
- Migrate InstanceProps into Tree table as props column by @TrySound in #819
- updated success color by @taylornowotny in #823
- Make shadow and typography tokens available to be used in code by @rpominov in #821
- Dashboard redesign - project cards by @kof in #817
- Add shallowComputed nanostores utility by @TrySound in #827
- Update lost pixel screenshots by @TrySound in #832
- Replace UserProp with PropsItem by @TrySound in #833
- Add new label for style panel by @TrySound in #820
- Transform styles without zod by @TrySound in #822
New Contributors
- @piyusharorawork made their first contribution in #13
- @SaraVieira made their first contribution in #48
- @okonet made their first contribution in #79
- @natlusyht made their first contribution in #82
- @LonJonn made their first contribution in #123
- @rpominov made their first contribution in #145
- @andrasbacsai made their first contribution in #140
- @johnnyghost made their first contribution in #209
- @Andarist made their first contribution in #240
- @thysultan made their first contribution in #330
- @istarkov made their first contribution in #371
- @TrySound made their first contribution in #380
- @d-ivashchuk made their first contribution in #533
- @musyyy made their first contribution in #718
- @markxtang made their first contribution in #818
- @taylornowotny made their first contribution in #823
Full Changelog: https://github.com/webstudio-is/webstudio-designer/commits/0.22.0