- Added React v18 to allowed peer dependencies.
- Added support for named exports for
QRCodeSVG
andQRCodeCanvas
. - Added support for ES Modules.
- Added embedded type definitions.
- Swapped out
qr.js
dependency for vendored version of https://www.nayuki.io/page/qr-code-generator-library. - Rewrote using hooks.
- Deprecated support for default export. This will be removed in v4.
- Removed support for React < 16.8.
- Switched to using
unsafe_*
lifecycle methods, eliminating a warning from non-production environments.
- Removed support for React < 16.3.
- Added React v17 to allowed peer dependencies.
- Handle mounting server rendered content properly.
- Handle updates to embedded image properly.
- Support for embedding image into QR Code.
- Remove
PropTypes
in production environments.
- Updated Path2D detection to exclude browsers which don't support string constructor (Edge).
- Properly support new
includeMargin
prop in the canvas renderer.
- Consume non-DOM prop in canvas renderer to prevent spurious warnings from React.
- Support for
includeMargin
prop, to include the "quiet zone" in rendering
- Updated canvas renderer to use Path2D (where available), and simplify the render. This fixes some rendering inconsistencies.
- Switched to using
React.PureComponent
instead of a customshouldComponentUpdate
method.
- New
renderAs
prop, with support for rendering to SVG. This is a more versatile target for high quality visuals. - Support for
style
,className
, and any other DOM props that might be passed through (e.g.data-*
). - Support for proper encoding of multibyte strings (Chinese, Japanese, Emoji, etc.).
- Added support for React v16
- Removed
flow-bin
fromdependencies
- Removed support for React < 15.5
- Extended support to React v15
- Added support for specifying the Error Correction level (e.g.
level="H"
)
- Default Error Correction level is now
'L'
(was implicitly'H'
)
- Fixed bug preventing usage in IE < 11
- Extended support to React v0.14
- Added support for HiDPI screens by scaling the
<canvas>
- Added
shouldComponentUpdate
bailout to prevent unnecessary rendering