Skip to content

Changelog

⚠️ Breaking Changes

Session token-based authentication

This type of authentication has been disabled by default as there are more modern types now. It is however commonly used in these scenarios:

  • LBS apps that calls the REST API
  • Auto-import when using username+password

LBS apps are easily updated as the Desktop Client adds its own authentication to the calls anyway. See these tips for how to update your application.

Auto-import can be switched to use API-key authentication.

If there is an external party still using session token-based authentication it can be be enabled by following these instructions. This possibility will however be removed in the future.

Database Connection pool

The webserver now uses connection pooling for increased performance. The default pool size is too small for most on-premise installations so the installer automatically increases the database connection pool size in the server config.

The globals.pessimistic_connections setting has been changed to database.engine.pool_pre_ping. The installer renames this setting automatically.

The Installer

Multiple Web Servers

To increase parallelism in the webserver it is now possible to install more than one Lime CRM Webserver service. The Webfront (nginx) then load balances between the different instances.

Benefits:

  • Faster response time.

Cons:

  • Each webserver produces its own set of log files.
  • Increased memory footprint on the server.

For now, the default and recommended setup is to continue using a single webserver and only use more when there are performance problems related to the webserver parallelism.

Warning

Multiple webservers are not compatible with LADI (Lime Active Directory Integration). As LADI is reaching its end of life on December 31, 2024, we strongly recommend transitioning to modern alternatives like Entra ID or OpenID Connect for seamless integration with Lime CRM. Take action now to ensure continued support and compatibility.

Server Configuration

The installer adds database connection pool settings to the server configuration for the webserver.

Lime CRM

Sessions

The sessions module in Lime CRM has been rewritten.

Database Connection Pooling

The webserver now uses database connection pooling for increased performance.

Database Isolation Level

The isolation level for all queries generated by the python platform has been changed to READ UNCOMMITTED.

Application Configuration

The CRM Server now also searches LIME_CONFIG_DIR for the application configuration file, previously it only searched LIME_STATIC_DATA_DIR. Alternatively the application configuration file can now stored as a JSON instead of YAML.

Database Connection Strings

The database connection strings has been updated so the ProgramName shown in for example SQL Server Management Studio shows the executable name, i.e. lime-webserver, instead of __main__.

Included services and frameworks

Below is a list as originally shipped with 2024.1:

  • LDC - 12.9.2165
  • LISA - 12.8.35
  • Elastic Search - 7.17.18 (shipping Java from Oracle Corporation in version 21.0.2+13-58)
  • Ngnix for Windows - 1.23.3.6 SnapDragonfly
  • NSSM - 2.21-134
  • WinSW 2.12.0
  • Microsoft ODBC Driver 18 for SQL Server (MSODBCSQL18) - 18.3.2.1
  • Microsoft Visual C++ 2015 x86 Redistributable (VC Redist) - 14.38.33135.0
  • Microsoft Visual C++ 2015 x64 Redistributable (VC Redist) - 14.38.33135.0
  • Microsoft OLE DB Driver 19 for SQL Server - 19.3.2
  • Erlang OTP - 26.2.2
  • RabbitMQ Server - 3.13.0
  • Microsoft Handle (sysinternals) - 5.0