Skip to content

Latest commit

 

History

History
656 lines (378 loc) · 44.7 KB

CHANGELOG.md

File metadata and controls

656 lines (378 loc) · 44.7 KB

CHANGELOG

0.17.1 (2024-12-18)

Bug Fixes

  • respect falsey booleans types in select/radio fields (3406b01)

0.17.0 (2024-12-18)

Features

  • add duplicate action to array field (229cbdd)
  • add renderFooter API to external field (ccec96e)
  • allow react elements in external field mapRow (2f781de)
  • enable resolveFields to access parent data (196227b)
  • list React 19 as supported peer dependency (85e8cc1)
  • track focused field in app state (91bc97a)
  • upgrade next recipe to v15.1 (8ef51c5)
  • use React 19 in next recipe (6b3d97f)

Bug Fixes

  • always run field resolvers when item change (159d819)
  • always update fields when resolveData runs (39dd619)
  • ensure radio fields are functional inside arrays (7736294)
  • prevent field name collision causing hook render mismatch (b51954a)
  • prevent flicker when using resolveData with arrays (1be9b88)
  • provide better error when usePuck used inappropriately (9991c07)
  • remove leading zeros in Number field (5ba9399)
  • respect original value type in radio and select fields (00ccd1d and 6e5864a)

0.16.2 (2024-11-07)

Bug Fixes

  • always treat data as immutable, fixing Redux issues (51154e9)
  • don't crash if component definition missing (525b506)
  • don't crash when selecting component with no config (cb90f5d), closes #671
  • export missing resolveAllData lib in RSC bundle (2f5fb7b)
  • fix RTL styles in action bar overlay (bf5c5a3)
  • remove internal AutoField and FieldLabel components from bundle (5df1597)
  • remove unused label from AutoField type (18b6f1a)

0.16.1 (2024-10-07)

Bug Fixes

  • don't delete array field on click in FieldLabel (ed282b9)
  • don't overwrite user input when field recently changed (6126040)
  • don't show field loader if no resolver defined (8c706cd)
  • hide ActionBar.Group border when empty (4345165)
  • prevent item click before iframe load (61e1653)
  • prevent flash of field loader when no data changed (20d7309)
  • respect readOnly styles in AutoField (9ffe817)

0.16.0 (2024-09-16)

Features

  • add actionBar override for adding component controls (48ec0d7)
  • add automatic RSC export, replacing /rsc bundle (d21eba6)
  • add isDisabled prop to Drawer.Item (cad95b8)
  • add generic type to usePuck hook (01703a9)
  • add iframe override for style injection (7cac376)
  • add initialHistory prop to Puck (54b5a87)
  • add onAction API to track and react to state changes (c7007ac)
  • add permissions API (a43914d)
  • add plugin for injecting Emotion cache (f8a88b9)
  • add resolvePermissions API (f0655f0)
  • add waitForStyles option to iframe config (bc81d9c)
  • call resolveData when new item inserted (3298831)
  • don't mandate fields for optional props (5a219ef)
  • export ActionBar component for use in overrides (04fd6c5)
  • infer Data type from user config (50045bb)
  • make ID optional in History type (BREAKING CHANGE) (d917229)
  • provide ES Module build (ff9076b)
  • rename history.data to history.state (BREAKING CHANGE) (b09244c)
  • show spinner if iframe load takes over 500ms (cfecf54)
  • streamline usePuck history API (c8b2807)
  • upgrade "next" recipe to [email protected] (60fe631)

Bug Fixes

  • add favicon to next recipe to prevent Puck 404 (2c52d27)
  • add missing readOnly state to External fields (bf1449d)
  • always record history on component insert (88c5ab6)
  • don't cache /edit route in Next recipe (94f16b2)
  • don't submit buttons if Puck used in form (f761e5f)
  • ensure demo types are satisfied with TypeScript@5 (958dc25)
  • export missing Plugin type (eb42734)
  • fix crash if component in data is missing from config (0daf478)
  • improve resiliency of iframe CSS for some frameworks, like Mantine (538cb05)
  • make Config and Data types more robust (6bcf555)
  • prevent infinite loop when using plugins with some frameworks (3870871)
  • prevent Tailwind from clashing with viewport zoom select (9151255)
  • remove body margin in remix recipe (0898b26)
  • resize viewport when changed via app state (14419ec)
  • resolve fields when switching between items of same type (a3518ca)
  • return lastData as null instead of empty object in resolvers (BREAKING CHANGE) (648eb92)
  • show warning if heading-analyzer styles aren't loaded (4e7110b)
  • use correct color in FieldLabel labels (b0469a1)

0.15.0 (2024-05-30)

Bug Fixes

  • align Drawer behaviour and docs with expectation (e2cd445)
  • animate loader in iframe (151a267)
  • don't inline link stylesheets for more predictable behaviour (c0a331d)
  • don't overflow external inputs inside arrays/objects (42ef582)
  • don't throw warning when user is correctly specifying root props (46aa8ff)
  • don't unintentionally use read-only styles in external fields (acaf727)
  • fix defaultProps for root (9a1cc7c)
  • infer correct value types in Custom fields (5c8c0e1)
  • position field loader relative to sidebar, not fields (2e8936e)
  • show external field modal when using custom interfaces (6e97a0e)
  • show field loader when using field overrides (8ccfa4c)
  • still load iframe if styles fail to load (3e56bc1)

Features

  • add AutoField component for using Puck fields inside custom fields (106028b)
  • add isEditing flag to puck object prop (13bb1bd)
  • add resolveFields API for dynamic fields (0a18bdb)
  • allow data prop to accept an empty object (aedd401)
  • bump next recipe to Next@14 (47a27ed)
  • enable override of publish button (breaking change) (480467a)
  • expose previous data to resolveData via lastData param (dd7051e)
  • replace history chevrons with undo/redo icons (91dff22)

0.14.2 (2024-04-17)

Bug Fixes

  • add DropZone iframe compatablity mode for bug in Safari 17.2, 17.3 and 17.4 (47496c2)
  • check for optionality to handle race condition when dragging (4dbd487)
  • defer iframe event binding until contentWindow is ready (268ea53)
  • don't crash if component is missing after referenced in category (dc93789)
  • don't force height of DropZones in custom interfaces (046c255)
  • don't query iframe document if not ready (2b2ef32)
  • don't throw undefined error if rapidly zooming browser in some environments (282a8b0)
  • fix drag-and-drop when entire Puck component used inside an iframe (23db292)
  • fix support for boolean values in select fields (c4a66ad)
  • make draggable outlines consistent (9008b70)
  • prevent grid layout issues in generated apps (5c05f94)
  • reflect value changes made via resolveData in radio fields (9a7066f)
  • remove peer dependencies causing warnings (041ca64)
  • resolve security warning when additional iframes present (03ab0bd)
  • use 100% width for Puck preview when iframe disabled (#414) (64303c8)
  • use more custom interface friendly styles for iframes (e6e01c6)

Performance Improvements

  • add API for disabling auto-scroll due to performance issues (3e5599e)
  • batch load initial iframe styles (e585f20)
  • don't lock main thread when iframe styles changed (e529e85)
  • reuse host window styles in iframes (e7fe7e0)

0.14.1 (2024-04-01)

Bug Fixes

  • don't throw undefined error if rapidly zooming browser in some environments (282a8b0)
  • prevent grid layout issues in generated apps (5c05f94)
  • remove peer dependencies causing warnings (041ca64)

0.14.0 (2024-03-28)

Features

  • add "name" prop to componentItem override (45bbceb)
  • add min and max APIs to array fields (53b7937)
  • add API to opt-out of iframes (03dd90b)
  • add Contentful field package (d944288)
  • add filter fields to ExternalFields (7a55053)
  • add iframe support (1d0bf57)
  • add min and max APIs to number fields (4932a6e)
  • add selectedItem convenience param to usePuck (c1224d0)
  • add viewport switching (ccf9149)
  • enable mapping of table rows in external fields (d50c56e)
  • expose history via usePuck hook (1b907cb)
  • hide array Add button when array is readOnly (4e27c3f)
  • improve touch, contrast & keyboard a11y (f975d87)
  • refine UI for external field modal (6a2afa1)
  • support custom component labels via the new label param (712fb8e)
  • update to 12-tint color palette (d43da58)
  • use InterVariable font (88532fb)

Bug Fixes

  • avoid FOUC of side bars on mobile (83be956)
  • correctly infer objectFields type from props (e8991cc)
  • don't attempt to resolve data if component missing from config (cc7d391)
  • don't flash nested DropZones on first drag (38c3dc4)
  • don't unexpectedly show DropZone background (2001fa2)
  • ensure font loads for ExternalFields (e9bca75)
  • ensure heading-analyzer updates when content changes (d75df7a)
  • ensure select and radio fields support read only arrays (cbdf66d)
  • fix array field when used on root (95280e6)
  • fix renderDropZone method in editor (2c738dd)
  • lower opacity of DropZone background to support dark backgrounds (9a5c0b8)
  • make getItemSummary optional on ExternalFields, as expected (26bc4ff)
  • only import Puck CSS on editor pages (22a4182)
  • prevent unexpected field behaviour when pressing "Enter" key (bf4f527)
  • use strict return type for resolveData (777cd3c)
  • vertically align field icons (fa92436)

0.13.1 (2023-12-23)

Bug Fixes

  • don't render plugins twice when using React strict mode (f70c722)
  • replace crypto with uuid lib (a84e06f)

0.13.0 (2023-12-19)

Features

  • add "ui" prop to Puck to set the initial state (71f8b2f)
  • add APIs to restrict components dropped in DropZones (28f24f9)
  • add data migration API (f987324)
  • add generic Config type to Puck and Render components (1c4b97f)
  • add object field type (243278b)
  • add Puck class to outer div (0698a12)
  • add search to external fields (fe3b439)
  • add transformProps lib to migrate component props (1ec2a78)
  • add usePuck hook (13f3ccb)
  • introduce UI overrides API (8a7c325)
  • make onPublish prop optional (60f317f)
  • remove renderComponentList in favour of overrides API (97f65e3)
  • replace existing plugin API with plugin overrides (46cca26)
  • support compositional Puck (22f053f)
  • track isDragging in app state (841ae12)

Bug Fixes

  • don't crash when loading external data into array field items (d13d00b)
  • enable user to pass in config without casting (ee211e2), closes #185
  • fix broken nested array fields (7a3949f)
  • fix initial UI state on mobile (3aa0057)
  • prevent pollution of global styles into component overlay (3fcf8e3)
  • record history when a user selects an item (3a649c9)
  • remove packages triggering superficial security warning (0f52b61)
  • respect label in radio fields (fe550d7)
  • set aria-label on all loaders (9adca27)
  • stop color pollution in external field modals (2e1b5ef)
  • use correct title path in recipes (60244ba)
  • watch puck.config.tsx in Remix recipe (ecb276c)

0.12.0 (2023-11-23)

Features

  • support React server components via @measured/puck/rsc bundle (90ac161)
  • add remix recipe (f882878)
  • add explicit rsc and css exports (0b6a527)
  • improve responsive behaviour (889b4c7)
  • add visibility toggle for right-hand sidebar (3d6c5d4)
  • allow custom fields to set UI state during onChange (388793c)
  • expose field "id" to custom fields (849161e)
  • improve IconButton accessibility (4c71d39)
  • add new monospaced font stack (c484ea6)
  • tweak Field input focus state (8012afd)

Bug Fixes

  • don't enable style pollution of input background color (bb1a76b)
  • don't reset array item labels when changing order (57563e1)
  • ensure field icon and label are vertically aligned (caa40e0)
  • ensure root render receives props from latest data API (abb6ff1)
  • export missing PuckAction type (f22f32d)
  • fix rootResolver behaviour when using recommended root data API (5c13de5)
  • migrate to @hello-pangea/dnd to fix defaultProps warning (2c97362)
  • prevent inconsistent default input font-size (99f90b3)
  • show a default value when no placeholder set on external fields (e30b5b6)
  • stop zones getting wiped out if data prop updated (0c4514f)
  • stop style pollution into array field items (03b89d5)
  • stretch external field table to width of modal (f6d89f6)
  • use correct root data API in next recipe example database (b598144)
  • use Inter font in button type Buttons (1973847)

0.11.3 (2023-11-12)

Bug Fixes

  • ensure field debounce doesn't sporadically lock preview update (487ab83)
  • stop generator crashing on Windows due to commits with single quotes (ab9d43f)

0.11.2 (2023-11-11)

Bug Fixes

  • add missing database.json back to generated next recipe (3c15255)

0.11.1 (2023-11-11)

Bug Fixes

  • include next recipe in generator (5b833ef)

0.11.0 (2023-11-03)

Bug Fixes

  • don't flicker root DropZone when dragging (358435c)
  • ensure array fields can render if value is undefined (47ab3c9)
  • isolate external field modal from high z-indexes (fdf97c7)
  • make Field types required based on type (daf36ac)
  • prevent global style pollution in external fields (429731d)
  • prevent long header titles from rendering over actions (4613df4)
  • use correct heading component for external inputs (462266d)

Features

  • add categories API for grouping components in side bar (594cc76)
  • add read-only states to all field types (746d896)
  • add icon to external fields (a3a018b)
  • add loading state to external field modal (5b4fc92)
  • add lock icon when field is read-only (a051000)
  • add mapProp API to external fields (86c4979)
  • add renderComponentList API (ec985e3)
  • add resolveData API for modifying props dynamically (c1181ad)
  • deprecate adaptors in favour of new external field APIs (7f13efc)
  • deprecate magic adaptor _data behaviour in favour of resolveData API (4ee31e7)
  • deprecate props under root in favour of root.props (7593584)
  • make external field more consistent with other fields (5bfbc5b)
  • update next recipe to render to static (a333857)

Performance Improvements

  • cache data between fetchList calls in external fields (04b7322)
  • improve render performance of fields (d92de7f)

0.10.0 (2023-10-18)

Bug Fixes

  • ensure layer tree consistently shows selected item (6a9145c)
  • only render strings or numbers in external adaptors (3c337be)
  • prevent style pollution for select fields (fa7af7d)

Features

  • align component list UI with refreshed array fields (74cd3a7)
  • enable drag-and-drop of array items (12800f8)
  • expose state dispatcher to plugins (e94accb)
  • expose state to plugins, removing data (89f9f2e)
  • expose state to renderHeader, removing data (29ddaaf)
  • record application state in undo/redo history (0f2d7c5)
  • refresh UI for array fields (5ef8a96)

0.9.0 (2023-10-06)

Bug Fixes

  • fill empty space under puck-root (d42cfb6)
  • prevent global pollution of Heading color (327721c)
  • render icon if provided to FieldLabel (ae01891)
  • reset stacking context for each item (a826492)

Features

  • add undo/redo history (222697e)
  • make actions sticky to component scroll (f3e5b50)

0.8.0 (2023-10-03)

Features

  • introduce DropZone API for nesting components and advanced layouts (5053a84)
  • introduce new outline UI (e32c4ff)
  • redesign action overlay and move outside of component (5145cba)
  • cast number field types to Number (d5df959)

Bug Fixes

  • add missing id type to render props (18753cf)
  • add missing optional chaining operator to next recipe (a368319)
  • don't show margin underneath placeholder when dragging in (2620455)
  • don't switch between controlled/uncontrolled inputs (b20e298)
  • ensure form styles override global styles (104091a)
  • ensure hooks can always be used within render functions (cbf8e8e)
  • ensure types allow for nested arrays (06b145b)
  • fix unpredictable rendering of drop placeholder (bf5f16b)
  • only show sidebar scroll bars if necessary (87c8736)
  • prevent global styles from overwriting fieldset styles (550bd0e)
  • respect labels for array item fields (f2e7843)
  • prevent global styles from overwriting outline styles (1dc222c)
  • prevent styles from clashing with dark mode root element (8506e8e)
  • upgrade next version in recipe to ensure vercel builds pass (c2d7fae)

Performance Improvements

  • reduce bundle size by 61% by removing unused react-feather icons (f4b0563)

0.7.0 (2023-09-14)

Features

  • add support for custom fields (b46b721)

0.6.2 (2023-09-07)

Bug Fixes

  • bust cache in generated app on publish (6e1c8ed)
  • don't 404 on homepage in generated app (8fd7b3b)
  • don't call API when building generated app (8041fc1)
  • fix type issues in generated app (b16e98e)

0.6.1 (2023-09-06)

Bug Fixes

  • add missing glob dependency for create-puck-app (7dbe190)
  • return component to original position when drag cancelled (cae760f)
  • use correct peer dependencies for react (39f4e7f)

0.6.0 (2023-08-15)

Bug Fixes

  • ensure component label doesn't inherit user styles (5c0d65b)
  • make default props on root optional (dc5b1ae)

Features

  • export Button and IconButton to make extending header seamless (d98eb29)

0.5.0 (2023-08-14)

Features

  • add headerTitle and headerPath APIs (ae5c7c2)
  • gracefully fallback if component definition doesn't exist (d7e3190)
  • refine editor styles (9e57649)
  • support booleans in radios and selects (acb7a96)

0.4.1 (2023-08-09)

Bug Fixes

  • move incorrect dependency to devDependencies (6ffd86c)

0.4.0 (2023-07-07)

Bug Fixes

  • avoid hardcoding localhost in strapi adaptor (f8d920c)
  • stretch ExternalInput button to fill container (69ee221)

Features

  • add adaptor-fetch package (eaf7875)
  • rename page to root in API (8519675)

0.3.2 (2023-07-06)

Bug Fixes

  • export correct files for Strapi adaptor (577a849)
  • set correct font family for empty outlines (3d45841)

0.3.1 (2023-07-05)

Bug Fixes

  • include .gitignore in recipes (e18bf67)

0.3.0 (2023-07-05)

Features

  • release create-puck-app (0722a65)

0.2.2 (2023-07-05)

Bug Fixes

  • ensure margin collapse fix works with coloured backgrounds (fdec4fa)

0.2.1 (2023-07-05)

Bug Fixes

  • remove border on draggable components (726a27c)

0.2.0 (2023-07-04)

Bug Fixes

  • inject react into libraries (7e10d91)
  • render drag and drop correctly when using margins (f88025b)

Features

  • add icons to inputs (f47482e)
  • improve UI for fields (aa0d2fe)
  • rename "group" field type to "array" (4f99c7d)

0.1.6 (2023-07-04)

Bug Fixes

  • inject react into libraries (7e10d91)

0.1.5 (2023-07-03)

  • Publish all packages