See CHANGELOG.md for recent entries. v5.5.3 - 26 January 2023 ------------------------- * Fixed: CRM no longer breaks WordPress sites running on PHP 7.2 * Fixed: HTML escaped code in contact list filters for segments v5.5.2 - 25 January 2023 ------------------------- * Fixed: Custom profile images are now shown in the Latest Contacts dashboard * Fixed: Potential XSS in the Custom Fields setting page * Fixed: Custom profile pictures are no longer removed when updating contacts * Fixed: Potential XSS in invoices with manual input references * Fixed: Code snippet was removed from the top of the Forms new/edit page * Fixed: Remove HTML code in the "Bundle holder" notification when uploading files to a contact * Fixed: HTML escaped code in contact list filters for segments * Fixed: Improved security regarding filenames for uploaded files * Fixed: The creation date for contacts is updated on any WooCommerce subscription event * Improved: Added translation for contact fields when exporting contacts * Improved: Added Invoice Status to PDF Invoice template * Added: Export Segments to .CSV * Added: WooCommerce order status mapping to transaction status * Added: WooCommerce order status mapping to invoice status v5.5.1 - 16 December 2022 ------------------------- * Fixed: Inline field editing no longer prevents listings from being displayed * Improved: Security around phone numbers viewing * Improved: Added a migration to remove outdated AKA lines v5.5.0 - 13 December 2022 (MailPoet Sync) ------------------------- * Fixed: negative and zero-balance invoices now show tax subtotals when applicable * Fixed: Bug where core field conditions Status and Email didn't translate well between Advanced Segments and core Segments. * Fixed: WooSync removing contact fields while syncing * Fixed: Empty index.html files are now being added to contacts folders to prevent directory listing * Fixed: Date and datetime picker issue in Segmentation * Fixed: Incorrect total value shown for contacts when invoices were deleted * Fixed: Added missing custom fields in WooCommerce's My Account when using WooSync * Fixed: Segment editor bugs around some Advanced Segment conditions * Fixed: Properly delete associated aka (aliases) when deleting contact * Fixed: Security improvement to prevent XSS attacks escaping output HTML * Fixed: Reference error which was blocking custom date field editing. * Fixed: Bug where by some migrations were not finishing * Fixed: "Your tasks" link now properly filters to your tasks * Improved: caught PHP warning when creating a new contact with navigation mode enabled * Improved: one can select "none" for shipping tax rate when editing transactions * Improved: Refactored date and datetime picker logic to be more robust * Improved: Segment conditions now have proper positioning and categorisation * Improved: Styling in Segment editor with the recent addition of lots of new conditions * Improved: Files for companies, invoices, and quotes are now stored in separate folders * Improved: Security around Email viewing * Improved: contact profile activity timeline properly renders newlines * Improved: custom date fields now have additional _DATETIME_STR and _DATE_STR placeholders * Improved: default fonts are now bundled with the core plugin * Improved: Hardened security around CRM client portal account privileges * Improved: Hardened security against admin-side file uploading * Improved: Migration system now has multi-load-point potential. * Improved: cleaned up incorrect/broken learn links * Added: MailPoet Sync module (Import MailPoet Subscribers into CRM Contacts) * Added: Export CRM Segment to MailPoet Subscriber list functionality * Added: MailPoet Contact List View Filter * Added: Autologging of MailPoet Subscriber changes on contact * Added: MailPoet Contact View information tab * Added: Custom profile pictures for contacts now use a new field * Added: Migration to correct incorrect errors for custom field based Segment Conditions v5.4.4 - 14 November 2022 ------------------------- * Fixed: prevent edge case where folder creation may overwrite file * Fixed: cleaned up unneeded files in plugin zip * Fixed: System Status sometimes didn't detect default font as installed * Improved: extra fonts now persist between updates * Improved: consistent menu order between menu modes * Improved: allow style attributes on more HTML elements in quote templates * Improved: Segment condition inputs are now type-aware v5.4.3 - 10 November 2022 ------------------------- * Fixed: uploaded files could not be accessed when using Apache * Fixed: 500 error visiting Client Portal invoices page if logged out and easy-access disabled * Fixed: transaction date fields properly show timezone offsets * Improved: custom WP date and time formats no longer cause errors when editing transactions * Improved: redirect to Client Portal login instead of error if accessing an invoice object URL when logged out and easy-access disabled * Improved: hardened security * Added: File listing tab in the contact's page now shows information about who an when a file was uploaded * Added: transaction paid and completed date fields now allow manual adjustment of time data * Added: transaction editor now uses native browser date and time inputs v5.4.2 - 2 November 2022 ------------------------- * Fixed: Bug in 5.4 which was giving PDF generation a hiccup * Fixed: Bug in WooSync where customer notes were not being added * Fixed: Added a workaround for varying encryption cipher support * Improved: HTML in contact logs now displays properly in the contact single view Activity Log * Improved: Allow more common-sense HTML elements in Quote Templating v5.4.1 - 27 October 2022 ------------------------- * Fixed: catch migration error when using PHP 8 * Fixed: catch migration error when using non-default table prefixes v5.4.0 - 26 October 2022 ------------------------- * Fixed: Bug in tax table management where duplications could be added * Fixed: Bug where WooSync would not make new invoices for orders where order id and Invoice id collided * Fixed: Bug where by WooSync duplicate customer note logs * Fixed: Error when accessing Client Portal settings when Client Portal is disabled * Fixed: transaction type is properly imported with WooSync * Fixed: error if using old database servers when searching contacts * Fixed: caught PHP notices when checking for existing object metadata * Fixed: transactions excluded from calculated totals now show a zero value in invoice partials * Fixed: one can again regenerate API credentials when using PHP 8 * Fixed: allowed some previously-translatable text to be translated again * Fixed: calculated tax works with negative invoice line items * Fixed: Email file attachments (invoices) don't work with Gmail sender method * Fixed: Style glitch for Payment rows in Invoice Totals table (PDF) * Fixed: database index tried to add twice on new installs * Fixed: Segment conditions for custom fields now respect the custom field type when using Advanced Segments * Fixed: Bug in segmentation logic which effected Advanced Segments 'date added' condition. * Improved: WooSync now follows WooCommerce tax code usage * Improved: Database access layer around the storage of log metadata * Improved: Segment preview audiences are now linked to profiles * Improved: CSV filenames are now hashed during import for better security * Improved: numeric custom fields now allow negatives * Improved: better backend support when uploading files to contacts * Improved: Updated PDF generation library to latest version * Improved: Hardened PDF generation routine against local file exposure * Improved: Segment previews now show randomised contacts. * Improved: Hardened file checks in CSV Importer * Improved: Segment condition 'Date range' has been split into 'Date range' and 'Datetime range' * Improved: wrap more strings for translation * Added: Ability to Pin and Unpin important logs from a contact * Added: Segment editor now supports condition categories and descriptions. * Added: New feature: Totals tables to contact list view * Added: new "jpcrm_client_portal_after_save_details" hook * Added: Segment condition type: Variable date windows (e.g. within the past _ days, or in the next _ days) * Added: Segment condition type: Numeric >= * Added: Segment condition type: Numeric <= * Added: Segment condition type: String "Does not contain (!*)" * Added: Segment condition type: Date >= * Added: Segment condition type: Date <= v5.3.1 - 29 September 2022 ------------------------- * Fixed: PHP notice in WooSync syncing * Fixed: zbs_end_emails_ui hook sometimes fired twice * Fixed: error when listing contact or company files * Improved: Increased reliability of lost-connection notifications in WooSync v5.3.0 - 28 September 2022 ------------------------- * Fixed: WooSync properly maps the "On hold" transaction status * Fixed: custom date fields now work correctly under WooCommerce My Account * Fixed: Client Portal is now properly aligned when using the Twenty Twenty theme * Fixed: catch an edge-case API error when no results are found * Fixed: invoice exports no longer give PHP errors * Fixed: "Powered by" messaging now consistently respects its setting * Fixed: "Older than X days" filter works again * Fixed: reCaptcha form settings are no longer reset * Fixed: "Select All" button on export page now works * Fixed: sort by total value sometimes gave an error * Fixed: uploaded files could not be accessed when using Apache * Fixed: "My Invoices" link in WooCommerce My Account no longer triggers an error * Fixed: plain permalinks can now be used with the Client Portal * Fixed: "Thank You" page from Client Portal is now accessible when using easy-access links * Fixed: escape translated apostrophes in client portal metabox * Fixed: PHP notice on task manager when not an admin * Fixed: segment editor shows correct match type * Fixed: quotes and invoices in the Client Portal now respect theme colors * Fixed: custom permalinks no longer break the Client Portal * Fixed: various security fixes * Improved: better handling of HTML-encoded content on export * Improved: Refined the way we protect sensitive data storage * Improved: removed unused legacy API files * Improved: renamed undocumented "api_status" endpoint to "status" * Improved: better handling of relative date output * Improved: show correct dates in invoices despite timezone variations * Improved: consolidated various "Powered by" settings into two general settings * Improved: deleted contacts no longer generate PHP notices in email manager * Improved: better performance on large sites * Improved: better API error handling * Improved: prevent exporting an object type if there are no objects to export * Improved: API secret is now hashed upon generation for better security * Improved: new API credentials have "jpcrm_" prefix * Improved: CRM-only menu choice during welcome wizard no longer enables full WP override setting * Improved: better messaging when generating a WP user fails * Improved: prevent saving an invalid email to a contact * Improved: tweaks to list view settings UX * Improved: refined messaging on WooSync hub page around paused sites * Improved: performance boosts to WooSync for large sites * Improved: removed JS error from console when on the dashboard * Improved: replaced outdated feedback page with CRM Resources page * Improved: contacts created via WooSync are now assigned to a company if specified * Added: custom date fields now show on the Client Portal * Added: get CRM version info with the "status" endpoint * Added: invoice list view now has "date" and "due date" columns * Added: new backend webhook system via API * Added: new setting to disable WooSync order status mapping * Added: optional transaction status column in the Client Portal * Added: "jpcrm_after_contact_update" and "jpcrm_after_contact_insert" hooks v5.2.0 - 11 August 2022 ------------------------- * Fixed: bug in Segments which would sometimes block multi-field querying of the same field * Fixed: Custom CRM Header link was resulting in a broken link * Fixed: error while sending e-mails when the Client Portal module is disabled * Fixed: external source record lines are now properly removed on object deletion * Fixed: invoices updated by WooSync retain their logo * Fixed: listviews wouldn't load if tags had improperly-encoded characters * Fixed: local Woo order hooks are ignored if local connection is not active * Fixed: WooCommerce order linetime prices were incorrectly mapped to the CRM invoice in some cases * Fixed: WooCommerce order updates didn't always update the associated CRM invoice * Fixed: WooSync and GiveWP no longer overwrite the WP user ID link in the database * Fixed: WooSync now properly sets the contact status * Fixed: Zapier logic was not loaded properly * Improved: better PHP 8 compatibility * Improved: if a GiveWP donation has a date available the CRM will import a transaction using that date * Improved: invoices missing easy-access hashes will regenerate one when saving in the invoice editor * Improved: menus items should now load in a consistent order no matter the menu mode * Improved: refactor of Client Portal backend code * Improved: refinements to mail delivery setup wizard * Improved: removed old dompdf library * Improved: switching between tabs in the System Assistant page now updates the URL * Improved: visual tweaks and refinements * Improved: WooSync now connects to external stores via authentication dialog, rather than credentials (simplified) * Added: increased minimum PHP version to 7.2 * Added: CRM settings are now found in the Jetpack CRM menu * Added: Gmail via API as a mail delivery method * Added: OAuth 2.0 Connection support for Google * Added: Package Installer to support sideloading of larger dependencies * Added: WooSync can now synchronise data from multiple WooCommerce stores into one CRM instance * Added: WooSync now has 'pause sync' mode per store connection v5.1.0 - 30 June 2022 ------------------------- * Fixed: unpaid/uncompleted transactions imported from Woo now show a blank completed/paid date * Fixed: orders could be skipped if they didn't exist during partial order page retrieval * Fixed: domain field in WooSync settings no longer shows 0 if blank * Fixed: WooSync connection settings did not toggle visibility properly in some cases * Fixed: WooSync now correctly reports partial percentage of pages completed * Fixed: second address custom fields can now be used as columns in a list view * Fixed: second address label is now properly used throughout the CRM * Fixed: orders from external sites were sometimes not synced * Fixed: data imported from GiveWP now adds to existing tags instead of replacing them * Fixed: the Client Portal page can now be set as the homepage * Improved: transaction statuses imported from Woo are now properly shown when editing a transaction * Improved: 0% tax rates are now possible * Improved: better translation support on tax settings page * Improved: ensures the zbs_end_emails_ui action fires on the single email page * Improved: WooSync hub now syncs latest data on load * Improved: better translation support for second address fields * Improved: catch a PHP notice when processing a Jetpack contact form * Improved: WooSync Hub stats automatically update during AJAX sync * Improved: The transaction listing in the Client Portal now shows the transaction status * Added: WooSync Hub now supports syncing orders that have a custom number structure * Added: new _DATETIME_STR and _DATE_STR placeholders based on unix timestamp values v5.0.1 - 5 June 2022 ------------------------- * Fixed: emails properly send when a quote is accepted * Fixed: catch Woo API headers when server maps them to lowercase keys * Fixed: catch division by zero error in Woo edge cases * Improved: removal of legacy code * Improved: contact placeholders can now be used in system email templates * Improved: update link to Woo learn content * Improved: better handling of larger numbers in WooSync hub v5.0.0 - 25 May 2022 ------------------------- * Fixed: Contact/company creation logs now show more useful data when created from external source. * Fixed: Bug where in some external site syncing situations external sources were duplicated in WooSync * Fixed: Segment date range outputs correctly when editing * Fixed: WooCommerce Bookings from the current day are now correctly listed. * Fixed: Database query filter bug around external source retrieval * Fixed: Contact names now show on company list view when contact image mode is set to none * Fixed: Caught PHP notice when regenerating API keys * Improved: External source system now records 'origin' (Domain) for external sources. * Improved: WooSync now records domain origins for Synced orders and customers. * Improved: Expanded DAL to allow additive tagging. * Improved: External source system now displays grouped by source, with clearer UI. * Improved: Added support so that Advanced Segments can segment by External Source * Improved: WooSync now stores Order ID above Post ID. * Improved: Refined query engine surrounding setting retrievals * Improved: WooCommerce integration performance * Improved: Cleanup of white label code * Improved: Refund transaction support improved throughout. * Improved: Increases the interval of the WooSync cron job * Improved: Increases the number of Woo orders retrieved per page * Improved: Local WooCommerce order trashing and deleting are now caught by WooSync Sync. * Improved: Add a notice to not allow to reactivate WooSync extension in Jetpack CRM v5+ * Improved: Reduced amount of migrations, unified, simplified, optimised! * Improved: Brought base data model up to date with v3.0 DAL for fresh installs * Improved: Core CRM modules now have autoloading. * Added: WooSync module is now bundled in the core! * Added: WooSync module can now be enabled in welcome wizard * Added: Two new segment conditions, "Is WooCommerce Customer" and "WooCommerce Order Count". * Added: Added filter bar button "Woo Customer". * Added: System Assistant steps for the Woo module * Added: Automatic switching routine to let WooSync core module seamlessly replace the Extension variant. * Added: Update link to go to Woo hub from first use dashboard * Added: Support for new WooCommerce related Advanced Segments * Added: Support for WooCommerce Checkout Field Editor fields in WooSync * Added: Support for WooCommerce Checkout Add-Ons in WooSync * Added: Support for Checkout Field Editor (Checkout Manager) for WooCommerce * Added: New Quick Filter: Invoice from WooCommerce * Added: New Quick Filter: Transaction from WooCommerce * Added: Email and name changes made on WooCommerce My Account are now reflected against attached contacts. * Added: Email and name changes made on WordPress profile edits are now reflected against attached contacts. * Added: Support for WooCommerce refunds v4.11.0 - 21 April 2022 ------------------------- * Fixed: WP users are now consistently created if "Generate WP User" is selected * Fixed: Client Portal width in the Twenty Twenty-Two theme * Fixed: Broken link on activating CRM API * Fixed: Invoice labels now display properly on PDFs and on portal invoices * Fixed: one can again send an invoice to the email of choice * Fixed: DB migration collision * Improved: prevent upload folder directory listing on misconfigured web servers * Improved: learn menu code tweaks * Improved: set the transaction paid completed" dates to match transaction date if not specified in the transaction editor * Improved: redirect CRM contacts to client portal after login at /wp-admin/ * Improved: better client portal password reset flow * Improved: better Zapier search support * Improved: dashboard revenue chart is fully based on transaction date instead of transaction date paid * Improved: wrapped a few more strings for translation * Improved: prevent WP button text from being changed in edge cases * Added: new "api_status" API endpoint to verify credentials * Added: You can now display Invoice custom fields on invoice PDFs and portal invoices. * Added: You can now display Contact/Company custom fields on invoice PDFs and portal invoices. * Added: Preparations for v5.0 major release v4.10.3 - 30 March 2022 ------------------------- * Fixed: transaction list doesn't work on sites with unexpected table prefixes. * Fixed: Issue installing the plugin via XML-RPC request. * Improved: move welcome tour behind first use dashboard modal. v4.10.2 - 28 March 2022 ------------------------- * Fixed: issue installing the plugin via WP-CLI command line * Fixed: updates now show consistently * Fixed: some menus did not load on white label installs v4.10.1 - 25 March 2022 ------------------------- * Fixed: Error on new first use dashboard * Fixed: Incompatibility with PHP versions prior to 7.3 * Improved: better compatibility with block-based themes v4.10.0 - 24 March 2022 ------------------------- * Fixed: quotes can now be accepted in block-based themes * Fixed: prevent a JS error when TinyMCE is used by another plugin * Fixed: edit user-created logs when created in another language * Improved: Styling around admin notices on various pages * Improved: support addition of tags via Jetpack contact form block's checkbox group * Improved: removed references to non-existent asset maps * Improved: Refactored learn menu system * Improved: Updated Noto fonts to provide more global character support * Improved: Added new settings page: Locale * Improved: string cleanup * Improved: extension update detection code * Improved: handle null transaction names * Improved: better WP user creation logic * Improved: catch PHP notice when creating a contact from Jetpack Forms * Improved: caught PHP notice that sometimes occurred within built-in forms * Improved: catch PHP notices when saving logs * Added: Transaction list can now show External Source column * Added: Include external source ID when searching transactions * Added: Ability to install region-specific fonts for PDFs * Added: New first-use dashboard to better welcome new users * Added: WooCommerce variant of first use dashboard * Added: Content to learn menus, including video guides v4.9.1 - 22 February 2022 ------------------------- * Improved: Better compatibility with Jetpack plugin v4.9.0 - 16 February 2022 ------------------------- * Fixed: Wording for Client Portal is now consistent * Fixed: error when creating WooCommerce orders with PHP 8.x * Fixed: catch PHP notice when adding a new contact * Improved: contacts can now be unassigned * Improved: discoverability of core CRM modules * Improved: handle long file titles and descriptions * Improved: fix import icon on contact menu * Improved: prevent Jetpack "Add Contact Form" button from showing on quote pages * Improved: Client Portal tab in contact view was moved to sidebar * Improved: cleaned up client portal permissions code * Added: "Assigned to Me" and "Not Assigned" filters for contacts * Added: further support for Mail Campaigns imminent release * Added: cron monitoring system to keep the cron jobs alive * Added: better compatibility for installation via Jetpack v4.8.1 - 20 January 2022 ------------------------- * Fixed segment compilation error if using a segment condition that was no longer available v4.8.0 - 20 January 2022 ------------------------- * Fixed: bug when apostrophes are present in the business name while sending emails * Fixed: contact ownership wasn't properly set when creating or updating a contact via the API * Fixed: cron jobs were not being properly deleted on deactivation * Fixed: Removed faulty character * Fixed: setting deletion function * Improved: better API error messaging * Improved: newlines are preserved in new emails sent from the Email Manager * Improved: summary boxes now show in the dashboard if there are no contacts * Improved: prevent errors if there are duplicate meta keys for a contact * Improved: transactions created via the API now have a transaction date * Improved: messaging around Client Portal Pro contact files updated for several scenarios * Improved: segment failsafes for code extensions such as Advanced Segments * Improved: UI for the Client Portal is now responsive * Improved: WP 5.9 compatibility v4.7.0 - 16 December 2021 ------------------------- * Fixed: catch error if list view has no filter buttons * Fixed: pagination didn't update when changing listview settings * Fixed: second address fields in client portal now save properly * Improved: show "access restricted" message when one has no access to said object * Improved: using Safari to send email now works as expected * Improved: legacy "Auto-draft Garbage Collection" no longer shows on System Status page * Improved: User Profile page improvements * Improved: contact edit layout now shows properly if addresses are show last * Added: pagination and bulk actions now show at the top of listviews v4.6.0 - 18 November 2021 ------------------------- * Fixed: non-hidden fields can be blanked from the Client Portal * Fixed: hidden fields cannot be changed from the Client Portal * Fixed: all placeholders now work if WP is set to another language * Fixed: the client portal button placeholder works properly in manually-sent invoice and quote emails * Fixed: white label sites no longer have a PHP error * Improved: better cache-busting for JS/CSS files * Improved: better handling of avatar settings * Improved: Segment conditions are more reliably respected when building segment counts * Improved: Support for placeholders in single send emails. * Improved: better logging when a customer updates details from the Client Portal * Improved: log types for disabled modules no longer show when adding logs * Improved: HTML string cleanup * Improved: placeholder replacement order in single-send emails * Improved: show contact IDs when merging contact records * Improved: more robust rewrite rule handling of invoices in the client portal * Improved: clean up PHP debug code * Added: check for mb_internal_encoding support v4.5.0 - 20 October 2021 ------------------------- * Fixed: Resolves occasional error when sending emails via Email Manager * Fixed: Sending emails sometimes had extra newlines * Fixed: reCaptcha on built-in forms wasn't properly working * Fixed: Custom field settings could overwrite themselves in rare cases * Fixed: Bug where users could not clear tags against objects. * Fixed: Updated some WooCommerce doc broken links. * Fixed: Calendar shows the newer events first (with a 50000 limit) * Improved: Email Manager messaging tweaks * Improved: Custom field settings now hide when their module is disabled * Improved: Cleaned up boxes on the dashboard * Improved: Refinements to segment caching routines * Improved: Added more translation support * Improved: Refinements to single quote client portal page, and other refactoring around templates * Improved: Moved main email template into templating system (can now be modified via theme file) * Improved: Added security to templates directory to avoid any possible external indexing * Improved: Welcome to Client Portal email now supports ##ASSIGNED-TO-EMAIL## etc. * Added: Show assigned user on contact profile * Added: New GiveWP core module * Added: Support for file templates for Invoices, Quotes, and Statements (PDFs) v4.4.0 - 24 September 2021 ------------------------- * Fixed: Bug where email template test emails were being sent blank * Fixed: Cleaned up some PHP notices in the client portal * Fixed: removed obscure and long-broken setting * Fixed: Some steps in the welcome tour are not working well * Fixed: Now Client Portal supports multi slug levels * Improved: Better messaging on licensing page * Improved: Add link to task list view on task edit page * Improved: Wrapped some missed strings for translation * Improved: Better compatibility with WordPress.com menus * Improved: File cleanup * Improved: More strings are available for translation * Improved: Added better support to custom field creation to avoid key name collisions * Improved: Better handling of form custom fields * Improved: Small design tweaks * Improved: backend translation updates * Added: New system-wide placeholder system * Added: New System Assistant page * Added: Placeholder map reference page v4.3.1 - 3 September 2021 ------------------------- * Improved: Some promo banners v4.3.0 - 25 August 2021 ------------------------- * Fixed: You are now able to load more than 100 calendar items per page load. * Fixed: Contact edit link icon. * Fixed: cleaned up PHP notice when exporting linked objects. * Fixed: the company column in the contact list view is no longer truncated. * Fixed: Tweaked previous invoice security fix code. * Improved: use fallback text in invoices and transactions if contact has no name or email. * Improved: subtotal column widths are now consistent. * Improved: items can now be unassigned after a previous assignment. * Improved: image alt attributes on the extensions page now show properly. * Improved: Some welcome copy and pics. * Improved: Removed some unused images. * Improved: one can now set date custom fields more than 5 years in the future. * Added: Tasks can now be viewed in a list view as well as calendar view. * Added: Task bulk actions: add/remove tags, update status, delete. * Added: Task quick filters: next 7 days, past 7 days, incomplete, complete, etc. * Added: update contact status in bulk. * Added: The changelog.txt file with the full release changes. * Added: Track usage and CRM stats to help us develop features in the most used areas of the CRM. * Added: the percent discount now shows on invoices when applicable. v4.2.3 - 11 August 2021 ------------------------- * Fixed: Invoices and Invoice list not shown on my account unless assigned to you. v4.2.2 - 9 August 2021 ------------------------- * Fixed: Hotfix for bug introduced in 4.2.0 with regards tag editing against contacts. v4.2.1 - 5 August 2021 ------------------------- * Fixed: Invoices cannot be sent to the assignment contact email. v4.2.0 - 4 August 2021 ------------------------- * Fixed: the welcome wizard respects which extensions were selected * Fixed: invoice lineitem descriptions have newlines preserved * Fixed: editing contacts assigned to another user is restricted if "Assign Ownership" setting is disabled * Improved: Cleaned up HTML validation * Improved: better handling of contacts with no name or email * Improved: use default quote template values if quote field is empty * Improved: active core extensions will remain active on refresh * Improved: cleaned up PHP notice when creating forms * Improved: cleaned up deprecated jQuery code * Improved: datepickers now respect WP's "week starts on" setting * Improved: better Client Portal support for the default Twenty Twenty-One theme * Improved: Added client portal dialog to contacts without emails in contact view mode * Improved: Linked object fields can now be exported for Contacts, Quotes, Invoices, and Transactions * Improved: the "perpage" and "page" params are now available at all relevant API endpoints (customers, companies, transactions, invoices, quotes, customer_search, events) * Improved: show transaction name on the contact profile page * Improved: hide total value on contact and company profile when transactions and invoices are disabled * Improved: DAL improvements allow passing of generic tag_input * Improved: links are detected in custom text fields * Added: quick links to create new items from the document tabs * Added: navigation mode now applies to companies as well as contacts v4.1.0 - 8 July 2021 ------------------------- * Fixed: Contact second address custom fields now show in View mode * Fixed: Display second address if first address is empty * Fixed: Company custom fields will now always show in View mode * Fixed: Hide company settings when B2B mode is disabled * Fixed: The jpcrm_quote_accepted hook works with the quote editor too and not only via Client Portal * Fixed: The /events API endpoint returns events * Fixed: Hide Companies section in non-Slimline menu layouts * Fixed: Don't allow quote template builder to run if customer isn't selected * Fixed: Contact logs could show doubled in some cases * Fixed: The "show prefix" setting is now respected when editing contacts * Fixed: Events now properly show in day and week view * Improved: Cleaned up PHP warnings related to list view filters * Improved: Text wrapping in contact and company fields * Improved: Removed unneeded JS files * Improved: Contact prefixes and countries can be unset * Improved: better handling of very long tags * Improved: CRM deprecation notices are now logged * Improved: Wrapped some missed strings in __() for translation * Improved: Blank custom fields now show correctly when viewing a contact profile * Improved: Search by phone will ignore spaces and common punctuation * Improved: Typeahead limit has been raised from 5 to 10 v4.0.17 - 24 June 2021 ------------------------- * Fixed: An internal variable naming for DAL version 2 * Fixed: No break lines in PDF quotes. * Fixed: Country field is not showing on company address * Improved: all pages should have titles now v4.0.16 - 25 May 2021 ------------------------- * Fixed: Updated PDF library that fixes some issues with the pdf of quotes and invoices using PHP 8 * Improved: Some text banners and buttons v4.0.15 - 9 April 2021 ------------------------- * Fixed: Invoice client portal was incorrectly saving the invoice total * Fixed: Country field is not showing on contact cards * Fixed: Item selector for invoicing, with long names have a UI issue * Improved: A better alert message when a user tries to create an invoice with a duplicated reference * Added: A notice block for announcements. v4.0.14 - 12 March 2021 ------------------------- * Fixed: An issue with the set_time_limit in some shared hosts. * Improved: The CRM dashboard view with date ranges. * Tested: Tested with WordPress 5.7 v4.0.13 - 25 February 2021 ------------------------- * Fixed: Added date column in the contact list is using UTC time. * Fixed: Add a link to the contact ID column in the contact list. * Fixed: WooCommerce <-> JPCRM conflict importing CSV file with products. * Fixed: Fix an overflow in custom fields that use a textarea as type. * Fixed: A collision between the slugs of Jetpack and Jetpack CRM extensions. * Fixed: The dashboard contacts card, when it's empty, doesn't have padding. * Improved: Now the transactions have available the hidden fields net, discount, fee. v4.0.12 - 11 February 2021 ------------------------- * Fixed: The setting API menu is visible after activating the API core extension. * Improved: Move the EUR symbol to the top of the currencies selector v4.0.11 - 1 February 2021 ------------------------- * Fixed: Company activity log now shows the right time regardless of WP installation timezone * Fixed: In some cases Invoice ID was lost when updating * Fixed: Custom label for invoice ID now properly used throughout * Fixed: Apostrophes in company and contact names now display properly throughout * Fixed: Started work on PHP 8 support (fixed deprecation notices) * Improved: Readme (.org description) improvements for readability, added more FAQs * Improved: Settings now casted better, will overcome core extension loading issues for a handful of users on strict php installs * Improved: Made menu adjustments for users using Jetpack and Jetpack CRM on the same install, for easier navigation v4.0.10 - 17 December 2020 ------------------------- * Fixed: Duplicated title in the short description logs when creating quotes, invoices, transactions and tasks * Fixed: Custom field with auto-number broken with empty prefix * Fixed: PHP notice for some users from email tracking system * Fixed: Labels now again fully respect locale * Improved: Hardened output of contact list on dash * Improved: Hardened parsing of CSV files * Improved: Custom field types numeric and numeric (decimal) are now reliably sortable via list views v4.0.9 - 10 December 2020 ------------------------- * Fixed: Migration issues where Jetpack CRM is installed with wp-cli * Fixed: List views with 'Latest Contact' columns now load properly regardless of DB environment * Fixed: PHP notice around quotes on contact view * Fixed: Quote and Task auto-logging now working correctly * Improved: Removed legacy country-check code * Improved: Quote send via email now allows for optional attachment of quote as a pdf, or any associated files * Improved: Hardened the security around the updating of activity logs * Improved: Resolved a false-positive security flag in a security plugin (removed pclzip) * Improved: Removed some logs from the Javascript console and some PHP notices * Improved: Verified WordPress 5.6 support * Added: New auto-log: Add an activity log to a contact on Quote Accepted * Added: New hook jpcrm_quote_accepted v4.0.8 - 25 November 2020 ------------------------- * Fixed: Company label setting now respected throughout (e.g. Organisation) * Fixed: Typeahead contact->company assignment for new contacts now displays properly * Fixed: You can now have many filters without the view blocking access to them * Improved: Event notification email templating * Improved: Event notification email template: Took translations out of template file * Improved: .org description improvements * Improved: B2B mode is now a core extension and enabled by default * Improved: Company settings unified into one settings page * Improved: Transaction settings unified into one settings page * Improved: Language labels surrounding company and transaction settings * Improved: Removed legacy file * Improved: Better styling around large elements on list views * Added: You can now use an auto-number sequence as reference in invoices (with prefix and suffix) * Added: Ability to change the label of 'Reference' for invoices * Added: Signposting to Company settings page * Added: DAL functionality for retrieving events and event reminders based on reminder status * Added: Migration to update event notification email template v4.0.7 - 12 November 2020 ------------------------- * Fixed: Dompdf exception creating quotes with Preformatted option selected * Fixed: Style bug when displaying multi-option custom fields on the contact and company view page * Fixed: Bug where license system modal sometimes reloaded to an incorrect URL * Fixed: Bug in permissions around verifying back end users * Fixed: Removed internal PHP notice in Invoices section * Fixed: Sorting contact list view by company now works properly * Fixed: Bug where some logs were not showing under 'latest log' column (due to ownership) * Fixed: Incorrectly referenced second address fields in DB Object model for companies * Fixed: Total transaction column value on company list view * Fixed: Several fields were not displaying properly in quote list view * Fixed: A deep bug in address custom fields where those fields with hyphens in the key were unsortable * Fixed: A bug where contact last contacted date was incorrectly showing as last updated value * Improved: Support for checkbox and multi-select custom fields * Improved: Keywords used for .org repository listing * Improved: Settings now accessible directly from within module (e.g. Invoices) via learn bar button * Improved: Corrected company name references * Improved: License system modal notice language and UI * Improved: License system update checks * Improved: You can now search for Transactions, Quotes, Invoices, and Companies by ID * Improved: Default sort order of DESC now reflects properly in list view sort icon * Improved: Centralised definitions of "Contact" type logs * Improved: Better formatting for 'added' date in company list view * Added: Ability to sort contact list view by: Latest Log * Added: Ability to sort contact list view by: Latest Contact Log * Added: Ability to sort contact list view by: Has Quotes, Has Invoices, Has Transactions * Added: Ability to sort contact list view by: Quote, Invoice, and Transaction count * Added: Ability to sort company list view by: Name, Status, Email, and other standard fields * Added: Ability to sort company list view by: Custom fields * Added: Ability to sort company list view by: Number of contacts at company * Added: Contact list view column "Has transactions" * Added: Company list view columns: Has Invoices, Has transactions, Invoice Count, Transaction Count, Transaction Value, Total Value (and made them sortable) * Added: Ability to sort quote list view by all columns * Added: Ability to sort invoice list view by all columns * Added: Ability to sort transaction list view by all columns * Added: Ability to sort form list view by all columns * Added: Last Updated column to contacts and companies v4.0.6 - 29 October 2020 ------------------------- * Fixed: Duplicated tag with international charactes when they are added to a contact * Fixed: Style issue with Second Address block in the Client Portal * Fixed: Invoice line items now able to be added to invoices (req invoicing pro v2.7.1) * Fixed: Textarea custom field doesn't show new lines in view mode * Fixed: Remove Advanced Search (can search from list view mode since v3.0) * Fixed: JPCRM can not be installed if the API Connector plugin is already installed. * Fixed: Style issue mapping the fields in the CSV Importer section v4.0.5 - 15 October 2020 ------------------------- * Fixed: Deleted segment shows as filter contact list view * Fixed: On export the contact or the transaction list, in the CSV file the owner ID was blank * Fixed: Wrong menu link showing task tags in CRM only mode * Fixed: Forms now track visits and conversions properly * Improved: Better mapping of older extension names into extension system * Added: Exporting objects owners now also exports owner username * Added: Core Extensions List updated with latest extensions v4.0.4 - 2 October 2020 ------------------------- * Fixed: Issue related to contact and company bulk action deletion * Fixed: Old brand reference on CSV importer page * Fixed: New Company placeholder more specific to a real business * Fixed: Multi-value custom fields in client portal * Fixed: JPCRM roles for contacts explicity deny WP role capabilities when activated * Fixed: A user role still referenced the old brand * Fixed: Create new invoices without selecting a due date was showing up as Invalid Date * Fixed: Extension documentation links * Fixed: In the single contact view, the Invoices Total and Quotes Total now show their correct values * Fixed: Country field properly shows on contacts/companies * Fixed: Disabled modules show in the sidebar for CRM-only and Full layouts * Improved: Task scheduler now shows owner avatars * Improved: Contact List view can now be sorted by Total value as well as Quotes, Invoices, and Transactions total values * Improved: Form submission logs * Improved: Addressed stray PHP notices * Improved: Tweaked extensions detail page * Improved: Updated error messaging * Improved: Beginning of internal refactor of the API v4.0.3 - 17 September 2020 ------------------------- * Fixed: API docs link was incorrect * Fixed: Form widget now works as expected * Fixed: Restored user filter for tasks * Fixed: Custom field doesn't show up the dates previous to 1970 * Improved: Revenue chart on CRM Dash * Improved: Added gender-neutral contact prefix * Improved: Settings navigation styling * Improved: More robust paid extension handling * Improved: Tweaked list view columns * Added: Mail activity log type v4.0.2 - 4 September 2020 ------------------------- * Fixed: Dashboard Revenue Chart was missing some transactions * Fixed: Customer pre-fill now pre-fills properly. * Fixed: Date paid and date completed now always filled * Fixed: Bulk selection not working in WP5.5+ * Fixed: WP5.5+ jQuery function support * Fixed: Some learn buttons were appearing behind some other elements * Fixed: Custom dates like Birthday were not allowing pre 1970 date entries * Fixed: Logo hover icon for fullscreen now turned black from white on white * Fixed: Author update to be Automattic * Fixed: Task status labels now format the colour of the label * Improved: Dashboard Revenue Chart now shows 12 months v4.0.1 - 20 August 2020 ------------------------- * Fixed: AJAX.php file was being detected as a virus by some AV scanners * Fixed: Removed unnecessary notification after plugin installation * Fixed: the Jetpack Forms extension name * Fixed: Edit profile avatar sometimes not aligning correcetly * Fixed: Transaction creation prefill now works * Fixed: View button on transaction (after assigning a contact) now takes you to view, not edit * Fixed: Clicking a sent email was not loading email correctly * Fixed: Date Paid field is now in correct format in transactions list view. * Improved: Made links open in parent tab rather than new tab where it made sense to do so * Improved: Store the name from a Jetpack contact form submission * Improved: The Jetpack Forms extension will now be enabled by default when the settings are initialized or reset * Added: Use the Jetpack contact form toggle setting to determine whether to save the contact * Added: Ability to hide prefix field v4.0 - 20 July 2020 ------------------------- * Jetpack CRM branding