Upgrading SENAITE
SENAITE follows a regular release cycle. Each new version may include data migration steps that must be executed after updating the software packages. This guide covers the full upgrade procedure.
Before You Upgrade
Read the release notes before upgrading:
If you maintain a custom add-on, review the senaite.core changelog
carefully for API changes.
Strongly recommended steps before proceeding:
- Test the upgrade on a clone of your production environment first.
- Pack the database before upgrading:
bin/zeopackin a ZEO setup, or Pack in the ZMI at/Control_Panel/Database/main/manage_mainfor a single instance. - Create a full backup of both
filestorage/andblobstorage/. - Bring as many analyses as possible to a verified or published state.
- Stop any background services that consume significant memory.
- Clear the Zope log file so the upgrade log is easy to read.
Step 1: Update the Version Pin
Open your buildout.cfg and update the version pins in the [versions]
section. The SENAITE packages depend on each other with lower bounds only,
so pin the whole set to the target release, not only senaite.lims:
[versions]
senaite.lims = 2.6.0
senaite.core = 2.6.0
senaite.app.listing = 2.6.0
senaite.app.spotlight = 2.6.0
senaite.app.supermodel = 2.6.0
senaite.impress = 2.6.0
senaite.jsonapi = 2.6.0
Check the PyPI history for the latest stable release. If
you installed from senaite.starter, compare your pins
with its current buildout.cfg, which also pins the dependencies that a
new release needs.
Step 2: Re-run Buildout
buildout -c buildout.cfg
Buildout downloads the updated packages. If you use a custom buildout
configuration, replace buildout.cfg with the appropriate file name.
Step 3: Start SENAITE in Foreground Mode
Always run the upgrade in foreground mode so that errors are visible immediately:
bin/instance fg
Wait for the ready message:
INFO Zope Ready to handle requests
Step 4: Run the Upgrade Steps
Open a browser and navigate to the portal setup upgrade page:
http://localhost:8080/senaite/portal_setup/manage_upgrades
Select the senaite.core profile from the dropdown. The page lists the
pending upgrade steps; keep them all selected and click Upgrade.
Repeat for any other profiles that show pending upgrades (for example,
senaite.impress, senaite.app.listing, or custom add-on profiles).
If no upgrade step appears, the profile may already be at the latest version. Use the second dropdown and click Show old upgrades to verify.
Step 5: Verify Installed Versions
After the upgrade steps complete, check the installed versions in the add-ons control panel:
http://localhost:8080/senaite/prefs_install_products_form
The version shown for each package should match the pins in your
buildout.cfg.
Step 6: Restart in Production Mode
Once you have verified the upgrade on a test system, repeat the process on production and restart the server in background mode:
bin/instance stop
bin/instance start
ZEO Setups
If you run a ZEO cluster, stop all clients before upgrading and run the upgrade steps through a single client started in foreground mode, for example:
bin/client1 fg
Restart the remaining clients only after the upgrade steps have completed successfully.
Professional Upgrade Support
Upgrades across major versions or on systems with custom add-ons require careful planning. Professional service providers offer paid upgrade support including pre-upgrade assessment, migration testing and post-upgrade validation.
See the Enterprise Solutions page for details.