On this page

Upgrading BroadSQL

Installing a new release takes a few minutes. What deserves attention is what behaves differently afterwards: this page lists, release by release, every change that may affect your Scripts, connections or habits, and who it affects.

Before you install

  1. Close BroadSQL, and copy your conf folder: it holds the configuration database (the CDF) and your settings.
  2. Keep the previous release's folder until the new one has started once: an upgraded CDF does not go back to an older release.
  3. Make sure only one BroadSQL starts on the CDF during the upgrade.

The steps of the installation itself are in Installation. At the first start, BroadSQL upgrades the CDF when its structure changed, after a verified backup in conf/backups: see CDF schema versions and automatic upgrades.

What changed, and whether it affects you

Choose the release you are upgrading from to see only the changes that apply. Without JavaScript, every change is listed. The release notes of each version keep the complete record.

Changes in 5.5.0

  • Production: changes to a Production database are refused when there is no terminal. This affects you if a Script runs unattended, or with its input redirected from a file, on a connection whose Environment is flagged Production, and changes data. No setting turns this off: run such changes interactively. See Without a terminal.
  • Production: BroadSQL asks before every statement that can change a Production database. This affects you if you work on connections of an Environment flagged Production. ProductionConfirmEveryChange=FALSE asks once per connected session instead. See Production confirmation.
  • Connections: BroadSQL starts at BroadSQL>, without a connection, and SQL without a connection is refused. This affects you if you relied on landing at $CDF>, or on typing SQL right after starting. Pass a connection to the launcher (connect.bat WORLD) or set RememberLastConnection=TRUE. See Starting, connecting and logging out.
  • Connections: DISCONNECT, BYE and CLOSE never return to the CDF; CONNECT $CDF opens CDF maintenance mode and asks for the master password. This affects you if a Script or a habit went back to $CDF> to change connections. Use CONFIG from any prompt, or the connection commands. See CDF maintenance mode.
  • Security: no ordinary connection, export, linked table or monitoring file can reach the CDF. This affects you if you defined a connection or a linked table that points at the CDF file. Delete such connections; remove old linked tables as described in the CDF guide. See Linked tables created by earlier releases.
  • Security: SET PASSWORD works only on H2, Derby (NATIVE authentication) and HSQLDB, and is refused before any change elsewhere. This affects you if you changed database passwords with it on another database. Change the password with the database's tools, then update BroadSQL with EDIT CONNECTION. See Behavior that differs by database type.
  • Scripts: a -- @param parameter that the call does not pass takes the session variable of the same name, before its default. This affects you if you set a variable with LET whose name is also a parameter of a Script you call. Pass the argument explicitly, or rename the variable. See Where a parameter's value comes from.
  • Configuration: the CDF has a schema version and is upgraded once, at the first start, after a verified backup. This affects you if you may go back to an earlier release: an upgraded CDF does not go back. Keep a copy of your conf folder before installing. See Before installing a new release.

Changes in 5.4.5

  • Exploring: DESC <table> followed by any other text than ALPHA is refused. This affects you if a Script writes something after the table name of DESC, DESCR or DESCRIBE. Remove the extra text. See DESCR.

Changes in 5.4.0

  • Scripts: the positional parameters %1 to %9 are removed: a positional call fails, and %1 in a Script is ordinary text. This affects you if a Script uses %1 to %9, or you call Scripts with values without names. Name the arguments (id=42) and read them as ${id}; LIB LINT lists what is left. See From %1..%9 to named arguments.
  • Export: AS CSV uses the CsvSeparator setting, SEMICOLON by default; DUMP <table> to a .csv file too (it always used a comma). This affects you if another system reads the CSV files BroadSQL writes and expects commas. Set CsvSeparator=COMMA. See Application settings.
  • Export: EXPORT and SET SEPARATOR are no longer documented; existing Scripts still run, and MS Access (.mdb) output remains available only through EXPORT. This affects you if your Scripts export with EXPORT. Move them to DUMP when you next edit them. See Scripts from earlier releases.
  • Exploring: SHOW TABLES lists tables only; views are listed by SHOW VIEWS, and LOAD refuses a view. This affects you if you looked for views with SHOW TABLES, or loaded into a view. Use SHOW VIEWS; load into the table itself. See Exploring a database.
  • Exploring: ALL, CNT, DUMP and PULL read exactly the table named, quoted for the database. This affects you if a Script relied on a mixed-case or reserved name reaching another table. Write the table name as the database stores it. See Exporting data.
  • Console: colors, a theme and a table layout that follows the window width are on by default. This affects you if you prefer the previous appearance. Set theme=none. See Colors, themes and highlighting.
  • Connections: a connection can no longer be saved with an inactive Database Group or Environment. This affects you if you keep connections attached to deactivated groups or Environments. Reactivate them, or move the connection. See Connections, Database Groups and Environments.

Changes in 5.3.0

  • Scripts: one Scripts Library replaces the former SQL library and scripts folders; the SqlLib, Scripts and ListSubfolders settings are ignored. This affects you if you kept Scripts in the former sqllib or scripts locations. Set ScriptsLibrary and move your Scripts there yourself: BroadSQL moves nothing. See Scripts Library.
  • Scripts: the SCRIPT commands were removed. This affects you if you run or manage Scripts with SCRIPT RUN, SCRIPT LIST and the others. Use @name or LIB RUN, and the LIB commands. See Running Scripts.
  • Scripts: Script references are exact: nothing is searched, and an @alias line no longer finds anything. This affects you if you call Scripts by a partial name, without extension, or by alias. Use the exact path, for example LIB RUN maintenance/foo.sql. See How a reference is resolved.
  • API Client: RUN takes a URL, after CONNECT API <api>:<environment>. This affects you if you call endpoints with RUN <id> or its API and ENV clauses. Connect to the API once, then RUN the URL. See Running API requests.
  • Extensions: BroadSQL's Java packages moved to com.upandcoding.broadsql. This affects you if you built an extension JAR against an earlier release. Change its imports and rebuild it against the new release. See Extending BroadSQL.

Changes in 5.2.4

  • Connections: SHOW GROUP replaces SHOW INSTANCES, listing the Environments of a Database Group. This affects you if a Script uses SHOW INSTANCES. Use SHOW GROUP. See SHOW GROUP.

Changes in 5.1.0

  • Export: legacy .xls export is removed. This affects you if you export to .xls files. Export to .xlsx (AS XLSX). See Files and spreadsheets.
  • Export: the default export format is set by DefaultFileFormat. This affects you if you expect DUMP without AS to write XLSX. Set DefaultFileFormat=XLSX, or write AS XLSX. See Application settings.

Migration guides

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