Skip to main content

Release

2024.02.001

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.

This is not a cookie banner.Read more