Release
2024.02.001

We know you’ve been eagerly awaiting this update, and we appreciate your patience. So, why the wait? The answer is simple: we were committed to making sure that the core changes necessary to bring SpiceCRM to the next level are stable. This release reflects our dedication to continuous improvement and our promise to provide you with the most robust CRM solution on the market.
Multiple KanBan Boards
It is now possible to define multiple KanBan boards for a module. That comes handy when differents teams work on the same records but with a different aspect. Let’s take service management as an example. You can define a KanBan board for the 1st level support team and another one for 2nd level support team. Same with sales stages in opportunities when many stages are required by the business logic. You can split the stages in KanBan boards.
All the boards can be configured bei administrators in the KanBan Manager.
Security
SpiceCRM now integrates seamlessly with Passkey, enabling secure and password-free authentication for your users. With Passkey, users can log in using biometric recognition or device-based security, streamlining access while enhancing security. This integration offers a frictionless login experience, reduces the risk of phishing attacks, and ensures that your CRM is always protected with the latest in authentication technology. Effortless security, made easy for your team!
Travel expense management
After a tiring business trip filled with meetings, travel, and unfamiliar places, sorting and categorizing receipts feels like the final step in a long marathon. The mind is full, the body is exhausted, and the thought of diving into the pile of receipts and invoices seems almost impossible. With the KLIPPA integration in SpiceCRM, it does not require much effort to snap a photo of your receipts with your phone, upload them to SpiceCRM, and have them automatically sortes so that a quick billing process can be prepared automatically. You can submit yout expense report in seconds.
Handle multiple currencies
The whole logic around currencies has been refactored: all international monetary currencies are loaded in the system and it is possible to manage your own currencies like credits or any kind of token you wish to create. A rate converter is also included.
Telesales Module with simple interface
If you’re running Telesales or Telemarketing campaigns, the SpiceCRM Telecockpit is about to become your agents’ new best friend. This powerful, customizable interface is designed to simplify the sales workflow, bringing the essential information ALL onto one screen. Manage actions and follow-ups with just a single click—no more switching between tabs or getting bogged down in extra steps.
Lead Management with LinkedIn Integration
Information is the foundation of customer acquisition. A name on a business card is not enough. Anyone preparing for a sales conversation starts with research. With the SpiceCRM LinkedIn integration, a lead can be instantly enriched with relevant data. The research work is eliminated, and the focus is shifted to the sales content.
Release Notes 2024.02.001
CR1001371 : Link2 Class improvements
Improved logic for getting a linked Bean which is deleted. The param "deleted" which is called in the retrieve() function inside SpiceBean is being overwritten in order to retrieve the deleted Bean.
Now it's possible to also get a Bean which is "deleted == true". The param deleted is set to false in order to overwrite the default settings inside the retrieve() function of SpiceBean class.
Until now, only the non-deleted Beans where retrieved.
CR1001509 : TelephonyDockedCall: handle actionset container
Actionset container is disabled when no related record is found or allocated. It is now possible to set an actionpolicy: strict or regular.
Strict will disable the Actionset container when no related record is found (= same behaviour as usual). Regular will only disable the actionset container when the call is not hanged up.
CR1001372 : New Module Personal Activities
Added a new module personal activities to create a special type of activities for the user e.g. visiting conference etc.
This kind of activities will be displayed in calendar and synced to microsoft graph.
CR1001454 : Telecockpit reserve for me functionality
added functionality to mark telesales entry as reserved for user
CR1001374 : Landing Page Application: render the "questionnaire send button"
The text for the button was hard coded. Now it is dynamically rendered depending on the browser language. Please not that the trabslations are coded within the application for now
CR1001343 : Outlook Add-In Improvement
bug fix global function deleted by microsoft script.
Load config for addin calendar item fixed.
Outlook Login extended GlobalLogin.
dev serve config for outlook added. Enabled 2fa login. Auto login for microsoft service.
Display single actions like archive directly in the footer.
Fixed some layout issues.
CR1001348 : Component FieldIban
create a new field component "IBAN" with the corresponding validation
CR1001313 : Module Filter Adjustments
1) add the button "+" next to the newly added search field
2) add the search input field
3) highlight the active filter for easier orientation
CR1001282 : Labels in Templates
Possibility to use labels in templates - and to use the template variable helper for this purpose.
CR1001469 : Field activity status
This new field component sets the value for field status automatically depending on date or time entered. This feature was implemented for the modules Calls and Meetings.
If you set the value in the field "date_start" to future, the status is automatically changed to "Planned". If the "date_start" is in the past, , the status is automatically changed to "Held'".
CR1001489 : Role menu manager improvements dashboards and dashboardsets
improved dropdown fields for role menu manager for default dashboard and dashboardset selection
CR1001400 : Download Uploaded Email from CRM
Functionality to Download an uploaded email from CRM
CR1001321 : Missing allowattachments setting for Service Ticket Notes
We added the optional parameter allowattachments to the component ServiceActivitiyTimelineAddServiceNote. It is set to true per defaullt.
CR1001494 : Reporter: fix build ACL Query with user orgunit
The report query would break because of malformed where clause.
Corrected in generateOrgUnitWhereClause()
CR1001306 : KnowledgeBooks selektor Icons edit and delete would always appear
Now the icons appear according to ACL set for the selected book.
CR1001408 : Bulk PDF Export
- add the possibility of exporting multiple pdf files if the output template is defined for the corresponding module
- currently the export is available from the list view and from the sub panel
CR1001359 : DIctionary Manager more filter capability
Being able to list all fields of a specific type ie link
Being able to list all fields of a specific domain ie guid
Display the type next to the domain
CR1001358 : Dictionary Manager Improvements
Add a dictionary: Filter module list alphabetically and make it searchable.
Added missing properties duplicate_merge and no_default
Added titles in the Dictionary Manager so that it shows the name on mouseover
Added labels to display the values for enum sysdictionary-type and sysdictionary_contenttype
Changed the dictionarymanageradditemmodal form so it looks like the same as the dictionarymanageritemdetail form
CR1001390 : Fix richtexteditor overlapping dropdown
fixed richtexteditor overlaping other components
CR1001289 : Prospect Lists Contacts Email Address Handling
Added a new field email_addr_bean_rel_id under prospect lists m2m relationship table to enable selecting a specific contact email address for a prospect list.
Added a new frontend field to display/edit the selected contact email address for a prospect list.
Refactored the "select" button under Contact/Related Tab/Prospect Lists and Prospect List/Related Tab/Contacts to handle selecting a prospect lists contact specific email address.
CR1001412 : Multiple language support for forgot password capability
Proper labels are now used to display "forgot password" and all related forms to forgot password process. Added to the label translations: LBL_FORGOT_PASSWORD, LBL_EMAIL_ADDRESS_OR_USER_NAME, LBL_SEND, MSG_TOKEN_WAS_SENT_VIA_EMAIL, LBL_ENTER_NEW_PASSWORD, LBL_REPEAT_NEW_PASSWORD, LBL_RESET_PASSWORD
CR1001507 : Fix Html Code Structure when sending from the CRM
Using templates, mailbox footer and/or header, the html Structure built for the e-amil was not correct. This caused display errors (non latin characters not being displayed properly).
CR1001422 : Travel Manager
An alone-standing component where you can manage business trip receipts, parts and mileages.
CR1001490 : Fix default configuration for ProjectActivityDashlet
A default configuration for the component ProjectActivityDashlet is now applied, allowing a custom sortfield and a sortdirection.
The new default configuration is: sort by activity_end DESC instead of date_entered DESC. Customize in the module configuration.
CR1001417 : When creating a new index in Dictionary Manager version and package are now passed as well
The version and package now get passed along to the database when creating or editing the indexes in the dictionary manager
CR1001381 : Text Messages - Deprecated delivery_status
Deprecated the field delivery_status in the module TextMessages. Starting from the version 2024.03.001 the field will be removed and the field status will be used instead.
Check everywhere in the crm where the field delivery_status is in use and replace it with the field status e.g. workflow conditions, reporter etc.
CR1001317 : Audit Log: workaround to display user first & last name
Currently we only display the user name which is not helpful when the user name does not contain first & last name of the user. We added a little code change so that we can display a full first & last name additionally to the user name. This change is only a workaround until we do a full review of the audit log display.
CR1001384 : Moved EmailTemplatesEditor
Moved the frontend component EmailTemplatesEditor to the ObjectComponents Module. Refactored to ObjectTemplatesEditor.
CR1001492 : Fix for the Spicepathtrack so it shows which stage one is on
A minor fix to the spicepathtrack.ts in the statusfield getter which now checks for the default kanban first making it possible for the current stage and previously completed stages to be highlighted properly
CR1000973 : Entering values for version und package
Two new system components were created "system-input-version" and "system-input-package> which retrieve domain validation values from "spicecrmversions" and "spicecrmpackages" respectively.
CR1001483 : Trim spaces in label search
When you search for a label and copy pasted the label name from a source you somtimes copy spaces location before or after the name.
The search field is not intelligent and removes the spaces around the string you entered for the search.
CR1001307 : Project Activity Shortcut
Log project activities directly on a record.
CR1001341 : Reporter: added a between operator for dates to query the full date without time
The between operator for date fields in a filter would add the current date time to the query. Therefore quering between 2 days would always add the curent time: WHERE date_modified >= '2024-05-01 08:48:51'
AND date_modified With the between (full date) operator the query will look like
WHERE date_modified >= '2024-05-01' AND gszmgqcyscc.date_modified
CR1001404 : Dictionary Manager - Add version & package input fields when creating a relationship
CR1001499 : Fix Searchterm when passed to get_linked_beans()
Added a strtolower on the searchterm passed to get_linked_beans. Used for the search in a subpanel
CR1001386 : Enum Language - Use Domain Validation Values
Removed the appList for the language service which included the validation values in a translated form and moved to dynamic translation strategy in the frontend. Created a metadata load task for the domain validations. Adjusted the language service to generate the enum display options from the validation values and dynamically translate the labels in the frontend.
Added a parameter that loads the status of the Validation Values. Displays the active ones by default. Inactive is used inside the Module Filters to display Validation Values that are not active.
Added sort validation functionality to language service and in the domain manager.
CR1001435 : SpeachRecognition for RichText and HTML Fields
expand the speach recognition possibility to the RichText and HTML field types
CR1001325 : Templates Compiler - Add Necessary Tags
Added a new function addNecessaryHeadTags to the Compiler Class to add necessary head tags like meta charset UTF-8 to always get special characters properly displayed in emails.
CR1001354 : Travel Enhancements and KLIPPA support to scan invoices
adding enhancements to Travel Expenses and receipts also adding support to KLIPPA for invoice recognition and automated document scan.
CR1001488 : new systemcurrencies and exchange rates
added new tabkes (systemcurrencies) and exchange rates (systemcurrencioesexchangerates) inclduing an autoloaded. The systemcurrencies will over the next release replace the currencies module. In the meantme the module Currencies remains but is with its data shadowed by the systemcurrencies
CR1001423 : Cleanup
we deleted sysservicecategories, role_modules, role_users
CR1001506 : Migration of table orgunits_employees to orgunits_beans
With 2024.02.001 we introduce the archtitecture for future portal management capability. The table orgunits_employees is moved to orgunits_beans. Check breaking changes!
CR1001403 : Scheduler Jobs - Maximum Execution Time
Added a new Field "max execution time (minutes)" on the scheduler jobs to enable setting a maximum execution time for a job in minutes. On the next cron run the system will kill all the jobs that exceeded the max execution time.
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.
CR1001482 : Login To SpiceCRM Modal
Changed the 2fa icon button modal on the user panel to display and manage all the login methods to SpiceCRM. It is possible to activate/deactivate an available method, change password, create a new passkey, and also set a default two factor authentication method.
Also added the optional 2fa active methods to the CRM login page to enable resending the 2fa code by on of the active 2fa methods by clicking on the icon of the method in the input field.
CR1001402 : ServiceEquipments: fix typo label name LBL_MAINTENANCE_CYLE
Label rename from LBL_MAINTENANCE_CYLE to LBL_MAINTENANCE_CYCLE. Reload language package after update.
CR1001480 : added a probability field
added a new field for the probability that behaves like a regular number field but requires the value to be between 0 and 100 (%). Also the proper domain probability has been created.
CR1001413 : Show assigned user field in filter
Currently the field assigned_user is not displayed in the filter. Therefore the users can't create custom list and filter them by assigned_user field.
CR1001339 : Reporter: format decimal numbers and integers in excel export
Values were not handled properly in the exported grouped view
CR1001425 : removed no items illustration in activity container
removed the no items found illustration in the activity container and replaced by a simple label. As this is using quite some space and thus reduces visibility of the history the illustration is removed.
CR1001376 : SpiceUtils: render a full tree record in selected language
We added the function renderCategoryTreeEntry to SpiceUtils. That function will render the node keys in the selected language. Used in backend logic.
CR1001366 : DictionaryManager: missing properties for dictionary item
added: duplicate_merge
CR1001388 : Dictionary Manager Improvements v2
add search functionality
checkbox "execute sql's" checked by default
CR1001452 : Define a field config for fieldenumalternate
It is now possible to add a display class and the sortdirection fpor fields of type enumalternate.
CR1001396 : Fix display of files in ObjectRelatedlistFiles
Issue: When adding a new file to i.e. a Note or ServiceTicketNote. This file was displayed in the the ObjectRelatedlistFiles. When closing the Bean, the file was gone.
This behaviour was caused due to a Broadcast Message which was sent by SpiceAttachmentPanel on a new file upload. The Broadcast Message and the corresponding call were removed. The ObjectRelatedlistFiles is not updated when saving a file on a related Bean.
CR1001370 : Field Type Roles
create a object field type of 'Roles' with available roles to select
CR1001430 : List View - Bulk Set Status
Added a new action to the default list selection actions to enable setting a status network for multiple records at once.
CR1001352 : WorkflowTask: notify on assignment
A workflowtask assigned to a user will now trigger a spicenotification on creation if the assigned user has the flag "notify on assignment" in its preferences
CR1001460 : SchedulerJob: Backups of system tables
Due to various improvements and flexible configuration possibilities inside the SpiceCRM, it became necessary to create daily backups of configurations in order to minimize the risk of errors caused by users configuring the system.
We have created a new scheduler job task which automatically writes backup files and stores them on the server.
CR1001373 : Fix for frontend display when rendering of a worflowtask of type decision
The panel rendered in the frontend for the user to make its decision did not always render the proper workflow task type for a decision. The standard type was loaded causing an error on saving the decision: the workflow would no longer run. Now fixed
CR1001474 : udpate to Ligthning Design 2.25.1
CR1001443 : new Template Function getCountryName
added a new Template function getCountryName that will translate the ISO Code of a country into the proper country name
CR1001486 : enhanced categories field
enhanced the categories field so the stencil does not remain there when no categories are found. Rather than that then a message is displayed and the field is also not editable.
CR1001305 : Dashlet Generator Workbench adjustements
1) add the button "+" next to the newly added search field
2) add the search input field
3) highlight the active dashlet for easier orientation
CR1001389 : Dropcontact and Linkedin Profile Integration
integrate DropContact API to get contact details and create a new modiule linkedin profiles and scrape that using the rapid api to get linkedin data
CR1001424 : Renew Fieldset Manager
Improved the retrieve and save in the fieldset manager, which solves some bugs about the current stat of the fieldsets.
See the result of the configuration immediately in the view.
CR1001361 : Modified the repair logic for boolean fields
On repair bool fields are handled in a specific way: even if no default value is set, a boolean field will be created with 0 as default vaue. The only way to keep it as "can be null" is to set the no_default property.
We removed that property and the logic forcing a boolean to have 0 as default. When you insert a dictionary item of type bool, please think of setting the default value (either 0 or 1) if you the field shall not be null
CR1001392 : new Component ObjectRelatedlistCards
added a new core object component ObjectRelatedlistCards. This renders a list of cards with each having a separate componentset. This is useful for limited number of related records that should be displayed more complex. Used in its first version to display linkedin profiles related to a contact or Lead.
CR1001431 : ACL - Related Panels - Remove Related Access Control
Added an acl check on the remove related button. This checks whether the link of the related model is editable. E.g. when the field control on the link is set to display only, then the remove button will be disabled. If no field control on the link is set, the deleted/delete related applies.
CR1001311 : FTS Setup - Drag&Drop functionality
After the container window was filled with the fields, it's not possible to add the new fields in the desired place
CR1001398 : Fixed Creating a new ACL Profile
fixed not being able to save a new acl profile
CR1001379 : CI Manager reset functionality
after uploading a header image or a logo image, clicking on reset should return the default values
CR1001433 : Email Addresses - Search Beans With FTS
Adjusted api module/EmailAddress/searchbeans used by groupware package to use fts for search beans instead of searching by parent of the email addresses.
To include a module in the fts search in groupware, enable the setting "email search" in the fts manager/settings.
Then enable "email search" on the email address field in the fts manager/fields.
CR1001426 : migrate CallAttempts to Distionary
migrated CallAttempts to the dictionary manager
CR1001468 : Fix Workflowtask display user "not authorized"
not authorzied was displayed because the field to use is now assigned_user of type linked.
Corrected in the frontend and in adapted the backend code.
CR1001360 : Dictionary Manager - Warning pop up on closing the modal
when repair (executing all SQL's) is running, user should receive a warning message if he tries to close the modal
CR1001393 : UI - Mobile View Adjustments
Adjusted the frontend components mobile view. Kanban View is now on mobile view. Added a component config "hideOnMobile to enable hiding certain components on mobile view and implemented in the list view type selector for tasks manager.
Now the user profile icon and actions are visible and responsive.
Fixed overflow issues.
CR1001470 : Field Enum - New Dropdown Design
Used system-select component for the field enum for better user experience with search and highlight the options. Spice system select enable keyboard users to select using arrow up/down and enter to confirm.
Also displayed alle the enum options including the inactive ones. Inactive options are marked in grey text color.
CR1001391 : API Relationship DBManager Adjustments
Adjusted methods addRow and updateRow for Relationship class to use the DBManager insertQuery and updateQuery to prepare the row values before processing.
Adjusted DBManager::updateQuery to prepare the values before processing. Removed the prepare for the deprecated properties auto_increment and custom_type.
Removed unnecessary truncate in massageValue.
Added new property idAsKey to fetchAll set the id of the retrieved record as the key of the associative array.
CR1001461 : Removed typo in generareElasticFilterForFilterId
Function generareElasticFilterForFilterId() is now deprecated. Please use generateElasticFilterForFilterId()
CR1001478 : changed logic for sales doc items view to proper handling change
the change event has ben properly addressed so when the item is set to edit the complete document is edited.
CR1001410 : fields zip compress and send read receipt moved to field mailboxes
fields zip compress and send read receipt are now part of the field mailboxes
CR1001498 : Bug Fix - Output Template
Bug fixed: updating template properties after retrieve does not apply in the pdf handler instance. Removed unnecessary clone in Link2.
Cleanup removed unnecessary LibPdfHandler class.
CR1001301 : Sort Dashboards in alphabetical order in Dashboards Manager
CR1001322 : Field Sales Docs Type - Display Value Adjustment
Adjusted the fronted field SalesDocsTypes to always translate the type value, which was depending on the category field before.
CR1001421 : Reports - set default PDF template
If there is just one PDF template for export, choose it automatically.
CR1001491 : performance administration configurator
the administration Configurator has been amended to only display 50 records at a
time and then enable infinite scrolling. This allows better performance if larger datasets are loaded.
CR1001411 : Field Email Addresses More Actions
Added a new action to reset an email address bounce counter value.
Added a new action to set an email address opt in status.
Added a new action button to display the hidden email addresses in single mode.
Improved the email_addresses save in the SpiceBeanHandler.
Corrected dns check for the email domain to check for A DNS Record.
CR1001335 : MSGraph fixes
The config field principle_name_field in Graph Service configuration in the workbench had to be set in order for connection to work. The fallback value user_name was not working. It now works.
CR1001362 : Improved field emailaddresses
email addresses can now be configured as read only fields and improved multiemail handling
CR1001334 : ACL Profiles - User view fieldset render
change the hardcoded rendering of the users tab view in ACL Profiles to a custom fieldset
check package!
CR1001368 : Compiler Mailboxes - Apply Inline Styles
Added a new Compiler method for the mailbox to apply inline style to specific elements in the email content.
This can be implemented in a stylesheet defined in the workbench.
The syntax must include a spice comment to inform the system, that this part of the style is to be applied in the given elements in the selector e.g.:
/* spice-compiler-inline */
body {
color: red;
}
/* spice-compiler-inline */
#spice {
color: green;
}
The system will cut of this part of the stylesheet and apply it to the targeted elements.
Possible selectors are id selector with "#" or a tag name like "body".
CR1001434 : Telecockpit: campaign task enhanced configuration
- added 4 fields to be able to modify the telecockpit display
-- maximal attempts
-- number of days to wait before next attempt
-- actionset to display for the actions on the contact
-- category tree ID to render an outcome on the fly
CR1001439 : EventRegistrations: fix create registrations from prospectlists
The event ID was overwritten with an empty value on save. Fixed in api/modules/Events/api/controllers/EventsController.php
CR1001519 : Reporter: missing relationship fields between modules
The relationship Fields between contacts and prospectlists and any module to EmailAdresses were not displayed in the module tree. Now corrected.
CR1001179 : UI Config - Reload Cache Automation (part 2)
Adjusted the workbench components on save to automatically reload the frontend and the backend targeted cache. This will replace the "reset and reload" button.
Implemented for the following workbench components in 2024.01.001:
- Dictionary Manager
- Category Trees
- FTS Manager
- Admin Config
- Routes
CR1001442 : DictionaryManager: fix repair many-to-many relationship with role column
Values relationship_role_column and relationship_role_column_value were missing in the relationships table
CR1001428 : Bonus Cards - Parent Relationship Links
On BonusCards Vardefs added parent links to accounts, contacts and consumers.
CR1001429 : Bug Fix - Template Compiler - Nested Templates
Fixed bug in template compiler error when rendering a sub template contains comments.
CR1001397 : PageBuilder improvement -section custom size
PageBuilder section parts can now be customised with percentage values
CR1001315 : Full Text Search - Logic Improvement
Ignore put mapping the raw value for the html analyzer to prevent illegal utf8 characters in the raw value.
Catch erroneous indexes to prevent infinite indexing error and display the count in the workbench/FTS Status View.
Added new config property log_table to workbench/FTS Connection to override the target log table for the fts api requests. No need to add an extra entry for elastic in the workbench/api log config to enable the logging.
CR1001300 : Sort Dashlet list in alphabetical order in Dashlet Manager
CR1001383 : Field Email Recipients - Extract Email Addresses On Paste
Override the paste event on the field email recipient field and extract the email addresses from any text pasted from the clipboard.
CR1001327 : File display name for attachment names in Emails
In the file component of Accounts, whenever a file is edited after upload and a "Display Name" is added to it, it displays the Display Name both in the component as well as when the file is uploaded inside of an E-mail. In case "Display Name" is not added it retains the original file name and displays that.
CR1001487 : remove read icon from text field
removed the text to speech icon from the text field permanently
CR1001409 : Sendtest preview Email from EmailTemplates
it is now possible to sens a test email from the templates editor directly
CR1001324 : System Input Time - Optional Input Added
Optional Input added with the default value of 30
CR1001340 : Text Snippets - Undefined Bug
upon closing the Text Snippets modal without selecting one, undefined would be inserted in the description text area
CR1001457 : Telecockpit improvements
Added Lock Entry functionality
Implemented Socket
Added field complete for fieldset
CR1001346 : Get a hidden mailbox for workflow manager
In the workflow manager the mailbox list is called for workflow task definitions of email. In that specific use the mailbox list should also contain hidden mailboxes. We added the parameter getHidden to the /module/Mailboxes/scope route so that hidden mailboxes can be retrieved when needed.
CR1001472 : GDPR: Logging changes made by process retention job task
It's a feature made mainly for developers and administrators. Its purpose is to enhance the security on data processed by the "processRetention" method.
The Schedulerjob Task processes data depending on filter and the retention type. In order to track, which modules and Beans have been processed by the job task, a new method was created. Inside SpiceGDPRManager, there is now a new public static function which execute tasks, which are necessary after the retention job is done. This function can be customized and adapted to your needs.
The changes made by the schedulerjob task can be saved in the table newly created "sysgdprlogs" table.
CR1001448 : added icon prefix spicecrm:
added a new option to use module icon spicecrm:... the svg is then picked from assets/icons/spicecrm.svg and rendered as module icon. Also added the linkedin logo as example and usage
CR1001337 : update email address relationship instead of deleting
CR1001326 : Sendgrid Enhancements for multi email handling in CRM
CR1001380 : multiemail handling for prospectlists at merge
improved merge functionality to handle multiple email addresses in prospectlists at merge
CR1001481 : added ACL Check for Dashboard menu Item
added an ACL check that the user needs to have list right on the Dashboards to see the Home Menu item
CR1001471 : Text Editor - Removed Video Button
Removed the video button from the text editors, due to incompatibility issue.
Another way to insert a video is by entering the embed source code of a video in the html editor.
CR1001349 : Dictionary Adjustments
Bug fix: link created_by_link duplicate entry in the cache table, when the link definition exists in the dictionary and in the vardefs.
Dictionary Polymorph Label adjusted.
language.service sort by sequence.
DBManager: repair dictionary fix compare db types id, json. Adjusted getFieldType.
Dictionary: polymorph relationship retrieve adjustments. Field rhs_relatename for parent field. Cleanup on repair. Show polymorph on parent in manager.
Added legacy repair vardef relationships on single repair and after package load.
CR1001342 : UserManager can deactivate a user
We added the acl action 'deactivate' for the Users module and added the deactive permission to the User Manager ACL Profile.
CR1001328 : FTS get stats improvements
Added logger when system is trying to get status for a FTS index which does not have a definition in either sysmodules or syscustommodules tables. The developer is asked to check sysmodules/syscustommodules tables and FTS Setup.
CR1001475 : Update to Angular 18
CR1001395 : Frontend Components Adjustments
GlobalNavigationMenuItemActionRoute removed default icon and show icon only if provided.
Added a default action "ROUTE" to the ObjectActionContainerItem maps to the component GlobalNavigationMenuItemActionRoute.
New system component SystemSelectModuleModal that displays the provided module list with icons in a selection modal and emits the selected item.
SystemRoleSelector added a size property for the avatar.
Added a disabled property for an options item in modal.service.prompt.
Package loader fixed disabled flag on the reload loaded packages button.
SystemSelect: display raw value if no option matches. Update the list and display value on content change.
Check validation rules on cancel editing
Calendar dashlet bug fix show my events.
Bug fix: Workflow task sequence error on save.
CR1001394 : Workflow: added an abstract representation of the organizational unit manager
Example 1: As an employee I submit a vacation request that shall be approved by the manager of the organizational unit I belong to.
Example 2: If an opportunity amount is higher 5.000 and the status is negotiation, the manager of the sales department shall be notified per e-mail
CR1001456 : ObjectActionContainer implement changes
ObjectActionContainer build items only if there were changes
CR1001427 : Changes to Telecokpit to add Stats and save Call Attempts
amendments to Telecockpit:
- added the fact that call attempts are saved and displayed on the contact
- added a stat bar at the bottom that displays the records counted based on status
CR1001338 : Sales Docs - New API
Added new API /module/SalesDocs/id/withItems for sales docs to create/update a sales doc with its items and item price conditions.
On update, items that are not included in the request body will be deleted. Existing items will be updated and new items will be created.
CR1000915 : Kanban Manager
Everything needed to create and edit a Kanban view should be moved to the frontend
CR1001444 : aliases for REST routes
Option aliases (array) is now available to add alias routes to defined routes.
[
'method' => 'get',
'route' => '/module/beanName/beanId/sameaddress',
'aliases' => [
'/module/beanName/beanId/related/sameaddress',
],
....
CR1001356 : Refactoring of Travel* modules
TravelReceipts: we made the field travel_id to a parent_id; we removed the fields: amount, totaldistance and distance_unit
TravelSegments: just dates and country. Other fields removed
CR1001496 : SalesDocs New Related Button
Replaced the sales docs new button in subpanel with the new related button to enable the automatic relation between the doc and the parent e.g. account.
CR1001436 : Routes for small screens
added new fields component_medium and component_small to the routes records. If a component for the route and the specific screen size is entered the system will render that component.
Screen sizes are defined as follows:
- width - width - all screens wider than 1024 are considered regular
CR1001455 : CampaignLog enhancements
We now store the modified by user ID in the campaign log record. Needed for Telecockpit feature.
CR1001485 : add type "file" to template compiler
added the type "file" to the template compiler. This will embed the linked file on an object into the template.
CR1001484 : Reporter: render translations of tree values in excel export
Category TRee values are now rendererd on excel export
CR1001363 : Reporter: fix DateRenderer
Setting date renderer in presentation would cause a fatal error when exporting to CSV or MSExcel. Now fixed.
CR1001514 : Cache popupHelp Label
The administrator can define the "labelinputhelper" in the Dictionary Manager. This field was not being written in the "sysdictionaryfields" table, which caused that the "popupHelp" Component didn't show on the corresponding field.
The fix writes the value for "popupHelp" into the cache "sysdictionaryfields" table.
CR1001420 : Html Editor Add Link Fix
Bug fix after adding a link to a text in the editor, the link text is repositioned to the end of the content.
CR1001355 : Scheduler Job Task for VIS Check
a new scheduler job task is now availble that can automated perform UUID Checks against the EU VIES Database. This is based on the module AccountVATIDs
CR1000938 : SpiceImports fix scheduled import with insert will die on duplicate entry
When an import is scheduled and entries always run on a duplicate entry error, the import remains scheduled is not set to error. This shall be corrected.
CR1001477 : added await modal when deleting a record
added an await modal to the delete action. So the user knows the deleting is in progress
CR1001345 : Routes in Workbench Configured for Automatic Redirection
Routes in the Workbench have now been configured so that when the Redirectto is set to a specific route and Pathmatch is set to "full" the module is redirected to the given path automatically. The SQLs for the Database have also been provided in the Additional SQL section of the Change Request.
CR1001467 : Template Editor - Preview With Mailbox Style
Added the selected mailbox stylesheet to the live preview component in the template editor.
Added a new mailbox selector field to the live preview component in the template editor for the modules, which do not have a mailbox_id field e.g. email templates. This enables preview with the selected mailbox stylesheet. Feature is enabled on email templates.
CR1001336 : MSGraph: fix when passing the optional body parameter sync_config.
The parameter was not spelled properly and therefore the value never passed through the controller..
CR1001314 : Action in Convert Database Charset closes the window too early
In the convert charset window, you select the tables the collation of which you want to change. After the click on "Convert tables" the window is closed. We added an indicator on each line to display the processing status.
CR1001401 : DictionaryManager: migrate vardefs to database
Migrated all vardefs previously defined under api/metadata. MIgrated part of the vardefs previsouly defined under api/modules/[module_name]
CR1001476 : added option for default saledoc status
added a new config option for a status_default in the salesdocumenttype. If no status is set this status will be used and can be configured per document Type)
CR1001501 : ACL UI improvements
Minor improvements to frontend components have been made, i.e. the changes made inside a child component are being captured by the parent and/or the sibling components.
CR1001332 : System Input Fieldset - prevent recursion and set default value
when adding the new fieldset in the modal window ( option = select fields) default value of the search input should be the module name
option of adding the fieldset to itself should be disabled
CR1001378 : Calendar - Add Custom Calendars
Add an add button to the calendar view to enable adding custom calendars like birthdays and campaigns.
CR1001181 : Price Determination maintenance Dialog
a maintenance dialog for the configuration of the price determination is added to the admin section allowing to make all required settings configuring the SpiceCRM Pricing Engine
CR1001344 : System Input Label - Expand the search
the component should also be able to search on the values and not just keys
CR1001449 : System Deployment Change Requests - New Field
Added new field additional_sqls to attach additional sqls to the change request
CR1001367 : TextMessages: date_sent not required, but automatically set when sent
CR1001347 : ServiceTickets: make the property $stageFields customizable
When extending ServiceTicket class the private property $stageFields shall be editable. Therefore set to public.
CR1001364 : hasBirthday for Person extending Modules
CR1001462 : Delete functionality for metadata entries
ability to delete actionsets, componentsets, fieldsets and module configuration
CR1001441 : Workbench Adjustments
Actionset manager fix component dropdown field.
Object repository manager added version package fields
CR1001464 : download files with display name
CR1001304 : Render User fieldset for modified by and created by fields
Now implemented for modified by and created by fields
CR1001323 : System Input Cron Expression - Time input on Weekly Recurrence
Added a time input on the weekly recurrence
CR1001522 : Secure date_modified field value in M2MProspectListRelationship
In case the field date_modified is mapped as an additional relationship field, make sure it keeps its value during add relationship process.
CR1001399 : DictionaryDomain: fix BWC get validation name for options property in vardefs
The validation type may contain the deprecated value enum. We added a backwards compatibility check on that value so that such validations can be rendered too.
Questions about this version? Write to us.