Changelog


Plugin’s changelog.

  • New util for triggering scheduled actions immediately. Useful when bypassing scheduler.
  • Reworked how the goals get updated on the frontend, ensuring its not cached by static html output
  • Make “Sincerely” and “Below is a copy of your letter:” translatable via the labels system instead of hardcoded strings.
  • Fix malformed HTML in the default thank-you email greeting (“Dear {{user_name}},”).
  • Regenerate and update translation files (.pot, .po, .mo) to match corrected email strings and new label keys.
  • Fixed select dropdowns showing the first option instead of the “Select” placeholder on load
  • Additional spacing and font size controls in the styles customizer
  • A new visual preview in the customizer
  • Improved the petitioner_submission_finalized hook: it now hydrates the submission data that it sends. Good for working with the custom fields.
  • Submissions Gutenberg block now has a proper preview in the admin UI (instead of a grey placeholder box)
  • Preserve active tab state on save on petition edit screen and settings
  • Security: fixed a potential XSS vulnerability by removing unsanitized use of ptr_active_tab param in the URL
  • Security: Updated composer and NPM dependencies, resolving multiple critical/high Dependabot vulnerabilities
  • Compatibility: Fixed a composer installation crash on PHP 8.0-8.3 by strictly enforcing the platform PHP requirement
  • Added ActionScheduler as a dev dependency and a wrapper util class to work with it
  • Exported reusable components as a global window object
  • Added a programmatic CSV importer utility for submissions
  • Security fix: form submission method changed from GET to POST to prevent potential PII exposure in URLs if JS is disabled
  • Added a filter letting you adjust the anonymous display name
  • Submission UI: improved pagination (prev/next buttons and hiding inner page numbers)
  • Submission GB block and a shortcode: allow pagination buttons to be hidden
  • Added an option to feature submission entries so they are pinned on the frontend
  • Submitted at dates are now properly formatted vs showing a raw timestamp
  • Tested up to WordPress 7.0
  • Fixed typo on the submission shortcode clipboard button (replaced form_id=”” with id=””)
  • Fixed an issue where representative emails were not sent if the submission was manually approved
  • Fixed a bug where form labels would show up under label overrides but dont do anything (removed them)
  • Reworked settings & editing fields registration to make it a lot more extendable
  • Increased the test coverage (frontend)
  • Add an option for custom redirects on form submit, email confirmation, and email error
  • Simplify custom field creation with AV_Petitioner_Field_Registry
  • Adding a new goal milestones feature letting you have several incremental goals
  • New hooks & filters: petitioner_allow_external_redirects, av_petitioner_form_attributes, petitioner_email_confirmation_success, petitioner_email_confirmation_error
  • Improved test coverage
  • Additional architectural and performance improvements
  • Allow overriding the confirmation email messages in the settings
  • Fix tinymce editor not letting you pass absolute urls (and breaking images in the process)
  • Massive architecture overhaul
  • Country field improvements: you can now modify the country list (reorder and remove countries from the dropdown)
  • Additional export filter options (contains | does not contain)
  • Significantly reduced the bundle size of the admin pages
  • Show/hide/rename columns before exporting
  • Specify custom mappings for things like updating values (e.g. “1” -> “Yes”, “0” -> “No”). You can also dynamically pull values from other fields (e.g. putting fname and lname together into a single “Full Name” column).
  • Improved export for submissions
  • Bug fixes and UI improvements
  • Keep me anonymous field + allow editing “Anonymous” under Settings -> Labels
  • Newsletter opt-in field
  • BCC me field
  • Allowed adding images in the WYSIWYG fields (some of them)
  • Fixed a bug on confirmation statuses breaking due to translation
  • Added a new field: Date of Birth
  • Tabs now remember the state on refresh
  • Improved the code structure & security overall, fixed a bunch of bugs
  • Added sorting of submissions in admin
  • Added the ability to edit and delete submissions. Learn more here.
  • Bug: fixed an issue with making checkboxed checked by default
  • Bug: fixed placeholders not working
  • Allow passing html values in labels safely
  • Bug: remove double escaping of html attributes on the form
  • New comment textarea field
  • Allow showing the progress bar via a shortcode even if it’s disabled in the general settings
  • Additional display options on the submission component, you can now show more fields. Improved the block controls and also how it handles empty values.
  • Bug: fixed the issue with form builder not reordering in some cases
  • Add a tab under the plugin settings for editing the labels. This lets you edit all of the random strings like “View the letter”, “Your name will be here” and more!
  • Set the default BCC value to false & add a new filter
  • More code refactoring: made some changes to the structure, especially JS
  • New frontend submission functionality, available via a shortcode or a block. Read more here.
  • Added a setting to hide signee’s last name under petition advanced settings.
  • Code refactoring: made some changes to the structure
  • Added UI for editing the thank you message on the petition (shows up after you submit the form)
  • Added a filter to override other random strings
  • You can now close the popup with an ESC key
  • Added explicit color to the close button to fix styling for some users
  • Bugfix: Add the new form fields to the submission export
  • Bugfix: Ensure plugin version is always set in the database and automatically re-run database migrations if missing or old
  • Moved admin js to typescript
  • Add basic testing
  • Bug fixes: fixing the bug with the nonce field not validating on some environments
  • Additional filters and hooks
  • Add/remove/reorder the form fields
  • Automatic migration from the old editing experience
  • Edit individual field settings
  • Add rich text to the form
  • Add new optional fields
  • Fix a bug with the export button
  • Fix a bug with the wrong number on the submission count when the confirmation behavious is auto-denied by default
  • Fix a minor bug with the textdomain loading too early
  • Add basic translations to French, Ukrainian, Russian, and Dutch
  • Add ability to resend confirmation emails
  • Add a button to resend all confirmation emails at once (please use this with caution)
  • Refactored the code & improved the submissions UI
  • Fix a bug with hCaptcha breaking forms on Firefox, special thanks to @Shahraz98
  • Fix the recaptcha code running when recaptcha is used by another plugin
  • Add custom javascript event – petitionerFormSubmit
  • Improve readme to highlight the latest features

A pretty hefty release (hence the version jump) focused on spam protection and UI improvements:

  • Create custom filters (petitioner_send_ty_email, petitioner_send_to_representative, petitioner_after_submission, petitioner_get_styled_message)
  • New shortcodes (petitioner-goal, petitioner-submission-count, petitioner-goal-progress-ui, petitioner-letter-modal-ui)
  • Add a translation template
  • Add a honeypot option for additional spam protection
  • Akismet integration – handle spam seamlessly without adding any js libraries
  • Integrate with Cloudflare Turnstile – a privacy first captcha
  • Better style emails visually
  • Allow overriding the “from” field
  • A new and improved settings page
  • Add better DB schema handling
  • Fix a bug with confirmed emails not sending letters to the rep
  • Fix a bug where some users would not see the export button
  • Fix a bug with custom CSS clashing with custom colors
  • Add email confirmations. Read more.
  • Allow editing confirmation emails
  • Bug fixes after the previous release
  • Add Google reCAPTCHA and hCaptcha. Read more.
  • Allow multiple target emails
  • Add optional legal disclaimer & consent checkbox
  • Refactor & organize editor UI
  • Added the ability to approve/deny petitions
  • Reworked the edit fields & submissions UI
  • Added the country field
  • Improved checkbox styles
  • Added color customizer to the settings page
  • Improved readme & docs
  • Improved asset enqueuing
  • Fixed internalization issues
  • Improved plugin escaping and sanitization
  • New plugin settings page
  • New Gutenberg block
  • Added more sanitization and preparing for the wp.org upload
  • Initial version of the plugin