Skip to content

Desktop Client

Lime CRM Desktop Client 11.1.2406

Product Lime CRM Desktop Client Version 11.1.2406 Date published 2022-05-18 Platform Windows Availability Manual installation and Automatic Updates.

Highlights

This update focus on resolving issues reported since previous update.

Fixes

  • Fixed validation problems related to formatted readonly values that result in whitespace only.
  • Apply filter to guard against “stealing” linked objects from siblings
  • Restored compatibility with mixed content for XMLHttpRequest after previously fixing problems with race-conditions for onreadystatechanged.
  • Fixed compatibility issue with layout for multiline fields
  • Fixed problem with nested Record.Eval
  • Refactored error reporting to always include root cause.
  • Improved robustness for integration with Word and Excel to better handle situations where macros are completely disabled, which will be the new default for Office after April 2022.
  • Ensure field references are stored using none-localized database name.
  • Worked around problems with focus theft for WebView2 due to visibility handling in NavigationComplete-handler.
  • Only build recommendations for onsqlupdate for generic backend errors. Ensure root cause is more visible than recommendations.
  • Fixed rare crash in rendering for explorer headers.
  • Fixed race-conditions for refreshing modified fields marked as readonly via the API
  • Skip calculation of footer sums for fields with label.
  • Try to preserve active index in explorer if active item was lost.
  • Removed br (Brotli) from accepted encodings due to limitation in .Net Framework
  • If possible, mark mail-item as sent before saving as document.
  • Try do use partial updates to minimize refresh time after updates.
  • Pause automatic refresh for async records with filters that take more than 15s to load.
  • Add paused overlay for refresh toolbar button if records will require explicit refresh.
  • Pause automatic reload before batch update.
  • Apply handling of formatting for integers to all fields, not only required.
  • Ensure that switching view or filter triggers explicit reload.
  • Fixed bug in XPath for updating ids on new records
  • Added support for dummy record objects to to avoid null-references for ActiveUser.Record
  • Fixed layout problem where right-most fields stretched over all empty columns.
  • Worked around issue with MFC subclassing for windows owned by other threads.

Lime CRM Desktop Client 11.1.2408

Product Lime CRM Desktop Client Version 11.1.2408 Date published 2022-05-18 Platform Windows Availability Manual installation and Automatic Updates.

Highlights

This update focus on resolving issues reported since previous update.

Fixes

  • Fixed validation problems related to formatted readonly values that result in whitespace only.
  • Apply filter to guard against “stealing” linked objects from siblings
  • Restored compatibility with mixed content for XMLHttpRequest after previously fixing problems with race-conditions for onreadystatechanged.
  • Fixed compatibility issue with layout for multiline fields
  • Fixed problem with nested Record.Eval
  • Refactored error reporting to always include root cause.
  • Improved robustness for integration with Word and Excel to better handle situations where macros are completely disabled, which will be the new default for Office after April 2022.
  • Ensure field references are stored using none-localized database name.
  • Worked around problems with focus theft for WebView2 due to visibility handling in NavigationComplete-handler.
  • Only build recommendations for onsqlupdate for generic backend errors. Ensure root cause is more visible than recommendations.
  • Fixed rare crash in rendering for explorer headers.
  • Fixed race-conditions for refreshing modified fields marked as readonly via the API
  • Skip calculation of footer sums for fields with label.
  • Try to preserve active index in explorer if active item was lost.
  • Removed br (Brotli) from accepted encodings due to limitation in .Net Framework
  • If possible, mark mail-item as sent before saving as document.
  • Try do use partial updates to minimize refresh time after updates.
  • Pause automatic refresh for async records with filters that take more than 15s to load.
  • Add paused overlay for refresh toolbar button if records will require explicit refresh.
  • Pause automatic reload before batch update.
  • Apply handling of formatting for integers to all fields, not only required.
  • Ensure that switching view or filter triggers explicit reload.
  • Fixed bug in XPath for updating ids on new records
  • Added support for dummy record objects to to avoid null-references for ActiveUser.Record
  • Fixed layout problem where right-most fields stretched over all empty columns.
  • Worked around issue with MFC subclassing for windows owned by other threads.

Lime CRM Desktop Client 11.1.2386

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

Highlights

This update focus on:

  • Compatibility with pre-11.x versions
  • Stability and robusness
  • Performance
  • Security, primarily related to formulas
  • Bugfixes for reported issues

Fixes

  • Compatibility: Ensure batch update to filtered values does not change list content.
  • Fixed bug related to array handling for Pool operations.
  • Added support for Pool.Exist for comparing pools.
  • Added support for pausing updates for Record.Requery.
  • Security improvement: Fixed problems related to Application.Eval and Record.Eval for unsafe scripts.
  • Security improvement: Block unsafe scripts from standard reports
  • Compatibility: Improved robustness for LBS-versions where core elements are missing.
  • Removed obsolete handling for mixed content.
  • Fixed race-conditions due to transient changes to Controls.State during load. Intermittent problems with QuickNote not loaded
  • Guard against misuse of record object with parent
  • Fixed marshalling issue for FileOpenAttributes
  • Workaround bug in GetDataXMLDistributed for newlines by loading file-info separately.
  • Refined delayed refresh for inactive WebView2 to reduce problems with focus theft while maintaining base-level compatibility.
  • Removed integration with Segment.
  • Restored compatibility for sub-filters on secondary relations
  • Improve robustness for Access-properties
  • Fixed issues related to Controls.RefreshField and Controls.SetValue during BeforeSave.
  • Added localization for transient status messages in explorer list.
  • Refined handling of last error to avoid inclusion in common message dialogs.
  • Updated Outlook Redemption due to bugfix for problem with EML-files where display name is missing from mailbox address.
  • Fixed race-conditions where unsaved changes may be lost when calling Inspector.UpdateControls or Inspector.Show.
  • Skip redundant access validation in control to fully benefit from workarounds at record level.
  • Fixed visual bug for document control when updating other field on same inspector.
  • Refined settings for DNS-caching and connection reuse to play nice with load balancing for cloud.
  • Security: Blocked access to unsafe APIs for VBScript-based formulas
  • Fixed compatibility problem for newline in layout.
  • Disable input during (async) processing to avoid reentrance due to eager clicking.
  • Updated hard-coded default URLs to use HTTPS for D&B One-By-One
  • Improved robustness and error details for Application.OpenInspector
  • Improved compatibility with pre-LBS ActionPads.
  • Fixed problems with record object related to fields with alias
  • Added support for using fixed version distribution of WebView2.
  • Improved update detection precision to better handle changes in database while running.
  • Fixed bug in error handling for timeouts, seen via Sentry.
  • Fixed error due to missing translations. Improved async loading for legacy datasources.
  • Fixed problem with recursive locks.
  • Fixed bug in argument validation that broke loading for descriptions.
  • Restored auto-relate for active item.
  • Worked around race-conditions for merging results by also merging nested objects.
  • Fixed bug in LDC-queries for IsNull and IsNotNull.
  • Worked around issue for MIN/MAX-filters with dates.
  • Refined error reporting based on recent cloud issues.
  • Fixed regression bug in Record.Copy/CopyTo
  • Fixed rendering error for images in comboboxes.
  • Skip explicit read-only checkout for printing.
  • Moved 502/504 to origin communication.
  • Lookup active Outlook via CLSID.
  • Delay DocumentComplete until window.load.
  • Avoid injection of LBS polyfills for generic content.
  • Refactored layout algorithm for inspector to resolve problems related to tall and narrow windows.
  • Worked around race condition where multiple sequential record updates may result in cached response from previous update.
  • Use MFC default behaviour for activating frame window.
  • Restored filter compatibility for MIN/MAX
  • Resolved race-conditions for loading _config.js
  • Detect updates require refresh due to references in filter, view or via update on changes.
  • Ensure relations always use updated descriptions.
  • Compatibility: Ensure default methods and properties are supported for any automation object.
  • Support export of single rows from explorers.
  • Unified handling of file metadata to in preparation of extended support for online viewing and editing.
  • Visually report errors for Document.CheckIn for Excel and PowerPoint.
  • Fixed potential race-condition for loading related records.
  • Fixed race-conditions for hiding progress dialog for background job.
  • Refactored Explorer.AfterCommand to enhance compatibility with async updates.
  • Removed obsolete batch size handling.
  • Restore window state if maximized. Fixed problems with resize before visible.
  • Simplified initial show for frame windows to avoid focus problems for async operations.
  • Ensure WS_EX_CONTROLPARENT is set to ensure proper keyboard navigation.
  • Worked around occational crash when closing inspector or main window due to stack overflow in MFC.
  • Fixed regression bug for removing relations between records.
  • Fixed problems related to empty batches, ie when nothing really changed.
  • Unify field references for evaluated filters.
  • Fixed visual update problems related to batch updates.
  • Fixed compatibility problem with batched records updates for visible explorers.
  • Improved performance and robustness for timestamp handling.

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”.