All versions since 1.1.0
1.1.0
Minor Changes
-
948c126Thanks @uunw! - Acronym rename across the public surface. Every PascalCase identifier whose leading or trailing token was a 2–4 letter acronym (Qr,Crc,Tlv,Svg,Vat,Tqrc,Bot) now renders the acronym in all-caps to match the BoT / EMVCo / ISO spec convention and the JS native style for acronym types (URL,JSON,XMLHttpRequest).Before After ThaiQrPaymentBuilderThaiQRPaymentBuilderParsedCrcParsedCRCTlvFieldTLVFieldQrMatrixQRMatrixQrSvgOptionsQRSvgOptionsVatTqrcInputVATTQRCInputParsedVatTqrcParsedVATTQRCBotBarcodeInputBOTBarcodeInputParsedBotBarcodeParsedBOTBarcodeThaiQrPayment(React)ThaiQRPaymentThaiQrPaymentMatrix(React)ThaiQRPaymentMatrixrenderThaiQrPaymentrenderThaiQRPaymentrenderThaiQrPaymentMatrixrenderThaiQRPaymentMatrixrenderQrSvgrenderQRSvgbuildBotBarcodebuildBOTBarcodeparseBotBarcodeparseBOTBarcodeMethods on the builder (
.vatTqrc(),.bankAccount(),.ota(), …) keep camelCase per TypeScript’s standard library convention. Constants (TAG_VAT_TQRC,GUID_PROMPTPAY, …) were already SCREAMING_SNAKE. To migrate, run a single regex pass on your codebase using the table above. No behaviour or wire-format changes.
1.2.0 Latest
Minor Changes
-
69897d2Thanks @uunw! - Make the card caption opt-in, and centre the logo overlay evenly.renderCard/renderThaiQRPaymentgainshowCaption(defaultfalse).merchantNameandamountLabelnow only draw when it is set, so a card built from a payload that carries a merchant name stays clean unless you ask for the text. The CLI exposes the same switch as--caption.Breaking-ish: passing
merchantName/amountLabelalone no longer renders them — addshowCaption: true(or--caption) to restore the old output.The centre logo also sat off-centre: its box was square while the glyph is 325 × 376, so
xMidYMid meetletterboxed it and left the side padding ~2× the top and bottom. The box now carries the icon’s aspect ratio, giving equal white padding on all four sides. The glyph itself is unchanged in size. -
adb262cThanks @uunw! - Raise the Node floor to>= 22.engines.nodemoves from>= 18to>= 22. Node 18 and 20 both reached end-of-life, and 22 is the oldest LTS still receiving security fixes — it is also what the build and CI matrices already target. No runtime API in these packages changed; installs on Node < 22 will now warn (or fail underengine-strict).