====== What's New in Lime CRM Desktop 11.3 ====== ===== Highlights ===== * **Embedded web client** — Search and open records directly in the web client from inside the desktop inspector * **Reworked inspector layout** — Adjustable splitter between controls and tabs, pixel-level layout, and improved tab management * **Extended quick search** — Filter by email, notes, name, class fields, key fields, and link fields — with operators like NULL, NOT, and date ranges * **Major stability pass** — 20+ crash fixes, memory leaks resolved, and race conditions eliminated * **Performance boost** — Async loading of images and relations, lazy refresh via timestamps, faster startup ===== User Experience ===== ==== Inspector and Fields ==== * Empty fields now appear dimmed with a **[Click to edit]** indicator — less visual noise, cleaner layout * Controls and tabs are separated by an **adjustable splitter**; double-click to quickly toggle * Pixel-level layout for multiline text fields — remaining space is distributed evenly across variable-height rows * **Tab context menu** with options: //Open in new window//, //Open in WebClient//, //Close other tabs//, //Switch to tab//, and //Restore tab order// * Tab state is preserved when opening a record in a separate window * Icon overlays on tabs for status indication; visible tabs shown in **bold** in dropdown selectors ==== Relations and Autocomplete ==== * **"My self"** always appears at the top of coworker relation lists * **Recently used values** shown in relation controls — great for repetitive tasks and quick rollback * Search-as-you-type from already loaded values; backend search triggered by Enter once local cache is exhausted * Improved autocomplete: preserves your exact input while typing and keeps the typed string visible ==== Lists and Scrolling ==== * **Smooth pixel-based scrolling** — replaces the old record-based scrolling and resolves issues with partially visible rows * Natural sort order enabled * Improved scroll wheel behaviour (multiple rounds of refinement) ==== Search ==== * **Extended quick search syntax:** * ''@:'' — email * ''Notes:'' — notes * ''Name:'' — name * ''.'' — class fields * ''#'' — key fields * ''&'' — link fields * Support for ''NULL'', ''NOT'', and explicit date/time operators * Search columns indicated by icon in the explorer * Search view can be preconfigured to avoid the default all-fields view * Quick search can be cleared via mouse button * Full-text search via Elastic supported; **Ctrl+F3** improved with focus, SQL fallback, and clear button ==== Column Filters ==== * Extended filter dialog supports linked records and pools * Added **EXISTS** operator * Unified filters for single and multiple relations * Hold **Shift** when opening a column filter to include invisible fields * Column filters now trigger a backend refresh to reduce risk of stale data * Filter state preserved when switching views ===== Embedded Web Client ===== > :!: **This feature is opt-in.** It is not enabled by default and must be activated via settings. * Records can be opened in the **embedded web client** instead of the traditional inspector * **Global search via web client** (experimental) — accessible from the desktop toolbar * Direct access to **Lime Admin** and **Database Designer** from the desktop client * Controlled via ''allowWebClient'' and ''preferWebClient'' settings at user and system level, with an interactive kill switch * Faster initial load of ActionPad with lazy rendering of LBS applications ===== Performance ===== * **Async image loading** — the record card is interactive before all images have loaded * **Async relation loading** — the record card is interactive before all related fields have loaded * **Lazy refresh for lists** via timestamps — reduces backend load while improving responsiveness * Client-side query optimisation to reduce complexity, especially for nested filters * Optimised file fields in lists: SQL-level joins and client-side processing instead of expensive backend calls * Faster initial startup for new solutions and after model changes * Faster startup for solutions with many VBA references * ETag-based HTTP caching and delayed initial navigation to reduce backend congestion * Background thread loading for options, metadata, and images ===== Documents and Outlook ===== * Progress indication during document handling * Refined Outlook integration for better document linking * Improved error handling — uploaded files are no longer deleted on intermittent errors * Attachment warnings via Windows standard hooks for local security policy prompts * Local handling preferred for PDFs and Excel files with macros * Failed document uploads moved to a separate folder to avoid infinite retries ===== Stability and Reliability ===== ==== Crash Fixes (20+) ==== * Fixed crashes in field resolution, VBA loading, rendering, icon handling, scroll wheel, column refresh, string formatting, and logger initialisation * Fixed buffer overruns in toolbar state loading, string case conversion, and login dialog cache clearing * Fixed uninitialised memory access and pointer validation issues ==== Race Conditions ==== * Fixed race conditions in visibility management, logger initialisation, navigation, DDE/limecrm-link handling, double-click, and cookie synchronisation * Added mutex for cache shared between threads * Reduced deadlock risk in multi-threaded operations ==== Memory Leaks ==== * Fixed leaks in records dialog, async operations, and ''Session.GetDefaultDatabase'' * Restructured cleanup of command parameters ==== Robustness ==== * Improved robustness for ''ActiveInspector'' in VBA and LBS — reduces risk of errors and data corruption from ID mix-ups * Improved handling of missing coworker cards * Improved robustness for DDE and limecrm-protocol integrations * Improved robustness for cloning records, intermittent network issues, async drag-and-drop, document check-in, and automatic login * WebView2 now restarts after unexpected shutdown * System sleep disabled during shutdown to prevent exit-related crashes ===== VBA and LBS Compatibility ===== * Many compatibility improvements for legacy customisations — existing code should run better than ever * Fixed regression where a modal dialog disabled VBA * Unified naming for mail events (''Item'' and ''MailItem'' now available in all handlers) * Added COM event notifications for async usage from VBA * Added async evaluation for VBA in KnockoutJS bindings * Extended LBS patches to support obsolete datasource for active explorer * Drop-in replacement for ''MSXML2.XMLHTTPRequest'' — resolves session handling issues with minimal code changes * Fixed regression for case-sensitive commands in custom VBA * StatusBar indication for ''BeforeCommand'' showing when default action was overridden * Better error messages throughout ===== Data and Filters (LDE) ===== * Automatic option query based on current relations * Refined cache for related records — already loaded fields accessible without a backend refresh * All currently loaded fields included in JSON representation * Fixed multiple issues with NULL handling, merged conditions, multi-relation filters, and de-duplication * Normalised condition values to proper type and range before optimisation ===== Infrastructure ===== * **Direct access to management features** from the Tools menu * **Check for Updates** with notification support added * Privacy policy link added to the Help menu * SVG icon import via ''Class.ImportIcon'' with nanosvg integration * Async drag-and-drop for WebView2, Edge, Chrome, and new Outlook * Native support for **object-level access control** ===== Localisation ===== Updated translations via Weblate for: **Swedish, French, Norwegian Bokmål, Finnish, Danish** ===== Breaking Changes ===== > :!: Please review these before upgrading. * **LiveDocs is now opt-in** — previously enabled by default * **File access control** — new restrictions based on file type and operation ===== Areas Requiring Focused Testing ===== If you're validating an upgrade, pay extra attention to: * **Filter engine** — extensive changes to NULL handling, multi-relation merging, and condition optimisation * **Inspector layout** — new splitter, tab management, and pixel-level layout * **Embedded web client** — new WebView2 integration * **Cookie/session management** — shift to cookie-based handling * **Extended quick search** — new parser with complex filter engine interactions