You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Typed QR code contents: the value prop now accepts QRCodeContents, a union of string and typed content objects for plain text, URLs, email, phone, SMS, WiFi, geolocation, vCard, MeCard, and calendar events
The content interfaces (PlainText, URLContent, Email, Phone, SMS, WiFi, GeolocationContent, VCard, MeCard, CalendarEvent) and QRCodeContents are exported from the package
Support for the standard ref prop, forwarded to the underlying react-native-svgSvg element
The package is declared side-effect-free (sideEffects: false), letting bundlers tree-shake unused exports
Changed
Breaking: the value prop is now required and typed QRCodeContents; the 'QR code message' default has been removed
Breaking: on encoding/render failure the component now renders nothing (null) instead of a raw Text element with the error message; onError is still invoked when provided
Breaking:VCard.birthday and VCard.anniversary are now Date instead of string, consistent with MeCard
QRCodeStyle.backgroundColor is now typed ColorValue, widening it to also accept OpaqueColorValue (e.g. PlatformColor); plain strings work as before
Breaking:LogoStyle.borderRadius is now applied in pixels to both the logo and its background (the background previously misread it as a fraction of its size, producing oversized radii for values above 2). For a circular logo, set it to half the logo size
Breaking: the internal TestProps type is no longer exported
Deprecated
The getRef prop — use the standard ref prop instead
Fixed
require() of the package no longer throws in Node consumers such as Jest and SSR: removed "type": "module" from package.json and added an exports map
MeCard nickname is now emitted with its NICKNAME: key (it was previously appended without a key, corrupting the payload)
MeCard payload prefix corrected to MECARD:
WiFi, MeCard, vCard, and iCalendar payloads now use spec-compliant backslash escaping instead of percent-encoding
vCard and iCalendar payloads now use CRLF line endings
Calendar events are now wrapped in BEGIN:VCALENDAR/END:VCALENDAR
vCard now encodes all of its typed fields (previously around 20 fields, such as telephone, organization, and title, were silently dropped)
VCard.name given as a plain string is now escaped like every other text field (commas and semicolons no longer corrupt the payload)
The testID prefix is now applied to the logo's internal nodes (background, clip paths, container), so two QR codes with distinct testIDs no longer collide on them
Removed the broken import condition from the package exports map: it pointed Node ESM consumers at ESM-syntax files in a CommonJS package, causing parse failures