Breaking changes
Check this list before you upgrade a V1 server. Most servers only need the backup and upgrade steps in Upgrading from V1.
New web interface#
V1 built its pages on the server from templates in customFiles/templates/. V2 is a separate web app, so those templates are ignored.
- For the app name and logo, use the branding settings in UI and branding.
- Files in
customFiles/static/still replace built-in files at the same path, but the paths are those of the new app, for examplecustomFiles/static/index.html. - For deeper changes you would need to build your own frontend. See Contributing.
Removed and renamed settings#
Some settings were removed or renamed, including ui.appName and the pdf-organizer tool ID. Check Settings changes, especially if you disabled tools with endpoints.toRemove.
Login and Docker images#
- The
latestandlatest-fatimages always include login and admin features.DOCKER_ENABLE_SECURITYandDISABLE_ADDITIONAL_FEATURESno longer change this; usesecurity.enableLogin(SECURITY_ENABLELOGIN) to turn login on or off. latest-ultra-litehas no login, users or admin settings.- New settings files have login on by default. An upgraded server keeps the
enableLoginvalue from its existingsettings.yml. - Images named
s-pdfstill get the same builds, butstirlingtools/stirling-pdfis the main name.
Plans and user limits#
- The Free plan allows 5 users. An upgraded server keeps its current number of users as its limit if that is higher, but can't add users beyond it without Team or Enterprise.
- SAML sign-in needs Enterprise. Existing single sign-on users keep it.
- Some admin features need Team or Enterprise. See Plans and licences.
- Old
enterpriseEditionsettings insettings.ymlmove topremiumautomatically.
Java 25 for the JAR#
The JAR now needs Java 25 instead of Java 17. Docker images include the right Java.
Database#
The built-in and external databases are upgraded in place on first start, so rolling back needs your backup. See Roll back.
API#
API paths still start with /api/v1, and users' API keys carry over. If you generate clients from the OpenAPI spec, regenerate them from /v1/api-docs and test your integrations before switching. See REST API.