Skip to content

v2.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Sep 18:48
927f5cd

New Features

  • Added the bono_arm_api_read_payer_details capability. The v2 payments endpoint now requires it for context=edit, which returns payer email and notes. Existing administrators receive it on this update.
  • Added audit and extension hooks: bono_arm_api_member_activated and bono_arm_api_member_deleted actions, and bono_arm_api_can_delete_member and bono_arm_api_payment_row filters.
  • The settings screen detects the missing arm_invoice_id index on ARMember's payment log and shows the ALTER TABLE statement that adds it.

Improvements

  • Capabilities are granted to administrators once. Updates grant only newly introduced capabilities, so a capability removed from the administrator role stays removed.
  • Uninstall removes the plugin's capabilities from every role, not only administrators.
  • The schema-version option is autoloaded, removing one database query from every page load.
  • Activating ARMember clears the cached table probe, so the endpoints stop returning Service Unavailable immediately instead of after up to five minutes.
  • Database failures are written to the debug log when WP_DEBUG_LOG is on. Count queries now report failures instead of returning zero.
  • Member deletion runs every validation before ARMember's cleanup, which cancels recurring gateway subscriptions.
  • The v1 payments endpoint accepts arm_invoice_id_gt=0, so the first invoice can be fetched.

Bug Fixes

  • Payment dates were labelled UTC but carried ARMember's site-local time. Both API versions now convert them to UTC using the site's timezone. ARMember's 1970-01-01 00:00:00 placeholder is returned as an empty string.
  • notes matched only the English "Paid By admin" label. On translated sites, and for "Paid By system", it could return the raw serialized arm_extra_vars value. Notes are now parsed from the serialized data, and manual-payment notes are included.
  • Activation reported success for users without an ARMember member record. It now returns 404.

Upgrade Notes

  • v1 output changes. arm_payment_date values shift by the site's UTC offset, and notes content changes as described above. Integrations that compensated for the old timestamps must remove that compensation.
  • Deletion of administrators is refused. Both API versions return 403 for users who can manage_options. Use the bono_arm_api_can_delete_member filter to restore the previous behaviour.
  • v2 context=edit needs the new capability. Administrators receive it automatically. Integration users with only bono_arm_api_read_payments must be granted bono_arm_api_read_payer_details to keep receiving payer email and notes.