Gift Voucher 4.x is on version 3.0.14
, released on Sept 07, 2024
Released Sept 07, 2024
Change “Share” button to “View” for vouchers, for consistency with Craft/Commerce.
Fix missing product
variable when previewing a voucher.
Fix an error when duplicating a voucher.
Fix saving a code with a decimal value being cast to an int.
Released July 10, 2024
Add support for orderSite
for PDF URLs.
Update English translations.
Switch session handler to use Craft’s Session helper.
Fix an error when saving a new site.
Fix session-handling to check for console requests.
Fix vouchers always being re-saved when updating a site or force-applying project config.
Released Mar 04, 2024
Add support for programatically setting a code’s codeKey
.
Fix order of operations when uninstalling the plugin.
Released Jan 30, 2024
PDFs now support using the current site’s locale language and formatting.
Released Dec 08, 2023
Add currently-applied voucher codes to manage for modal when editing an order in the control panel.
Add codeKey
as an available variable for the voucherCodesPdfFilenameFormat
setting.
Voucher modal now shows message instead of refreshing, ensuring unsaved changes to the order aren’t discarded.
Fix “enter” key not submitting the gift voucher modal when editing an order in the control panel.
Fix codeKey
reference when rendering PDFs.
Released Oct 25, 2023
Implement Element::trackChanges()
for Blitz compatibility.
Released Oct 08, 2023
Fix an issue when creating new sites and not propagating voucher types correctly.
Released Mar 09, 2023
Only admins are now allowed to access plugin settings.
Fix an error when creating a voucher of custom value with no value provided.
Fix an error when creating a voucher code. (thanks @darinlarimore).
Released Dec 25, 2022
Fix an error when viewing a voucher code with no order associated with it.
Released Nov 30, 2022
Fix permissions check for managing Vouchers and Codes.
Fix voucher and code element indexes not providing edit links due to Craft 4.3.2 changes.
Fix cannot assign Dompdf\Options to property PdfRenderOptionsEvent::$options. (thanks @CMeldgaard).
Fix an error when saving vouchers containing commas in price.
Released Nov 15, 2022
Fix an error when trying to generate a PDF for a voucher in the control panel.
Fix issues with int type check, and error checking in tabs. (thanks @darinlarimore).
Released Nov 10, 2022
Fix an error when trying to edit a Code object in the control panel.
Released Oct 23, 2022
Add tabs for codes not working correctly in the control panel.
Released Oct 21, 2022
Fix an error when combining a Commerce discount and Gift Voucher code with stopProcessing
enabled.
Fix an error when saving a voucher without an SKU.
Fix an error when applying a Craft discount code.
Fix codeStorage
type.
Fix an error running resave
console commands.
Released Aug 25, 2022
Add missing English translations.
Add dateCreated
, dateUpdated
and uid
to Redemption model.
Now requires PHP ^8.0.2
.
Now requires Craft ^4.0.0
.
Now requires Craft Commerce ^4.0.0
.
Replace deprecated Craft.postActionRequest()
for JS.
Fix an error when uninstalling.
Fix redemptions table showing the order date instead of the date of the redemption date.
Fix an error when viewing a redemption without and order in the control panel.
Fix an error fetching new redemption records.
Fix a type error with redemption codes.
Released Mar 08, 2024
Add support for programatically setting a code’s codeKey
.
Fix order of operations when uninstalling the plugin.
Released Dec 08, 2023
Add currently-applied voucher codes to manage for modal when editing an order in the control panel.
Voucher modal now shows message instead of refreshing, ensuring unsaved changes to the order aren’t discarded.
Fix “enter” key not submitting the gift voucher modal when editing an order in the control panel.
Released Oct 08, 2023
Fix an issue when creating new sites and not propagating voucher types correctly.
Released Oct 23, 2022
Add tabs for codes not working correctly in the control panel.
Released Aug 25, 2022
Add dateCreated
, dateUpdated
and uid
to Redemption model.
Fix redemptions table showing the order date instead of the date of the redemption date.
Fix an error when viewing a redemption without and order in the control panel.
Released June 10, 2022
Fix an error when trying to redeem a voucher code, when the linked voucher has been deleted.
Fix being unable to modify a code’s voucher in the control panel.
Fix Swiftmailer dropping message after attaching voucher PDF.
Fix an error in Postgres when resaving a voucher code.
Fix PDF generation URLs not being correct in headless environments.
Released Dec 12, 2021
Added resave/gift-voucher-codes
and resave/gift-voucher-vouchers
console commands.
Added orderReference
to the searchable attributes for voucher codes.
Reverted adjuster behaviour back to 2.5.x version, fixing many issues.
Voucher adjusters not use a voucher
type instead of discount
to fix many issues.
Fix an error when clicking "New voucher" when adding a voucher in the Bulk Generate Codes function.
Fix a hard-error shown when saving a voucher with no price.
Fix "Voucher Type" column not displaying correctly for the codes element index.
Fix "All voucher types" not appearing in the control panel for codes element index.
Released Oct 30, 2021
Extend voucher expiry from 24 to 36 months.
Released Oct 06, 2021
Fix when attaching the PDF to an email, clears the body content of the email.
Fix an override warning message not showing for the attachPdfToEmails
config setting in the control panel.
Fix debug console output in the control panel.
Released Aug 23, 2021
Fix shipping discount being applied when total amount already redeemed (introduced in 2.6.0).
Released Aug 22, 2021
Major refactor of discount adjuster, which is used when applying a voucher code on an order. This change fixes a few issues with Commerce 3.4+.
Discounts are now spread over all line items, when applying a voucher code. This is inline with Craft Commerce's discount adjusters are handled.
Now requires Craft Commerce 3.4+.
Fixed duplicate discounts being applied to orders when redeeming a code, in some instances.
Fixed some cases when tax on a shipping method was being charged, despite the discount being applied to a shipping methods' cost.
Released July 08, 2021
Add EVENT_BEFORE_MATCH_CODE
event for adding custom code matching logic. (thanks @superbigco).
Fix an error when generating PDFs and custom fonts, where the temporary folder isn’t writable (or created).
Ensure we register the discount adjuster via EVENT_REGISTER_DISCOUNT_ADJUSTERS
to fix some compatibility issues.
Fix vouchers being applied to new orders, when creating new orders in the control panel.
Released Mar 29, 2021
Add bulk voucher code generation page. (thanks @jerome2710).
Add EVENT_MODIFY_RENDER_OPTIONS
event for modifying the DomPDF options during render.
Fix incorrectly using fieldLayoutId
for plugin settings, when fetching Codes’ field layouts. This could lead to some installs not generating voucher codes correctly upon checkout.
Released Feb 13, 2021
Add promotable
and availableForPurchase
options to vouchers.
Released Jan 22, 2021
Fix gift vouchers attaching to emails, even when disabled.
Change logging from error
to info
when an order doesn’t contain a gift voucher.
Released Dec 12, 2020
Add more logging around post-checkout functionality.
Post-checkout functionality is now performed on EVENT_AFTER_COMPLETE_ORDER
rather than EVENT_BEFORE_COMPLETE_ORDER
.
Fix permission translation error.
Released Nov 26, 2020
Ensure critical errors are logged during the order complete event.
Fix critical errors preventing orders from completing correctly.
Released Nov 07, 2020
Fix potential error with isVoucher
and line item purchasables.
Released Nov 06, 2020
Add support to apply gift voucher from the control panel, when editing an incomplete order.
Add ability to attach gift voucher PDFs to Commerce emails.
Fix an error when no code is found when applying voucher codes.
Released Oct 08, 2020
Custom fields are no longer serialized in the snapshot of a voucher. Please use EVENT_AFTER_CAPTURE_VOUCHER_SNAPSHOT
and EVENT_BEFORE_CAPTURE_VOUCHER_SNAPSHOT
events to opt-in any custom fields you want serialized in the snapshot. This follows Commerce's behaviour.
Fix incorrectly serializing Super Table queries when taking a snapshot of Gift Vouchers when adding to the cart.
Fix EVENT_AFTER_CAPTURE_VOUCHER_SNAPSHOT
event not actually doing much.
Prevent code field layout ID from being creating multiple times when saving plugin settings.
Released Sept 18, 2020
Fix a potential security vulnerability where the last-created voucher could be redeemed by any user.
Replace hard coded currency with order currency. (thanks @yingban).
Released Aug 31, 2020
Add support for Craft 3.5 field designer for code elements.
Add support for Craft 3.5 field designer for voucher elements.
Now requires Craft 3.5+.
Now requires Craft Commerce 3.2+.
Released Aug 20, 2020
Fix getEditableVoucherTypeIds
not returning correctly.
Released July 30, 2020
Fix ErrorException from undefined variable uid. (thanks @jmauzyk).
Released July 29, 2020
Fix voucher site dropdown not working for multi-sites.
Fix share and preview button alignment for vouchers.
Fix live preview not working for vouchers.
Fix save-as-new-voucher not working correctly.
Fix voucher permissions to use UID instead of ID.
Released June 22, 2020
Add migration for potentially missing code field layout.
Fix usage of deprecated saleAmount
.
Return cart errors for ajax-applying of voucher codes.
Released June 18, 2020
Removed fieldsPath
config setting. If you are using this setting for adding custom field content to your voucher codes, please update your templates. Use input type="text" name="options[fieldHandle]"
instead of input type="text" name="options[<fieldsPath>][fieldHandle]"
.
Released June 15, 2020
Fix potential error when trying to save a voucher code without an amount.
Fix incorrect handling for code field layout.
Released May 10, 2020
Add project config support for voucher types.
Check to ensure Klaviyo Connect plugin is installed before doing any more checks. (thanks @brianjhanson)
Released Apr 16, 2020
Fix logging error Call to undefined method setFileLogging()
.
Released Apr 15, 2020
File logging now checks if the overall Craft app uses file logging.
Log files now only include GET
and POST
additional variables.
Only allow editing of voucher types if editable.
Released Mar 16, 2020
Fix order and voucher columns showing incorrect values in the voucher codes element index.
Add “Original Amount” to voucher codes element index.
Fix currency symbol in voucher codes element index in some cases.
Released Feb 13, 2020
Fix missing order properties for PDFs generated in CP. (thanks @jmauzyk).
Fix populateLineItem
to work with Commerce 3.x.
Released Jan 29, 2020
Craft 3.4 compatibility.
Commerce 3.0 compatibility.
Released Jan 09, 2020
Fix registerAdjuster
= afterTax
not working correctly.
Released Jan 09, 2020
Add registerAdjuster
plugin setting to control when the adjuster should be applied. Valid options are beforeTax
(default) and afterTax
.
Released Jan 04, 2020
Add the ability to set field layouts for Voucher Codes. (thanks @Anubarak).
Add a field layout designer to the settings for Voucher Codes. (thanks @Anubarak).
Add an event PopulateCodeFromLineItemEvent
to set additional fields/properties when a new Code is created based on a Voucher/LineItem. (thanks @Anubarak).
Add an event to validate LineItem options for custom fields in the Code. (thanks @Anubarak).
Add a migration to include an initial empty content
record for all existing Voucher Codes. (thanks @Anubarak).
Add a new setting fieldsPath
that represents the path of custom fields in the LineItems options. (thanks @Anubarak).
Add additional Tabs for custom fields in the Voucher Code if there are any. (thanks @Anubarak).
Add a component codeStorage
for storing and receiving codes that are used. (thanks @Anubarak).
Add an interface for codeStorage
and the possibility to use custom classes/components. (thanks @Anubarak).
Add a class Session
for storing the used codes for an order in the session. (thanks @Anubarak).
Add a class Order
for storing the used codes for an order in the field layout in a Codes field. (thanks @Anubarak).
Add a new Code relation field type. (thanks @Anubarak).
Add template hook cp.gift-voucher.voucher.edit.details
(thanks @samuelbirch).
All codeKeys are now grabbed via GiftVoucher::getInstance()->getCodeStorage()->getCodeKeys($order);
. (thanks @Anubarak).
All codeKeys are now set via GiftVoucher::getInstance()->getCodeStorage()->set($codeKeys, $order);
or the add
or remove
function.
This will make sure you can add a VoucherCode in the CP. (thanks @Anubarak).
Use a custom controller to store the plugins settings ensuring the new Field Layout setting is stored properly. (thanks @Anubarak).
Fixed minor session issue. (thanks @Anubarak).
Display inactive Vouchers in the CP. (thanks @Anubarak).
Fixed a Bug that could occur when re-saving an order via job, Craft already closes the session before running the job -> the adjuster has no valid session. (thanks @Anubarak).
Fix missing date columns in code element index.
Fix voucher discount being applied after tax.
Fix incorrect multi-site URL redirection when switching sites for a voucher.
Released Aug 25, 2019
Fix incorrect migration.
Released Aug 25, 2019
Fix namespacing issue.
Released Aug 25, 2019
Add support for Klaviyo Connect plugin.
Add support for Commerce 3.
Adjust template functions vouchers()
and codes()
to allow criteria as params.
Incorrect permission for voucher types.
Fix anonymous requests to gift voucher previewing.
Fix missing Commerce requirement.
Fix missing expiryDate column.
Fix voucher search indexes.
Fix lack of registering Code as an element type.
Add codeKey to searchable attributes.
Fix legacy codes (from Craft 2) not correctly being elements.
Fix lack of integrity constraint on codes.
Released June 01, 2019
Add override notice for settings fields.
Fix missing sku
and price
query params.
Fix error in element HUD.
Released Feb 27, 2019
Fix multiple tabs for voucher types not showing.
Fix “New voucher” layout issue when switching voucher types
Released Feb 19, 2019
Added “Don’t allow voucher codes to be used if discounts are applied on the order”. By default, discount codes and voucher codes can be applied to an order together, which may not always be desired. This setting honours the "Don’t apply subsequent discounts if this discount is applied" for discounts.
Released Feb 17, 2019
Fix migration issue from Craft 2 to Craft 3.
Released Dec 26, 2018
Include translation of Adjuster description. Thanks (@Anubarak).
Set the codeKey
to the element after storing the record to use it directly after the Code is created. Thanks (@Anubarak).
Add PDF config settings, rather than from Commerce.
Fix PDF paper orientation and size not changing from defaults.
Bring back missing format
and attach
params for PDF.
Released Dec 14, 2018
Use beforeCompleteOrder
as the event to generate codes, ensuring they can be used in emails.
Released Dec 14, 2018
Add afterVoucherAdjustmentsCreated
.
Fix querying codes by voucherId not working.
Fix codes not being generated correctly after checkout completion.
Fix redemptions not being generated correctly after checkout completion.
Released Dec 01, 2018
Add beforeCaptureVoucherSnapshot
and afterCaptureVoucherSnapshot
.
Fix permissions for vouchers and codes.
Fix error occuring when installing plugin via command line
Released Nov 10, 2018
Allow PDFs to be generated for single voucher codes.
Add type to snapshot data.
Fix Gift Voucher element field name.
Fix error when deleting a voucher.
Fix querying by voucherId
on a code.
Fix error when querying and saving vouchers.
Released Oct 26, 2018
Add product method for voucher for easy commerce compatibility
Add field data to line item snapshot
Codes are now generated after the order is paid, instead of when complete
Bring back getPdfUrl()
and getOrderPdfUrl()
Fix welcome redirect
Fix empty strings being able to validate vouchers (oops)
Released Oct 18, 2018
Fixed some deprecation notices
Fix redemption error for new codes
Released Jan 17, 2017
Redeeming multiple vouchers.
Added possibility to return Ajax in frontend controller.
Redeemed code managing.
Change DiscountAdjuster order to apply after tax discount.
Adjuster showing proper discount amount.