Skip to content

2022

Lime CRM Desktop Client 11.1.2090

Product Lime CRM Desktop Client Version 11.1.2090 Date published 2021-12-16 Platform Windows Availability Manual installation. Notes This was the initial release for 11.1, please use current version for new installations.

Highlighted features

Optimized trashcan operations

Desktop can now gracefully handle scenarios where the trashcan contains literally hundreds of thousands of deleted records.

Asynchronous save for mass updates, including campaign manager

The Desktop Client will build the update locally and save changes to database without locking the user interface. Updates will indicate progress and may be explicitly aborted.

Automatic splitting of batches

Any batch containing more than a server specified default value of records will automatically split into sub-batches that are executed sequentially. This will avoid problems with timeouts and clients effectively blocking the backend during lengthy operations.

Automatic recovery for truncated datablocks

Any datablock returned by server may be truncated at around 64Mb of UTF-8 encoded XML. The Desktop Client will now detect and gracefully handle this also for legacy backend versions. Recovered data will be loaded immediately and remaining data will be block-loaded to avoid further truncation.

Automatic refresh of records after update

This is not really a new feature, but numerous issues effectively disabled updates in many scenarios… One exciting feature is that the parent record will also refresh unless modified locally. Refined handling of active inspector, explorer and controls. Desktop will now automatically guard legacy code in VBA and LBS against misuse of ActiveInspector, ActiveExplorer and ActiveControls. For the most part there should simply be less situations where the code ends up with Nothing/null or unexpected content.

General polyfill mixed content and blobs

Desktop now includes a very general polyfill that essentially should enable policy exceptions for mixed content via any legacy JavaScript API, ie. $.ajax and XmlHttpRequest.

Less reloads for ActionPad

The ActionPad will now reload automatically only after operations that update visual content of the controls or modified state.

Cached descriptions

Desktop now includes a client-side cache for descriptive information. This will reduce number of server requests where only an single field of a single object is loaded, effectively reducing number of request when creating a new record by 50%.

Client-side defaults and backend ID

Desktop will now evaluate client-side defaults without implicit dependencies for backend generation of permanent ID. Permanent backend ID will be generated when needed. Essentially this will resolve multiple issues where solutions depended on bugs in client-side handling of dates to force backend evaluation which implicitly resulted in permanent ID.

Improved error messages

Error messages for updates now includes details on how to resolve common configuration errors, especially related to “SQL on update” and “Update on relation change”.

Optimized queries

The query builder will now build filters that run faster in the SQL-server, mostly by avoiding extensive usage of nested queries.

Missing VBA

Desktop now includes an elaborate workaround for situations where VBA has been uninstalled. Essentially desktop will detect that VBA is missing even before login and silently reinstall VBA in the background before the user even notice. This silent repair runs via our system-level service for automatic upgrades and is faster and more robust than previous repaired based on our full installer.

Human readable access to configuration

Desktop is based on three major configuration sources: LISA, VBA and ActionPads. Most details are hidden in the backend and only accessible via custom tooling, until now. Desktop will now automatically export details to a local folder structure in Windows-user’s profile. This initially targets these major scenarios:

  • Human readable and text searchable access

  • Text level comparison between versions and solutions, ie using WinMerge or similar.

  • Suitable for source code management, ie check into GitHub

  • Easily exportable without any data, ie ZIP the folders and share with developer or support.

Features

  • Added external API support for async updates.

  • General support for WebView2 specific content using “_wv2”-suffix for files.

  • Extended tracking capabilities to follow requests through the entire stack to enable effective diagnostics to find problems and identify performance issues:

    • Trace id embedded in XML to LDC
    • Data structure timestamp included in queries
    • Filter metadata (ie name, description, etc) included in backend request.
  • Dynamic switching between WebView2 and IE/WebBrowser. The UI-description still says that restart is required, but generally switching is now instant, which should make testing both easier.

  • Added icon to explorer column headers for related content. If nothing else this indicator should reduce risk of confusing ID columns for the class and relations, which has been the root for some very strange errors.

  • Improved developer experience for VBA

    • Automatic file export of VBA during save, see separate note in “Human readable access to configuration”.
    • Internal VBA storage format is now automatically consolidated on save, which effectively resolves some issues with stale references and ever-growing VBA-blobs.
    • Uploading VBA is now done async in background, ie after saving you can continue working in desktop immediately.
    • Refined error handling for saving and updating VBA in backend.
    • Automatic call to VBA ThisApplication.Setup method after save to reenable integrations.
  • Refined automatic handling of date filters applied to timestamp columns, including related. This has been partially supported since 11.0.

    • “Date ⇐ timestamp” will be converted to “Date < nextDay(timestamp)”
    • “Date = timestamp” will be converted to “Date > timestamp AND Date < nextDay(timestamp)”
  • Refined handling of record field values

    • Adding items via list will now set owner field also when not visible in list.
    • Updated field values for records will be saved also then not included in fields-collections, including defaults for new records.
    • Related field values are now read-only.
    • Related field values will not be included in backend updates.
  • Status bar indication of VBA execution. This will help us track VBA bottlenecks since any VBA method causing the desktop to hang will be clearly exposed in screenshots.

  • All callbacks are suppressed while debugging VBA to avoid unexpected behavior.

Improvements

  • Improved robustness for COM marshalling. Previous versions were heavily dependent on fully correct COM registrations for itself, MS Office and other integrated systems. Well-known interfaces are now included in our manifests for registration free COM.

  • Improved robustness for integration with MS PowerPoint Fixed stability problems related to closing and uploading updated documents.

  • Improved robustness for embedded addins All embedded addins now include robustness fixes to reduce risk for causing desktop to crash due to minor errors.

  • Improved robustness for failed backed feature detection.

  • Timezone handling will use reasonable default

  • Retry for FileAPI detection

  • Application.DisplayAlerts will now return false if the user has been inactive for more than 10 minutes.

  • Dialogs are no longer explicitly suppressed for timers to enhance compatibility with legacy VBA/LBS-solutions

  • General support for multithreaded usage of LDE.

  • Refined internal handling of option-fields.

  • Refined internal handling of pools

    • Full support for union operations.
    • Unified API support for records
  • Refactored internal handling of API timers, ie Application.SetTimer and Application_Timer.

    • Only handlers in the same Win32 module will receive callbacks, reducing risk/problems related to event handlers failing to filter incoming calls by ID.
    • IDs are now only required to be unique per Win32 module, reducing risk/problems related to conflicting IDs.
    • Timers are automatically destroyed when all related handlers have been disconnected, reducing problems with ever-growing number of orphaned timers due to omitted calls to stop timers.
    • Timers added during a modal call will now trigger for the duration of that call, effectively to support usage of timers in modal VBA forms. Remaining timers will still be suppressed to avoid stability problems.
  • Improved performance for evaluation of VBScript based formulas.

  • Improved performance when opening inspector from explorer record where all fields are includes.

Fixes

  • Updated branding for integration with Dun & Bradstreet OneByOne

  • Improved support for Actionpad content using UTF-16

  • Improved error details for many areas:

    • File operations
    • Filter errors
    • Shell operations
  • Improved stability

    • Worked around stability problem caused by internal conflicts between custom message filters installed separately by VBA, MFC and .Net.
    • Resolved lifetime issues due to lingering COM references.
    • Fixed stability issue after aborting Inspector_BeforeShow, mostly seen for solutions with OpenedBy.
  • Refined suppression of dialogs when user inactive.

  • Compatibility workarounds to allow updates to link-fields that due to backend bugs are marked as inaccessible for the current user.

  • Fixed issues when copying records and cached descriptives acting up.

  • Fixed issue where the VBA silently ignored COM events when a modal was showing.
  • Fixed a compatibility issue for Record.Refresh/RefreshField in situations when values had changed without the timestamp being updated.

Lime CRM Desktop Client 11.1.2160

Product Lime CRM Desktop Client Version 11.1.2160 Date published 2022-02-01 Platform Windows Availability Manual installation and Automatic Updates. Notes This version is not recommended for installation, please use current build for upgrade or new install.

Fixes

  • Apply signcode to Redemption modules to avoid false detection by anti-virus software.
  • Control should display current value, not last saved value.
  • Removed workaround for now fixed bug in WebView2.
  • Improved performance for localization loaded via VBA.
  • Switched to async model for loading local content in WebView2.
  • Improved rendering behaviour for inspector tabs and controls, most notable in Windows 11.
  • Fixed problem with automatic activation of new tabs.
  • Fixed problems with automatic linking for new documents create from sent emails.
  • Fixed problem with JS Proxy.set for strict-mode.
  • Refactored internal handling of explorer tabs in inspectors to fix problems related to hiding the last visible tab.
  • Compatibility improvement, Property(“Pool”) now yields Nothing (not Empty) when not set.
  • Unified file-size handling
  • Fixed compatibility problem with handling of invalid filters, now query results should be identical compared to old versions.
  • Default to visible footer also for currency columns.
  • ActiveUser.Record.ID should default to 0 if coworker-record is missing. Also handle alternative access via localname.
  • Accept trailing (garbage) in error messages.
  • Fixed rare crash due to division by zero in font calculations. Use application window for DPI calculations, default to desktop window. And use 96 if calculation yields 0.
  • Gracefully handle objects for Condition.Value to validating IPersistStream or using DISPID_VALUE. This is effectively a workaround for issues with conditions that include options.
  • Fixed reference leak for SAFEARRAY triggered by errors during save.
  • Fixed crash for situations where value formatting yields empty string.
  • Fixed potential reference leak for creating inspectors that are never shown and not explicitly closed.
  • Skip invalid fields when copying records.
  • Include candidate value in validation message for option fields.
  • Unified handling of Explorer.ActiveItem between filtering, sorting and refresh.
  • Fixed bug where Explorer.Refresh cleared selection.
  • Worked around compatibility problems for chunked string concatenation.
  • Compatibility: Only merge un-named subfilters due to implied complexity with multiple joins may result in performance and scalability problems when multiple filters are OR:ed together.
  • Removed customized support for macro-enabled Excel formats due to issues with COM/Automation access to content. Formats still supported via basic filetype handling.
  • Improved robustness for errors during template replacement.
  • Trim illegal characters from field alias.
  • Distinguish missing references from broken.
  • Added label to sub-menus for fields to make navigation in deep hierarchies less confusing.
  • Refined width calculations for formatted context menus to better support scaling (custom DPI)
  • Added support for Database.DelayedUpdate via Application.RunEx.
  • Compatibility fix to support reusing batches as shown in VBA example. This previously mostly worked due to some bugs in the event handling.
  • Explicitly remove all lingering migration modules for Lime Easy.
  • Extended detection of missing references to better understand VBA compilation errors.
  • Ensure explorers are invalidated after changing associated records. This will resolve problems where “wrong” list appears until explorer is redrawn for other reasons.
  • Fixed crashes during shutdown due to invalid references.
  • Avoid redundant refresh for WebBar during initial load and close.
  • Avoid redundant load of existing datasources.
  • Worked around problem with redundant refresh during initial navigations.
  • Added link to DebugView in Help-menu.
  • Use explicit CLSCTX-parameters to avoid problems with partially broken COM-registrations combined with reg-free and packaged COM. Essentially InprocHandler32 in Registry may hide actual registrations from other models, which cause headache for MS Office 365, and may lead to future problems for any object.
  • Store classname in member to avoid accessing XML during shutdown when i may have been destroyed by owning parent.
  • Added rate-limit for Record.Refresh to avoid redundant (partial) reloads within 500ms after full reload.
  • Filter Refresh-events per Record.Generation to limit UI updates.
  • Unified key lookup for set- and option-fields.
  • Fixed compatibility bug for filtering empty set-fields.
  • Log which control triggered the refresh.
  • Fixed problem where column filter is not applied if dialog is closed before WM_CHANGED have been processed.

Lime CRM Desktop Client 11.1.2252

Product Lime CRM Desktop Client Version 11.1.2252 Date published 2022-03-03 Platform Windows Availability Manual installation and Automatic Updates.

Fixes

  • Fixed compatibility problem with XmlHttpRequest where the handling for mixed-content resulted in slightly different semantics for specific callbacks primarily seen as race-conditions with unexpected values for readyState.
  • Fixed bug where specific Lime-windows became unresponsive after closing VBA Forms. Root cause: Missing propagation of WM_ENABLE in one call path which resulted in race-conditions when modal dialogs are closed.
  • Fixed problems with automatic upgrade where the downloaded binary was deleted due to unexpected backend response. Note: Fix will improve stability when upgrading from this version.
  • Worked around problems with conflicting filenames if drag-n-drop include multiple items with identical name but different content.
  • Refactored rendering and layout to workaround rendering bug in WebView2 where primary symptoms was extreme latency for any inter apartment communication using COM marshaling due to infinite flood of WM_PAINT messages.
  • Restored compatibility: Mark and activate new item in parent explorer after save and close.
  • Restored compatibility: Exclude timepart if not set for dates in LDC queries.
  • Support custom timeout for Filter.HitCountAsync to better handle crazy slow backend queries using addon_infotiles 4.9.5 or later. Primary recommendation is to fix underlying problem in backend, anything over 500 ms will have serious user impact in legacy InfoTiles.
  • Updated to Sentry 0.4.15 to resolve performance issues.
  • Fixed problem with lingering Excel-processes after failed integration. If COM-API fails the process will now be explicitly killed after reasonable grace period to avoid warnings about read-only mode or document restore.
  • Fixed compatibility problem in document handling seen for table templates where removing files may result in corrupted documents.
  • Restored compatibility: Use legacy modified check in VBA eventhandlers (ie. Controls_AfterSave) for Controls.Modified to support legacy code that assume modified flags to persist after saving.
  • Fixed bug in communication layer where failed requests may result in two more attempts than specified max, which is particularly bad if specified max was one single attempt. Note: This may reduce problems with deadlocks for heavily loaded environments where communication level timeout may result in unexpected reties for expensive operations.
  • Restored compatibility: Infotile queries that include reference to trashcan should now work. Note: Trashcan is not its own table in backend which has implications related to alias handling and performance. Bug was introduced when LDC query was modified to benefit from existing backend optimizations. General recommendation is to avoid any joins (ie. filters and related fields) that involve trashcan since that may result in huge performance loss and unexpected results.
  • Restored compatibility: Ensure controls for fields marked as limereadonly are treated as editable and locally modified internally when updated via API. User appearance is still read-only, ie. visible but disabled. Problems was mostly seen in combination with addons that relies heavy on various Refresh-methods (ie. dynamic checklist)
  • Resolved compatibility problem for Record.CreatedBy when new record is created without backend. Previous versions had a bug that forces backend creation, which had side-effects which some VBA depend on. This resolves many issues related to adding new documents and history notes in old VBA-rich solutions.
  • Resolved compatibility problem for Filter.Add. Previous versions allows any COM-variant to be added to the filter due to a bug in the argument validation. Some legacy VBA use the Filter-object as a generic collection. This feature is now restored by essentially removing argument validation.
  • Updated default update channel to enable progressive roll-out for next release
    • For Cloud (ie. *.lime-crm.com): Stable
    • For on-prem: Mature
  • Fixed bug in Record.Copy, Record.CopyTo, Records.Copy and Records.CopyTo that caused owner record not to update properly. This resolves problems with VBA copying (template) records between lists.
  • Fixed bug in asynchronous update for documents, the internal handling is now more robust for situations where the file-id is not available when copying documents. This resolves bugs where batch adding documents failed to include the actual file contents when using the modern File-API.
  • Improved robustness for hit counting, this should reduce problems with dimmed tabs after adding first record.
  • Improved robustness for (VBA) eventhandlers for Inspector.AfterSave that call Inspector.Save, which will trigger Inspector.AfterSave again.
  • Improved robustness for accessing User-object (ie. Record.CreatedBy, Record.UpdatedBy, Record.User) in situations where the actual user have been removed from Lime CRM. The API will now return a dummy object to avoid problems with NULL/Nothing.
  • Improved robustness for backend modification of saved values during update, ie. situations where desktop saves fields and that in turn triggers updates for other fields or does not even update the saved fields.
  • Fixed alias problem with multiple join-paths. Should resolve some problems with “element not found”.
  • Fixed occasional problem where installation does not upgrade all DLLs. The root cause relate to missing version information for the modules. It is very unclear under what situations modules are not properly upgraded, but ZIPed installation folders from customers clearly show this is the case.
  • Worked around race-conditions in WebView2 during initial load that caused ActionPad to use “about:blank” instead of intended LBS-based content.
  • Fixed problems with recommendedDesktopVersion referring to new build that made publicly available.
  • Fixed problems with “Ambiguous column name” for complex filters and views. Root cause is missing table specifications for descriptive expressions. For compatibility desktop will now share join paths between filters and views if identical.
  • Fixed problem with debug show if the same LBS-app is loaded multiple times. Root cause was race-conditions in LBS, previously hidden by different loading timings.
  • Fixed problem with 0 (zero) values instead of NULL for fields with numeric formatting that yield empty string for 0.
  • Improved compatibility for legacy VBA that modify data via Controls.SetValue or Control.Value, but commit changed using Record.Update. Root cause was race-conditions between window messages and COM calls.
  • Fixed problem where ActionPad-folder was not properly updated during initial login. Root cause was compatibility problems between XceedZip and WebView2 running in same STA (COM apartment).
  • Fixed memory leak for VBA when loaded with warnings.
  • Fixed rendering crash seen via Sentry
  • Fixed bug where the inspector is automatically saved when opening inspector via relation field
  • Improved visual indication of empty tabs in inspector
  • Fixed problem with publishing ActionPads due to compatibility problems between XceedZip and WebView2 running in same STA.

Lime CRM Desktop 11.0.1689

Product Lime CRM Desktop Version 11.0.1689 Date published 2021-06-15 Platform Windows Availability Manual installation and Automatic Updates.

Important Changes

🕸️ WebView2

We have replaced Internet Explorer! As default, Lime CRM Desktop now embed web content using Microsoft Edge WebView2.

  • Improved performance and stability
  • Easier development and troubleshooting
  • Open up the door to modern customizations and add-ons

🔫 Lime Bootstrap

We recommend to use Lime Bootstrap 1.12 since this is the version used when developing and testing Lime CRM Desktop 11.0. LBS 2 or 3 (beta releases) are not supported.

🛠️ VBA Compiler

Compiling VBA will now reveal more errors.

  • Improved stability
  • Easier development and troubleshooting

Features

🔐 Login with Azure AD

Support for Azure AD while login. Previously released for the web client only and thanks to WebView2 now also possible in the desktop client.

🐞 Crash Dumps to Find Bugs

We can now collect crash dumps. Alla data is saved on our server, we don't save any sensitive data and logs will only be saved for a limited time. Everything to make sure it's GDPR compliant.

  • Easier to find bugs
  • Easier troubleshooting

🔧 Sending crash dumps is on by default. It's possible to turn off in windows registry.

HKEY_CURRENT_USER\Software\Lundalogik\Lime\UsageFeedback 
Disable = DWORD(0|1)
HKEY_LOCAL_MACHINE\Software\Lundalogik\Lime\UsageFeedback
Disable = DWORD(0|1)

Improvements

📋 Detailed Error Messages

Error messages will provide more details. This will make it easier to fix problems.

  • Refined error dialog
  • Preserve error details
  • Additional details from previous errors

🔃 Loading of Data

In most cases data will now load asynchronously. This will prevent the desktop client from freezing when large amounts of data is loaded. So you can keep on working with other stuff while waiting for data to load.

▶️ Installation and Automatic Updates

  • Fixed known issues with VBA
  • Added missing dependencies

⏰ Date and Time Formats

The client APIs now has general support for date and time formatted according to ISO8601.

♾️ Support for long paths

Previous versions had an internal limit of total 256 characters. This limitations has now been removed for most usage scenarios.

📂 Open Linked Files

General support for opening linked files have been improved to workaround known issues:

  • Images (GIF, PNG, JPEG, etc.) now opens correctly in Windows
  • PDFs are tracked for multi-tab viewers
  • Temporary files are valid minimum 10 seconds or until associated program is closed
  • Files opened via separate launcher are now tracked via Window-title instead of associated process

📉 Scalability and Performance

  • Reduced memory usage
  • Multithreaded workload
  • Doubled available memory

⚙️ Backend Integration

  • Manage session and cookies between different HTTP-stacks
  • Preserve error details from business logic, server and database
  • Binary back-off when retrying operations
  • Better handling of intermittent backend errors
  • Better handling of unexpected results

📥 Transfer Selection

Now possible to transfer selection to tabs that are not visible.

Bugfixes

🌞 Stability

Over 100 code paths that previously caused the application to crash are now fixed.

📄 Convert Multiple Documents to PDF

Fixed bug where it was not possible to convert multiple documents to PDF.

✂️ Copy Special

Fixed bug where copy special included more records than the selected ones.

Lime CRM Desktop Client 11.0.1858

Product Lime CRM Desktop Client Version 11.0.1858 Date published 2021-09-16 Platform Windows Availability Manual installation.

This Lime CRM Desktop Client release is a stability, performance and bug-fix update.

Features

  • Added support for filters on readonly fields.
  • Increased support for dynamic menu items to 999

Improvements

  • Updated UserAgent to enable dual login between desktop and updated Chromium-browser.
  • Improved robustness for footer sum calculations.
  • Improvements to make event listeners less error prune during cleanup.
  • Use async call to ShellExecuteEx.
  • Refined indication of pending states for explorer.
  • Updated default value handling for new records
  • Use limited trust for login dialog.
  • Added error handling for checking document read-only status.
  • Added recommendation to verify LDC in backend for 501 Not Implemented.
  • Added specific handling for deadlock-errors reported by database.
  • Added diagnostic logging for shortcut keys.
  • Improved compatibility from iframe by setting position:absolute if height=100%
  • Clear old error messages on reload.
  • Ensure filter is applied before navigating to active item.
  • Use more specific error code for argument validation errors.
  • Updated URL generation to use proper schema delimiter
  • Added database-level setting for general timeout (features.databaseTimeout) that is propagated to all legacy database access.
  • Unified explicit timeout values for backend to 60s.
  • Improved robustness for embedded XML.
  • Display warning instead of crash when document is missing.
  • Added support for JSON as “application/json+hal.
  • Added explicit logging for retried requests, not only based on ellapsed time and threshold.
  • Added general support for using “getdate()” to generete local timestamp.
  • Warn about VBScript in LBS apps.
  • Unified parsing and formatting for date/time to support timestamps < 1900.
  • Improved error handling and robustness to better handle compatibilty due to race conditions when accessing control values when underlying window is destroyed.
  • Extended general error handling for mixed content compatibility handling.
  • Switched to updated helpers for timezone adjustments to unify truncation, support time-only and avoid errors for timestamp around 1899. Also fixed rounding errors that caused timestamps to change +-1 minute during adjustments.
  • Set thread description if supported to simplify debugging multithreaded operation.
  • Added backward compatibility fix for access control when updating linked fields, including setting (features.enforceAccessControlForLinkedFields) and logging via Sentry.
  • Refactored timezone adjustments to better support time only.
  • Added binary signing for automatic updates.
  • Improved robustness in UI calculations for popup date/time-selector.
  • Extended error details and logging for VBA problems.
  • Slightly reduce memory footprint after deleting records.
  • Added user options for controlling SSO and clearing caches from login dialog.
  • Handle old servers that does not include self-reference URI.

Fixes

  • Fixes for eventhandling and lookup by name.
  • Fix to enable block loading for unlimited page size.
  • Fixed crash when opening document via related field.
  • Fix for cookie management to reduce problems with expired sessions.
  • Fix for problem with option and set fields without default value.
  • Fixed regression bug where document was opened read-only.
  • Fixes slashes in LimeLinks.
  • Fixes for handling configuration problems related to default values.
  • Fixed stability problems for Outlook integration related to missing error handling for event listeners.
  • Fixed bug in Application.ActiveControls that may result in strang side-effects when closing the active inspector.
  • Fixed potential threading issue for monitoring documents.
  • Avoid general trace helpers not to overwrite last error during processing.
  • Fixed bug in trimming for server name.
  • Fixed bug in generel trimming for COM-strings.
  • Worked around problems with async loading for mixed content due to race-conditions for callbacks in WebView2.
  • Fixed compatibility problem for loading local content via $.ajax via relative paths.
  • Handle formatting for multiple tabs.
  • Refactored async updated for singular records to avoid memory leak.
  • Fixed memory leak and internal state corruption.
  • Fixed potential memory leak and state corruption due to lingering async operation.
  • Fixed bug in numbering related to selection handling.
  • Fixed stability problem for adding records to empty explorer.
  • Fixed multiple stability problems for explorer when updating records.
  • Exclude port if default from Host-header to avoid 503-response from buggy backend server version (nginx/1.15.3.1).
  • Fixed bug where records with same ID but different class (limetype) may be removed from lists when any record sharing ID is deleted.
  • Fixed problem with delay during shutdown.
  • Fixed problem with custom ports for proxies.
  • Fixed problem with sorting applied to count-queries.
  • Set active item according to sorting for all temporal types.
  • Unordered List ItemWorkaround problems when backend send empty display_name for database.
  • Fixed regession bug related to groups in groups.
  • Fixed regression bug where vbscript:-prefix is not handled for template tags.
  • Fixed bug where coloring for out-of-range percentages is different between list and card.
  • Fixed bug in support for nested markers in formatting expressions due to changed semantics for field lookup.
  • Ignore general database timeout for procedures called via API.
  • Fixed problem with multiple invokations for window.load
  • Suppress non-interactive calls to VBA when user is idle, should effectively stop reload for info tiles when user is not active.
  • Added workaround for bug in LDC where any error results in empty response with “200 OK”.

Lime CRM Desktop Client 11.0.1876

Product Lime CRM Desktop Client Version 11.0.1876 Date published 2021-09-17 Platform Windows Availability Manual installation and Automatic Updates.

This Lime CRM Desktop Client release is a stability, performance and bug-fix update.

Features

  • Added support for filters on readonly fields.
  • Increased support for dynamic menu items to 999
  • Added support for editing and printing EML-files.

Improvements

  • Updated UserAgent to enable dual login between desktop and updated Chromium-browser.
  • Improved robustness for footer sum calculations.
  • Improvements to make event listeners less error prune during cleanup.
  • Use async call to ShellExecuteEx.
  • Refined indication of pending states for explorer.
  • Updated default value handling for new records
  • Use limited trust for login dialog.
  • Added error handling for checking document read-only status.
  • Added recommendation to verify LDC in backend for 501 Not Implemented.
  • Added specific handling for deadlock-errors reported by database.
  • Added diagnostic logging for shortcut keys.
  • Improved compatibility from iframe by setting position:absolute if height=100%
  • Clear old error messages on reload.
  • Ensure filter is applied before navigating to active item.
  • Use more specific error code for argument validation errors.
  • Updated URL generation to use proper schema delimiter
  • Added database-level setting for general timeout (features.databaseTimeout) that is propagated to all legacy database access.
  • Unified explicit timeout values for backend to 60s.
  • Improved robustness for embedded XML.
  • Display warning instead of crash when document is missing.
  • Added support for JSON as “application/json+hal.
  • Added explicit logging for retried requests, not only based on ellapsed time and threshold.
  • Added general support for using “getdate()” to generete local timestamp.
  • Warn about VBScript in LBS apps.
  • Unified parsing and formatting for date/time to support timestamps < 1900.
  • Improved error handling and robustness to better handle compatibilty due to race conditions when accessing control values when underlying window is destroyed.
  • Extended general error handling for mixed content compatibility handling.
  • Switched to updated helpers for timezone adjustments to unify truncation, support time-only and avoid errors for timestamp around 1899. Also fixed rounding errors that caused timestamps to change +-1 minute during adjustments.
  • Set thread description if supported to simplify debugging multithreaded operation.
  • Added backward compatibility fix for access control when updating linked fields, including setting (features.enforceAccessControlForLinkedFields) and logging via Sentry.
  • Refactored timezone adjustments to better support time only.
  • Added binary signing for automatic updates.
  • Improved robustness in UI calculations for popup date/time-selector.
  • Extended error details and logging for VBA problems.
  • Slightly reduce memory footprint after deleting records.
  • Added user options for controlling SSO and clearing caches from login dialog.
  • Handle old servers that does not include self-reference URI.
  • Ignore certificate warnings for well-known hosting providers (ie. *.lime-crm.com, *.idenet.se)
  • Added annotations for built-in print screen.

Fixes

  • Fixes for eventhandling and lookup by name.
  • Fix to enable block loading for unlimited page size.
  • Fixed crash when opening document via related field.
  • Fix for cookie management to reduce problems with expired sessions.
  • Fix for problem with option and set fields without default value.
  • Fixed regression bug where document was opened read-only.
  • Fixes slashes in LimeLinks.
  • Fixes for handling configuration problems related to default values.
  • Fixed stability problems for Outlook integration related to missing error handling for event listeners.
  • Fixed bug in Application.ActiveControls that may result in strang side-effects when closing the active inspector.
  • Fixed potential threading issue for monitoring documents.
  • Avoid general trace helpers not to overwrite last error during processing.
  • Fixed bug in trimming for server name.
  • Fixed bug in generel trimming for COM-strings.
  • Worked around problems with async loading for mixed content due to race-conditions for callbacks in WebView2.
  • Fixed compatibility problem for loading local content via $.ajax via relative paths.
  • Handle formatting for multiple tabs.
  • Refactored async updated for singular records to avoid memory leak.
  • Fixed memory leak and internal state corruption.
  • Fixed potential memory leak and state corruption due to lingering async operation.
  • Fixed bug in numbering related to selection handling.
  • Fixed stability problem for adding records to empty explorer.
  • Fixed multiple stability problems for explorer when updating records.
  • Exclude port if default from Host-header to avoid 503-response from buggy backend server version (nginx/1.15.3.1).
  • Fixed bug where records with same ID but different class (limetype) may be removed from lists when any record sharing ID is deleted.
  • Fixed problem with delay during shutdown.
  • Fixed problem with custom ports for proxies.
  • Fixed problem with sorting applied to count-queries.
  • Set active item according to sorting for all temporal types.
  • Unordered List ItemWorkaround problems when backend send empty display_name for database.
  • Fixed regession bug related to groups in groups.
  • Fixed regression bug where vbscript:-prefix is not handled for template tags.
  • Fixed bug where coloring for out-of-range percentages is different between list and card.
  • Fixed bug in support for nested markers in formatting expressions due to changed semantics for field lookup.
  • Ignore general database timeout for procedures called via API.
  • Fixed problem with multiple invokations for window.load
  • Suppress non-interactive calls to VBA when user is idle, should effectively stop reload for info tiles when user is not active.
  • Added workaround for bug in LDC where any error results in empty response with “200 OK”.
  • Fixed rare crash when building view for records.
  • Fixed rendering bug in explorer embedded in dialogs.
  • Fixed crash during cleanup related to Inspector.Close
  • Fixed problem with list edit for fields with alias.

Lime CRM Desktop Client 11.0.1996

Product Lime CRM Desktop Client Version 11.0.1996 Date published 2021-10-11 Platform Windows Availability Manual installation.

This Lime CRM Desktop Client release is a stability, performance and bug-fix update.

Features

  • Support for looking up fields by relation.
  • Support for customizing export filename.
  • Support for setting PageSize in search dialog.
  • Support for separate implementation per file for WebView2, enabling use of modern Javascript and improved asynchronous loading.
  • Support for automatic handling of truncated data from backend.

Improvements

  • Updated WebView2 SDK.
  • Robustness fixes for error handling.
  • Internal handling of limelinks to enhance compatibility with IE/WebBrowser.
  • Improved error messages for installer signature errors.
  • Unified timeout handling for length updates.

Fixes

  • Fixes for document handling for multitab editors.
  • Fix for focus problems in HTML-UI after dismissing modal script dialog.
  • Added MS suggested workaround for problems with msForceBrowserSignIn
  • Regressing bug for VBScript in text shortcuts.
  • Fix for crash in tab handling.
  • Fix for race-conditions in timezone handling.
  • Fix for crash if PowerPoint or Excel integration fails to checkin file.
  • Compatibility fix for invalid arguments in Records.Open
  • Fix for problem with empty log messages.
  • Fix for race-conditions when switching view.
  • Fix for keyboard navigation for option-fields.
  • Fix for problems with PreTranslateMessage in desktop dialogs opened from modal VBA Forms.
  • Stability fix to prevent MFC-subclassing for VBA IDE and hidden .Net frames.
  • Compatibility fix for ignoring access rules for linked fields.
  • Fix for formatting problem in view dialog.
  • Fix for Records.Open that triggered bug in Records.Copy
  • Compatibility extensions for Lime.HttpRequest to handle more generic problems with mixed contents on custom code.
  • Compatibility fix for empty default values for options to avoid problems with NULL in legacy VBA code.
  • Fixed bug in IDispatch for LDCQuery that broke usage from JS.
  • Fix for problems with filters for time-fields.
  • Fix for parsing error in Record.Eval.
  • Stability fix for crash in related records.
  • Fix for problem where documents opened via related field always are read-only.
  • Compatibility fix for local default values.
  • Fix for Inspector.Class as null-reference.
  • Fix for problem with Application.Active*
  • Fix for incorrect formatting in error dialogs.
  • Fix for missing prompt-argument.

Lime CRM Desktop Client 11.1.2090

Product Lime CRM Desktop Client Version 11.1.2090 Date published 2021-12-16 Platform Windows Availability Manual installation.

Highlighted features

Optimized trashcan operations

Desktop can now gracefully handle scenarios where the trashcan contains litterally hundres of thousands of deleted records.

Asynchronous save for mass updates, including campaign manager

The Desktop Client will build the update locally and save changes to database without locking the user interface. Updates will indicate progress and may be explicitly aborted.

Automatic splitting of batches

Any batch containing more than a server specified default value of records will automatically split into sub-batches that are executed sequentially. This will avoid problems with timeouts and clients effectively blocking the backend during lengthly operations.

Automatic recovery for truncated datablocks

Any datablock returned by server may be truncated at around 64Mb of UTF-8 encoded XML. The Desktop Client will now detect and gracefully handle this also for legacy backend versions. Recovered data will be loaded immediately and remaining data will be block-loaded to avoid further truncation.

Automatic refresh of records after update

This is not really a new feature, but numerous issues effectively disabled updates in many scenarios… One exciting feature is that the parent record will also refresh unless modified locally. Refined handling of active inspector, explorer and controls. Desktop will now automatically guard legacy code in VBA and LBS against missuse of ActiveInspector, ActiveExplorer and ActiveControls. For the most part there should simply be less situations where the code ends up with Nothing/null or unexpected content.

General polyfill mixed content and blobs

Desktop now includes a very general polyfill that essentially should enable policy exceptions for mixed content via any legacy JavaScript API, ie. $.ajax and XmlHttpRequest.

Less reloads for ActionPad

The ActionPad will now reload automatically only after operations that update visual content of the controls or modified state.

Cached descriptions

Desktop now inludes a client-side cache for descriptive information. This will reduce number of server requests where only an single field of a single object is loaded, effectively reducing number of request when creating a new record by 50%.

Client-side defaults and backend ID

Desktop will now evaluate client-side defaults without implicit dependencies for backend generation of permanent ID. Permanent backend ID will be generated when needed. Essentially this will resolve multiple issues where solutions depended on bugs in client-side handling of dates to force backend evaluation which implicitly resulted in permanent ID.

Improved error messages

Error messages for updates now includes details on how to resolve common configuration errors, especially related to “SQL on update” and “Update on relation change”.

Optimized queries

The query builder will now build filters that run faster in the SQL-server, mostly by avoiding extensive usage of nested queries.

Missing VBA

Desktop now includes an ellaborate workaround for sitautions where VBA has been uninstalled. Essentially desktop will detect that VBA is missing even before login and silently reinstall VBA in the background before the user even notice. This silent repair runs via our system-level service for automatic upgrades and is faster and more robust than previous repaired based on our full installer.

Human readable access to configuration

Desktop is based on three major configuration sources: LISA, VBA and ActionPads. Most details are hidden in the backend and only accessible via custom tooling, until now. Desktop will now automatically export details to a local folder structure in Windows-user’s profile. This initially targets these major scenarios:

  • Human readable and text searchable access

  • Text level comparison between versions and solutions, ie using WinMerge or similar.

  • Suitable for source code management, ie check into GitHub

  • Easily exportable without any data, ie ZIP the folders and share with developer or support.

Features

  • Added external API support for async updates.

  • General support for WebView2 specific content using “_wv2”-suffix for files.

  • Extended tracking capabilities to follow requests through the entire stack to enable effective diagnostics to find problems and identify performance issues:

    • Trace id embedded in XML to LDC
    • Data structure timestamp included in queries
    • Filter metadata (ie name, description, etc) included in backend request.
  • Dynamic switching between WebView2 and IE/WebBrowser. The UI-description still says that restart is required, but generally switching is now instant, which should make testing both easier.

  • Added icon to explorer column headers for related content. If nothing else this indicator should reduce risk of confusing ID columns for the class and relations, which has been the root for some very strange errors.

  • Improved developer experience for VBA

    • Automatic file export of VBA during save, see separate note in “Human readable access to configuration”.
    • Internal VBA storage format is now automatically consolidated on save, which effectively resolves some issues with stale references and ever-growing VBA-blobs.
    • Uploading VBA is now done async in background, ie after saving you can continue working in desktop immediately.
    • Refined error handling for saving and updating VBA in backend.
    • Automatic call to VBA ThisApplication.Setup method after save to reenable integrations.
  • Refined automatic handling of date filters applied to timestamp columns, including related. This has been partially supported since 11.0.

    • “Date ⇐ timestamp” will be converted to “Date < nextDay(timestamp)”
    • “Date = timestamp” will be converted to “Date > timestamp AND Date < nextDay(timestamp)”
  • Refined handling of record field values

    • Adding items via list will now set owner field also when not visible in list.
    • Updated field values for records will be saved also then not included in fields-collections, including defaults for new records.
    • Related field values are now read-only.
    • Related field values will not be included in backend updates.
  • Status bar indication of VBA execution. This will help us track VBA bottlenecks since any VBA method causing the desktop to hang will be clearly exposed in screenshots.

  • All callbacks are suppressed while debugging VBA to avoid unexpected behavoiur.

Improvements

  • Improved robustness for COM marshalling. Previous versions were heavily dependent on fully correct COM registrations for itself, MS Office and other integrated systems. Well-known interfaces are now included in our manifests for registration free COM.

  • Improved robustness for integration with MS PowerPoint Fixed stability problems related to closing and uploading updated documents.

  • Improved robustness for embedded addins All embedded addins now include robustness fixes to reduce risk for causing desktop to crash due to minor errors.

  • Improved robustness for failed backed feature detection.

  • Timezone handling will use reasonable default

  • Retry for FileAPI detection

  • Application.DisplayAlerts will now return false if the user has been inactive for more than 10 minutes.

  • Dialogs are no longer explicitly suppressed for timers to enhance compatibility with legacy VBA/LBS-solutions

  • General support for multithreaded usage of LDE.

  • Refined internal handling of option-fields.

  • Refined internal handling of pools

    • Full support for union operations.
    • Unified API support for records
  • Refactored internal handling of API timers, ie Application.SetTimer and Application_Timer.

    • Only handlers in the same Win32 module will receive callbacks, reducing risk/problems related to event handlers failing to filter incoming calls by ID.
    • IDs are now only required to be unique per Win32 module, reducing risk/problems related to conflicting IDs.
    • Timers are automatically destroyed when all related handlers have been disconnected, reducing problems with ever-growing number of orphaned timers due to omitted calls to stop timers.
    • Timers added during a modal call will now trigger for the duration of that call, effectively to support usage of timers in modal VBA forms. Remaining timers will still be suppressed to avoid stability problems.
  • Improved performance for evaluation of VBScript based formulas.

  • Improved performance when opening inspector from explorer record where all fields are includes.

Fixes

  • Updated branding for integration with Dun & Bradstreet OneByOne

  • Improved support for Actionpad content using UTF-16

  • Improved error details for many areas:

    • File operations
    • Filter errors
    • Shell operations
  • Improved stability

    • Worked around stability problem caused by internal conflicts between custom message filters installed separately by VBA, MFC and .Net.
    • Resolved lifetime issues due to lingering COM references.
    • Fixed stability issue after aborting Inspector_BeforeShow, mostly seen for solutions with OpenedBy.
  • Refined suppression of dialogs when user inactive.

  • Compatibility workarounds to allow updates to link-fields that due to backend bugs are marked as inaccessible for the current user.

  • Fixed issues when copying records and cached descriptives acting up.

  • Fixed issue where the VBA silently ignored COM events when a modal was showing.
  • Fixed a compatibility issue for Record.Refresh/RefreshField in situations when values had changed without the timestamp being updated.

Lime CRM Desktop Client 11.1.2176

Product Lime CRM Desktop Client Version 11.1.2176 Date published 2022-02-04 Platform Windows Availability Manual installation and Automatic Updates.

Fixes

  • Fixed problems with “Ambiguous column name”
  • Fixed problem with debug show if the same LBS-app is loaded multiple times.
  • Fixed problem with 0 (zero) values instead of NULL for fields with numeric formatting that yield empty string for 0.
  • Improved compatibility for legacy VBA that modify data via Controls.SetValue or Control.Value, but commit changed using Record.Update.
  • Fixed problem where ActionPad-folder was not properly updated during initial login.
  • Fixed memory leak for VBA when loaded with warnings.
  • Fixed rendering crash seen via Sentry
  • Fixed bug where the inspector is automatically saved when opening inspector via relation field
  • Improved visual indication of empty tabs in inspector
  • Fixed problem with publishing ActionPads due to compatibility problems between XceedZip and WebView2 running in sam STA.

Notes

This is a patch release to resolve issues reported for 11.1.2160

Lime CRM 2020.3 - Zugspitze 🚡

At Lime we have coworkers from all over the world, and some of them are originally from Germany. We dedicate our third release of 2020 to the mighty Zugspitze, Germanys highest mountain.

This third, and last, release of 2020 primarily releases features that has been behind feature flags before. A brand new look of our web client and the ability to have scheduled tasks are the key features of this release.

We have found some issues with this release. Please read the 🙁 Known issues section to see if there is anything affecting your solution.

⚠️ Important Changes

📄 lime_config - config.ini goes config.yml!

Each Python Service in Lime CRM Server can have a config file saved on disk that overrides the default server config. Those files can be found in the

%LIME_HOME_PATH%

folder in a subdirectory for the corresponding service. Usually it's only the "Web Server" that has a config file but you might have manually created config files for other services as well - for instance the importer or the event handler.

In this release we are deprecating the use of

config.ini

The installer will automatically try to upgrade all

config.ini

files to yaml. If the migration fails, an empty

config.yml

will be created.

🧙‍♀️ Features

🎨 Redesigned web client

Since its inception, Lime CRM has focused on being a tool that adapts to customers' needs and operations and not the other way around. The key words in the development of the product have always been adaptable, scalable and simple.

Simplicity also means that it should be easy to access the information in Lime CRM. The web client makes it possible to access Lime from your phone, tablet or computer - wherever the user is.

Now we have made the web client even easier to use!

The biggest news are:

The menu is now at the left or bottom of the screen if you have a smaller screen, e.g. on the phone. This gives more space for the information you work with.

 Menu on the left side of the app for better usage of screen

Menu on the left side of the app for better usage of screen.

 Fullscreen mode on smaller devices

Fullscreen mode on smaller devices.

The search results are still grouped by object type, but now only the tables where the search returns a hit are displayed. It makes it easier to get an overview of the hits you get!

Improved global search.

🎁 Object card

The view for presenting information has been re-made on several points. The purpose of the changes is to improve the overview of information, and to provide better control over how the information is displayed.

  • You now have a new overview which, together with the history notes, gives you a faster overview of the card. This makes it easier to see and edit information related to the card while always having the latest events available on the right side.
  • To create a better overview of the related information, these are now presented in separate tabs.
  • On the tab there is a number that indicates the number of related objects so that you can quickly see if there are any and if so how many related objects there are.
  • It should be easy and fast to find exactly the information you need, therefore we have added filter and search options under the tabs, all so that you can work faster and more efficiently.
  • To facilitate your particular way of working, it is now possible to choose how the information is displayed. Currently you can choose between table or list. More visualizations of the information will be coming.

 Completely new object card design.

Completely new object card design.

When using the global table view search or the related object search, we have changed such that the search string is applied after the user press Enter. The search string is shown in a chip, making it easy to add additional search strings after the first one and easily clear one of the strings applied.

📅 Scheduled tasks

A highly wanted part of the customization and integration tool box for Lime CRM!

With the introduction of tasks, we made it possible to bulk create large amount of objects using, a task queue. We have now included the support for scheduling tasks to run at a specific time or at a specific interval.

This makes it possible to schedule of integrations at certain times or to create specific objects in a certain interval.

Please read more here

⛓️ Auto attach relations

It is now possible to configure such that relations can automatically be correctly connected when creating new objects. For example, if creating a new todo from a person, the todo can automatically be connected to the persons connected company. This will both save time and ensure good data quality.

The configuration is done for the card view in Lime Admin.

✨ Improvements

Web client

  • Multiline text-field is used for properties having this configuration when adding new objects. For example the note field when adding a new history note.

Server

  • Application Config is released and feature flag removed
  • Configuration options to speed up API requests using an API-key has been added:

API Key Generator - Lime CRM Platform Documentation

🐛 Bugfixes

Server

  • Removed excessive logging that caused logs to overflow
  • Fixed Task-handler rebooting-loop if user running the lime-task service has insufficient privileges

🙁 Known issues

  • Task-handler might get into a rebooting-loop. It's recommended to do this fix when installing Zugspitze to avoid this issue. Fixed in next release.
  • The ampersand (&) character is not correctly shown in object card tables in the web client
  • Not possible to filter on system properties in the table view. Fixed in next release.

Included service and frameworks

  • Elastic Search 5.0.0
  • JDK 8.1
  • Ngnix 1.15.3.1 Crow
  • Erlang R16B03
  • RabbitMQ 3.2.4
  • SQL Native Client 11
  • Vcredist 2019