Lime CRM Desktop Client 11.3.4483

Product
Lime CRM Desktop Client
Version
11.3.4483
Date published
2026-05-11
Platform
Windows
Availability
Manual installation, Reference

Cumulative bug-fix release for 11.3.x covering everything since the 11.3.4462 baseline.

  • Inspector splitter rework. The Fields tab now retains its state when you navigate between records, the inspector splitter supports smooth drag-resize with animated transitions, and the splitter position is remembered per inspector layout.
  • Improved field layout in inspectors. Mixed rows that combine a multi-line field (such as a memo or expanded list) with single-line fields no longer leave awkward vertical gaps next to the single-line fields. Inspectors with an expandable field at the bottom now extend that field to fill the remaining space, matching typical form-layout expectations.
  • Multi-line notes resize live with content. Multi-line text fields in the inspector — Notes (Anteckningar), History, Description, Memo — now grow and shrink as you add or remove content, without having to manually drag the splitter or scroll within the field. When the inspector is compressed, the field keeps at least three lines visible so small notes don't end up behind a scrollbar.
  • Filter robustness for invalid option values. Pre-existing filters that reference option-set entries no longer present in the data model — values that have been renamed, removed, or otherwise can't be resolved — no longer break the query. Invalid entries are skipped, the surviving values continue to participate, and the filter still runs.
  • Filter values resolve across locales and ID formats. Filter values authored against the canonical English label, or stored in the semicolon-wrapped ID form that some integrations produce, are now resolved automatically. The user's active locale no longer has to match the value source.
  • Link-field dropdown search is faster and quieter. Typing into a link field's search box now debounces briefly before querying, so fast typing no longer fires one search per keystroke. Subsequent searches against the same field skip records already known from earlier matches, cutting redundant round-trips. The search box also auto-fills the longest common prefix of the matching options as a selected suggestion — keep typing to override, accept it as-is, or use it as a fast way to disambiguate similar entries.
  • Long dropdown entries stay readable when the search needle falls in the middle. When a dropdown row's text is wider than the cell, the in-progress search needle inside the displayed value is replaced with an ellipsis so the surrounding context (record description, trailing key data) remains visible.
  • Link-field dropdown now shows match count and search source. The dropdown popup carries a footer strip with two pieces of feedback: on the left, how many entries match against the total available (with a + when more results were truncated at the server fetch limit); on the right, a glyph indicating where the current results came from — the field's preloaded option list, the local search cache, or a live server lookup. Hovering either area shows a tooltip with details and the relevant keyboard shortcut. When the cache produces no matches, the footer replaces the counter with an explicit hint that a server search is one keystroke away.
  • On-demand server search from the dropdown. Two new shortcuts let you reach past the local cache: Shift+Enter escalates a zero-match cache result to the server (so “no matches” doesn't quietly mean “not loaded yet”), and Ctrl+Enter discards the local cache entirely and forces a fresh server lookup (useful when you suspect the cache is stale). Both work from inside an inline cell editor without committing the cell.
  • Right-click and middle-click on link-field dropdown rows. Right-clicking a row opens a context menu with Select, Cancel, Open in desktop, and Open in web client. The web-client entry follows the same per-class gating and prefer-web-client ordering already used by the main right-click menu, so administrators only need to configure web access in one place. Middle-clicking a row opens the inspector for that candidate directly without changing the linked record, and the dropdown stays open so you can keep browsing. Opening an inspector or switching to another application no longer dismisses the popup or loses the in-progress search — focus returning to the link field restores the popup at the same scroll position.
  • Natural alphanumeric order in link-field dropdowns. When the filter doesn't narrow the cached options (empty search, or a search that matches every loaded row), entries are now sorted so that File 2 sorts before File 10 rather than between File 19 and File 20. Fields backed by a fixed option list retain their curated order.
  • Optional relevance scoring for link-field search. A new Use relevance scoring for searching relations checkbox under Options → Misc ranks search candidates against a small set of signals — how recent the record's activity is, the position of certain option values (todo / SOS / history / document status), and whether the record is associated with the active user (responsible coworker, creator, or last editor). Off by default and stored per user. Intended for solutions where the obvious “best match” rarely sorts first alphabetically.
  • Record.Value with mixed-case field names works again. A regression introduced earlier in 11.3 caused Record.Value(“xyz”) (or any other case variant of a field name) to silently return nothing once a different field had been looked up first in the same record. Mixed-case lookups now work consistently regardless of the order they're made in.
  • Filter conditions for set-typed fields match whether the value is a single string or an array. Previously the same value resolved to different conditions depending on how it was passed: Field.Value = “Privat” bypassed the option-label lookup that Field.Value = Array(“Privat”) performed. Both forms now produce identical conditions.
  • Column-filter checkmarks return for set-typed fields. Selecting a value in the column-filter dropdown for a set-typed field shows as checked again. The dropdown also de-duplicates correctly — re-clicking a checked entry removes the condition instead of adding a duplicate — and saved set-field column filters reload as proper conditions instead of being silently demoted to a text match.
  • Decimal precision preserved when filtering. Filter values for decimal fields were silently truncated to integer before reaching the query, so fractional values were lost. Decimal values now flow through unchanged.
  • Client no longer hangs when scripts modify records during AfterSave. A VBA AfterSave or BeforeSave handler writing back to the record while the underlying record load was still in flight could deadlock the client until it was force-killed. The locking and async-load sequence is now coordinated so the handler proceeds without blocking.
  • Refresh in AfterSave handlers no longer deadlocks. A Controls.AfterSave handler calling Controls.Refresh() could deadlock against the still-running save flow. Refresh now defers correctly until the save flow exits and runs from there. A small set of related save-state tracking issues were addressed in the same pass.
  • Ambiguous-record errors now identify the offending record. When the duplicate-row check trips during record load, the error now names the class and record ID so the entry can be located in the data. Definitive load errors that previously got absorbed into a generic warning are now surfaced to the user.
  • Adding participants to a campaign no longer fails with “Item not found”. When the participant class had a virtual relationsingle field marked invisible-everywhere, the wizard's confirm step threw Item not found and aborted. The wizard now excludes virtual fields from its candidate field list — those fields were never assignable, so listing them was always a no-op (silent in 11.2, loud after 11.3's stricter field-list checks).
  • Mass update auto-refreshes the table again. A regression vs 11.2 left the explorer showing pre-update values until manually refreshed. The Mass Update dialog now has a “Reload list after update” checkbox — default on, persisted per user — that requeries the explorer when the batch completes. The label notes that records can drop out of the visible list if their new value no longer matches the active filter.
  • Inspector fields follow the splitter when scrolled to the bottom. Dragging the inspector's bottom splitter down with the field list scrolled to the end used to leave the fields anchored at their old screen positions with empty space below — the scrollbar range updated but the controls didn't move. They now reposition against the new scroll position so the bottom of the field list stays anchored to the bottom of the viewport.
  • Stability when controls are detached. A null-pointer crash that could occur when fields fired before/after-command events on a control that had already been detached from its inspector is fixed. The previous symptom was a generic “internal error” log entry with no indication of cause.
  • Avoided crashes from circular control configurations. When custom inspector layouts placed controls in mutually-referencing arrangements, an internal lookup could recurse and exhaust the stack. A guard now stops the recursion safely.
  • Client-side incremental refresh reverted. The incremental refresh optimization shipped earlier in 11.3 produced unexpected load patterns on the backend in production. It is reverted in this build; refresh runs the full query as it did before the optimization. The optimization will be re-introduced once the backend impact is resolved.
  • Trailing multi-line note fields fill the inspector again. Form definitions that used the legacy -1 “fill remaining” indicator on a multi-line field (such as Notes / Anteckningar in History inspectors) regressed to only two lines in earlier 11.3 builds. They now extend to the bottom of the inspector, matching 11.2 behavior. Short notes display without scrollbars; longer notes that need a scrollbar still get a usable three-line pane minimum even when the inspector is heavily compressed.
  • AllowWebClient is opt-in again. A regression caused AllowWebClient to default to enabled in the Misc options page; opening Options → Misc and clicking OK silently persisted it as enabled. The dialog default now matches the runtime opt-in design. The setting also moved from per-Windows-user (HKCU) to database scope, so admins can manage it centrally and stale per-machine values from earlier 11.3 builds are ignored.
  • Record.Copy / Record.CopyTo no longer moves or duplicates related records. Two distinct issues fixed: related entities reachable through any relation whose foreign-key column lives on the related side (virtual or not, single-link or multilink) were being reassigned to the new copy when saved, effectively moving them rather than copying — the source no longer loses its links. Separately, a 11.3-era deep clone branch for plain 1:1 link relations fabricated a phantom companion record on every copy; that branch is reverted to 11.2's no-op for the 1:1 case, so copying no longer creates extra related records the user didn't ask for.
  • Inspector bottom splitter no longer locks in transient view states. Earlier 11.3 builds persisted the “fields collapsed” and “fields maximised” view states using sentinel values that were meant to be transient, so the inspector could come back stuck in one of those states on next launch. The persistence layer now ignores the legacy sentinels and emits values that round-trip cleanly.
  • Lime CRM shows the correct icon in Windows Explorer. A new icon resource added during 11.3 shifted icon-resource ordering, causing Windows Explorer to pick a generic shape icon instead of the Lime logo for lime.exe. The original logo is restored. Users on machines where the icon cache had latched onto the wrong icon may need a one-time Explorer restart before the corrected icon shows up.
  • Dim-fields-when-null is now opt-in. Following customer feedback, the visual dimming applied to fields whose value is NULL no longer defaults to enabled for new users. Users who actively enabled it keep their setting; users who never opened Options → Misc no longer see dimmed fields out of the box. The toggle is still available under Options → Misc.
  • Update-field dialog targets the field you clicked, not a same-named system field. When a custom field's display name collided with a system field of the same label (e.g. a solution-defined Status alongside the built-in Status (System)), the dialog could open against the system field instead of the one the user picked from the column-header menu. The menu now passes the actual field reference instead of re-resolving by display name. The same fix applies to the explorer's view, filter, and Send-to menus, and to field pickers in the view-edit, filter-condition, and formula dialogs.
  • Explorer no longer leaves empty placeholder columns for missing fields. When a view referenced fields that don't exist in the data (renamed, removed, or otherwise not loaded), the explorer kept empty column slots for them. Those slots desynced the column index used by sort and cell-rect math. Missing fields are now skipped completely so column-indexed operations stay aligned.
  • Action Pane no longer blanks after hide-then-show. Hiding the inspector's Action Pane and showing it again could leave the pane visible but with the embedded browser blank. The host now explicitly re-attaches and repaints the browser when the pane becomes visible again.
  • Inspector bottom splitter no longer restores at a sub-row sliver. Some startup paths (particularly the first card opened from a solution, where settings can race with VBA-driven record loading) could leave the splitter a few pixels from the top — the controls area effectively unusable. The splitter now applies its standard default position when no settings are available, and any persisted value smaller than a single layout row is treated as corrupt and falls back to the default.
  • Maximize-tabs toolbar button reflects the effective state. The button's pressed-state and overlay glyph used to require the splitter to be exactly at its minimum position to register as “maximized”. Any controls area smaller than one layout row now counts — matching the user's perception that the controls area is gone.
  • Maximize-tabs toolbar button restores to the default position. Clicking the button while tabs are maximized used to expand to the splitter's last drag-saved position, or to the midpoint if no drag had been saved. It now expands to the standard default position (tabs at the auto-expand limit from the bottom). The last drag position is still available via double-click on the splitter bar itself.
  • Drag-drop save silently lost edits on the new record. Dropping a document onto an explorer item could create a record that the open path internally marked as a dummy placeholder. Subsequent saves silently no-op on dummy records — but BeforeSave and AfterSave events still fired, making the failure invisible. New records are no longer marked as dummies during the open path, attempted saves on a record that is a dummy now log as an error rather than silently no-opping, and any inspector that does end up bound to a dummy now opens read-only so accidental edits can't be lost.
  • First / last / previous / next record navigation works again. The toolbar's record-navigation buttons could fail with Index out of range or a generic Invalid parameter error, with the inspector refusing to move to the requested record. The inspector's current-record position resolution is more robust against the case where the active item's stored position hasn't been renumbered against the explorer's sorted view, and a related validation step that was rejecting otherwise valid navigation targets has been corrected.
  • Enter saves again when editing inline in the explorer. Earlier 11.3 builds inverted the Enter / Ctrl+Enter contract for inline cell editing — plain Enter moved to the next cell instead of saving the row, and customers reported it as the inline editor “essentially behaving like Tab”. 11.2 semantics are restored: Enter saves and closes, Ctrl+Enter moves to the next cell within the row, Ctrl+Shift+Enter moves backward. Multi-line text controls inside the cell continue to consume Enter and Shift+Enter for paragraph and soft-line breaks as before.
  • Record shortcuts pasted into Outlook or webmail clients open again. Copying a record put two clipboard formats on the system clipboard, one of them an HTML payload containing a limecrm-shortcut link. The link inside that payload was URL-encoded a second time before being embedded, so a space arrived in the recipient's mail as %2520 instead of %20 and the link no longer resolved. The redundant second encoding is removed; the plain-text clipboard format was never affected.
  • Scripts writing to mixed-case fields target the right field again. A regression caused by 11.3's case-insensitive Record.Value lookup let writes such as rec(“dealstatus”) = x fail with Status (System) is read-only on classes that had both a built-in status field and a user-defined dealstatus field — the lookup was crossing the two during cache resolution. The lookup now keys on each field's own local name, so writes go to the field the script names and read-only system fields no longer absorb the write.
  • Last modified: 39 hours ago
  • by Pontus Netler