Zum Hauptinhalt springen

Release

2025.02.001

Diese Release-Notizen liegen im englischen Original vor.

SpiceCRM 2025.02.001

A new era of SpiceCRM has arrived, shattering the limits of architectural flexibility.
Our latest milestone delivers a fully decoupled core for ultimate integrator power.
Build, extend, and innovate with a system that is now 100% configurable.
Zero lines of code required—take total control via the SpiceCRM Administration Panel.

System Performance and Architectural Optimization

The system’s dictionary fields and relationships are now built dynamically, leading to improved performance for API requests by removing intermediate cache tables. This update requires post-deployment database cleanups, such as dropping the legacy sysdictionaryfields and relationships tables. Additionally, core definitions for Accounts and Contacts have been migrated to the Dictionary Manager to streamline data management.

Enhanced User Interface and Usability

New components allow for module shortcuts in the global header and improved selection fields for time zones and countries to enhance the user experience. The Workbench has been expanded with new management tools for admin groups, and tab navigation has been refined to ensure users land exactly where they click. Further UI flexibility is provided through new parameters for non-collapsible tabs and additional styling options for button icons.

Functional Updates to Core Modules (Project, Email & Workflow)

Project management has been integrated into the “SpiceCRM more edition,” introducing advanced features for settlement and resource planning. Email functionality saw significant improvements, including fixes for attachment naming, better extraction of sender addresses, and enhanced handling of intercepted campaign emails. Finally, workflows now support mandatory comments for decision tasks, and a new endpoint allows for the automatic translation of language labels via Google Translate.

Release Details 2025.02.001

CR1001981: New component to add a module shortcut in the global header [feature request]

It is now possible to add a shortcut to a module in the global header (menu on top right). The component name to add to the GlobalHeaderTools componentset is GlobalHeaderModuleShortcut.

CR1002151: new fieldtype timezone [change request]

a new field for the selection of a timezone has been added. And also the system-input-timezone has been amended to be either rendered as regular select or as system-select field

CR1002149: add a fullNameHandler to the fullname domains [change request]

in the effort to replace the person template a domain handler has been added to the full name domains to build a full name based on the attributes of the person replacing the need to implement Person.php

CR1002105: livecompile route changed [change request]

moved a generic livecompile route
deprecated other routes

CR1002089: Fix Text formatting error on e-mail reply / forward [bug]

Too many break lines added in plain text e-mails.

CR1002046: Dictionary Cacheless [change request]

Removed the middle cache tables sysdictionaryfields and relationships. Dynamically build the dictionary fields and relationships from the definitions. Improved performance for the api requests.

Post deployment action: drop table sysdictionaryfields
drop table relationships

CR1001958: Project Settlement [feature request]

CR1001523: Consider general settings edit mode in workbench tables [change request]

Example: modules => when custom only is set to none => User shall not be able to edit the records.
Perform the check also in the backend

CR1001813: Navigation [change request]

handle navigation on workbench tabs. first click on the tab is always leading to the first tab. it should navigate where it is clicked

CR1001939: Kanban Manager - Refresh/Delete Stages []

Added refresh button in the kanban manager list to push newly added validation values as stages to the current kanban.
Added delete button for the stages.
Change service added delete handler.

CR1002030: Default Join Table - new field 'modified_user_id' [change request]

new field 'modified_user_id' in the 'defaul join table' to track the changes in the m2m relationships.
Adjusted the crm m2m tables to use the template 'default join table'.

CR1001929: CampaignTasks: Handle intercepted Emails [change request]

Intercepted emails no longer generate a sending error, but are instead logged with the status "intercepted".

CR1001994: Extract 'from_addr' in .msg emails [bug]

emails with .msg extension will not get 'from_addr' properly extracted

CR1002126: Fix attachment name too long on e-mail import [bug]

The file name of attachments might be mime encoded. In that case the name is much too long to be stored. We added a decoding function that extracts the original filename given by the e-mail sender.

CR1002204: check duplicate email address on user moved to user_email [hotfix]

the check on duplicate email address on the user has been moved to the new field user_email and away from the email address relationship table.

CR1001977: Templates: get the list of the attachments related to the record [feature request]

It is now possible to call the standalone function getSpiceAttachments in templates in order to display the list of the attachments related to the main record. The property display_name will contain either the name entered by the user after upload or the filename if not set. The property filesize contains the byte amount of the file. The property date contains the upload date.

CR1002251: Project management is now part of SpiceCRM more edition [change request]

The Project class is now SpiceCRM more edition only, joining the other classes to handle Project WBS and plan project resources

CR1001912: new output template for segment allowances [feature request]

added a new template function getAllowanceTable to add a subtable in the segments output for the checked allowance exemptions on a travel segment.

CR1002222: added parameter notcollapsable to the ObjectRecordDetailsTab [feature request]

added a new parameter notcollapsable to the component ObjectRecordDetailsTab. This will prevent the tab to be collapsable.

CR1001944: In the getLetterSalutation function it now retrieves the current language [change request]

The get letterSalutation function now retrieves the current language in use

CR1002088: added with calculator option to the float fieldtype [change request]

added the option to display the system calculator also on the float fieldtype and added this to the Salesdocitem fieldsets

CR1001531: Workbench Component for Admin Group and Component Management [change request]

A new Workbench Component that enables the user to create a new Admin Group and Admin Component with custom Groups and custom Components now being an option as well.

CR1002259: SystemDeploymentPackage added some configurations [internal]

Listview: name is now clickable
Status: new value removed
Status network button: jump from "released" to "removed". Meant when we remove a package from the reference.
First time used for Procuemrent and Procurement Config in 2025.02.001

CR1002085: Questionnaire LandingPage for Campaigns [feature request]

CR1002107: Domain Handler Class Check [change request]

Added check on the domain handler class before executing, to prevent error class not found.

CR1002152: amend system-input-country to switch to system-select field [feature request]

the system-input-country has been changed to utilize the system-select field that allows better searching and enhances usability.

CR1001998: package.json removed less from devDependencies [internal]

in devDependencies we had "less": "^4.2.0", which caused the IDE to always ask for npm install since we have "less": "4.1.2", in dependencies.

CR1002174: New N2M Relationship Type Self Referencing [feature request]

Removed the self_reference flag for the n-to-m and 1-to-m relationships.
Added a new many to many self referencing relationship type to be used in case a module is referencing itself. This will add two records in the relationship table for both directions. This should allow using the same link in a subpanel to enable each side to side the opposite side record in the list.

CR1002178: Performance for spicenotifications table [internal]

added an index on deleted+user_id

CR1001881: Update Attachment Panel in Email [change request]

enhance the attachment Panel

CR1002150: Workflow Task Definition for Decision: enable required comment []

Workflow tasks of type "decision" render a comment field for the user who shall perform the task. That field used to be optional. Now you may select "required comment" in the task definition. The configuration was moved from a checkbox to a list.

CR1001896: fix search in subpanel with pagination for m2m and m2mp [bug]

CR1002082: Email Recipients Fix [bug]

fix when copying the from and to email addresses from referenced email

CR1002170: Show "Assigned To Me" in related sub panel tabs [feature request]

CR1001890: Migration Accounts/Contacts Vardefs [change request]

Accounts and Contacts Vardefs have been migrated to the dictionary manager.

As part of the contacts migration also the account_name has been migrated to primaryaccount (see separate CR).

The link for the direct reports linking contacts to each other has been deprecated. If required this needs to be added as a custom relationship

CR1001942: Workflow Manager Bug Fix []

Bug Fix: Fixed bug; in the workflow manager edit modal, the next run time does not change when changing the schedule interval.

CR1002188: add new Class slds-icon-text-superlight to system-button-icon [change request]

a new color class slds-icon-text-superlight has been added to the css and as color option in the system-button-icon allowing very light colored button icons

CR1001928: new Endpoint to translate languages [feature request]

a new Endpoint /syslanguage/{language}/{scope}/labels/untranslated has been added that can auto translate missing records using google translate if an API key is defined in the system

CR1002076: Fix allocated file name to attachment when sending an e-mail [bug]

When you upload files to a record it is possible to change the name of the file. When you do so and later on send some attachments per e-mail, some attachments would be named wrongly. It is now fixed (ref. CR1001327). We also added the funcitonality to SendGrid and SendInBlue e-mail handlers.

CR1002095: Changed Action Menu for Service Ticket Notes [change request]

We set the action set the Action Menu Default (no redirect)). When deleting a service ticket note the user will no longer be redirected to the service ticket notes list view.

Post deployment action: reload the service management package

CR1002042: Field Mailboxes: fix check receipt disabled [bug]

The check on the receipt flag disabled attribute was not done properly.

CR1002044: Bug Fix - Page Builder Custom Section Screenshot [bug]

Fixed bug: save new custom section screenshot sometimes returns a blank image

CR1002162: update SpiceAtachmentsPanel [change request]

the attachments panel embedded in beans when an upüload is enabled has been slightly amended:

- link from parent is only enabled if there is a parent set
- the buttons have been changed from Text to Icons so they fit into the panel also on smaller screens
- the drop filed text is only displayed if the with is large enough
- the size info is wrapped in a grid at the bottom showing at the left if enabled and applicable

CR1001967: Backend API Exception Error Code [change request]

Adjusted the backend api exception handler to set a proper error code and return the original error message.

CR1002122: field-mailboxes of type SMS [change request]

When the mailbox is of type sms (single or mass) do not display the checkboxes zip archive and read

CR1002200: Set inactive button under field control [change request]

The native set inactive button now reacts to the permission set directly on the field is_inactive.

CR1002008: Action Button New Related - New Config [feature request]

Added new config property link_name to the action button NEWRELATED to enable using a specific link name when creating a new related record.
implemented on Account/Related Contacts Panel

CR1002258: Removed Procurement [internal]

We removed the procurement suite. Not in Use and not having the proper structure

CR1002191: Frontend Minor Changes [change request]

Added placeholder input property to the system-select component. Added the missing translate icon to the slds library in vendor.

CR1001923: Emails API Transactional [change request]

Refactored email send to_be_sent flag to bulk send all the emails in an api request after database commit. This prevent data inconsistency and enure email handler webhooks handling properly.
Cleanup unnecessary saved emails sent by the system.

CR1001924: Field Time Adjustments [change request]

Adjusted the frontend time field to read the database time value properly and ignore the timezone changes. Also make sure to convert the value on retrieve/save between the api and the frontend.

CR1002182: update on related list table [feature request]

the related list table component has been amended so it checks if the actionset for the list items has actions. If no actions are found the action column at the end is hidden. This is to enhance usability and reduce unused white space in the related tables.

CR1002102: Fix for copy attachments button from an e-mail [bug]

The button was always enabled even when no attachments were present in the e-mail. Now fixed.

CR1002127: keep the last selected company code in preferences [feature request]

the field for the CompanyCodes is amended so that the last selected company code is stored to the preferences and auto populated when the user has to select this field again.

CR1002201: new panel on records that can be linked to users [feature request]

CR1002160: enhancement objectActionNewButton [feature request]

the ObjectActionNew Button has been amended so it is possible in the config pof the button to add a componentset for the modal that gets rendered and also for the actionset being used. this grants higher flexibility to configure speicfic new buttons tied to roles or shortcuts.

CR1001905: Save & plan e-mail dispatch [feature request]

It is now possible to schedule the dispatch of an e-mail created in the activity stream.
We modified the button "send" so that it is labeled "send" or "send later" when a date_scheduled is set.
We modified the actionset used in the Activity Stream Add container so that cancel, save draft and save / schedule
We created a standard dashboard for e-mails with 2 dashlets: one displaying my e-mails with status draft and one dashlet my e-mails planned. Corresponding module filters are also now part of the emailhandling package
A scheduledtask checks the e-mails to be sent.
We modified the save logic of the e-mail so that sending is not triggered on save when we have a draft or a planned dispatch.

CR1002134: added manage_preferences_url field to mailbox []

it is now possible to change manage preferences url in the mailbox

CR1002220: AdministrationDictRepairConvertDBCharsetModal: User system-multi-select-checkboxes [internal]

CR1002128: Template Compiler: loop through additional beans or values [feature request]

Now it is possible to integrate additional beans or values that are needed in a customized template or text snippet.

CR1001880: show API Log entries with repsonse codes below 400 as OK [change request]

the API Log display has been amended so all requests with status codes below 400 are shown as OK. so e.g. redirects are treated as OK and are not hightlighted as errors any longer

CR1002219: JourFixe Module [feature request]

A JourFixe Module for creating Jourfixes with reoccurrence functionality

CR1002148: Allow sending email when 'link' is checked [change request]

When the funcitonality send attachments as a download link is in use, the total size of attachments shall not prevent from sending the e-amil when if exceeds the authorized total size.

CR1002049: added new Module for Employee Job Positions [feature request]

added a new module linked to employees with Job Positions allowing to keep a structured CV with previous experiences.

CR1002183: enhanced config options on newrelated buttons [feature request]

the newRelated Button that is rendered as new button in subpanels is enhanced so a componentset for the add Modal can be passed with the button allowing more specific definition of add dialogs related to the parent and subpanel scenario.

CR1002262: tooltop for search help [feature request]

added help tooltip for search, showing possible search combinations

CR1002177: endpoint to retrieve employees for org unit [change request]

a new endpoint has been added to get all employees assigned to an org unit via a HCM Job Position. This is also added a as new subpanel with linked employees on the org unit view

CR1002139: Vardefs Migration for Modules Event* [change request]

CR1002171: Fixed saving anonymous QuestionnaireParticipations [bug]

Missed the Questionnaire ID. Now It is sent when saving the answers of a QuestionnaireParticipation.

CR1002075: bugfix in PDF Service [bug]

in the PDF Service (endpoint /common/pdfservice) provided to utilize the local PDF generation from other systems a BUG was fixed where a non static method was called statically causing a system error

CR1002227: Wildcard for white email address comparison [feature request]

CR1002169: Vardefs Migration for Modules Questionnaires* [change request]

CR1001987: ignore deleted beans in telesales and load items ans stats correctly [bug]

CR1001852: Refactoring SpiceBeans directory [change request]

Moving some files into new paths in the directory structure. Mostly into the api/include/SpiceBeans directory

CR1002070: Reporter: changed/added some field labels for better user guidance [internal]

We modified / added some translations for the fields Custom Function, Formula and Store. We aim at improving the meaning of the input fields for advanced users.

CR1002041: SpiceImporter Custom Function Record Display [internal]

When using a custom function in the importer the entries were not being shown after the import was completed. This has been fixed to show the entries

CR1002087: enhance responsive view on Questionsets [change request]

enhanced the usability in mobile view for NPS and Rating Questionset Questions

CR1002238: split default template [change request]

the default template has been split removing the items name and description. Additonally a separate template "default name,description" has been created and the two dictionary items have been moved to this template.

In addition the new template with name and description field has been added to all dictionary definitions that have been using the default template.

This will allow to be more flexible also in the definition of name and description. The template default without name will be retired and deprecated and should no longer be used.

The new template is part of the system package. After an update or reload of the system package be sure to reload all packages loaded on a system to have the two fields again on the system.

In any custom module that utilizes the default template amend the dictionary and add the new name/description template after the new system package has been applied.

CR1002120: Clear error messages when input is cleared [change request]

CR1002277: Restructuring Account Details Tab [change request]

the Standard Details Tab Fields have been rearranged to provide better structure and grouping. Also breaking apart the main tabs no in:
- Details
- Segmentation
- Contact Data
- Addresses
- Commercial Data

CR1002192: Bug Fix - SpiceBean Audit Check [bug]

Fixed bug: on save spice bean the audit check runs on the non-db fields.

CR1002217: delete button for newsletters and newsletter issues [change request]

added separate delete button for newsletters and newsletter issues for quicker handling

CR1001946: Status Network - ACL Check [feature request]

Added acl check on the status network button group. Also for kanban drag drop.

CR1002106: Migration Users Vardefs [change request]

User vardefs have been migrated and several fields like is_group. quota carrying, etc have been deprecated. User Quotas as such has also been deprecated. The link to Email Addresses has also been deprecated and the system will from now on use the field user_email. the field email1 is still in palce and will be populated from the user_email field. Also for existing systems where a user is retrieved and has an email address assigned but no user_email field this will be automatically updated on the user and the user will be unlinked from the email address.

CR1002072: Reporter: fix presentation with summary containing currency fields on export to excel [bug]

With the presentation type Standard with summary the last row calculates a sum. When the fields with the values are of type currency, they are exported as a text instead of numbers. As a consequence the sum would display 0 in the excel export file. We corrected that behaviour.

CR1002165: SystemHolidayCalendar: ACL access on load Calendar to view [bug]

Access rights to retrieve the calendar were set to edit. Only view is required.
Now fixed

CR1002052: Mailgun schedule for future sending of [change request]

it is now possible to schedule emails with mailgun scheduling functionality

CR1001350: Reporter: administrate color palettes [change request]

Unitl now adding custom color palettes was only possible by coding some files. It is now possible to add cuustompalettes in the new interface availabale in the workbench.

CR1001951: hide enum value in tree view summary []

in the tree view the value for enum values in aggregated leaves was not properly reset and caused a false display of the value.

CR1002033: Document Revision Translate Service [feature request]

Added a new button integrating the google translate service api to translate a revision document to a desired language.

CR1002054: New Module DashboardLinks [feature request]

a new module for DashboardLinks has been added. tehy can be maintained and then displayed ina. separate dashlet allowing customers to maintain a simple list of links to display on Dashboards as well.

CR1001926: Dictionary Manager Improvements [change request]

In the dictionary manager/items added customize item action by double click on the world icon on an item.
Track changes for dictionary validation changes in change request.

CR1001991: Document Editor Added Essential Heading Styles [feature request]

Added the essential heading styles to the document editor in the home tab under Styles

CR1002198: UserAbsences removed hardcoded en_us for the language in get_summary_text() [internal]

The fallback on English is not correct. Use System default language.

CR1001943: Added Emailtemplates to module options in the live compile [change request]

When trying to view a preview in the Email Templates, an error would be thrown becuase the route parameter for the module was missing 'EmailTemplates' as an option. This has been added.

CR1002289: Fix Time field and formatting in output Templates [bug]

Time fields where considered with the user timezone when formatting for an output template. Not the right approach. Now the value is passed through the compiler without formatting as UTC time value. A new timeFormat Function will render the time as wished in the template. If you need to add a timezone for the formatting, create a custom time format function and apply it in your template.

CR1002210: Fixed evaluation for questions of type NPS [internal]

CR1002063: Change scheduled times while a job is running [bug]

At the end of the run the scheduler job logic stores the latest status value.
In case you changed the scheduled times while the job was running, your changes would be overwritten by that logic.
Now we retrieve the job record before savng the results of the run.

CR1002142: Frontend Model Service Adjustments [change request]

Improved field state handling in model service.
Fixed minor bug: setting dynamic field state on runtime does not apply.

CR1002292: Bug Fix - Outlook Plugin Main Route [bug]

Fixed Bug: Outlook plugin does not navigate to the main route in calendar. Instead the email main route is rendered.

CR1002270: added field newsletter_target_title []

added field for title of person on newsletter website

CR1002014: Page Builder - Editor Styling Adjustments [change request]

Adjusted styling for some page builder elements to match the preview. e.g. button alignment.

CR1002234: BUGFIX ensure no error is thrown when a bean is not found in the BeanHandler [bug]

in some cases the internal BeanHandler might have thrown a fatal erro when a specific bean was not found in teh mapping process. This has been corrected and is properly caught.

CR1001971: New Frontend Component [feature request]

Added new abstract base component ObjectActionSetItemBase which implements the acl disabled logic and other necessary methods.

CR1002093: vardef migration TextMessages & Templates [change request]

migrated TextMessages and TextmessageTemplate vardefs to dictionary

CR1002035: Dictionary Indexes [bug]

fix to ensure that index items are being deleted when the index is deleted

CR1002111: Fetch Emails improvement [change request]

For the fetchEmails Scheduler Job a few improvements have been made.
When fetching a mailbox fails the assigned user is notified with an error message while the jobs continues with fetching the rest of the mailboxes.
Also, the option for adding specific mailbox GUIDs to the parameters of the Scheduler job has been implemented so that specific mailboxes can be fetched.

CR1002061: fix for sending PDF in kreporter scheduled report [bug]

sending a PDF as a scheduler report caused an error

CR1002193: "filterown" param added for /related route [feature request]

added a new param for the get /related route called "filterown"
when true, it will filter out entries that are assigned to the current user

CR1002104: endless scrolling in KanBan View does not deliver the list properly [bug]

When loading more items by scrolling down in the kanban view some tiles are displayed mutltiple times and the count of items ends larger than the the total count. We corrected that.

CR1001988: API Inspector Export With Dictionary Schema [feature request]

Added module selection on swagger export in workbench/API Inspector to export a dictionary schema for the selected modules to be used as reference in the module apis.

CR1002045: fix data/Spicebean to new SpiceBean [change request]

CR1002279: Restructuring Contacts Details Tab [change request]

the Contacts Details Tab has been restructured and the fields a little bit more logically grouped and aligned. They are now in the following blokcs:
- Contact data
- Communication
- Addresses
- Interests

CR1002167: Fixes in Packages [bug]

Administration tab corrected for ServiceLocations
Administration tab corrected for SystemDeploymetChaneRequests
copy rule xxx_strett_suffix to xxx_street_number_suffix (Accounts > Contacts)
Added missing copy rule for billing_address_street_number (Accounts > Travels, Leads, ServiceLocations; Prospects => Accounts, Contacts, Leads, Consumers; Leads => Accounts, Contacts, Consumers)

Default FTS setup for contacts: updated link to primary account, removed personal_interests

CR1001954: Report Presentation Dashlet changes [feature request]

the report presentation dashlet has been slightly modified to match the visualization dashlet in terms of header styling. Also a reload button has been added to allow reload of the dashlet data.

CR1001936: auto find parent based on email address in event registration [feature request]

on new Event Registration if no parent is set but an email address is set the system will automatically try to determine the parent based on the best matching email address related record.

CR1001931: CRM Log and API Log Improvements II [internal]

UI improvements.

CR1002290: Sales Docs New Button ACL Adjustment [change request]

Added acl check on module SalesDocItems for the frontend field sales-docs-new-button to disable create if the user is not allowed to create items.

CR1002202: proper padding on phone field [bug]

the phone field hat a minor bug in spacing. This has been fixed so the field margins are proper and the field is proper aligned in the detail view.

CR1002223: fixed typo on input parameter from "collapsible" to "collapsable" in SystemCollabsableTab [bug]

on Component SystemCollabsableTab the input parameter "collapsible" was renamed to "collapsable" fixing the typo and having the parameter in line with the proper name of the component itself

CR1001960: Configuration transfer limited to specific packages [feature request]

CR1001878: Projects Service Tickets Relationship [feature request]

Added a new relationship field to link a service ticket to a project.

CR1002250: Document management is now part of SpiceCRM more edition [change request]

Document Management is no longer part of the SpiceCRM "core" edition but full integrated in the "more" edition.

CR1002109: Fix set status sent on sent e-mails [bug]

E-Mail Status would remain "created" after successful send. Now set to "sent".
We also added 2 constants to store the values for sent and send_error

CR1002225: Cleanup of Employee Detail View [change request]

the Employee Detail View Fieldset has been restructured top provide a more readable and stuctured view on the Employee Data in the SpiceCRM Standard

CR1002156: changes in service and holiday calendar maintenance [change request]

several minor changes for the maintenance of holiday and service calendars have been made. This incluxdes country dropdowns, correction in n aming and other small changes.

CR1001961: option to delete AccountCCDetails from within tab on accounts [feature request]

added an option to delete an Account CCDetails Record from within the tab.

CR1001969: Fixed the query in the ImpaHandler for emailExists and initMessageIDs [bug]

There was a problem with the two functions that were writing the queries when fetching the emails where they weren't being properly sanitized. Both emailExists() and initMessageIDs() now have proper escape inputs

CR1002031: open edit modal on editing in listview if validation fails [bug]

when a record was edited in the listview and based on validation rules the saving was no allowed this lead to an error without a message. The behaviour has been changed so the record is now opened in an edit modal and the user can fix the record so all validation rules are met.

CR1002266: 365 Integration performance improvement [change request]

Performance improvement when checking if an e-mail with a specific Microsoft ID is present in the CRM.

CR1002195: new Text Message Chat Component added [feature request]

a new component for a text message chat to be display additional to the activity stream is available. ActivityTextMessagesChat can be optionally displayed next top the activity tab but isnot shown by default. This needs to be customized.

CR1001915: Migrated campaigntasks vardefs [change request]

CR1001855: customize non template belonging field in dictionary [change request]

CR1002218: fix email address in scheduled emails [bug]

fixed getting email addressin scheduled emails

CR1002009: Field Relate Primary - Module Name [change request]

Adjusted field relate primary to load the module name from the link based on the field name + _link
e.g. the relatePrimary field is primaryaccount and the link field is primaryaccount_link.

CR1001788: AuditLog: added rendering of IDs for User and Organizational Unit [change request]

When the auditlog readable config parameter is set to true the user name is now rendered for modified_user_id and assigned_orgunit_id. Until now it was only done for the assigned_user_id. We also intriduced the config parameter auditlog.userfieldname to set the property name to use when rendering a user (default is user_name)

CR1002047: migrate HCM JobOffers and Applications Vardefs [change request]

CR1002037: domain and handler changes for system_currency [feature request]

the domain for currency amount is changed to also include a field with ending _systemcurrency and a domain handler is added to calculate the resp amount. To get this calculated a field currency_id on the bean needs to be present and that will be taken into consideration on all fields of that domain.

With the change also the existing fields on the dictionaries with ending _systemcurrency but the same domain have been changed to domain double. So they might be created from the domain and the dictionary item but not be in conflict. This is purely for legacy support purposes

CR1002214: added tracking of all links to Newsletter [change request]

selecting tracking of all links is now possible directly in Newsletter layout

CR1002024: API GET Related - Refactored [change request]

Refactored the api GET module/{beanModule}/{beanId}/related/{linkName} to return an array of items instead of object of items.

CR1001518: Restriction of API Access by client IP addresses: Configuration in the UI [feature request]

CR1002001: Clone related beans from referenced email adjustment [change request]

CR1002236: Workflow fix for Multiassignment of Tasks [change request]

the option to multi assign workflow tasks to multiple users and then the first one can pick the task has been amended to the new structures and reestablished.

CR1001993: Labels in Global Search view [internal]

Added a config to the template so that the labels are also taken when displaying in the Global Search View

CR1001945: Workbench Missing Fields Added [change request]

Added missing field actionset in Modules and Custom Modules.
Added missing field required_model_acl_action in Status Network.

CR1002206: WorkflowManagerTaskTypesEmail: Fixed display of content method [hotfix]

CR1002159: enhancements field enumalternate [change request]

the enum alternate field that renders the values as radio buttons has been slightly amended to have a better responsive design.

CR1002059: Fix for GmailMessage Handler and Email to avoid errors on fetch emails [bug]

In the Gmail Handler in an inbound email if no subject is set this will be set to default "no subject". Also when adding email addresses in Email.php in function addEmailAddress a check has been added so only valid email addresses are added. This prevents later on the fail when attempting to save an email.

CR1002240: Fixed Booker ID check in saveFromLandingPage() [hotfix]

CR1001970: Bug Fix - Herold Create Modal [bug]

Fixed bug: Error email adresse when creating an account from herold.
Always set the email address caps field by the system.

CR1001956: SystemCheckbox: Possibility to prevent labels from being cut off [change request]

SystemCheckbox: Possibility to prevent labels from being cut off. Done with the attribute "noTextTruncation".

CR1002121: Fix set status sent on successfully sent text messages [bug]

Due to a refactoring of the code regarding e-mail handling and transport handlers, we forgot to adapt the TextMessage class. Now fixed

CR1001938: Service Tickets - New Status Input Provided [change request]

Added a new status "input provided" to the service ticket module which indicates that the pending input from the ticket creator ist been provided.

CR1002110: Bug FIx - Add Attachments From Record [bug]

Fixed bug: In the modal "add attachments from record" select all does not work.

CR1001950: New Module - Media Articles [feature request]

Added a new module to create media articles. This can be used in the page builder or to be share to social media channels.
Added LinkedIn and Facebook channels handlers essentially to the crm.

Post deployment action: Reload the core package

Create scheduler job "Refresh Social Media Channels Token" the scheduler task will be loaded with the core package.
Create scheduler job "Publish Queued Media Article Shares" the scheduler task will be loaded with the core package.

Social media channels to be added under workbench/Media Articles Share Channels

Channel LinkedIn config:

the config field for LinkedIn must contain the following:
{
"api_url": "https://api.linkedin.com/v2/",
"client_id": "xxxxxx",
"client_secret": "xxxxxx",
"access_token": "xxxxxx",
"refresh_token": "xxxxxx",
"token_endpoint": "https://www.linkedin.com/oauth/v2/accessToken",
"organization_id": "xxxxxx",
"visibility": "PUBLIC", // optional default value PUBLIC
"lifecycleState": "PUBLISHED" optional default value PUBLISHED
}

For visibility and lifecycleState settings checkout:
https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/posts-api?view=li-lms-2025-06&tabs=http#post-schema

Required products to be requested under https://www.linkedin.com/developers my apps/selected crm app/products tab:
Advertising API

access_token and refresh_token to be generate by the LinkedIn developer token tool.


Channel Facebook Config:

{
"client_secret": "xxxxxx",
"client_id": "xxxxxx",
"api_url": "https://graph.facebook.com/v23.0/",
"system_access_token": "xxxxxx",
"page_id": "11112222333444",
"scope": "pages_show_list, pages_read_engagement, pages_manage_posts, public_profile",
"published": false
}

client_id and client_secret are found in the new app created on developer.facebook.com checkout
https://developers.facebook.com/docs/development/create-an-app/pages-use-case

system_access_token is the token generated from https://business.facebook.com
For more info about creating a new system user checkout:
https://www.facebook.com/business/help/503306463479099?id=2190812977867143

the created system user need to get the desired page assigned as asset and the app for crm also.

page_id is the id of the facebook page to be posted on
published is a boolean when true the post will be immediately published and if false the post will be generated as an unpublished ad post under the meta business account.

CR1002136: Exclude template relationships from the activate process [bug]

Exclude template relationships from the activate process

CR1002207: NPS-Questions: Collect points for category [internal]

CR1002099: Improved integration of AdministrationConfigurator [internal]

CR1002065: Packaging of emails module would not work properly [bug]

In the EmailSendButton component there was a mix of variable short names generated during packaging. As a consequence an e-mail record could not be loaded properly in the e-mail detail view.

CR1002073: Field Currency: missing option for the calculator in the field config [bug]

Option was missing. Now you can turn on/off the calculator when editing a fieldset item of type currency.

CR1001875: Field Date Span - Auto Set End Date [change request]

Adjusted field date span to auto set the end date when setting the start date.

CR1002021: add special chars handling to Template Compiler [bug]

in case that a special char that is not HTML url compatible was added e.g. in a href to be parsed this was not handled properly. The htmspecialchar handling was fixed in the template compiler for element attributes to allow dynamic creation of URLs with parameters

CR1002086: added new error comment to newsletter logs and campaign log [change request]

added new comment when emailaddress was deleted and cannot be found

CR1002123: Local language sorting in app launcher dialog [change request]

CR1001957: Get correct dictionary definition [hotfix]

Get correct dictionary definition for import of configuration transfer.

CR1002196: Telesales fix send comment on complete log [bug]

When closing a campign log using the "complete" button, the comment, that can be entered in the modal window would not be saved.
Now fixed.

CR1001205: Recent Items Phase II [change request]

Tracker Modul killen


Recent Items kommt unter api/include

"trackaction" kommt raus aus dem Bean ?/detailview

Id - guid
user_id
Bean_id
Bean_type
Datum_entered

-> invisible flag, monitor_id weg


Detail geöffnet:
Ø Im recent.service mit metadata ans Cache schicken
Ø Asynchronen postrequest schreiben, wenn -> nix sterben (log erlaiben)

Löschen:
- Kein SchedulerJob
- Wenn ein neuer eintrag geschrieben werdne sollte, schaue ich, ob es der 11. Eintrag des Users, den ältesten weg löschen
- 10/Modul pro aktiven User zulassen -> in der Config schreiben


Home/Start Panel:
Ø Recent Items auch

Last records View:
pagination

CR1001968: refactored field parent details [change request]

It is now possible to define the field names used for parent ID and parent type.

CR1002108: Fix e-mail draft: handle removed recipients [bug]

When editing a draft e-mail the application would not remove deleted recipients. Now fixed.

CR1002103: Email Address Added Missing Field [change request]

Added missing field date_created to the email_addr_bean_rel defintion.

CR1001835: API Log Replay [feature request]

CR1002137: add option to hide inactive values on enum and multienum [feature request]

adds an option to the enum and multienum field to hide the inactive option values

CR1002154: Kanban View Load List [bug]

loading the list in the kanban view is retrieving the same items after the 3 loading

CR1001605: Creating KYC Module [change request]

CR1001296: Cleanupof unused variables in modules [change request]

We removed
Users: show_on_employees, sugar_login, employee_status

CR1002002: Bug Fix: Fieldset Manager Customize Fieldset [bug]

Fixed bug: in the fieldset manager when clicking on the customize icon on a subfieldset, the system does not react.

CR1002090: Relate field configuration: added property relatefiltermodule [feature request]

Changes for CR1001889 modified the logic to retrieve the module for the relatefilter that can be set in a relate field.
We added the field config property relatefiltermodule to override that logic when necessary and define the module to use.

CR1002164: enhance BusinessCardScanner Modal [feature request]

the business card scanner modal is enhanced so a business card can also be scanned and then the lead is not directly saved but can be edited before saving.

CR1001410: fields zip compress and send read receipt moved to field mailboxes [change request]

fields zip compress and send read receipt are now part of the field mailboxes

CR1002237: fieldMailboxes: Empty selection as default [internal]

CR1002172: New UI Module Spice Diagram [feature request]

Added a new frontend component to render a diagram from a list of records.
Extended the bpmn.js library integration. Added a new context menu action to change an element color.

The new component spice-diagram emits all the changes from the diagram and accepts a predefined diagram as xml with an items array.

CR1002038: Emails Details View With Compose [change request]

Added a new component to enable editing draft emails in details view

CR1002163: Additional field in Company to store the registration number [feature request]

new field called registration_number in the dictionary for Company. The field is not part of the SpiceCRM default layout but can be added in any custom layout

CR1002211: Mailbox ImapHandler error on $smtp_auth property check [bug]

Mailbox class changed $smtp_auth property declaration to ?bool (was string)
Corrected ImapHandler Check on the same property smtp_auth in checkConfiguration

CR1002064: Global logic Hooks not loaded [bug]

When you create a global logic hook you select the asterisk as the module.
The logic calling the hook woul call on empty value and not on asterisk. Now corrected.
The selection of the asterisk is now available in the Logic Hooks Manager.

CR1001937: Frontend API - New ObjectRouteRedirect Component [feature request]

Added a new ObjectRouteRedirect component to redirect the configured redirect route as soon as it is rendered.

CR1001955: fix scheduled send failing if email is not correct [change request]

CR1001989: Modified default Calls FTS setup [internal]

Modified default Calls FTS setup. Added contact participant id so that the call can be displayed in the Activities stream in the participant view.
In the copyrules from contact to calls and from contact to task we changed the name to full name

CR1002080: fix removing body when parsing in transporthandler [bug]

body tag is now parsed correctly in Transporthandler instead of being removed

CR1001789: Dictionary Manager UI Improvements [change request]

In dictionary manager/fields tab react on selected dictionary change.
Adjusted the change actions in the dictionary manager to display an error popup when an action fails.
In repair all modal disable full reset when a searchterm is entered to prevent missing cached dictionaries.

CR1001684: Refactoring dictionary default template [change request]

+default template: fields name + description were removed
+ new template: "default name + description" to be used instead

+ default template without name => deprecated

+ default template activity
name => label is subject
description => html

domain name:
check where it is in use
if only in default temaplte => then remove required in domain and add the required to the field in the new template "default name + description"

CR1002083: Migrate Service Vardefs [change request]

migrate Service Vardefs:
- ServiceFeedbacks

CR1002233: HOTFIX switch user email for Notifications [hotfix]

when Notifications have been sent the email address was taken from email1 on the user. Since the email field has been moved to user_email this caused notifications not to be sent for new created users.

CR1001975: Export Dictionary Definition As JSON [feature request]

Added a new button export (download icon) under workbench/dictionary manager/fields to export a dictionary definition as json.

CR1002016: newsletter planned activity date and invalid email check [change request]

added planned activity date check for queued emails
added check for invalid email address

CR1002194: Fix e-mail: handle From address [bug]

Depending on how the data is processed, the from address was not processed properly. Multiple from addresses would be set and the e-mail sending would failed.

CR1002254: custom variable for campaign limit in emails [change request]

added a custom variable to configurate amount of emails to be sent

CR1002050: Login Management - 2-Factor-Methods Mailbox List [change request]

Extended the mailbox selection list in the workbench/login management/login methods panel. Allow mass emails outbound type.

CR1001978: Fix catch all address in EWS Handler [bug]

The catch all address parameter in the Microsoft Exchange (EWS) Mailboxes was not considered. Now corrected. When you set an e-mail address in the "Catch All Address" field in the mailbox definition the e-mail is sent to that address and no longer to the recipients meant to get the e-mail.

CR1002084: enhance Feedback Campaign Task Type [change request]

CR1002098: Administration Configurator: Not deleting config row [bug]

CR1001930: Added functionality: ignore found contact in incoming call window [change request]

The incoming call functionality requires a contact or any other configured module for phone recognition to be selected or created. Now it is possible to ignore the search results and jump directly to the call window in order to log the call without a contact.

CR1002078: add rowcounter for custom import functions [change request]

added rowcounter to log rows in custom import functions

CR1002132: Gateway Notification System [feature request]

Created gateway notification apis to handle sending sms/email notifications like two-factor token, temporary password or username to the person by another SpiceCRM system defined as a gateway system.
Created a new mailbox transport handler "gateway" to enable sending emails/sms by a gateway crm system.

CR1002179: Fix load Spice notifications [bug]

Depending on the notification content the value check would trigger an error and no notifications are returned. Now corrected.

CR1001864: Email Scheduler - Max Execution Time [change request]

Set the maximum execution time for the email scheduler job to 15 min, to make sure the job has enough time to process.

CR1002232: Improvements of API Log Replay [internal]

CR1001891: migrated Consumer vardefs to Dictionary [change request]

CR1002051: fix error if no html element for trackinglinkall [hotfix]

if no html element is found in the email, no further search is performed

CR1002190: Translatable Text Domain Added [feature request]

Added a new domain type translatable_text with custom handler to enable adding additional translations for a specific field in dictionary.
The domain uses the frontend field translatable text which renders the original text with the defined type as domain field. To use this domain add the field orignalfield_translations e.g. description_translations to the desired fieldset.

CR1002007: TargetList Last modification [feature request]

non db field to display the last activity recorded in the target list i.e when somebody was added/removed

CR1002081: Moved SpiceCRM more components to extensions [internal]

In order to pack the SpiceCRM public version we moved some components to src/extensions.

CR1001999: Clone Targetlist with links [feature request]

CR1002175: fieldDateTime/SystemDisplayDatetime: Specific format [feature request]

CR1002291: emailtracking unsubscribe function [hotfix]

fixed handling of unsubscribe action to allow correct functionality when no email ID is selected

CR1002186: Removed module QuestionnaireInterpretations (to specific customer) [internal]

CR1002056: move updating logs from mailgun webhook handler [change request]

Emails., Newsletter Logs and Campaign Logs are now updated in the background with a scheduler job.

CR1002018: ProjectActivityTrackTimeModal now accepts a componentset [internal]

In order to be more flexible when configuring views we added a componentset parameter to the component ProjectActivityTrackTimeModal that shall replace the fieldset implemented until now. The fieldset parameter is now flagged as deprecated.
The new default component set preconfigured in SpiceCRM rendered the existing fieldset for ProjectActivityTrackTimeModal.

CR1001990: Field Relate Required Flag [change request]

After migrating the relate fields to the dictionary, field relate in the ui will now read the required flag from the id field. This allow displaying proper error message.

CR1002133: fix fieldMultiEnum to be proper responsive [bug]

the fieldMultiEnum has been amended so it properly renders on responsive views. The parameter fror columns is deprecated and the layout is left over to the field itself.

CR1002221: add drag and drop capability to repostiory item parameters [feature request]

in the Object Repository Manager a drag and drop capability has been added to the object parameters. This allows the sequence of the paramaters as they will then be displayed when configuring a component in a component or fieldset to be easily amended and changed by the user.

CR1002071: Bug Fix - Dictionary Index Manager [bug]

Fixed bug: Editing index items overrides other index items, when using an item from default template e.g. id.

CR1002066: Global Navigation Menu Overflow [change request]

Truncate the global navigation menu recent items text overflow for customized display fieldset

CR1002205: HOTFIX Workflow set fixed value [hotfix]

when attempting to add a fixed value in the create ben task in workflows the wrong module was taken into consideration for the field determination.

CR1002189: add option to disable modifications on fieldMediaFilesImages [feature request]

a new config option has been added to the field mediaFilesImage that allows to prevent modifications. This enables the fieldset to only allow a straight upload and apply no changes from the cropper.

CR1001440: Email Templates: rich text is automatically chosen when sending email from side bar [change request]

When we want to send an email from the side bar container we should be able to choose just the templates created with the same editor type, either rich text or html.

CR1002245: BUG Error in validation rules [bug]

error in validation rules that too many rules are evaluated int eh wrong sequence and some special formats might be interpreted erroneously as date.

CR1002129: Pin Beans in Relate And Parent Fields [feature request]

Added a pin action under relate/parent field dropdown to enable pinning beans to the toü of the list

CR1001879: ACL Objects Fields New Method Operator [feature request]

Added a new operator in the workbench/ACL Access Control Objects/Fields to enable complex handling of acl field value validation.
Created ServiceTicketsACLFieldProjectIDHandler as a default handler to be used to restrict service tickets access. This class will restrict the tickets access to the assigned project to the contact, that the current user is related to.

CR1002209: Fixed subscription in QuestionnaireSingleEvaluationValues [internal]

CR1002176: Enhance Process Map [feature request]

added enhanced capability to add Process Categories and also enable drag and drop in the process map

CR1002180: Enhance Audit Management [feature request]

enhance the audit management and create an audit cockpit

CR1002092: Last phase of vardefs migration [change request]

All variable definitions are now stored in the database.

CR1002040: RingCentral Integration [feature request]

add Integration for RingCentral als VOIP System

CR1002100: Update AssignByTrackingURLProcessor [change request]

the assign processor in class AssignByTrackingURLProcessor has been changed to look out for a data-refid tag and use that for matching the originating parent email in the assign email processor

CR1002027: Newsletter - Disable Marketing Agreement Check [change request]

If the flag "disable marketing agreement check" is set on the newsletter, ignore checking the subscribe status on the person when activating a newsletter issue.

CR1002184: Option to add a reply to address to email templates [feature request]

the Email Template has been amended to allow setting a reply to address omn the template. This field is also parsed so it can accept variables to e.g. set the reply to address from the user composing the email or using the assigned user of a bean the email composed is related to.

Als a to address has been added that can be utilized in workflows. In the workflow email task a new determination method for the to address was added being T for "from Template" in this case the logic of the template compiler can be used to determine an address

CR1002141: New Modules EventParts (and EventPartRegistrations) [feature request]

CR1002135: Telephony: prevent the popup of the call window after closing it [bug]

When the user closes the call window before hanging up the phone, a new call window would pop up.
We caught that and now prevent the window from popping up.

CR1001947: write tracking action optin, save id in tracking actions [change request]

added tracking action for optin

CR1002131: New Authentication Method - API Keys [feature request]

Added a new authentication method "api keys" for api users. This enable api user to generate a long-lived api key that will be used for authenticating backend api requests.
Hover over the user profile image and click on the keys icon. For api users only click on the edit icon in the api keys row. This opens a modal where the api keys can be managed.
To use the api key pass the key value (displayed once after creating) and the auth method in the request header:
oauth-token: (the key value)
oauth-issuer: APIKey

CR1002261: schedule campaign emails for future [change request]

added functionality to schedule emails for the future sendig if supported by email transporter

CR1002036: check that handler class exists on Domain [hotfix]

in case a handler class is defined on a domain but does not exist this resulted in a fatal error. This has been changed so it is checked that the class does exist.

CR1002153: amend holiday load modal with country selection [change request]

the holiday load modal enabling users to load country specific holidays from teh calendarific api has been amended to utilize the country dropdown making the country selection easier.

CR1002067: Field Email Addresses Error Message [change request]

Added error message display to the field email addresses

CR1001933: Dictionary Manager Customize Item/Relationship [change request]

Added world icon double click action to the dictionary items/Relationships list.

CR1002053: ACLs: workaround when the owner check is done in the users table [bug]

The users table does not have an assigned_user_id field causing erros when ACLs with owner are in use. We caught that in the function SpiceACLUsers::generateCurrentUserWhereClause.

CR1002253: search in many to many subpanel []

fixed search in many to many subpanel, now the results are displayed correctly

CR1002062: getEmailAdress function moved to EmailAddresses [change request]

getEmailAdress function moved to EmailAddresses, better handling of primary email address

CR1002213: HOTFIX add Text Item bug [hotfix]

when adding a text item to a salesdoc an unnecessary validation caused an error. This has been removed allowing text iotems to be added properly and as expected.

CR1002006: add fieldset as config option to ObjectMergeModal and some merge fixes [change request]

a new config option has been added to define a fieldset in the config for the ObjectMergeModal. If that fieldset is defined the fields are rendered in the modal as per this linear fieldset.

Also non db fields can be merged. In the merg process all fields of a domain are merged if the field with the proper domain is merged. This is especially required for e.g. address fields.

Also relate fields are handeld properly now.

CR1002043: Bug Fix - Field Questionaire ID Not Loading [bug]

Fixed bug: Field questionaire does not recognize the id on the related bean e.g. contact and shows no data

CR1001982: limit all telesales, priority sorting [change request]

CR1001876: Microsoft Graph - Bug Fix [change request]

Fixed bug: event category is not synced

CR1002212: Send e-mail: clean e-mail address value [bug]

Make sure the e-mail address is trimmed (no whtitespaces before or after the e-mail address string) when setting the recipients in the Email handler.

CR1002004: Bug Fix - Package Loader - Repair [bug]

Fixed bug: Relationships for modules were not repaired after package load.

CR1001935: Frontend API - New Base Class SystemReactiveModalAbstract [feature request]

In the app frontend code added a new abstract class SystemReactiveModalAbstract to be extended when creating a reactive typical modal component that emits relevant data on save/close. This class has a built in method that ensures closing the open subscription of the response rxjs observable, when the modal is closed. The developer needs only to user the responseOnce$.next() function when emitting the relevant data to the modal trigger.

CR1002029: added module filter to webhooks [change request]

it is possible to filter data sent with webhook bzygiving it a module filter

CR1002161: ObjectRelatedCardFooter lastPage [bug]

The offset is being calculated incorrectly when itemsCount and loadItems have certain ratios — for example:
itemsCount = 10, loadItems = 5
itemsCount = 20, loadItems = 5
itemsCount = 20, loadItems = 10

CR1001932: Typescript fix for system-to-bottom-noscroll [internal]

CR1001941: Curl Wrapper [feature request]

A wrapper for the curl requests

CR1002028: User: added a function to convert a user to an employee record [internal]

When upgrading SpiceCRM instances you may have to add a logic to convert users to employee records. We added a function in the User class which will create an employee record based on the user data and store the employee ID in the parent_id field of the user. No employee is created if the user already has a parent_id or if the user is an API user or if the user Status is Inactive.
New function names: convertUserToEmployee(), canConvertUserToEmployee, getPropertiesConvertUserToEmployee()

CR1002208: display start time for workflow tasks in workflow panel [feature request]

the start time was added to the workflow task panel so for scheduled tasks the scheduled time is easily visible.

CR1002019: check multiple email addresses flag for newsletters [change request]

CR1001892: migrated EmailTrackingLinks & EmailTrackingActions to dictionary [change request]

CR1002124: Fix to fieldCompanies [bug]

changed the fieldComanies so it is tied to the id field only

CR1002145: Workflow Task Decision: enable decision by the representative [feature request]

If the current user is the representative of an absent user the current user will be able to make the decisions in workflowtasks of type decision allocated to the absent user.

CR1001925: Frontend Adjustments []

Model Service emit field change on cancel, setData and save.
Added a new angular pipe SystemDateTimeFormatPipe to format moment date to a string.

CR1001724: Changed field type in Domain is_inactive [change request]

Domain is_inactive was created with a field of type varchar and length 1. We moved to type int with length 1 for a better performance.
We adapted the logic parts querying on a string to querying on an integer.

CR1002117: File View - table view added [change request]

added a table display for the files with ability to sort

CR1002048: added PDF OPutput tab to Employee [feature request]

added a PDF Output tab in the tab container to the Employee. This allows to generate an Employee Sheet with a summary on all data and keep it versioned.

CR1002113: bugfix relatefield for relatefilter [bug]

a typo in the relate filed to proper handle relatefilterid and module has been fixed so the dependent relate fields work properly

CR1001920: update Rate Limiter [change request]

minor fix to the rate limiter so it records a time series rather than. timestamp and counter. To activate add a section like this to the conifg.php

'krest' => [
'rateLimiting' => [
'active' => true,
'ruleDefinitions' => [
'limit10over10' => [
'duration' => 10,
'limit' => 4
]
],
'rules' => [
'1' => [
'POST' => ['limit10over10'],
'GET' => ['limit10over10']
]
]
]
]

CR1002022: 'date-modified' in M2M field mapping [change request]

when the 'date-modified' field is mapped to some other field in M2M rel, exclude it on relationship save so it does not overwrite itself

CR1001962: added a backend check ensuring account cc details are only added once per cc id [feature request]

a new check has been added to ensure that a AccountCCDetails Record is only added once for an account. This might have been caused if a user woudl be able to create a record for a given CompanyCode but maybe was not able to retrieve and display an existing one based on ACL rights. A check has been added that retrieves a list of ccids independent of the users right and only allows creatio of records where no entry exists.

CR1002138: Dashlet info [feature request]

add an info icon on dashlets to provide more info when clicked
some dashlets are saved without a name that's why the search in dashlets is expaned to ID's also

CR1002185: new admin configurator type color [feature request]

a new type for the admin configurator (type color) has been added to add a color picker and display to the admin configurator options.

CR1002039: Field Mailboxes: Added flag to enable Download Attachments per Link [feature request]

It is now possible to parse a download Link in an e-mail instead of sending the attachments directly in the e-mail. The recipient will click on the link, be redirected to a landing page a download the attachments as a zip file. The flag to enable the feature shall be configured on the mailbox. If not set in the mailbox it will not be displayed in the e-mail.
Please, note that this feature requires the SpiceCRM Landing Page application. In a future step we will probably check if a proper landing page configuration is availabel to hide the field even when set in the mailbox.

CR1002203: HOTFIX prevent fts indexer to run into fatal error in case of misconfiguration [hotfix]

in case of a missing link in the fts config this might have caused a fatal error on saving or merging. This has been fixed to prevent that fatal error

CR1002034: Phone number search on non numeric strings [change request]

A request on /search/phonenumber tries to search for a string like "Anonymous" and returns an array of multiple results.
This is due to the string being converted to the E164 format, which results in an empty string.

The change will recognize the empty string after conversion and just return the original string instead of performing the FTS search.

CR1002074: Archive Email from a 365 Account [bug]

When you archive an e-mail using the SpiceCRM outlook plugin the ogic first check if the e-amil has already been archived to the CRM. This check is done with the message ID (a microsoft string). This message ID is case sensitive but the CRM check was not. Now corrected.

CR1002157: Handle Holiday Calendar [internal]

This step prepares for the systemholiday calendar integration with date fields and date picker. We added the field systemholidaycalendar_id to the CompanyCode dictionary. This systemholidaycalendar_id is retrieved in the company code loader (load task item)

CR1002094: fixed a bug to filter fields in dictionary manager [bug]

CR1001973: Additional type for change requests [change request]

new type "internal" for code improvements which do not impact the users

CR1002249: Event Management is now part of SpiceCRM more edition [change request]

Event Management is no longer part of the SpiceCRM "core" edition but full integrated in the "more" edition.

CR1002215: added confirmation prompt to campaign queue [change request]

added confirmation prompt to campaign queue

CR1002077: Added a listview for SystemDeploymentPackages [internal]

Improved the listview (was default) and added an FTS configuration (not linked to any package for now)

CR1002079: fix stylesheet for newsletter [bug]

fixed stylesheet parsing in newsletter

CR1001966: Frontend API - New Pipe SystemTranslate [feature request]

Added a new pipe component systemtranslate to be used in angular templates to translate variables with labels.

CR1001537: Richtexteditor: toolbar cleanup [change request]

The following buttons where removed from the simple mode: table, indent, add link, remove link

CR1002101: Adjustment to Tracking Pixel [change request]

The AssignByTrackingURL Processor now tracks the pixel through the image src tag rather then the refid

CR1002173: New UI Field Process Diagram [feature request]

Added a new frontend field to render/draw a diagram for the process steps.

CR1001986: API Log Replay for XML requests [feature request]

CR1002187: added new File Domain Handler [change request]

a new DomainHandler for the file domain has been added. This ensures that the non db field for the domain gets the filename value ensuring that the file is also rendered in fieldsets that demand that the field used in the fieldname has a value and is not empty.

CR1002181: display raw languiage value if langiuage kex is not found in field languages [change request]

the language field has been amended so taht if the language kay is not found the display is not empty but displays the raw key values.

CR1001916: Changed the status from 'tobecalled' to 'initial' when activating CampaignTask [change request]

The status has been changed from 'tobecalled' to 'initial' in the activateCampaignTask function when the case is Telesales so that it is saved correctly in the database and later shown in the telesalescockpit status line.

CR1001901: Service Ticket New Button [feature request]

Added a new button for service ticket to create a ticket with pre select the related project for portal user. Added actionset "ServiceTickets Portal User New" in package simple service.

CR1002140: fix updating newsletter subscriptions in subpanel [bug]

added relid to fix editing in subpanel

CR1002158: updates full name field to enhance mobile view [change request]

the full name field has been enhanced to have better usability in the mobile view.including changes to the salutation becoming a radio button field in the mobile view.

CR1002112: Newsletter And Campaigns - Send Only Unique Email Addresses [feature request]

Added a new flag "Only Unique Email Addresses" to send a newsletter email only once per email address. This prevents sending an email twice to the same person, it the person exists in two different records with the same email address.

CR1002143: Send Credentials Separately [change request]

Refactored sending the the login credentials for a new user. Added new configs to the workbench login management to enable selecting a separate sending channel for each the password and the username.
Refactored UserAddModal component to send the new credentials and the new user data in the same api request. When the flag 'send credentials by system' is checked, set the send channel fields (email, phone_mobile) to required if the credentials send channel requires one or both fields.

Breaking changes

CR1002204

ensure that for all users the email addresses are moved from teh relationship to the field email_address.

CR1002251

In case you customized one of the Project class in SpiceCRM, think of modifying the path of the namespace to use by adding extensions between SpiceCRM and modules => SpiceCRM\extensions\modules. If you have been using the module in a SpiceCRM core edition, do not update or create your own custom module.

CR1001890

set the primary_Account flag in table accounts_contacts to mark one contact per account as primary.

CR1001923

All custom methods that send an email with the to_be_sent flag set to true and require the email send status immediately must instead set the to_be_sent_now flag.
All custom methods that send an email with the method sendEmail and trigger a webhook e.g. mailgun must instead save the email and set the to_be_sent flag to true.

CR1001852

Please replace all occurences of:
use SpiceCRM\data\SpiceBean;
with
use SpiceCRM\includes\SpiceBeans\SpiceBean;
in your custom code.

CR1002238

In any custom module that utilizes the default template amend the dictionary and add the new name/description template after the new system package has been applied.

CR1002142

Only for frontend components in custom directory:
Renamed setFieldStatus to setFieldState
Renamed initializeFieldsStati to initializeAllFieldStates
Renamed getFieldStati to getFieldStates
Renamed _fields_stati to fieldStates

CR1002250

In case you customized one of the Document* classes available in SpiceCRM, think of modifying the path of the namespace to use by adding extensions between SpiceCRM and modules => SpiceCRM\extensions\modules. If you have been using the module in a SpiceCRM core edition, do not update or create your own custom modules.

CR1002024

For all external systems and custom frontend components that use the api GET module/{beanModule}/{beanId}/related/{linkName} adjust the response in the frontend to match the array structure.

CR1002064

Make sure that your custom global logic hooks have the asterisk selected. Older definitions might just have an empty value.
No backward compatibility available.

CR1001684

.Please check custom module definitions and replace the use of the "default" template with the "default name + description"

CR1001990

Any custom frontend field component that handel a relate field must use the relate field in the fieldset and not the id field.
All fieldsets that have a field from type companies must replace the id field with the relate field e.g. company_id by company_name.
In case all the relate fields for company ends with _name, use the following queries to replace the id field with the relate field:

update sysuicustomfieldsetsitems set field = REPLACE(field, '_id', '_name') where fieldconfig like "%companies%";
update sysuifieldsetsitems set field = REPLACE(field, '_id', '_name') where fieldconfig like "%companies%";

CR1001440

When sending an email from the side bar container, the automatic editor type for the templates is richText.
When you don't want to use richText but html editor, you have to configure it in the fieldset - module: Emails, Fieldset: Emails Activitytimeline Add, field emailtemplate_id has at the bottom the field editor_type, there we have to type in our editor name.
When the fieldset is custom, the editor_type field has to be filled, it's not going to load it automatically!

CR1002092

refactored serviceticket > servicedeploymentrelease_id to systemdeploymentrelease_id
refactored systemdeploymentcrs > crid varchar 11 to varchar 10

CR1002249

In case you customized one of the Event* classes available in SpiceCRM, think of modifying the path of the namespace to use by adding extensions between SpiceCRM and modules => SpiceCRM\extensions\modules. If you have been using the module in a SpiceCRM core edition, do not update or create your own custom modules.

Deprecation

CR1002144, CR1001890, CR1002139, CR1002169, CR1002106, CR1002093, CR1002083, CR1002092: the migration of variable definitions is completed

The migration of variable definitions is completed. Legacy variables defined under the custom folder will be considered but they shall be migrated to the dictionary manager.

CR1001908: Deprecated workbench feature select trees removed

We removed the dictionaries and all related functions as announced in CR1001907 (2025.01.001)
Components fieldselecttree are now deprecated

Fragen zu dieser Version? Schreiben Sie uns.

Das ist kein Cookie-Banner.Mehr dazu