Skip to content

What's new?

This page summarizes the most significant changes in each release. For the complete change history, see the version history on the SQLite Expert website.

Version 6.2

  • Index Advisor on the SQL tab: SQLite's own advisor suggests indexes that would speed up a query, and shows the resulting plan. See Finding missing indexes with the Index Advisor.
  • Query History (SQL menu): every script run on the SQL tab, searchable, and reopened with a double-click. Settings under Tools → Options → Query History. See Query history.
  • One Find window for the current grid (Ctrl+F, SQL results included), a table, or a whole database (Find... in the tree). Contains, whole value, starts with or regular expression; match case; whole words; chosen columns. All matches are listed and highlighted; Go to Row opens the row. F3/Shift+F3 step through the grid. See Finding a value in the database.
  • Recent searches are remembered. Esc or Clear Highlight removes the highlighting from a grid.
  • Shorter tree and grid menus: related commands are grouped under submenus.
  • Imports that create a table have a Column types option: descriptive types without sizes (the new default), STRICT type names, a STRICT table, or the old types with sizes. Floating-point columns are declared REAL. See How an imported table declares its columns.
  • Imports store a value longer than its column's declared size whole, and the text import stores yes/no as 1 or 0.
  • The sample database uses SQLite's type names (TEXT, REAL) without sizes.
  • The Record Editor sizes each box to its value; drag the strip under a box to resize it.
  • A new row appears in the grid at once, wherever it lands, and the cursor stays on it.
  • The Value Inspector opens on a value that does not match its declared type, and the text editor saves such a value as stored.
  • A tick box in a nullable column cycles through unchecked, null and checked.
  • Ctrl+C while editing a cell on the Design tab copies the selected text, not the row.
  • Installations upgraded from version 5 now start on the DeepWhite and DeepBlack themes, as new installations do; 6.0 to 6.1 kept the version 5 skin instead. Your previous skin is still in the list. See Changing options.
  • Fixed: an error on closing a database; a conversion error on arrow keys in yes/no and date cells; a blank row for a column added on the Design tab; Options failing on its second opening, and not reopening where it was closed.

Version 6.1

  • The Database page is now five pages: Databases, Connection, Functions, Collations and Modules. Connection carries compile_options, the definitive answer to what the loaded SQLite library was built with; Functions lists every routine the connection answers to by name, including anything a loaded extension registered. See Displaying database information and internal parameters.
  • The table designer names the views and triggers that use a column you are removing, before the change is applied rather than after it has quietly broken them.
  • Two new limits under Tools → Options → Grid contents: Max TEXT size to show in grids bounds how much of a long value is drawn, and Max cell height in grids bounds how tall one cell can make a row.
  • Options that were check boxes on forms and dialogs are now switches. Grids keep their check boxes.
  • A database now opens even when an extension loaded automatically fails to initialise, and the message says which extension and why. The extensions list names the database each one was left out of.
  • Compare follows the database selected in the tree when the pair it remembered is no longer open, instead of starting with neither side chosen.
  • The Options window's page list keeps the keyboard, so the pages can be walked with the arrow keys after one is clicked.

Version 6.0

  • The table designer applies most structural edits with ALTER TABLE instead of rebuilding the table: renaming, adding and removing columns, renaming the table, and combinations of those. No copy, no regenerated DDL, and indexes and triggers stay where they are. It falls back to restructuring only where SQLite cannot express the change, and checks the result either way.
  • Renaming a table or a column carries through to the views and triggers that name it.
  • A new Diagram page draws the database as an entity-relationship diagram, laid out automatically or by hand, saved with the file, exported as a picture or PDF and printable. Professional Edition. See Viewing the schema diagram.
  • Convert to STRICT: a wizard that reads the data, offers each column the STRICT type its declaration implies, and says what tightening one would cost before anything runs. See Converting tables to STRICT.
  • A Value Inspector that reports what a value really is: its storage class, what the column's affinity did to it on the way in, and whether it can be written back. See The Value Inspector.
  • A file can be imported into a table — JSON, XML, HTML or a spreadsheet in ODS, XLSX or XLS form — into a new table or an existing one, with a preview of the columns and types found before anything is written. Professional Edition. See Importing data from JSON, XML, HTML or a spreadsheet.
  • JSONB values are shown as readable JSON in the grid and in the editors. See Working with JSON.
  • Light and dark themes, with a System mode that follows Windows while the program runs. See Changing options.
  • Long commands — reading a large table, the analyzer, the consistency check, vacuum — report what they are doing and can be stopped. See Performing maintenance operations.
  • Large tables navigate by seeking rather than reading, and record counts in the tree are counted in the background.
  • Tooltips name every button, and explain the commands whose name does not say what they do. See Changing options.
  • Compare no longer needs both databases open, and reports the columns the other side has not got.
  • The query builder writes unqualified names; Show "main." prefix beneath the object list brings the old form back. See The Query Builder layout.
  • A failed statement selects the word SQLite choked on and reports its line and column within the statement. See Executing SQL scripts.
  • Fixes: editing a virtual table no longer discards its data; Repair keeps a virtual table's content; the Data Transfer Wizard reports what goes wrong instead of crashing on it, and a transferred table keeps its primary key and unique constraints; one unusable foreign key no longer hides every other violation; arithmetic that overflows answers the way SQLite means it to; sorting a large table by clicking a column header no longer leaves the pointer spinning for the rest of the session; and a primary key declared as a table constraint with AUTOINCREMENT — PRIMARY KEY ("id" AUTOINCREMENT) — is read as the column it names rather than showing on the designer's Primary Key page under Expression with the column name blank.

Version 5.5

  • FastSpring integration for online ordering and licensing.
  • Parser support for the latest SQLite syntax.
  • Support for Windows on ARM64 (64-bit).
  • The printing system now initializes on demand, for faster start-up.

Version 5.4

  • Parser support for the latest SQLite features.
  • Various bug fixes and performance improvements.

Version 5.3

  • Support for the UPSERT clause (INSERT … ON CONFLICT … DO UPDATE).

Version 5.2

  • Support for Unix date/time values.
  • New Max BLOB size option to limit the size of BLOB values loaded into the grid.
  • Option to install generic collations on demand.

Version 5.1

  • New Run sqlite3_analyzer.exe option for detailed database space analysis.
  • Support for BETWEEN and IN in grid filter expressions.
  • High-DPI monitor support.

Version 5.0

  • Returned to the DevExpress components used in the 3.x series (based on user feedback), improving how data is displayed and edited in the grid and replacing VCL Styles with the DevExpress Skin Library.
  • Data export to JSON.

Version 4.0

  • Separate 32-bit and 64-bit editions.
  • Redesigned table, view, and virtual-table editors, built on a new recursive-descent SQL parser (COCO/R).
  • Separate editors for table and column constraints.
  • The SQL change script is shown for review before changes are applied to a database object.
  • Experimental SQL formatter on the SQL and DDL tabs.
  • Database schema comparison.
  • Settings are stored in a JSON file.

Version 3.5

  • Improved license registration.
  • Support for WITHOUT ROWID tables and partial indexes.

Version 3.3

  • Visual editing of virtual tables, including RTREE, FTS3, and FTS4.
  • Database DDL comparison tool and online backup.
  • Support for the ICU extension (Unicode-aware collation and text handling).

Version 3.0

  • Printing support: send the contents of any grid or editor to the printer.
  • A skin library for customizing the application's appearance (later replaced by VCL Styles, and then the DevExpress Skin Library).

Version 2.0

  • Major internal upgrade to Delphi 2009, bringing full Unicode (UTF-16) support. Text columns (CHAR/TEXT) now map to Unicode strings by default.
  • More encoding options — and automatic encoding detection — when importing and exporting text files.
  • A statically linked SQLite library, so the program can run without an external sqlite3.dll (an external library can still be used, for example a newer build or one with encryption support).