Lime CRM Desktop Client 11.3.4403
- Product
- Lime CRM Desktop Client
- Version
- 11.3.4403
- Date published
- 2026-04-16
- Platform
- Windows
- Availability
- Manual installation, Reference
This is a bug fix release targeting issues reported for 11.3.4362.
Improved
- VBA/VB6 runtime compatibility. Legacy VBA UserForms that embed phantom ActiveX CLSIDs (pointing at VB6-era OCXes with CLSIDs the OCXes no longer serve) are now patched automatically at load time.
VbaClsidFixupscans the raw VBA project blob for 22 known phantom GUIDs and replaces them in-place with canonical CLSIDs before the storage is opened. TreatAs registry aliases for VB6-era components are registered as a fallback. The VB6/VBA runtime surface (OCX deployment, registration, license keys, TreatAs aliases, VBA MSI repair) has been consolidated intosetupVBA.exe(v2.0) and removed from the Lime MSI.
- Enriched access-denied diagnostics. Field references and raw access rules are now included in the “ignored access denied” warning. Server 403 errors surface client-side limetype metadata in extended error info, and 404 handling has been added.
- Dependency upgrades. WebView2 SDK updated to 1.0.3856.49. NodaTime updated to 3.3.1. Sentry Native SDK upgraded from 0.12.3 to 0.13.6.
Fixed
- Fixed NULL handling in filter pool arrays.
IN/NOT INconditions with NULL values in the pool array are now handled correctly. NULLs are stripped from the array and handled via separateIS [NOT] NULLconditions instead, since SQL three-valued logic makesNOT IN (…, NULL, …)silently filter out all rows. Pure-NULL pools are coerced to scalar NULL for correctIS/IS NOTevaluation.
- Fixed NOT IN sub-filters silently dropped during optimization. The filter optimizer could silently discard NOT IN sub-filter conditions during the merge step. These conditions are now preserved and correctly isolated with separate join paths.
- Fixed unresolved unary NOT silently dropped in release builds. The query generator's NOT path had only an
ASSERT(false)guard, which is a no-op in release builds. Unresolved NOT conditions now throw an error instead of being silently ignored.
- Fixed NULL-projection guard applied too broadly. The
NULLIFguard for sub-filter relation fields was being added to main queries as well, incorrectly dropping records with NULL relations from regular result sets. The guard now only applies to sub-filter queries.
- Fixed sub-filter NULL guard scoping with OR conditions. The
NULLIF … IS NOT NULLguard was placed before user conditions without grouping, so OR-joined branches could bypass it. The guard is now appended after user conditions with proper parenthesization.
- Fixed coercion of condition values for set-fields. Filter condition values are now properly coerced to the correct type and range before optimization, preventing type mismatches for set-typed fields and decorated date comparisons.