Upgrade and rollback
An upgrade installs the newer OpenBI Server over the one you have. Its data folder stays: licences, people, workspaces, settings and everything published. The server is down for about a minute.
What the installer keeps
- OpenBI Server and OpenBI Accounts are one installer: both are upgraded together.
- The data folder stays, on an upgrade and on an uninstall: the licences, the records (when they are in SQLite there), OpenBI Accounts’ people, the sign-in, the settings in
settings.json(such as engine limits), the sealed credentials and every published version and its data. A reinstalled server keeps them all. - Published versions are never changed by an upgrade.
- IIS, its certificates and the firewall rules are not the installer’s: they stay as they are.
Before you upgrade
- Read the release’s notes: whether it changes the records, needs a newer OpenBI Gateway, or asks anything of you.
- Check the installer: its signature, as in Check the installer.
- Note how it is now, to compare after:
version,status,doctor,database status, and whether it is a cluster (cluster status). - Pick a time no scheduled refresh is due in the next half hour.
- Back up the records and settings (see Backing up the server). If the records are in SQL Server or PostgreSQL, back that database up with its own tools too, above all when the new version changes the records.
- Records in MySQL or MariaDB? Move them first, on 0.1.45 (see From 0.1.45 or older).
Upgrade on Windows
Stop both services first: where a policy turns Windows’ Restart Manager off, the installer can otherwise hang on files in use.
cd "C:\Program Files\OpenBI Server"
OpenBI.Server.exe service stop
OpenBI.Server.exe accounts service stop
Then install the newer MSI: double-click it, or install it from the prompt, keeping a log. It must end with exit code 0; it starts both services again.
msiexec /i OpenBI-Server-<version>-x64.msi /qb /l*v "%TEMP%\openbi-server-upgrade.log"
Upgrade on a Mac
Check the package, then open it, or install it from Terminal. The package stops the services, replaces the program, and installs and starts the services again; the data folder stays.
sudo installer -pkg OpenBI-Server-<version>-arm64.pkg -target /
One-time upgrade steps
A version that changes the server’s records does it as it first starts: the service, or the first command that opens the records, brings their tables up to date, in SQLite or in your database server. A step that changes what the records say, rather than their tables, runs once for the whole server, or the whole cluster: the first node to start does it, and it is in the audit log. Each release’s notes say which steps it has.
The one such step so far came with 0.1.38, which secured every data source connection that carries a stored password: sources set up before it kept working as they did.
To 0.1.50
0.1.50 changes none of the server’s records: no table is added, and there is no one-time step. What changes as 0.1.50 starts:
- Its engine is OpenBI Studio 0.3.79’s, whose M answers as Power BI Desktop’s in many more cases (cultures, casing, encodings, random numbers, Excel dates and more) and reads text in the model’s locale for import, else its culture, else en-US (see Releases).
- A note on models to refresh once. A published model whose data was computed with an M function 0.3.79 corrected says so on its settings page, to the workspace’s Admins and Members, with Refresh now where the server reaches its sources; otherwise, refresh it in OpenBI Studio and publish it again. Until it is refreshed its reports show the data as it was published, and a refresh clears the note. Nothing is read again by itself.
- Going back to 0.1.49 is safe: 0.1.49 reads the data 0.1.50 refreshed, and its engine comes back with it.
To 0.1.49
0.1.48 changed none of the server’s records. What changes as 0.1.49 starts:
- The records gain the seats’ tables: the seats in use and their reports to the seller, and people imported from a file. They are added as 0.1.49 first starts, in SQLite, SQL Server or PostgreSQL; nothing that is there changes, and there is no one-time step.
- Seats. A server with a seat licence counts its people, and stops new ones when every seat is taken. A licence from before seats works as before, with no seat limit, and sends no count. See Seats and Buy OpenBI Server.
- Something new may leave the server, with a seat licence only: the number of seats in use, to the seller’s billing service at billing.querex.no, over HTTPS. Let the server reach it where a firewall limits what goes out (see What the server sends to the seller).
- Its engine is OpenBI Studio 0.3.78’s, with
NETWORK.ROLLUPand network functions that read their rows about 10 times faster, with the same answers. - Before a Change domain, upgrade OpenBI Gateway’s members to 0.1.49, and people’s OpenBI Studio to 0.3.78: older ones don’t take the new address by themselves.
To 0.1.47
What changes as 0.1.47 starts:
- Networks measured with Open Graph. Its engine is OpenBI Studio 0.3.76’s, which measures networks with Open Graph, Norway Analytics’ own graph library. Most network answers are the same as 0.1.46’s; a network drawing’s positions and the communities Infomap and fast greedy find can differ, and
NETWORK.SENSITIVITYgives exact derivatives (see Open Graph). - A lake’s nightly maintenance that fails runs again as its error says: once a night when only an administrator can put it right, otherwise after 1, 5 and 15 minutes and then every hour (see Maintenance). Scheduled lake backups too.
From 0.1.45 or older
As 0.1.46 brought them:
- MySQL and MariaDB are no longer a records database. A server or OpenBI Accounts whose records are there doesn’t start on 0.1.46 or later, and says so. Before you upgrade, move them with 0.1.45’s
database moveandaccounts database moveto SQLite, SQL Server or PostgreSQL; then upgrade. MySQL as a data source for your models works as before. - The records gain what refreshes and lakes need: which refresh a lake load belongs to, which run a rerun repeats, and the acceptance of DuckDB extensions’ findings, as 0.1.46 first starts. On SQL Server or PostgreSQL, accept the extensions’ findings again after the upgrade (
lake setup --accept, see The extension gate): before, a long acceptance was kept only in the audit, cut short there. A server on SQLite keeps its earlier acceptances. - Clickable links in PDFs, on by default (see Links in a PDF).
- A refresh its node or server left unfinished is settled by what it did, and a lake load it had written is never written twice.
From 0.1.44 or older, as 0.1.45 brought them:
- Some answers. Its engine is OpenBI Studio 0.3.74’s: reports that use
ACCRINT,VDB,ODDFPRICE,ODDFYIELD,HISTOGRAMorLINESTXshow Power BI Desktop’s answers, which can differ from 0.1.44’s, and a visual whose query usesKEEPFILTERSorNONVISUALwhere Power BI Desktop refuses them shows that error (see Refused, as in Power BI). - Sign-in on the server itself. Once sign-in is set up, the server’s own machine signs in like any other, for the setup page too: manage licences with the command line (
domain add,domain list,doctor). Anything in front of the server on its machine must pass each visitor’s address inX-Forwarded-For, as IIS and the Mac’s front door do (see Sessions and sign-in).
From 0.1.43 or older, as 0.1.44 brought them:
- Answers kept, on by default. A server with no
Engine:ResultCacheMBsetting now lets each engine keep up to 1024 MB of answers, each person’s their own (see Answers kept).engine limits --result-cache offturns it off. - Workspace lakes. A new workspace lake on the server’s own disk is made unencrypted; those you have stay as they are, and one whose catalog keeps no encrypted file can be turned unencrypted with
lake encryption off(see Encryption).
Check after
OpenBI.Server.exe version
OpenBI.Server.exe status
OpenBI.Server.exe doctor
OpenBI.Server.exe sbom --verify
curl.exe -s http://127.0.0.1:5780/api/health
curl.exe -s http://127.0.0.1:5790/health
versionand both health answers name the new version.statusanddoctorshow no new failure.sbom --verifyexits0: every file is the one the installer was built with.- In a browser, a report opens with its data, and a live model answers.
On 0.1.45, engine limits also shows the result cache as default (on): 1024 MB per engine; each person's answers their own unless you set it, and doctor says it too. sbom lists eleven findings as ACCEPTED, and exits 0 (see Accepted findings). A report with a map shows its background tiles whether or not DuckDB’s extensions are set up (see Map tiles). On a Mac, the same with sudo openbi-server, and curl.
A cluster
Upgrade the nodes one after another, in one window, at an hour no scheduled refresh is due and with no Refresh now in between: a refresh on an upgraded node may write data that a node still on the older version can’t read. For each node:
cluster drain <node>: the load balancer sends it no one new, and what it is answering finishes.- Upgrade it as above, and check it.
cluster resume <node>, then the next node.
Nodes on two versions read each other’s sign-in keys while you go, so no one signs in again. doctor warns while the nodes run different versions: fine while one is upgraded at a time, not for long.
OpenBI Gateway
A server takes gateway members of a given version or newer: OpenBI Server 0.1.49, as every version from 0.1.44, takes OpenBI Gateway 0.1.40 or newer. A member follows its server to a new domain from OpenBI Gateway 0.1.49 (see When your server moves). Upgrade a gateway’s members one at a time (see Upgrade and uninstall).
Going back
These steps are for Windows. The MSI refuses to install an older version over a newer one, so uninstall first. The data folder stays, and the previous version starts on it.
OpenBI.Server.exe service stop
OpenBI.Server.exe accounts service stop
msiexec /x OpenBI-Server-<newer version>-x64.msi /qb /l*v "%TEMP%\openbi-server-uninstall.log"
msiexec /i OpenBI-Server-<previous version>-x64.msi /qb /l*v "%TEMP%\openbi-server-reinstall.log"
Then the checks above, with the previous version.
| Going back is | When |
|---|---|
| Safe | The newer version didn’t change the records. 0.1.41, 0.1.42, 0.1.44, 0.1.45, 0.1.48 and 0.1.50 changed none. |
| Safe, with less | The newer version added tables of its own: the older one leaves them unused, and what they hold stops working until you upgrade again. 0.1.40 added the gateways’ tables: back on 0.1.39, the gateways made on 0.1.40 stop. 0.1.43 added AI agents’ tables, Can see formulas and favourites: back on 0.1.42, which runs on 0.1.43’s records, agents can’t connect, Viewers given Can see formulas get none, and favourites are gone until you upgrade again. 0.1.49 added the seats’ tables: back on 0.1.48, seats aren’t counted, Billing and Import people are gone, and a seat licence can’t be added there. |
| Not safe | The newer version wrote data the older one can’t read. A refresh on 0.1.39 or newer writes its data in a form 0.1.38 refuses: back on 0.1.38, those reports say they have no data on the server. |
Frequently asked questions
Do we republish our models after an upgrade?
Not unless the release’s notes say so. Published versions and their data are kept, and the new engine reads them.
Are people signed out?
No. The keys behind their sessions are kept, in the data folder or in a cluster’s database, so their sessions go on once the server is back, about a minute later.