You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
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.