Skip to main content

Welcome to the change log of Polotno.

1.0.0-8 - 2022-08-09

  • Assets loading optimizations
  • Fix incorrect export when design has many pages
  • Small UI improvements

1.0.0-5 - 2022-08-04

  • Possibly Breaking: svgElement.colors getter is removed. This change should not effect most of polotno application.
  • Large optimization when a document has many pages with svg elements.
  • Internal dependencies updated

1.0.0-3 - 2022-07-19

  • Increase limit on "stroke size" limit for text elements.

1.0.0-2 - 2022-07-19

  • Fixes in useInfiniteAPI hook and <ImagesGrid /> component. Loading of images in side panel should work smoother now. With less request and better loading indicator.

1.0.0-1 - 2022-07-11

This release is preparation for upcoming release 1.0.0.

  • BREAKING CHANGE: Polotno now requires react@18 and react-dom@18. This is a breaking change because it means that the Polotno library will no longer work with older versions of React. To update the dependencies correctly you should go to package.json and update following packages:
"polotno": "^1.0.0-1",
"react": "^18.2.0",
"react-dom": "^18.2.0",

Then run npm install to update the dependencies.

  • Rulers. Toggle them with store.toggleRulers().
  • More shadow options
  • Public API for bleeds. store.activePage.set({ bleed: 20 }) to set bleed. store.toggleBleed() to show it on the workspace
  • Use ctrl/meta + wheel to quickly zoom in/out workspace
  • New element attributes draggable, contentEditable and styleEditable. These attributes are replacing locked attribute with more control.
  • Fixes for export with bleed
  • Fix text jumping on resize

0.43.15 - 2022-06-29

  • Support from custom fonts in experimental HTML text renderer

0.43.13 - 2022-06-29

  • Dependency fixes and updates

0.43.12 - 2022-06-26

  • Fixes for better RTL support
  • Typescript fixes

0.43.10 - 2022-06-13

  • Ability to hide font family selector from toolbar
  • Better support for RTL languages in html renderer
  • Minor UI fixes

0.43.9 - 2022-06-08

  • Fix text editing bug in Firefox
  • Better support for RTL languages

0.43.6 - 2022-06-04

  • Fix failed export on some browsers
  • Fix export when background is transparent

0.43.5 - 2022-06-01

  • Add transparent option in default list of background colors
  • Fix incorrect behavior on horizontal text resize
  • "Fit to page" button for image element will reset cropping

0.43.3 - 2022-05-26

  • Fix possible failure on color replace with gradients
  • Update internal dependencies

0.43.2 - 2022-05-24

  • Fix color replace function in some SVG icons
  • Fix new line bug for text elements
  • "Text" side panel will create text elements with relative size depending on the canvas size

0.43.1 - 2022-05-18

0.42.8 - 2022-04-11

  • HTML text rendering fixes

0.42.7 - 2022-04-05

  • Smooth font changes. Text should not jump now
  • Fix showInExport: false for text elements
  • Better font loading handling. Some fonts should load faster
  • Multi-select elements on the Layers menu with shift or ctrl

0.42.6 - 2022-04-06

  • Remove non-selectable elements from "Layers" menu
  • Strip HTML tags from simple text element display
  • Pasting several elements on the canvas will automatically select them all

0.42.5 - 2022-04-01

  • Reverse order in "Layers" menu
  • Quick input fix in fonts selector for text element. Blurring the the input will work better.

0.42.3 - 2022-04-01

  • Better distance display when several elements selected
  • "Select All" will skip non-selectable elements
  • Fix distance display on ALT key usage
  • Fix loading of the same template several times into multi-page document
  • Increase loading time limit. It will prevent false loading errors and may improve exporting.

0.42.1 - 2022-03-22

Steps to migrate:

  1. Change CSS styles to new version:
<link
href="https://unpkg.com/@blueprintjs/icons@4/lib/css/blueprint-icons.css"
rel="stylesheet"
/>
<link
href="https://unpkg.com/@blueprintjs/core@4/lib/css/blueprint.css"
rel="stylesheet"
/>
<link
href="https://unpkg.com/@blueprintjs/popover2@1/lib/css/blueprint-popover2.css"
rel="stylesheet"
/>
  1. If you have any additional UI made for blueprint v3, you must migrate it to v4: https://github.com/palantir/blueprint/wiki/Blueprint-4.0.

0.41.5 - 2022-03-17

0.40.0 - 2022-03-09

  • Fix pdf export when background has alpha channel
  • Ability to drop an image from side panel to another image to replace it
  • "Fit to page" function for images will handle bleed correctly
  • Different small bugs fixes

0.39.9 - 2022-02-28

  • UI bugs fixes when bleed is used

0.39.5 - 2022-02-23

  • Better work for ordering of elements when several items are selected
  • Fix loading detector for svg elements. It should fix export for documents with many pages.
  • Fixed undo function when svg element is added to the document.

0.39.3 - 2022-02-15

  • Fix bug in filters for image elements
  • Faster project loading
  • Faster PDF export

0.39.2 - 2022-02-10

  • Collapsible side panel
  • "Templates" panel updates. Not it can load a template into current page of multi-page document.
  • Better error handling for most of default side panels.
  • Minor UI updates for Zoom Panel.
  • Fix display bug of Zoom Panel in Safari.
  • Optimize network loading of "Templates Panel"
  • Other small fixes...

0.38.1 - 2022-01-28

  • store.history.ignore fixes
  • Better UX when remove background function is failed

0.38.0 - 2022-01-28

  • Show distance between elements. To see it select one element, then hold ALT/OPTION key and hover another element
  • Enable "Remove background" feature for all Enterprise plan users
  • Better guidelines when you drag an element. Now it can show several lines at the same time
  • Change default search query in "Photos" section. Now it will show last photos from unsplash
  • Option to disable image downscaling to improve performance
  • More options in translations
  • Style fixes
  • Fix Polotno build in react-scripts@5

0.37.6 - 2022-01-11

  • Update all internal dependencies to their latest versions.
  • Fixes for experimental html text renderer.

0.37.5 - 2022-01-07

  • PDF export fixes. It should work faster, produce smaller file size and render correctly in some PDF viewers.

0.37.4 - 2022-01-06

  • Ability to edit several text elements at once from toolbar.
  • Couple fixes for JSON import/export

0.37.3 - 2021-12-23

  • Change opacity UI a bit. Add numeric input.
  • Export fixes for designs with bleed

0.37.1 - 2021-12-15

  • Ability to set different width and height for every page
  • Better bleed support
  • Ability to customize page controls in <Workspace />
  • Small fixes

0.36.9 - 2021-12-09

  • Fix <Workspace /> autoresize logic
  • Update zooming button

0.36.8 - 2021-12-09

  • Selection fixes
  • Text highlight fixes

0.36.6 - 2021-12-02

  • Fix a bug with possible stuck in loading state, should fix issues with export
  • New property page.bleed.

0.36.5 - 2021-11-23

  • Fix image rendering in Safari

0.36.3 - 2021-11-22

  • BREAKING: store.toDataURL() is now async method. Use it as a promise or with await keyword.
  • Improve performance when design has many changes
  • Better quality on image downscale
  • Fixes for store.on('change', callback) method. It should not have false triggers.

0.35.1 - 2021-11-16

  • Change internal dependency of nanoid to fix Codesandbox issue.

0.35.0 - 2021-11-15

  • Allow snapping on element resize
  • Improve dragging performance
  • Fix highlight on text resize

0.34.8 - 2021-11-05

  • Better resizing of <Workspace /> when size of the store is changed
  • Fix store.waitLoading() for mask property on svg elements

0.34.6 - 2021-11-01

  • Fix wrong image display when it has both corner radius and border
  • Better positioning of pages in workspace
  • Better highlight of elements on selection. No you can see border around every selected element.
  • visible property for every element.

0.34.5 - 2021-10-26

  • Add more translations for <Workspace /> component
  • Fix possible crash in store.deletePages() method

0.34.4 - 2021-10-25

  • Improve color picker performance
  • Fix issue scroll of workspace jumped after page deleting
  • Skip drop functions from sidepanel into locked object

0.34.3

  • Rich text renderer fixes
  • New property hideSvgEffects for <Toolbar /> component

0.34.1

  • Add justify align for text element
  • Fix crashes on some cases of JSON import
  • Experimental rich renderer for text element to support different style options inside one text element
import { unstable_useHtmlTextRender } from 'polotno/config';
unstable_useHtmlTextRender(true);

store.activePage.addElement({
type: 'text',
text: 'Polotno is a <span style="color: red;">red</span> and <strong>bold</strong> framework!',
fontSize: 60,
width: 400,
});

0.33.2

  • Add pageBorderColor and activePageBorderColor props for <Workspace />
  • Open unsplash links on a new tab
  • Remove automatic element selection with element has selectable: false.
  • Add more translations

0.33.1 - 2021-09-30

  • Fix <Workspace /> unmount fail

0.33.0 - 2021-09-29

  • new experimental admin mode to work with the design store.setRole('admin'). This mode will add additional controls in the toolbar to change some attributes of elements.
  • New selectable property for all elements. When selectable: false element is "invisible" for user's clicks. "admin" role can still select such elements
  • New property alwaysOnTop for all elements
  • new property showInExport for all elements.
  • Hold ctrl or command button to disable snap on drag
  • New hotkeys ctrl+c, ctrl+v, ctrl+x, ctrl+a to work on the workspace
  • Fix store.loadJSON() function. It was not working correctly when an element has 0 in x or y attribute
  • Fix <Workspace /> auto-resize behavior. Now it is using ResizeObserver to adopt its size.
  • New prop backgroundColor for <Workspace /> component
  • Better toolbar for image element. Now it will get shorter if no space available.
  • Various bugs fixes

0.32.5 - 2021-09-20

  • Fix export quality of some elements
  • Better PDF export
  • new method store.setElementsPixelRatio(ration)

0.32.3 - 2021-09-15

  • Fix incorrect styles when text is under edit mode

0.32.2 - 2021-09-15

  • Experimental support for Background Removing function
import { unstable_setRemoveBackgroundEnabled } from 'polotno/config';

unstable_setRemoveBackgroundEnabled(true);

0.31.7 - 2021-09-08

  • Several quick fixes for rendering and opacity changes

0.31.6 - 2021-09-08

Technical release with internal bugs fixes and optimizations

  • Optimizing memory usage
  • Fix Firefox crashes on some clipping cases
  • Fix Firefox rendering bugs

0.31.5 - 2021-09-02

  • Fix <Workspace /> crashes when it is mounted inside too small area
  • Update all internal dependencies.
  • Change highlighting of active page

0.31.3 - 2021-08-30

  • image element clipping with clipSrc property
  • Fixes for some side panel components API requests
  • Performance fixes
  • Better scrollbar for <Workspace /> component

0.30.1 - 2021-08-23

  • Several hot fixes

0.30.0 - 2021-08-23

  • Crash fixes for image and svg elements
  • API to control opened side panel.

0.29.0 - 2021-08-19

0.28.0 - 2021-08-10

  • New property cornerRadius for image elements
  • Better typescript support

0.27.0 - 2021-07-30

  • Experimental masking for svg elements. Usage: svgElement.set({ maskSrc: imageURL }). For now you can't control cropping behavior of image. It will be automatically centered.
  • New global fonts API. For more info take a look into Fonts Tutorial.
  • You can keep previous undo history when you import json. Usage store.loadJSON(json, true).

0.26.2 - 2021-07-22

  • Fix ColorPicker component crash when it has not access to store.

0.26.1 - 2021-07-20

  • Hot fix for gradient crash

0.26.0 - 2021-07-20

  • New gradient options for SVG element colors!
  • Color pickers now suggest colors to reuse from the store
  • Some mobile UX fixes
  • Fix "fit to background" resize bug when image has filters
  • getGoogleFontsListAPI and getGoogleFontImage API. Details in Configuration.
  • Fix weird behavior of filters inputs in the toolbar
  • Better dark theme support for color picker

0.25.7 - 2021-07-08

  • Fix mobile issues
  • Autofix of bad data on import

0.25.5 - 2021-07-08

  • Several style fixes.

0.25.3 - 2021-07-07

  • UI fixes and internal updates. You will need to add additional styles into your webpage:
<link
href="https://unpkg.com/@blueprintjs/popover2@1/lib/css/blueprint-popover2.css"
rel="stylesheet"
/>
  • Experimental mobile layout for Polotno! In order to make it work automatically, you need to use special containers. See UI components docs for samples.

0.24.6 - 2021-07-02

  • Various hot fixes: better loading indicator, fix infinite templates loading, fix js error on object drop

0.24.3 - 2021-07-01

  • Drop API for <ImagesGrid /> and side-panel. See (SidePanel Docs)[/docs/side-panel#how-to-use-imagesgrid--component].
  • Fix polotno crash on some data
  • Better templates loading on side panel

0.24.2 - 2021-06-25

  • Better UI for size panel
  • Font loading fixes

0.24.1 - 2021-06-20

  • Quick fix for possible crashes of <ImagesGrid /> components in the side panel

0.24.0 - 2021-06-18

  • New Templates side panel
  • PDF export file size optimizations
  • Improve SVG elements quality
  • Better typescript support

0.23.0 - 2021-06-10

  • Search in Background tab
  • Add a warning when a font is not loading

0.22.2 - 2021-06-03

  • General bugs fixes

0.22.1 - 2021-06-02

  • New UI for "text" tab with templates
  • Center and middle align options
  • Better snap on dragstart of unselected object

0.21.1 - 2021-05-28

0.20.1 - 2021-05-27

0.19.1 - 2021-05-25

  • Scroll and UI hotfixes

0.19.0 - 2021-05-25

0.18.10 - 2021-05-21

  • Better crop behavior on image resize
  • Fix crop on resize of SVG elements
  • More basic shapes on elements tab
  • Fix font preview when you upload new font
  • Fix missing color replacement on svg elements
  • Add some warnings for better key usages

0.18.9 - 2021-05-07

  • Fixed image loading when svg is used as source
  • Fixed whenLoaded detection for svg with color replaced
  • Fixed selection on duplicate

0.18.8 - 2021-05-03

  • Disable automatic image reloading
  • Added a custom hook to overwrite image loading logic
  • Smaller bundle size

0.18.7 - 2021-04-29

  • Fix cross origin images loading

0.18.6 - 2021-04-26

  • Better crop logic on image resize
  • When image is failed to load, polotno will automatically retry to load it

0.18.5 - 2021-04-22

  • Change font loading detector for the faster screen updating on the initial load

0.18.4 - 2021-04-22

  • Fix incorrect export when an element is highlighted

0.18.3 - 2021-04-21

  • Fix cursor jump on text edits
  • Fix error throw in "elements" side panel

0.18.2 - 2021-04-20

  • Better default crop behavior on image element resize
  • Internal code optimizations

0.18.1 - 2021-04-09

  • Quick fix for SVG colors detection

0.18.0 - 2021-04-09

  • Simplify some semi-internal API usage
  • Updated "Elements" panel with default shapes
  • Show warning when <Workspace /> component can't detect its size
  • PDF base64 export
  • Better snap when several objects are selected
  • Internal updates of dependencies

0.17.0 - 2021-03-23

  • Added fontWeight property for text elements. It can have any CSS fontWeight values
  • fontStyle property of text element is slightly changed. It can accept only values "normal" or "italic"
  • Added a warning when polotno can't export store to an image
  • Better font loading check
  • Some internal refactoring for better components reuse

0.16.0 - 2021-03-12

  • Breaking. Fonts API is changed. Instead of name you should use fontFamily.
// old:
store.addFont({ name: 'Troika', url: path });

// new:
store.addFont({ fontFamily: 'Troika', url: path });
  • Fix performance issue for image elements. Polotno should consume a lot less CPU now.
  • Multi-page work fixes
  • Better zoom UX
  • Better color control for text placeholder
  • Fixes for upload button
  • jpg image export
  • Safer key validation flow

0.15.0 - 2021-03-03

  • Zooming will try to keep canvas position
  • More options for lineHeight property for text element. Now it should support all CSS values
  • New border option for image and svg elements
  • Several bugs fixes

0.14.2 - 2021-03-01

  • Fix crop button hide on image element click
  • Fix text blink on undo/redo
  • justify align is temporary removed from toolbar of text elements
  • added better loading indicators for image elements

0.14.1 - 2021-02-26

  • New Magic Resize feature
  • Better touch support
  • Undo/redo fixes
  • Better reset zoom function

0.13.1 - 2021-02-12

  • Jumping fixes for crop action
  • Fix undo/redo when several shapes are moved
  • Fix some console warnings

0.13.0 - 2021-02-10

  • Fix resize when several shapes are selected
  • Highlight of elements on mouseover
  • Putting cursor on correct position when text element is selected

0.12.1 - 2021-02-09

  • Better undo/redo management. The "no change recorded" bug is fixed.
  • Better crop UI on toolbar
  • custom attribute for page
  • some other small bugs fixes

0.12.0 - 2021-02-08

  • placeholder attribute for text elements. Can be used to simulate placeholder attribute from DOM inputs.

0.11.3 - 2021-02-08

  • Image crop fixes and fadeout effect for better UI

0.11.2 - 2021-02-04

  • Fix undo/redo
  • Text element editing fixes
  • cancel/done crop buttons for image element
  • Better shapes selection

0.11.0 - 2021-02-02

  • Text resize fixes
  • Image crop fixes
  • Better drop from side panel to canvas
  • Align elements fixes
  • Less click to enter "edit mode" for text element

0.10.4 - 2021-01-27

  • You can drag elements from side panel
  • Better crop UX for image elements
  • Fixed some crashes and bugs

0.10.1 - 2021-01-24

  • New crop behavior on double click on the image. Very excited about it.
  • image elements has also cropWidth and cropHeight properties.
  • Added Crop button to the top toolbar.

0.9.0 - 2021-01-23

  • Possible breaking: image elements has no clipDirection any more.
  • Possible breaking: property svgSource for svg elements is renamed to src
  • Cropping abilities by double click on image
  • cropX and cropY properties for image elements. crop value should be from 0 to 1 and means % of original size
  • SVG images will keep ratio on resize
  • Various style fixes
  • hideOpacity option for <Toolbar />

0.8.0 - 2021-01-21

  • Text element resizing fixes
  • letterSpacing and lineHeight attributes for text elements

0.7.3

  • Some internal bugs fixes and stability improvements
  • Some fixes for module exports names

0.7.0

  • Many UI fixes for the toolbar

0.6.5

  • Much better undo/redo implementation
  • New element.clone() and page.clone() methods
  • New element.toJSON() and page.toJSON() methods
  • Added more hotkeys to <Workspace> component

0.6.2

  • New filter - Sepia
  • New filter - Grayscale
  • Fixed ability to apply filters to images
  • Added ability to set custom attributes to elements with element.set({ custom: { metaInformation: 'my-data' }})

0.5.3

  • General bugs fixes and stability improvements

0.5.0

  • New API for manipulating side panel components
  • New API to change default Google Fonts list
  • New API to change default upload behavior
  • Performance and UI fixes for many side panel components

0.4.4

  • Fix flip quality of SVG images
  • Slightly change toolbar icons
  • store.deletePages(ids) API
  • pdf export fixes
  • New button "fit image to background" in the toolbar
  • downloadButtonEnabled prop for toolbar component

0.4.3

  • Reduced bundle size
  • Fixed "More" button on small screens when a text element is selected
  • New loading indicators are added

0.4.1

  • "Elements" from side panel are real SVG files now
  • Fix "my fonts" add button to filter only font files
  • Animate adding new elements on the canvas

0.4.0

  • Ability to add custom font file from side panel
  • new store.addFont({ name, url }), store.removeFont(name) and await store.loadFond(name) API.
  • Brand new "Elements" panel on sidebar with https://iconscout.com/ search

0.3.1

  • Major upgrade for all internal dependencies.. polotno should be used with react@^17. It may not work with react@^16.
  • Sidebar UI - added ability to set custom sizes
  • New Filter - Simple shadows
  • Sidebar UI - fix scroll issues
  • Sidebar UI - background color fixes, ability to set any background

0.3.0

  • New property for all elements opacity. Add opacity button to the toolbar
  • Added duplicate button to the toolbar
  • flipX and flipY options for image and svg elements
  • Added flip button to the toolbar
  • Added more align and layering options
  • General style fixes and improvements
  • Better font loading

0.2.2

  • Bug fix - better text editing from the canvas
  • New sidebar panel - Upload!
  • Collapsible toolbar for text (better support for smaller screens)

0.2.0

  • New feature - locking. element.set({ locked: true }). Locked elements can't be changed from the canvas by an end user.
  • New feature - stroke and strokeWidth for Text element.
  • Better support for exports of multi-page projects.
  • Bug fix - removing elements from the canvas by keyboard will work only on correct focus.
  • Fix the bug with incorrect page focusing.
  • Performance optimizations.
  • Better dark theme support.
  • Better text rendering and fonts load.

0.1.3

  • Fixes for visual display of vector images

0.1.2

  • Ready to use list of most popular canvas size
  • Infinite scroll for images component
  • Added more default fonts
  • Images from the side bar are inserted with the correct size
  • Add unsplash photos library