RELEASE NOTES
1. ALL REGIONS
FEATURES
Feature: New Feature for Brand Requests
We have introduced a new setting called “Use for new Brand Request” within Brand Attributes.
This new setting improves the process of requesting a new Brand by allowing important attribute options (like “Therapeutic Area” or “Business Unit”) to be visible during the Brand request — even if those attributes were previously only linked to individual Brands.
What has changed:
- Admins can now select a checkbox for any Brand Attribute to make it available when users request a new Brand.
- This ensures that relevant attribute options are shown at the right time, helping users to provide more complete and accurate information when requesting a new Brand.
- Only attributes specifically flagged for new Brand requests will appear, and only if they are already associated with the selected Master Client.
- No changes have been made to the process for requesting new Products — it continues to use the existing attribute setup.
Why this is helpful:
- Users will now see all the relevant attributes they need when creating a new Brand, leading to better data capture and fewer corrections later.
- This change also prevents confusion — users won’t see unnecessary or unrelated attributes if no matching options exist.
Enhacements
[#72966] Block the Brand if all Products under the Brand are blocked
We have improved the Address Book so that if all Products under a Brand are blocked, the Brand itself will now automatically be blocked.
When all Products linked to a Brand are blocked, the Brand will be blocked as well. This helps keep the Address Book cleaner and ensures Brands with no active Products are clearly marked.
This prevents users from mistakenly using Brands that no longer have any available Products.
[#73305] If a brand is blocked, all of its products below should also be blocked
We have updated how Products behave when a Brand is blocked.
Now, when a Brand is blocked, all Products underneath it will automatically be marked as both “Inactive” and “Blocked” — not just inactive.
This ensures the data is clean and consistent in reports and throughout the system.
[#73297] FE: Add link to Active and All Projects to Products
We have added new links to the Product page that allow you to quickly view related Projects. You can now click to see either Active Projects or all Projects linked to a Product, and you’ll be taken directly to the Project List with the correct filters applied.
[#73282] FE: Create a URL to access the Request a Brand Feature directly.
We have created a direct link to the Brand Request form, making it easier to access. By visiting https://havaspulse.com/v2/support/general/brandrequest, users are taken straight to the Support page with the Brand Request form already open, saving time and simplifying the process of submitting new Brand or Product requests.
[#73011] Bug: Rejector Name missing from the email
We have corrected an issue with rejection emails for Master Client, Brand, and Product requests. Previously, the emails were not showing the rejectors name so the user could follow up on the rejection.
[#72967] FE: Add Blocked Filter to “Request a Brand” Feature
We have improved the Brand and Product request process to prevent users from requesting a new Product under a Brand that is blocked.
Blocked Brands will no longer appear in the Brand dropdown when submitting a new request. Additionally, if a Brand becomes blocked between the time of request and approval, the system will now prevent the request from being approved, showing a clear validation message.
However, users will still be able to reject these requests if needed. This change helps keep the system cleaner and ensures new Products are only created under active Brands.
[#72026] Make resource ID editable in the PTO report
We have added the ability to update the Resource ID in the PTO report. Now, if a user’s Resource ID changes, you can easily edit it directly within the PTO record.
[#73028] Enhancement: Display Department name and Role of the user in the Utilization View
We’ve updated the Scheduler’s Utilization view to make it easier to understand how users are grouped. When viewing resources grouped by user, each grouped line now clearly shows the user’s Department and Role alongside their name. This gives teams more context at a glance, especially when working across departments.
FIXES
[#73290] BE: Changing Brand of a Product should update all projects
We have fixed an issue where changing the Brand of a Product using the Bulk Update tool did not update the associated Projects. Now, when a user updates a Product’s Brand, all linked Projects will automatically update to reflect the new Brand — as long as the Project has not yet been sent to Agresso. This ensures consistency between Products and Projects and prevents any mismatches in the system.
[#72528] Bug: Reprocessing failed PO loop
We have improved the Finance Document Cleanup process to prevent issues where purchase orders (POs) could get stuck in an endless cycle of reprocessing after a failed Agresso response. The system will now follow new rules based on the PO type — ensuring that if a PO actually exists in Agresso, Pulse updates the status correctly without resubmitting. This change makes the cleanup process smarter, avoids unnecessary errors, and ensures finance documents are handled more reliably.
[#72829] FE: Incorrect validation on Project End Date
We have fixed an issue where users were incorrectly seeing an error message when updating a Project’s end date. Previously, even if the new end date was correctly set after the start date, the system would wrongly show a validation error.
[#61235] Bug: Joblist: Filter: Project Type filter is unusable
We’ve resolved an issue in the Joblist view where the Project Type filter was not functioning correctly. Previously, selecting any option in this filter would return the default list of projects, ignoring your selection.
This fix ensures that applying the Project Type filter now returns results based on the selected option, giving users the expected filtered view. You can now confidently use this filter to narrow down projects by type.
[#62491] Bug: The Mine: Deeplink is broken if user applies ‘Asset Type’ filter
We’ve fixed a bug in The Mine where the Asset Type filter was being stripped from the URL when opening a deeplink in a new tab. This caused users to land on the default view instead of the filtered results they expected.
With this update, deeplinks that include the Asset Type filter now retain their parameters and display the correct filtered view when opened in a new tab. Other filters continue to work as expected.
[#62703] Error: Project: Cannot move folder to another project, using ‘create new folder’ function
We have fixed an issue that caused an Internal Server Error when trying to move a file folder to a new project while creating a new folder during the move.
[#69098] Bug: Rollup: User with Edit permission cannot edit rollup
We have fixed an issue that caused a user given “edit” permissions to a Timelines Rollup to not be able to edit via the “Timeline Settings” or “Delete” options in the ellipsis menu of the Timelines Table Grid.
[#69121] Error: Cannot preview timeline by the Edit Rollup Report modal
We have fixed a permission issue that caused a user to not be able to view a Timeline they have added to a Rollup when they view the “Timeline Settings” for the Roll Up. When clicking through to view a Timeline from the “Edit Rollup Report” modal via the “Preview” button the user can not access the Timeline correctly with no errors.
3. TECH DEBT
[#72493] Spike: Can we ignore delinquent check for audit_history
We have improved our audit logging by reducing unnecessary entries. We have also stopped logging repetitive and low-value updates like “reset permissions” and reminder timestamp changes. This keeps the audit history cleaner and more focused on important user account changes.
[#73013] Uncaught exception ‘TypeError’ with message ‘array_key_exists(): Argument #2 ($array) must be of type array, null given’ in V1 Edit Project Details
We have investigated and fixed an error that was occurring when editing project details in the legacy project page (V1). The issue was caused by a template error, which triggered a system exception in New Relic. This has now been resolved, ensuring that users can edit project details without encountering any errors when navigating to the Finance Profile tab.
[#73158] NR: Exception ‘Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException’ with message ‘The file “/efs/pulse-data/report-export/1065027/1742896830_retainer_report_export.xlsx” does not exist’
We have fixed an issue where attempting to download a missing report file caused a system error instead of a proper response. Now, if a report file no longer exists, the system will correctly return a 404 Not Found message.
[#73277] Project Amendments> Request Amendment button > Permission
We have improved the Project Amendments page to prevent a flickering issue where the “Request Amendment” button briefly appeared even when users were not allowed to create an amendment.
[#73284] NR: Uncaught exception ‘SmartyCompilerException’ with message ‘Syntax error in template “file:/var/www/html/Smarty/templates/Users/agresso-integration-info.tpl”
We have fixed an error that prevented the User Edit page from loading correctly due to a missing template function. Previously, trying to edit a user triggered a system error.
[#73423] Bug: Office holiday with special character breaks Scheduler
We’ve fixed an issue that prevented the Scheduler from loading when an Office Holiday name contained special characters such as apostrophes, brackets, or ampersands. This issue was only reproducible in production and blocked access to the view entirely. The Scheduler now safely handles holidays with special characters in their names.
[#73466] BE: Update PATCH api/users/{record} to allow update user’s data in rp scheduler
We’ve enhanced the Quick Edit functionality in the Resource Scheduler by transitioning from a full record PUT update to a PATCH request. This allows the system to update only the modified user fields instead of resending all data—improving efficiency and reducing the risk of unintended data changes.
As part of this fix, we’ve also resolved a validation issue that previously blocked updates when the Maximum bookable hours per day field included a decimal value. Decimal inputs are now accepted, allowing for more accurate scheduling configurations.