On this page

Release Notes 5.5.0

Published October 17, 2026

At a glance

  • A confirmation before any statement that can change a Production database; refused when there is no terminal.
  • Typed Script parameters, with defaults and lists (-- @param), and LIB TREE, LIB LIST ... BY and a stricter LIB LINT.
  • DUMP ... AS H2 MODE MERGE KEY keeps a local copy of a table up to date.
  • BroadSQL starts at BroadSQL>, without a connection; the CDF is protected and versioned.
  • A safer SET MASTER PASSWORD, and an Application Settings tab in CONFIG.

Summary written for this page on October 17, 2026; the notes below are the record of the release. Upgrading? See what changed in 5.5.0.

New features

Production

  • on a connection whose Environment is flagged Production, BroadSQL asks before every statement that can modify the database (ProductionConfirmEveryChange=TRUE) or once per connected session (FALSE); without a terminal such statements are refused

Security

  • SET MASTER PASSWORD works on a verified copy with a backup, recovers an interrupted change at the next login, and refuses spaces and characters outside Latin-1 that would make the CDF unopenable
  • SET PASSWORD changes passwords only on H2, Derby (NATIVE authentication) and HSQLDB, proves the change with a new connection before saving it, and is refused before any change on other databases
  • CONNECT $CDF asks for the master password every time and opens CDF maintenance mode ($CDF [MAINTENANCE]>)
  • no ordinary connection, test, export, linked table or monitoring file can reach the CDF, under any name, path or copy
  • LOGOUT (alias LOGOFF) closes every connection and window and asks for the master password again

Settings

  • CONFIG has an Application Settings tab that shows and safely edits every setting of the INI file
  • in CONFIG, paths are typed as they are, and a missing folder is created after confirmation

Logs

  • LogRetentionDays (default 90) deletes old activity and application log files at startup; leftover DUMP temporary files are removed

Downloads

  • every release has a SHA-256 checksum on the Downloads page and in a .sha256 file

Documentation

  • a rewritten Security page
  • HELP <command> and every page of the command reference give the purpose, the syntax, an argument table, examples, the details by topic and the related commands and guides, with a quick start for the commands that take several forms

Console

  • the command history keeps the last 1,000 commands, in order, across restarts, and an unreadable line no longer hides the whole history

Connections

  • BroadSQL starts at the BroadSQL> prompt without a database connection; SQL without a connection is refused with "No active database connection."
  • RememberLastConnection=TRUE reopens the last connection at startup and makes DISCONNECT, BYE and CLOSE return to the previous connection
  • DISCONNECT, BYE and CLOSE return to BroadSQL> (or to the previous connection), never to the CDF

Configuration

  • CONFIG and CONFIG API work from any prompt
  • the CDF has a schema version; an older CDF is upgraded once at startup after a verified backup in conf/backups, a newer one is refused unchanged

Scripts

  • a -- @param parameter that the call does not pass takes the value of the session variable of that name set by LET, otherwise its default; a session value of the wrong type refuses the call
  • the arguments of a Script call last as long as the call; afterwards each variable of the same name has its previous value again (a LET run by the Script itself stays)
  • typed, optional and defaulted Script parameters, -- @param <name> <type> [= <default>] ["<description>"], checked and converted before the Script starts
  • list parameters, -- @param ids LIST OF <type>, passed as ids=(1, 2, 3) and used as IN (${ids}), each value sent as its own typed parameter
  • -- @access: read | write (information, checked by LIB LINT) and -- @dialect: <types> (a warning on another connection type)
  • LIB TREE shows the Scripts Library as a folder tree; LIB LIST and LIB FIND group their Scripts with BY TAG, GROUP, ENVIRONMENT, DIALECT, STATUS, ACCESS or FOLDER
  • LIB LINT reports duplicate Scripts and checks @param, @access and @dialect lines

Editor

  • the Run Parameters dialog takes a text without quotes and a list without parentheses, starts each field with the session variable or the default, keeps Run enabled and lists every invalid value in one error dialog
  • the Metadata tab shows the typed parameters and edits Access and Dialect; the Run dialog checks values like the command line; search matches tags
  • Edit > Replace... (Ctrl+H) opens one Find and Replace dialog (Find what, Replace with, Match case, Find Next, Replace, Replace All); Replace All is one undo step
  • the Scripts pane has a Recent view listing the 20 Scripts most recently opened, saved or run

Export

  • after a successful DUMP or PULL, a second line gives the completion date and time with its UTC offset and the elapsed time (Completed: 2026-10-14 19:25:43 +02:00 (0:01:12).)
  • DUMP <source> TO <connection>.<table> AS H2 MODE MERGE KEY(<column>[, <column> ...]) inserts new rows, updates changed rows and keeps the others, in one transaction; a NULL or duplicate key, a conversion failure or different columns write nothing
  • AS XLSX to a new file, a new worksheet or with MODE OVERWRITE streams its rows: a million rows need a few hundred megabytes instead of several gigabytes, about three times faster
  • Ctrl+C cancels a DUMP or PULL while the database runs its query and between two written rows, with a message saying what was left behind; long exports print a progress line every 10 seconds

Problems solved

  • Connections: H2 passwords containing a semicolon, a quote or a backslash now work, and a refused login no longer shows part of the password
  • Export: DefaultFolder works without a final separator, and a relative DefaultFolder works with DUMP AS H2
  • Export: a cancelled or failed export no longer leaves a .tmp file in the export folder, and running out of memory gives a clear error with the destination unchanged

Installing BroadSQL 5.5.0

See Installation.

Upgrading from previous releases

No special steps required for this release.

Behavior changes that may affect you

Added to this page on 17 October 2026 to explain the changes listed above. Installing 5.5.0 still needs no special step, and the release itself is unchanged.

  • Changes to a Production database without a terminal are refused. This affects you if a Script runs unattended (a scheduled task, or input redirected from a file) on a connection whose Environment is flagged Production, and changes data. No setting turns this off. See Without a terminal.
  • BroadSQL starts at BroadSQL>, without a connection. This affects you if you relied on landing at $CDF>, or on typing SQL right after starting: SQL without a connection is refused with "No active database connection." Pass a connection to the launcher (connect.bat WORLD) or set RememberLastConnection=TRUE. See Starting, connecting and logging out.
  • DISCONNECT, BYE and CLOSE never return to the CDF. This affects you if a Script or a habit used them to go back to $CDF>. CONFIG now works from any prompt, and CONNECT $CDF asks for the master password and opens CDF maintenance mode. See Starting, connecting and logging out.
  • No ordinary connection can reach the CDF. This affects you if you defined a connection, an export or a linked table that points at the CDF file. See What the CDF protection covers.
  • SET PASSWORD works only on H2, Derby (NATIVE authentication) and HSQLDB. This affects you if you used it on another database: it is now refused before any change. See Behavior that differs by database type.
  • A Script parameter you do not pass takes the session variable of the same name. This affects you if you set a variable with LET whose name is also a -- @param of a Script you call: the Script now receives that value instead of its default, and a value of the wrong type refuses the call. See Where a parameter's value comes from.
  • The CDF is upgraded once at the first start. This affects you if you may go back to an earlier release: an upgraded CDF does not go back. BroadSQL makes a verified backup in conf/backups first; keep a copy of your conf folder too. See Before installing a new release.

Known issues

None known at release time.

Found something wrong or unclear on this page? , with the page address.