PBJ CRM suite: a full code review, and the fixes it found
The whole PBJ CRM suite has been through a full code review, and the fixes are out. PBJ CRM 1.8.0, PBJ Helpdesk 2.3.0, PBJ Invoicing 1.12.0 and PBJ Archive 1.1.0 are available now. Every one is a free update if you already own that major version.
This release is not new features. It is the result of reading all four plugins end to end, line by line, and fixing what that turned up — including several things that had never shown themselves in day-to-day use but would have, eventually, at the worst moment.
The ones worth knowing about
Merging two customer records no longer fails. If the two records had different marketing settings — exactly the situation the “keep the more careful setting” rule exists for — the merge would stop with a blank screen. It works, and the surviving record still ends up with the more cautious of the two settings.
Somebody you deleted can no longer be emailed. Campaigns go out gradually over hours or days. Anyone moved to the recycle bin part-way through a send is now skipped for the rest of it.
Recurring invoices keep the day you chose. A monthly invoice billed on the 31st used to slide forward through the short months and stay slid. Worse, one billed on the 28th or the 30th could quietly turn into a month-end invoice. The day you picked is now remembered properly: the 31st clamps to the end of February and returns to the 31st in March, and the 30th stays the 30th.
Fake payment notifications cannot block real ones. A flood of junk sent to the payment webhook could put the gateway into a state where genuine notifications were refused too, so payments went unrecorded and reminders went to customers who had already paid.
Seventeen colour styles in the help desk render again. Status pills, notice backgrounds and hover shades were being discarded by every browser because of a stray character in the stylesheet.
Invoices with no customer attached show on the calendar. They were invisible to everyone. Help desk tickets got this fix a few releases ago; invoices have it now too.
A timed-out session says so. Leaving the customer book open for a long time and then clicking something used to answer “You don’t have access to this”, which is both alarming and untrue. Most screens now renew the session quietly and carry on.
Permissions and privacy
Editing a business through the company screen skipped the usual checks, so anyone on your team could rename a business or hand it to someone else even when they were not allowed to open it. The same rules now apply everywhere. Bulk actions no longer act on people in the recycle bin, and a refusal no longer names a record the person is not allowed to see. Erasing somebody under a privacy request now also removes their photo and their links to businesses — unless another contact is using the same photo, in which case it is kept and you are told.
PBJ Archive now formally requires PBJ CRM
It always did in practice, and it is sold that way. Now WordPress itself checks: if the CRM is missing you get one plain message instead of a half-working plugin.
Upgrading
None of these releases change your database, so upgrading is just an update — your settings, records and history carry over untouched. If you own the current major version the update is free and will appear on your Plugins screen. Update PBJ CRM first, then the add-ons.
The whole PBJ CRM suite has been through a full code review, and the fixes are out. PBJ CRM 1.8.0, PBJ Helpdesk 2.3.0, PBJ Invoicing 1.12.0 and PBJ Archive 1.1.0 are available now. Every one is a free update if you already own that major version.
This release is not new features. It is the result of reading all four plugins end to end, line by line, and fixing what that turned up — including several things that had never shown themselves in day-to-day use but would have, eventually, at the worst moment.
The ones worth knowing about
Merging two customer records no longer fails. If the two records had different marketing settings — exactly the situation the “keep the more careful setting” rule exists for — the merge would stop with a blank screen. It works, and the surviving record still ends up with the more cautious of the two settings.
Somebody you deleted can no longer be emailed. Campaigns go out gradually over hours or days. Anyone moved to the recycle bin part-way through a send is now skipped for the rest of it.
Recurring invoices keep the day you chose. A monthly invoice billed on the 31st used to slide forward through the short months and stay slid. Worse, one billed on the 28th or the 30th could quietly turn into a month-end invoice. The day you picked is now remembered properly: the 31st clamps to the end of February and returns to the 31st in March, and the 30th stays the 30th.
Fake payment notifications cannot block real ones. A flood of junk sent to the payment webhook could put the gateway into a state where genuine notifications were refused too, so payments went unrecorded and reminders went to customers who had already paid.
Seventeen colour styles in the help desk render again. Status pills, notice backgrounds and hover shades were being discarded by every browser because of a stray character in the stylesheet.
Invoices with no customer attached show on the calendar. They were invisible to everyone. Help desk tickets got this fix a few releases ago; invoices have it now too.
A timed-out session says so. Leaving the customer book open for a long time and then clicking something used to answer “You don’t have access to this”, which is both alarming and untrue. Most screens now renew the session quietly and carry on.
Permissions and privacy
Editing a business through the company screen skipped the usual checks, so anyone on your team could rename a business or hand it to someone else even when they were not allowed to open it. The same rules now apply everywhere. Bulk actions no longer act on people in the recycle bin, and a refusal no longer names a record the person is not allowed to see. Erasing somebody under a privacy request now also removes their photo and their links to businesses — unless another contact is using the same photo, in which case it is kept and you are told.
PBJ Archive now formally requires PBJ CRM
It always did in practice, and it is sold that way. Now WordPress itself checks: if the CRM is missing you get one plain message instead of a half-working plugin.
Upgrading
None of these releases change your database, so upgrading is just an update — your settings, records and history carry over untouched. If you own the current major version the update is free and will appear on your Plugins screen. Update PBJ CRM first, then the add-ons.