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