Release
2026.01.001

SpiceCRM 2026.01.001 drives efficiency through integrated Generative AI, enabling automated task creation from meetings, email signature extraction, and document data capture. The release elevates user experience with faster interface navigation and strengthens security via enhanced ACL rights management.
AI capabilities
The new AI capabilities in SpiceCRM are designed to help with time-consuming routine tasks without replacing decision-making. By integrating Google Gemini and OpenAI, tasks can now be automatically generated from meeting minutes, and contact information can be extracted directly from email signatures. Thanks to the new image recognition, business cards and invoices are also digitized efficiently, which drastically reduces manual data entry. Thus, the AI acts as an intelligent assistant that frees up time, so that users can concentrate on the essentials.
Knowledge Management
SpiceCRM now offers enhanced flexibility for Knowledge Management by allowing users to choose between rich text, HTML, and DOCX editor types. This variety ensures that contributors can use the specific formatting tools they need to create professional and well-structured documentation. By tailoring the editor to the content type, teams can maintain a high standard of information sharing across the entire organization.
The employee in focus
Internal organization can now be fully mapped within SpiceCRM. Features like employee skills and absence calendars enable precise resource planning specifically for the project management sector.
Release Details 2026.01.001
[change request] CR1002397: added note when selecting org unit in org chart management
Since selecting and moving org units when managing Org Charts can also cause irrepairable damages a warning has been added prompting the user of the potential issues.
[feature request] CR1002300: added stage bucket and stage status to KANBAN Manager
added the stage bucket and stage status to the KANBAN Manager so all relvenat information can be properly maintained via the Workbench UI
[bug fix] CR1002380: getCatalogs initial check in InquiriesController fix
The InquiriesController has a check which looks for a productgroup id in the config and if there isn't won't it falsely returned an empty array. This has been fixed so that it actually returns the response with Json as it expects one.
[change request] CR1002436: PHP 8.5 Compatibility update
[feature request] CR1002328: new functionality for Invoice Pool
[change request] CR1002314: ServiceTicket: customize the logic to set the resolve date
The logic was moved to function to enable customzation when needed
[change request] CR1002325: IBAN Field: turnoff the check
We added a setting to the IBAN field type that enables us to turn off the check of the IBAN value.
[change request] CR1002491: UI Public Routes Strategy
Added a new handling strategy for ui public routes. e.g. /docs.
Added the path match option 'anyid'. This option is for components that handle the details view in the same tab when the ID changes.
public routes are now loaded initially with /sysinfo.
[bug fix] CR1002439: Bug Fix - Add One-2-One Relationship
Fixed bug: Error when added linking a one-2-one bean by the add_related api.
[bug fix] CR1002278: SpicemailButton was erroneously displayed
the ActivityTimelineSpiceMailButton in the activity timeline enabling the copying of an email address to send an email to auto attach to a bean has been erroneously displayed also if the token was not configured. This has been corrected so the button is only displayed when intended
[feature request] CR1002406: New Directive SystemSizeListener
Added a new directive and event (system-size-listener) to emit target element size on load and on change.
[change request] CR1002416: Campaign Tasks Adjustments
Refined status check when creating and reverting exclusion list.
[change request] CR1002466: Email Address Domain Check Adjustment
Adjusted email address domain check to validate domains with special characters.
[change request] CR1002274: changed backend end points so related models are loaded when retrieving Activities/History
the backend services have been amended that when History and Activities are retrieved also the related models are loaded and returned allowing full display of the record.
[feature request] CR1002375: Project Planned Activity Participants Field
Added a new field to enable and manage multiple planned activity participants.
[bug fix] CR1002243: Bug Fix - System Source Editor
Fixed bug: saved value does not show for field source editor in AdministrationConfigEditor on load.
[change request] CR1002352: Fetch Email in Handlers Process Phase Added
Added a new process phase field to the processor to call the processor handler method before or after saving the email. The default phase is after save.
[bug fix] CR1002255: fix for proper sorting on Skills manager
the skills in the risk manager were not properly sorted. This has been fixed.
[feature request] CR1002283: New Option to edit Raw Body in API Inspector
a new option has been added in the API Inspector to edit the Raw Request Body and use that one. This is helpful for complex requests where the body is not fully defined for the validation still allowing full testing via the API Inspector in SpiceCRM.
[feature request] CR1002372: new email action to extract signature and create contact
a new action in the activity stream on the email has been added to extract contact data via AI from the email and allow direct creation of a contact from an archived email.
[change request] CR1002441: Removing class alias files
Removing class alias files that have been introduced after moving some core files like the SpiceBean.
[bug fix] CR1002486: System Package Repair Cache Error
Fixed bug: with silent system package repair does not reset cache properly.
Fixed bug: Race condition when triggering multiple requests at once, leads to system package reload multiple times.
[bug fix] CR1002369: added listitem actionset for potentials manager
added the missing config option for the listitem actionset for the potentials manager
[internal] CR1002446: added sysai... tables to the package manager
sysaiprompts + sysaipromptinputmethods
Necessary in the reference instances.
[feature request] CR1002334: Generative AI - Google Gemini with images
Implemented a generative AI interface to integrate AI prompt with an image.
Used for business card and invoice recognition .
[feature request] CR1002398: added new reference table for management system templates and clause templaters
the two tables sysprocessmgmtsystemclausetemplates and sysprocessmgmtsystemscopetemplates have been added containing templated management systems scopes and clauses for the process management
[bug fix] CR1002437: Bug Fix - SpiceACLObject Retireve Error
Fixed bug: SpiceACLObjects list returns error when territory package is not loaded.
[change request] CR1002443: Object Page Header Inactive Icon Disabled ACL
Enable the object page header inactive icon action if no field acl is defined, otherwise the toggle is disabled if the acl field action is hide of display.
[feature request] CR1002241: Generative AI - Google Gemini and OpenAI Integration
Implemented a generative AI interface to integrate AI prompt at multiple areas in the crm. Implemented google gemini and open ai providers. Added generate content action to system-richtext-editor.
Added new template functions ai.parsePrompt:'promptNameOrId', ai.generateContent:'prompt text....' to spice crm compiler.
The config needs to specify for google gemini the api-key and the model as json in the config parameter like:
{
"model": "gemini-2.0-flash",
"api_key": "xxxxxxxxxxxxxxxxxxxxxxx"
}
Post deployment action: Go to workbench/Generative AI and select service_provider: gemini
Add a json object with the property api_key: the gemini api key from google.
[change request] CR1002304: added option to unsubscribe one specific newsletter
it is now possible to add a link to unsubscribe from one specific newsletter
[] CR1002303: fixed/added option to pass edit componentset
fixed the issue that a related container had a config optiopn for an editcomponentset that was not considered properly. Also added a new option to the component.
[feature request] CR1002309: new option for CompanyCode Locations
added a new module for company code locations to manage when a company that is defined in SpiceCRM has multiple Locations. Locations can also be used by different companies
[feature request] CR1002263: add Feature to generate tasks from summary descriptions. First applied in Jour Fix Occurences
added a new action that leverages AI to generate tasks from the description summary on an object. This is first applied to the Jour Fixe Occurences.
[change request] CR1002470: update email logs add ignore not found logs
added ignoring logs that are not matched to the bean within the system when updating mailgun tracking actions
[feature request] CR1002308: Knowledge Documents Editor Type
Added a new field editor type for knowledge document to select one of richtext, html and docx editors.
[change request] CR1002403: User Send Credentials Adjustment
Refactored user send credentials to send based on the selected channel sms or email.
[bug fix] CR1002356: bugfix in CompanyCodeDetails Tab Add Button
in the company code details tab the add button was in some cases disabled if no records had been created.
[change request] CR1002386: Add ACL action to AUDIT button configuration
We added the standard acl action "auditlog" so that the button is only enabled when the user has enough access rights.
When checked the button for the Audit Log is enabled and visible.
When not set, it is disabled and hidden.
[feature request] CR1002366: added option to add label in activity item add container
added an option on Component ActivityTimelineAddItem to add a label. If no label is added the module name is rendered in the tab but in some case a specific label will be preferred and can be used.
[] CR1002463: Kanban View Error When No System Currency
Fixed bug: Kanban view shows error when no system default currency is set. Now the error will be ignored.
[feature request] CR1002399: Workflow Manager - Email Recipients Improvements
Refactored the email recipient type in the workflow manager to multiple select, to enable sending an emails to multi recipient types at the same time. The feature is backward compatible still allows single value.
Added a new recipient type subscriber list (12) to send the email to all subscribers of the target bean.
Added params input to the method option for the recipient type system routine.
[bug fix] CR1002286: update on timestream
changed how one day events are handled in the timestream. The bug that they had not been displayed has been fixed.
[feature request] CR1002424: Generative AI Prompt Manager
Created a Generative AI Prompt manager which puts together the global and custom generative ai prompts and prompt methods into a single workbench component
[bug fix] CR1002492: DocX Editor Field Empty Model After Save
Fixed bug: DocX editor field empty document data after saving changes in Document/details.
[feature request] CR1002242: Generative AI - Generate Process Steps
Added a new action generate by AI to the process steps diagram field to enable generating process steps based on the name of the process by the generative AI service.
Also added some more services for AI Generation for QMS Management. This includes also the full generation of the process MAP. and also the generation of the Management System Clauses according to the ISO Standard
[bug fix] CR1002229: changed the field padding on the email address field
minor change in padidng on the emailAddresses field to match proper alignment in regular layouts with other fields.
[feature request] CR1002431: Gemini AI Request With Files
Append files to gemini request to generate content based on the files content.
[bug fix] CR1002367: bugfix scrolling in componentset manager
added a proper scroll area for the config section in the componenset manager so only the area with the config options scrolls and not the complete container.
[bug fix] CR1002370: fix for display of longer fieldnames in kanban tile
minor fix for long fieldnames in kanban tiles so they are spaced and displayed properly
[change request] CR1002417: Clean Email Addresses Job Adjustments
Adjusted the clean function to clean up the full list of email addresses from
[bug fix] CR1002267: Bug Fix - Calendar User Calendar Does not Show
Fixed bug: My calendar event do not show when another calendar was added and the api request was cancelled.
[feature request] CR1002395: Service Tickets Communication Language Field
Added a new field communication_language to the service ticket. If the field is empty it will be set from the current user parent person when saving a new ticket.
[bug fix] CR1002280: change CSS Styles for buttons and dropdowntriggers
a minor CSS fix has been applied since some icon buttons when being active showed the icon and background in the same color. This has been fixed to increase usability
[change request] CR1002383: API Log Replay without PW input + Enhancements
A username and password are no longer required for API Log Replay. Furthermore, entries in the API Log (and CRM Log) can now be pinned for quick retrieval. Various minor improvements have been made to the interface and usability.
[feature request] CR1002264: new functionality for Compliance Notifications
a new Module ComplianceNotifications has been added becoming part of the compliance package to allow entering notifications also from external sources in alignment with the Whistleblower act and manage those requests within SpiceCRM
[feature request] CR1002313: added output template to OutputRevisions
for the Output revisions the output template id was added This allows to keep separate output revisions on one object and keep them in revisions but filter the revisions by the template used. Purpose is to allow multiple templates and also keep multiple outputs versioned wihout the need to mix them.
[feature request] CR1002432: Leads Generate From Attachment
Added file drop zone for lead new modal to generate lead from file.
[internal] CR1002306: update SLDS 2.28.0 Winter ’26
updated to SLDS 2.28.0
[change request] CR1002299: switched to module inputs
switched the regular selects for the modules for system-input-module components for better usability in MpudleFilterBuilder, HooksManager and DashletManager in the workbench.
[feature request] CR1002339: Field Container Required CSS Class
Add class "spice-field-is-required" to field container to enable custom styling
[feature request] CR1002318: new handling in model save for response code 422
the model save function has been amended to be more flexible when a status code 422 (Unprocessable Entry) is returned from the backend. The backend can in a validation throw a 422 exception and pass infos along which fields of a bean are problematic as well as an error message. This will set also proper field stati and messages on the model when saving a record is attempted.
To return that info add the following code in the Rest Method:
throw new UnprocessableContentException('LBL_WE_HAVE_AN_ERROR')->setDetails(['fields' => ['field' => 'name', 'msg' => 'name is not OK']]);
This will render an error on the frontend and also highlight the name field as erroneous with the message below the field
[change request] CR1002288: Styling and padding field Probability
the padding and internal alignment on the probability field was not correct and has been amended to match the other fields
[bug fix] CR1002246: fix for inverted KPI
fixed for proper handling on inverted KPI definition so the red/yellow/green scale is turned to green/yellow/red
[change request] CR1002409: added spicebeangudes to the package loader
the spicebeanguide and spicebeanguidestages have been added a package and a version fields and are also added to the package loader
[feature request] CR1002239: update on DB Reshuffle and repair
the reshuffle for fields has been amended to also handle complex domains. Also the repair for dictionary definitions has been amended so it will reshuffle the fields on the DB (if the DB Supports) properly during the repair. This also for the main table and also the audit tables.
[bug fix] CR1002483: Canno Save Email Address with Opt-In Status
Fixed bug: cannot save email address change under person (contact) when changing the opt_in status.
[feature request] CR1002294: new Feature project Console
a new feature is added with a Project Console that allows load balancing of various employees accross multipel projects
[feature request] CR1001451: Microsoft Graph Mailbox - Fetch All Child Folders
Fetch all child folders in the mailbox manager/select folder. To enable fetching for specific child folder.
[feature request] CR1002244: Change Behavior on new Orgchart
The Org Chart behavior when creating a new Org Chart has been updated. The system will not create a first OrgUnit by default but this is up to the user to create this manually
[bug fix] CR1002311: corrected style on edit icon for richt text field
the edit button on the richt text field did not have the proper display class for a light icon. That has been corrected.
[feature request] CR1002265: update DashboardSets
the layout for Dashboardsets has been reworked so it only displays the related items panel in a sortable panel. Also a new button has been added to the dashboards view for users that have the right to edit dashboard sets. This navigates to the Dashboardsets
[bug fix] CR1002459: One 2 Many Link side Right Does Not Work in Template
Fixed bug: One 2 many link does not work in email template for the right side.
[feature request] CR1002435: Service Package for Portal User
Added a new role "service portal" with reduced view and adjusted action buttons. This role is made for portal user to create tickets related to their projects. The package also contains predefined acl objects that restrict the user to see only project related tickets and contacts.
[internal] CR1002252: Added Logger entry on e-mail send error
Write the error message to the log.
[change request] CR1002438: ACL Profile Manager Improvements
Refactored the acl profile manager/add object modal to allow adding multiple objects at the same time before saving.
[feature request] CR1002393: Template Modules Multilingual
Refactored the email template, output template, landing page, newsletter, newsletterissue, campaigntask html fields and subject fields to translatable. This allow translating the template to multiple languages. Also applied auto detect bean language mechanism. This will check on the context bean of the template for a communication language field and parse the template with the desired language.
[bug fix] CR1002425: Reporter: tree value is not rendered properly in excel export
When the module has more than 1 tree the proper translation value was not rendered properly. Only for the first tree.
[bug fix] CR1002327: Bug Fix - Change Password With 2FA Code
Fixed bug: On login screen change password modal does not send the code to the user on save.
[feature request] CR1002394: Field HTML Translatable
Added the translatable function to the field html to enable translating the content using the translate icon near the field name.
[internal] CR1002384: Re-Login with PW input finished by enter key
[hotfix] CR1002287: HOTFIX SystemDropdownTrigger directive
in some cases the dropdown-trigger directive caused an internal error leading to values not being returned.
[change request] CR1002381: amendment to systemtree component
the SystemTree has been changed so when adding a new item the nextsequence is also emitted to allow that a new document is properly added
[feature request] CR1002226: new Logic Hook attachment_added
a new logic hook attachment_added is added. This hook will fire on a bean when an attachment is added.
[change request] CR1002337: Build Production Cache Invalidation
Add a new content hash each build to the angular module files to prevent caching
[feature request] CR1002405: Domain Validation Value Color & Icon
Added field color and icon to domain validation values to enable displaying enum value with icon and color. The color is a hexadecimal value like #00ff00.
Added a config property displayIconSide (left, right, iconOnly) to define the position of the color display.A gray circle icon is displayed by default if those properties are not set on the validation value.
Please note that the type enum has to be set in the fieldset item in order for the color logic to be processed.
[bug fix] CR1002428: User Image After Save Not Loaded
Fixed bug: User image after save does not show in the global header profile
[feature request] CR1002281: disable filter and toggle buttons in activites view
in the activity tab the filter and toggle open buttons have been amended so they are disabled if there are no activities.
[change request] CR1002460: Template Compiler - Compile Block Translations
Added standalone property to compileBlock. When calling compileBlock from outside the compiler and standalone is true, load the enum translations.
[change request] CR1002268: minor Salesdoc changes
- the Salesdoc has been amended so in any case the number is returned as name on retrieve
- field SalesDocItemTypes has been amended to also show the name of the item and not just the label as several items might have the same label and only be differentiated with the proper technical name.
[internal] CR1002385: Missing display_name value in SpiceAttachments::getAttachment()
Added display_name in the results array of SpiceAttachments::getAttachment()
[change request] CR1002412: Backend Minor Adjustments
Adjusted save user check for existing email to ignore deleted users.
Adjusted email::findByMessageId to ignore deleted.
sendCredentialToUser pass source_frontend_url for gateway compiler.
UsersController: ignore deleted users on duplicate check
[feature request] CR1002247: KPI Dashlet was extended so it can also display CompanyCodes
the KPI Dashlet has been extended by a new parameter parenttype. This allows to also create Dahlets for other parent types then users. In the KPI Config also a standard Dashlet for CompanyCodes has been created
[bug fix] CR1002451: Sales Doc Item Changes Still Apply After Cancel
Fixed bug: In sales doc item details view when changing any value in the price calculation modal and cancel the changed value still apply.
[feature request] CR1002312: new functions on Project Settlement and Project Cockpit
[change request] CR1002374: inquiries module changes
changes to inquiries to handle different parent modules
[change request] CR1002326: replaced user panel with employee panel in Opportunities
in the ongoing effort to replace users with employees the User Panel for the sales team on the opportunity is replaced with a panel for Employees.
[bug fix] CR1002368: Bugfixes on Salesplanning
some minor bug fixes and configuration for sales planning
[change request] CR1002269: add Angular Signal in modellistservice for selection change
as part of the effort to move from subjects to signals a new signal was added to the modellist service that tracks selection changes.
[feature request] CR1002329: added separate org chart container to show in context of Company
a new view to show Org Charts right in the context of the Company ode has been added. This adds usability and is clearer to make the navigation to the org chart easier.
[change request] CR1002462: Renamed the dashlet Worflow Tasks to My Open Workflow Tasks
We renamed the dashlet so that it tells exactly what it does.
[change request] CR1002392: allow excluding null when ordering in get_list
it is now possible to sort null values from get list in order by
[change request] CR1002301: minor fix to uppercase Operator in Filter
minor fix so the operator from a sysmodule filter is rendered in upprercase int he generate SQL Select statements.
[internal] CR1002344: no-sandbox Flag for Chrome Local PDF Handler
[internal] CR1002444: Copy attachments from an e-mail to its parent record does not work every time
Parameter excludedFileIds is expected to be an array in SpiceAttachments::cloneAttachmentsForBean
The frontend component cloneAttachmentsFromEmail does not sent it. Therefore null is passed to SpiceAttachments::cloneAttachmentsForBean which causes a 500er when array_search() is called.
We now pass an empty excludedFileIds array in the frontend and catch again in the backend.
Additionally we added the date timestamp for new
[bug fix] CR1002282: added proper handling when attachment is not found
when an attachment is not found as binary file a proper error handling has been added in the preview tab so the user gets a proper response back.
[change request] CR1002333: System Richttext Editor Improvements
Optimized custom styles functionality to react on allowed html elements and toggle styles. Apply multiple styles is now allowed. Adjusted the heading tags to cast properly h1 = h1. On selection change reflect the applied heading or custom style on the dropdown.
[hotfix] CR1002490: Cronjob Kill Max Time Exceeded Jobs Failed
Fixed bug: cronjob failed on kill max time exceeded jobs
[change request] CR1002228: changed the module selector in the fts manager add dialog to a default module picker
changed the module picker in the FTS Manager add dialog from a regular options field to a spicecrm module picker enhancing search and usability.
[change request] CR1002336: refactoring for audit and processmanagement
added a new module for the ProcessMGMTSystem and refactored other process management and audit components
[bug fix] CR1002408: Ticket History: field created by is not displayed
The deprecated field created_by_name is now replaced by created_by_user.
[change request] CR1002338: Socket Server Logging Config
Added loggingEnabled config to the config.json file to enable disable logging. Default is config disabled.
[bug fix] CR1002445: Newsletter Issue Activate Empty Logs
Fixed bug: On activate newsletter issue no logs are generated
[change request] CR1002295: added option to DictionaryLink to disregard ACL checks programatically
a new public variable $ignoreACL is added on the SpiceDictionaryLink class. If set to true the link will not check ACL right when loading. This can only be done programatically and makes sense if you want to load some related bean records but in the context of the backend action do not want the system to evaluate ACL access rights.
[change request] CR1002402: actionconfig for telesales complete button
it is now possible to define different fieldsets for complete modal
[bug fix] CR1002454: Object Action Menu Items Wrong Options
Fixed bug: On related list item actionset the dropdown show the default actionset and the set actionset items together as options. Only the set actionset should apply.
[feature request] CR1002389: Email with download link: configure the position of the downlink in the email
Until now the download Link was parsed at the very end of the e-mail.
It now possible to define in the global configration where the link shall be parsed: before / after the mailbox header + before / after the mailbox footer.
Default value is before the mailbox footer.
[internal] CR1002442: Missing file "license", from commit c6ed5470
[feature request] CR1002260: autoset parent fields if parentmodel is set
the parent field has been amended to automatically try to find a suitable parent. So unless set via copyrules the parent field itself will try to see if the field is rendered in the context of a suitable parentmodel and if this is applicable will automatically populate the parent field with the proper value.
[] CR1002231: fix on riskScore field
in the risk score field erroneous in too many cases a default value for Low risk was set causing potential false displays of the score.
[bug fix] CR1002298: Bugfix in EmailSendButton
missing mailbox in some cases caused an error checking the visibility.
[feature request] CR1002340: Administrate files in the file panel
In the file panel we implemented an action to get the total size of a folder including subfolders.
When inserting files from the panel in an e-mail, the total size of attachments is now displayed next to the number of files selected.
We added the capability to delete or donwload multiple files.
When you send an e-mail from the activity stream with the zip attachments option, the folder structure of the attachments within the zip will correspond to the one in the file panel.
[bug fix] CR1002433: Recipients get lost on e-mail forward with MS 365 mailbox
When forwarding an e-mail the recipients get lost during the save and send process. This causes the e-mail to be created but not sent.
[feature request] CR1002427: Generative AI Outlook Add-In Autofill Contact Data
Added a new config to the outlook add-in create button to autofill the bean data from the email content using a generative ai prompt.
[feature request] CR1002430: Landing Page for Event Registrations
Registrations for events can now also be made via landing page.
[change request] CR1002390: ServiceTicketsPortalUserNewButton Use In Different Areas
Added new action configs showIcon to enable using the button in different areas in the crm (global actions, navigation menu actions, list view).
Added acl check.
[change request] CR1002457: Send Credentials Adjustments
Added check on send credentials channel if empty. Pass the selected channel mailbox properly.
[change request] CR1002256: change of SystemLanguageSelector
Changed the language selector so the translated labels for the languages are displayed.
[change request] CR1002235: Update on Document Management
The revision handling for the Document management has been enhanced so revisions are properly stored, and also if org units are assigned and document are set to be mandatory accepted this is properly evaluated. Also the document Revision acceptance Tool and Modal have been enhanced and amended
[change request] CR1002317: amended the datespan field
the date span field has been amended so field errors and messages are now shown proper for both the start and the end date and not only the field in the display.
[feature request] CR1002400: Service Tickets - New Workflow Method
Added a new workflow method to get the project assigned user email address as recipient
[feature request] CR1002331: New Frontend Directive - System Responsive Sidebar
Added a new directive system-responsive-sidebar to add necessary mobile sidebar styling for an element. This directive can exposes helpful methods and properties when defined as a template variable #sidebar="systemResponsiveSidebar". The method toggle() ist to toggle open/close the sidebar. isMobile() is a signal property is helpful to apply some changes only for mobile view. isOpen() is a signal property helpful to react on open state of the sidebar. isOpen$ is an output property that emits the isOpen state change.
The sidebar container will get position absolute on mobile view, therefore a parent element with position relative is required.
[change request] CR1002271: Popover With Dropdown Trigger
Added trigger handling for the popover container with the SystemDropdownTriggerDirective. The directive will handle setting the nubbin arrow and adjust the positioning of the popover.
Introduced dropdownSelectorClass to to enable to trigger directive to find the popover or dropdown by the given class e.g. slds-popover-container. Default value is slds-dropdown.
Introduced triggerOnHover to enable opening the dropdown on hover.
Implemented in SystemIconHelpText.
[feature request] CR1002323: Knowledge Books Public Route
Added a new public route docs to browser all the public documents.
[feature request] CR1002130: Package Validator
added a package validation process for dictionary entries. Comparing the package entries between items and it's dependencies. Also checking if the items are present
[feature request] CR1002310: added a skill level to the HCM Skills manager and the Pertsonal Skills
added an optional Skill level vom beginner to expert to skills on Employees and also to the required skills on job profiles.
[internal] CR1002440: Fix setting registration date in EventRegistrations
[bug fix] CR1002472: Reporter Relationship Fields and Audit Fields Are Not Displayed
Fixed Bug: Relationship field and audit fields are not displayed in the fields tree in the report designer
[feature request] CR1001365: Mailboxes - Fetch Date From
Added date from selection on the fetch button for Mailboxes module. This enables enforcing the fetch starting from a specific date, if the fetch job missed any emails.
[change request] CR1002296: enhancements on ServiceCalendar
functions to check if a day is a working day or holiday have been made public and a new function to determine the working seconds per date have been added to the ServiceCalendar Class
[feature request] CR1002302: new field type "select"
a new field type "select" has been added. As all enums are switched by default to the SpiceCRM system-select this enables a regular HTML select. In some cases this increases usability.
[feature request] CR1002257: new Component ObjectRecordViewDetail1and2and1
a new Component ObjectRecordViewDetail1and2and1 has been added that renders a three panel view 1-2-1 in the record details to allow views like specific for Service Tickets or other forms of complaints with the activity view in the middle
[feature request] CR1002316: enable error toasts to also auto close
the addToast method in the toast service has been amended so developers can now also add error toast that are self closing. In order to do that you need to pass a number to the toast service that represents the number of seconds the toast will stay visible before closing itself.
[feature request] CR1002391: Contacts ACL Project Related
Added a new acl handler class to select only project related contacts for the current user.
Post deployment action: The desired acl field to be used must be indexed
[change request] CR1002321: System Richtext Editor Adjustments
Load CDEditor library initially as angular asset. Added disableReadonlyBorder config. Accept 100% height. Fixed custom predefined styles.
[feature request] CR1002297: added poptions to isolate and better control component ObjectListViewHeader
the following new attributes have been added to the component:
- object-listview-header-nosettings: do prevent rendering of the settings
- object-listview-header-noselector: to prevent rendering of the list selector
- object-listview-header-noactionset: to prevent rendering of an actionset
These attributes enable better options to embed the listview header in standalone component that behave like ListViews but have specific needs and need to limit control.
[change request] CR1002453: WorflowTask assignment to report to user
Reports to is now checked on the employee level first. If not found the fallback on user level is done.
[feature request] CR1002379: Added to list view export: export the value of a linked field like the assigned user
When you export a list from the list view, the value for linked fields like assigned user can now be exported
[bug fix] CR1002465: Workflow Manager - Unexpected Clear On Generate Bean Mapping
Fixed bug: in workflow manager when setting the mapping for a generate bean task, the previous selected fields on the right side disappears when i map a new field.
[hotfix] CR1002315: ensure summary text ist set on the bean
ensure the summary_text field is loaded and set when a bean is retrieved.
[change request] CR1002248: amend SpiceBean so null values can be used for retrieval
the process for retrieveByStringFields on the SpiceBean has been amended so null values can be passed in the array and will create a query "IS NULL" to allow also adding this as query parameter.
[feature request] CR1002448: Domain Validations Manager
Added a new workbench component "Domain Validations" that lists all the domain validations. This manager allows creating, editing and deleting validations. It is also possible to check if the validation is linked and which domain field. Validation can be deleted only if it is not linked to any domain field.
[change request] CR1002354: dynamically determine the number of related stencils
the ObjectRelateContainer component has been amended so the number of stencils to be rendered is dynamically calculated based on the components in the relate componentset. If the number is set this will still be prioritized and used but if not the number of stencils in the loading phase will be based on the expected items.
[bug fix] CR1002456: Gray window on cloning attachments from an e-mail to the parent record remains active
The bug occurs under the following conditions: there is a folder in the parent record (for example a ticket) and you selected the "file view" or the "thumnail view" in the file panel. You drag&drop an e-mail containing attachments to the ticket. Then you click the action "clone attachments" on the e-mail. A window pops up, the background is grayed out. You select the attachments to clone to the ticket. Then you confirm. After confirmation the attachments are cloned, the selection window disappears but the background remains grayed out. You need to reload the application to be able to continue working in the CRM.
[feature request] CR1002285: added Relationship Manager in Admin Menu
In the Dictionary Section of the admin menu a new entry for the Relationship Manager. This provides an overview over all maintained and defined Relationships and allows easy editing and management
[change request] CR1002382: add new componenset config to add knowledgedocument
an option and configuration has been added to the KnowledgeManagerAddModal component so the add modal can be flexible configured. It has also been cleaned out on the standard config.
[feature request] CR1002273: added option to also set Favicon in CI Manager
added the option to also set the favicon in the CI Manager. Additional some minor cleanup in the assetmanager component and the backend service
[change request] CR1002422: Download File Name
prevent displaying unsupported files rather start the download right away
[change request] CR1002421: Refactoring of module UserAbsences to EmployeeAbsences
The current module UserAbsences is now deprecated. We moved the logic to EmployeeAbsences which is part of the "Human Capital Management" package. The representative during absence is now an employee.
A migration script in the form MySQL statements is available in the breaking changes section.
In case you have workflows in use, check how many workflows for UserAbsences are open. You will have to redefine the workflows for EmployeeAbsences and deactivate the UserAbences worflow definitions as soon as the last workflow is completed.
Post deployment action: Migrate UserAbsences records to EmployeeAbsences:
REPLACE INTO employeeabsences (id, date_entered, date_modified, deleted,assigned_user_id, date_start, date_end,type, STATUS, employee_id, representative_id )
SELECT id, date_entered, date_modified, deleted,assigned_user_id,
date_start, date_end,type, status, IFNULL(employee_id,(SELECT parent_id FROM users WHERE id=user_id)), (SELECT parent_id FROM users WHERE id=representative_id) FROM userabsences WHERE deleted=0;
[change request] CR1002360: allow one fieldset for spicepathrelatedlisttile
it is now possible to also have only one fieldset for spicepathrelatedlisttile
[feature request] CR1002401: Mention Notifications
Added a workflow system class to extract the mentioned beans in a text field and return the email addresses.
Added a new SpiceTextMentions handler class.
[feature request] CR1002434: Added an API route to upload multiple files at once
Multiple files may now be uploaded to a record with only 1 API request.
[internal] CR1002378: Fix in Files Panel: undefined fileviewpref
When the user preference is not set, the component would emit an error.
[bug fix] CR1002488: Kanban Manager Custom Validations Error
Fixed bug: could not reload or create new kanban for a field with custom validations.
[change request] CR1002275: send DOI for newsletter if status in not optedin at subscription
if enabled, DOI Email will be sent if the person has not opted it yet
[change request] CR1002361: write action newsletterunsubscribe
write a separate unsubscribe action for newsletter unsubscribe
[] CR1002197: Frontend Minor Changes
Added object difference check to model.service getDirtyFields.
FieldRichtext: allow using stylesheets when there is no stylesheet field.
Post deployment action: delete from sysuilibs where id ="3aa11d46-8cbe-4dc3-a066-0baeadfe532f";
[change request] CR1002332: refactored email send
refactored email send button, new actionset and scheduled emails functionality, new scheduler job for planned emails
[] CR1002487: Campaign Task Email Status Error
Fixed bug; Activity status is general error, when sending a campaign task with flag save emails active.
[change request] CR1002447: Added version and package fields to Kanban manager
The fields version and package where added to the Kanban Manager tables.
The view now displays both fields
[feature request] CR1002355: new feature for Inspections and an Inspection Cockpit
additionally to the Audits a new feature for Inspections has been added to the Management System offering support for structured Inspections management as part of the ISO Implementations
[bug fix] CR1002276: add filter in model service to load only active validations
in some cases also inactive validations had been considered. This has been fixed
[bug fix] CR1002359: E-Mail addresses handling on reply and draft does not match user expectations
When you push the button "reply all" in an e-mail the recipients of the reply are dispatched between to and cc addresses. When you remove 1 recipient address, all the recipients addresses are removed. Expected is that only the deleted address is removed from the e-mail.
When you reply to all, change some recipients bei deleting or moving from the cc field to the to field, these changes are not saved on "save draft".
When saving an edited draft with recipient changes, the changes are not saved.
[bug fix] CR1002330: Bug Fix - MS Graph User Save
Fixed bug: user record throws an error on save when the graph contact sync is active
[change request] CR1002146: telesales call flow component
new telesales flow component for better call handling
Post deployment action: think of deprecating old fieldsets/componentsets
[bug fix] CR1002414: fixed issues in price determination value extraction
fixed a minor bug with the extraction of values in the CPQ Price Determination
[feature request] CR1002230: amended the global navigation menu to hide more menu when empty
the global navigation menu has been amended so that if a module is not tracked, has no favorites and also no action menu the chevron to open the more menu for the module is not displayed as this would be empty in any case. This is to enhance the usability
[feature request] CR1002358: New Directive - SystemNativeResizable
Added a new angular system directive system-native-resizable which custom resize handling. This enables configuring which side to be resizable e.g. right or bottom-right and also allows multiple handles at the same time. The directive accepts resizeConstrainFn to be called each time on mouse move to enable custom rendering like snap to grid. The directive emits the latest size on mouse up. If applyChanges is disabled the size of the element will be restored on resize end and only the latest size will be emitted on resizeEnd event.
[feature request] CR1002322: New API Functions
Added SysModuleFilter::generateConditionGroup to enable generate condition group builder class with add condition. Added OpenApiResponse builder to generate swagger documentation responses.
[feature request] CR1002365: New Module ProjectPlannedActivityAllocations
Added the ProjectPlannedActivityAllocations module to manage time allocations for planned project activities.
Adjusted the project console viewer to subtract the allocated effort from the project planned activity and render the related allocations separately.
Added a new fronted field fieldProjectActivityParentAllocation to handle assigning the allocation field on the project activity. The field will be auto filled, when it is rendered in the model allocation context (allocation details view).
Breaking changes
CR1002491
sysuicustomroutes:
Set all custom routes loginrequired to 1
update sysuicustomroutes set loginrequired = 1
CR1002352
For processor handler methods that should run before save, edit the processors and set the phase to before save.
e.g. a processor set the email parent_id should be before save and a processor adds n2m link to the email should be after save.
CR1002441
the following files have been removed. customer systems needs to have namespaces updated if not already done so.
- api/data/SpiceBean.php
- api/data/BeanFactory.php
- api/data/Link2.php
- api/data/Relationships/EmailAddressRelationship.php
- api/data/Relationships/M2MBeanRelationship.php
- api/data/Relationships/M2MProspectListRelationship.php
- api/data/Relationships/M2MRelationship.php
- api/data/Relationships/One2MBeanRelationship.php
- api/data/Relationships/One2MPolymorphicRelationship.php
- api/data/Relationships/One2MRelationship.php
- api/data/Relationships/One2OneBeanRelationship.php
- api/data/Relationships/One2OneRelationship.php
- api/data/Relationships/OrgUnitRelationship.php
- api/data/Relationships/UserRelationship.php
- api/data/Relationships/RelationshipFactory.php
- api/data/api/controllers/SpiceBeanController.php
- api/data/api/handlers/SpiceBeanHandlers.php
- api/include/database/DBManager.php
- api/include/database/DBManagerFactory.php
- api/include/database/MysqliManager.php
- api/include/database/OCI8Manager.php
- api/include/database/PostgresSQLManager.php
- api/include/database/SqlsrvManager.php
- api/include/SugarObjects/SpiceModules.php
- api/include/SugarObjects/api/controllers/GdprController.php
- api/include/SugarObjects/api/controllers/PersonsController.php
CR1002386
The "Audit Log" Button is no longer per default enabled. Set the proper acl action "auditlog" in the permissions objects
CR1002338
If logging needed per defaul loggingEnabled needed to set to true in the config.json
Deprecation
Questions about this version? Write to us.