﻿== Changelog ==

= 1.7.3 =
* Update: cleaned up code.

* New: added a new field that can be used to validate a subscription number.

= 1.7.2 =
* New: added a new hidden field to store the transaction id.

= 1.7.1 =
* Fixed: starting a subscription with the previous edition always triggered a physical resending of the previous edition, even if the edition was digital.

= 1.7.0 =
* Fixed: currency symbol not showing correctly in some places.

* Update: changed Requires PHP from 8.1 to 8.2. PHP 8.1 will no longer receive security updates as of December 2025.

= 1.6.9 =
* Update: tested up to WordPress 6.9.
* Update: fixed string translations.

= 1.6.8 =
* Update: added german confirmation email template.

= 1.6.7 =
* Fixed: certain strings were not translated.

* New: added support for the French and German language.

= 1.6.6 =
* Fixed: deleting cache from settings page now works correctly.

* Update: minor improvements.
* Update: replaced wp_redirect with wp_safe_redirect for better security.

= 1.6.5 =
* Update: added enumerations for different getInfo functions to improve code readability.

= 1.6.4 =
* Fixed: minor bug fixes and improvements.

* Update: error and spam message are now their own separate item in order to improve clarity.
* Update: handling of some session variables improved.
* Update: function that creates subscriptions broken out into smaller functions for better readability and maintainability.

* New: added extra capabilities to allow user with limited rights to manage certain settings.

= 1.6.3 =
* Fixed: initials did not always have . at the end.

= 1.6.2 =
* Fixed: using jQuery directly to keep things simpler and prevent issues with other parts of the site (instead of using jQuery.noConflict).

= 1.6.1 =
* Fixed: cache name for payment links could be built with a wrong value, resulting in an exception that would prevent the payment link from being generated.

= 1.6.0 =
* Fixed: form could not be submitted with a review page enabled.

= 1.5.9 =
* Update: nonces are now also stored in the sessionStorage of the browser to prevent issues with nonces being cached by a caching plugin.

= 1.5.8 =
* Update: nonce cookies now use '/' as path to prevent issues with multiple pages.

= 1.5.7 =
* New: forms used by gravity forms will now always show error messages.

* Update: nonce cookies now use samesite lax to prevent issues with some browsers.

= 1.5.6 =
* Fixed: password and JWT secret can now be saved with an empty string (api and jwt functions will not work with an empty string).
* Fixed: nonces values were sometimes being cached by a cache plugin, causing the nonce to be invalid. Nonces are now also stored in cookies to prevent this issue.

* New: added a new field that shows all actions in the form of a dropdown.

* Update: ajax calls also send error messages in order to debug certain issues better.

= 1.5.5 =
* Update: refactoring grafity forms settings.

* New: added a setting that can be used to preselect an action in a form.

= 1.5.4 =
* Update: added conditional logic to the extra charge field.

= 1.5.3 =
* Fixed: ajax requests did not determine the new locale correct.

= 1.5.2 =
* Fixed: ajax requests now take into account both language and locale.

= 1.5.1 =
* Fixed: new field for extra charge was not always shown correctly in the orbital form theme.

= 1.5.0 =
* Update: the review page hides the subscription price if the subscription is free.
* Update: the review page hides the edition row if the chosen edition is the next edition.
* Update: the review page hides the submit button if something is wrong.

* New: added a new field that allows users to fill in an extra charge.

= 1.4.9 =
* Fixed: address was not always validated correctly.

= 1.4.8 =
* Fixed: the note field could not be mapped correctly if the leading address was set to payer.
* Fixed: JS, CSS and image files are now loaded more dynamically.
* Fixed: if the price for shipping abroad is the same as the price for shipping to the default country, the adjusted price is not shown anymore (because the prices are the same).

* Update: field content is now loaded immediately when the form is loaded (if possible).
* Update: default values for certain fields are loaded differently.
* Update: the welcome gift is now loaded differently to optimize performance.
* Update: rates are loaded differently to exclude publisher rates.
* Update: the review page is now loaded differently to optimize performance.
* Update: translations have been updated.
* Update: translating the welcome gift text is now handled by the api.
* Update: code has been cleaned up.
* Update: openssl_random_pseudo_bytes has been replaced with random_bytes.
* Update: prefix has been updated from bsa to bsaPlg.
* Update: sql queries have been updated to optimize performance.

* New: added a new setting to hide the welcome gift field if there is only one choice.
* New: added a new field that allows users to choose their start edition.
* New: added extra address validation to prevent errors.
* New: added session caching for retrieving addresses.
* New: added a way to preffill the subscription form with the values of an old subscription.
* New: added a way to generate a secret for a jwt token.
* New: added a new setting to save the jwt secret.
* New: added a new icon for the discount code field.
* New: added a new button that can clear the api cache.

= 1.4.7 =
* Fixed: welcome gifts were loaded incorrectly.

= 1.4.6 =
* Update: small performance improvements thanks to the V2 version of the api.

* New: new field added for customers to add a discount code.

= 1.4.5 =
* Update: plugin now uses version 2 of the bondis subscriptions api.

= 1.4.4 =
* Fixed: ajax calls were being blocked by the browser.

= 1.4.3 =
* Update: big refactor to prepare for the V2 of the bondis subscriptions API.

= 1.4.2 =
* Fixed: small styling changes to fix the styling of the review page.

= 1.4.1 =
* New: added iDEAL to possible payment methods for cheapest rate.

= 1.4.0 =
* Fixed: small bug fixes regarding visibility of classes.

* Update: embed shortcode now supports max_width.
* Update: plugin uses new Gravity forms javascript hooks.
* Update: javascript files are formatted with new eslint.
* Update: css class names have changed.

* New: ecommerce purchase event is pushed to the datalayer.
* New: added new hidden fields to store information about the chosen action and payment method.

= 1.3.9 =
* Fixed: big bugfixes regarding the review page.

= 1.3.8 =
* Fixed: small bugfixes regarding api calls.

= 1.3.7 =
* Fixed: country for the payer address is selected correctly.
* Fixed: hidden nonce field is only added once.

* Update: labels on the review page are wider for better readability.
* Update: connection timeout for API calls is now 10 minutes.

* New: added a shortcode to embed social media posts and web pages.
* New: added new social media settings.

= 1.3.6 =
* Fixed: action type was not always set correctly.

= 1.3.5 =
* Fixed: bulk actions on registration page work correctly now.

= 1.3.4 =
* New: added actions to hook into. These actions occur after creating a registration and after updating a registration.

= 1.3.3 =
* Update: tested with WordPress 6.7.
* Update: updated layout payment methods.

= 1.3.2 =
* Update: updated translations.
* Update: translations are now loaded locally.
* Update: cleaned up code according to new code style (KaR).

* New: added a shortcode to show the release schedule for all editions from a specific magazine.
* New: added a new tab to the settings to help with the shortcodes.
* New: added icons to the payment methods.

= 1.3.1 =
* Update: updated translations.

= 1.3.0 =
* Update: javascript dependencies fixed for minified files.

= 1.2.9 =
* Update: cleaned up code for new field (give authorization for direct debit).

= 1.2.8 =
* Update: custom fields don't create their own html output anymore. Instead they use the method from the parent.

* New: new field added for customers to give authorization for direct debit.

= 1.2.7 =
* Fixed: files are now included in a new more direct way.

= 1.2.6 =
* Fixed: form could not be submitted do to required nonce.

= 1.2.5 =
* Fixed: processing the whole input.

* Update: used eslinter to change JS files.
* Update: database calls now use wpdb->prepare in a different way.
* Update: a gravity form-form will now always get a nonce value added.
* Update: ajax calls now check for a nonce themselves, instead of relying on a different function for this.

= 1.2.4 =
* Fixed: processing the whole input.
* Fixed: post and get values are now sanitized.

= 1.2.3 =
* Fixed: translation error.

* New: added support for new language. The new language is: Belgian.

= 1.2.2 =
* Fixed: placeholder values are no longer affected by uppercase styling.

= 1.2.1 =
* Fixed: back button now also has a nonce (edit registration page).

* Update: replaced Curl with WordPress http api.
* Update: replaced bsa prefix with bsaPlg.
* Update: added throwable to try catch.
* Update: updated email content to have a simpler structure (but same look and feel).
* Update: updated database functions.
* Update: updated view url (see logs/registrations pages).

* New: added extra field settings for custom gravity form fields.

= 1.2.0 =
* Fixed: custom gravity form fields now work with tabIndex when loading the form.
* Fixed: stable tag was using the wrong value.

* Update: changed Requires PHP from 8.2 to 8.1.

= 1.1.9 =
* Fixed: javaScript code also executed for other forms from Gravity Forms.
* Fixed: invoice period shortened when saving to the database.
* Fixed: sometimes the word "Belgium" was used instead of "Belgian".

* Update: links changed to bondis.nl.
* Update: updated translations.

* New: added a Gravity Forms field for postal codes.

= 1.1.8 =
* Update: changes made to publish the plugin

= 1.1.1 =
* New: first version of the plugin

== Upgrade Notice ==

= 1.7.3 =
* Get this version to get the latest bug fixes and improvements.

= 1.7.2 =
* Get this version to get the latest bug fixes and improvements.

= 1.7.1 =
* Get this version to get the latest bug fixes and improvements.

= 1.7.0 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.9 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.8 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.7 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.6 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.5 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.4 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.3 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.2 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.1 =
* Get this version to get the latest bug fixes and improvements.

= 1.6.0 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.9 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.8 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.7 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.6 =
* Get this version to get the latest bug fixes and improvements and to be able to work with the new action field.

= 1.5.5 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.4 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.3 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.2 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.1 =
* Get this version to get the latest bug fixes and improvements.

= 1.5.0 =
* Get this version to get the latest features and improvements.

= 1.4.9 =
* Get this version to get the latest bug fixes and improvements.

= 1.4.8 =
* Get this version to be able to work with the latest version of the plugin and all the new features.

= 1.4.7 =
* Get this version to load welcome gifts correctly.

= 1.4.6 =
* Get this version to receive small performance improvements and to use the new discount code field.

= 1.4.5 =
* Get this version to be able to use the new version of the bondis subscriptions api.

= 1.4.4 =
* Get this version to fix the ajax calls not working in 1.4.3.

= 1.4.3 =
* Get this version to be able to work with the latest version of the plugin.

= 1.4.2 =
* Get this version to be able to work with the new styling of the review page.

= 1.4.1 =
* Get this version to be able to work with actions that only support iDEAL as payment method.

= 1.4.0 =
* Get this version to be able to work with the new purchase event and max_width support for the embed shortcode.

= 1.3.9 =
* Get this version to be able to receive the latest bug fixes regarding the review page.

= 1.3.8 =
* Get this version to be able to receive the latest bug fixes regarding api calls.

= 1.3.7 =
* Get this version to be able to work with the new social media shortcode and settings.

= 1.3.6 =
* Get this version to be able to set the action type correctly.

= 1.3.5 =
* Get this version to be able to sync all records again.

= 1.3.4 =
* Get this version to work with the new insert and update actions.

= 1.3.3 =
* Get this version to work with the new layout for payment methods.

= 1.3.2 =
* Get this version to work with a new shortcode, see icons for all payment methods and receive new translations.

= 1.3.1 =
* Get this version to receive new translations.

= 1.3.0 =
* Get this version to work with minified javascript files again.

= 1.2.9 =
* Get this version to receive small improvements.

= 1.2.8 =
* Get this version to use the new authorization field.

= 1.2.7 =
* Get this version to receive small improvements.

= 1.2.6 =
* Get this version to fix a bug from 1.2.5.

= 1.2.5 =
* Get this version to receive small improvements.

= 1.2.4 =
* Get this version to receive small performance improvements.

= 1.2.3 =
* Get this version to be able to work with the new language: Belgian.

= 1.2.2 =
* Get this version to fix the placeholder styling.

= 1.2.1 =
* Get this version to be able to work with placeholders, default values and size settings for custom gravity form fields.

= 1.2.0 =
* Get this version to be able to work with php8.1 (or higher) and to make sure tabIndex works.

= 1.1.9 =
* Get this version to fix two important bugs and get new functionality.

= 1.1.8 =
* This version changes multiple things in order to comply with the [guidelines](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/)

= 1.1.0 =
* Get this version to use the first (released) version of the plugin.