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), andLIB TREE,LIB LIST ... BYand a stricterLIB LINT. DUMP ... AS H2 MODE MERGE KEYkeeps 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 inCONFIG.
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 setRememberLastConnection=TRUE. See Starting, connecting and logging out. DISCONNECT,BYEandCLOSEnever return to the CDF. This affects you if a Script or a habit used them to go back to$CDF>.CONFIGnow works from any prompt, andCONNECT $CDFasks 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 PASSWORDworks 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
LETwhose name is also a-- @paramof 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/backupsfirst; keep a copy of yourconffolder too. See Before installing a new release.
Known issues
None known at release time.
Found something wrong or unclear on this page? Tell us, with the page address.