Skip to content

@MKleusberg MKleusberg released this Aug 19, 2017 · 1504 commits to master since this release

This is probably our biggest release yet :)

Lots of features were added and many bugs have been fixed. πŸ˜„

We also did a lot of internal refactoring to lay the foundations for future improvements.

We hope you're as excited about this as we are! πŸ˜‰

New team members

  • Welcome to our new team members @karim and @iKlsR, who both became official members of the sqlitebrowser team over the past few months.
    • Thanks guys, your efforts are very much appreciated. 😁


  • integration
    • Uploading and downloading of databases works
    • Branching, forking, starring works, as does creating tags and releases
    • There's a 100MB per database limit at the moment though, as it's still in development πŸ˜‰
    • Backups aren't done on it (yet), so don't use it as your only place for storing important things (!!!)
    • The front page is... not great. We're working on it. πŸ‘Ό
    • Still lots of upcoming stuff needing to be done. An API to query your databases, a cli, merging, discussions/issues
    • Please report bugs, ideas, suggestions (etc) on the repo issue tracker as you find them.
  • Many plot improvements (NULL values, progress dialog, remember settings, better colours, and bug fixes)
  • Better table editing (foreign key editor, toggling the WITHOUT ROWID flag, temporary tables, ...)
  • Better Import CSV dialog. It can now handle multiple CSV files at once
  • Improved Index dialog and better index handling in general
  • Better handling of virtual tables
  • Filter improvements (ranges, NULL search)
  • The usual improvements to the grammar parser


  • Better error reporting when saving the database failed. This also improves working with deferred foreign keys - #770 (thanks to @MKleusberg)
  • Make the 'reload' shortcut dependent on the currently active tab - #759, ab5f6cf (thanks to @MKleusberg)
  • Initial integration (thanks to @MKleusberg)
  • Allow plotting of column when there is a NULL value in it - #822 (thanks to @MKleusberg)
  • When fetching all table data for plotting show a progress dialog - #499 (thanks to @MKleusberg)
  • Remember plot settings for each table and save them in the project files - #819 (thanks to @MKleusberg)
  • Improve copying & pasting cells, especially with NULL values - #825 (thanks to @innermous)
  • Keep the user_version when encrypting an existing database - #846 (thanks to @bssthu)
  • Use platform-specific default line-endings in Export CSV dialog - #842 (thanks to @innermous)
  • Add support for row values to the grammar parser - e9894b4 (thanks to @MKleusberg)
  • Add a new display format for converting to Apple NSDates - #890 (thanks to @shanecb)
  • Make SQL status pane resizable in Execute SQL tab - #906 (thanks to @MKleusberg)
  • Add keyboard shortcut for browse table combo box - #908 (thanks to @MKleusberg)
  • Show more items in tables combobox in Browse Data tab - #867 (thanks to @MKleusberg)
  • Don't generate plot colours randomly - #816 (thanks to @MKleusberg)
  • Show a message box when editing a table column fails - 63ba2c5 (thanks to @MKleusberg)
  • Allow setting and unsetting the WITHOUT ROWID flag for existing tables - #51 (thanks to @MKleusberg)
  • Add very, very basic support for virtual tables to the grammar parser - #917 (thanks to @MKleusberg)
  • Support named foreign key constraints in the column definition - #741 (thanks to @MKleusberg)
  • Support named primary keys in column constraints - #741 (thanks to @MKleusberg)
  • Replace ASCII art in pagination controls in Browse Data tab by icons - 35725b0 (thanks to @MKleusberg)
  • Enhanced UI for creating and editing foreign keys - #921 (thanks to @innermous)
  • Allow opening databases in read only mode - #325 (thanks to @MKleusberg)
  • Better error handling when opening a database fails - 1a6c349 (thanks to @MKleusberg)
  • Allow setting the temporary table flag in Edit Table dialog - 6cc850c (thanks to @MKleusberg)
  • Add live SQL preview to the Create Index dialog - 1bd1009 (thanks to @MKleusberg)
  • Allow editing existing indices - c9ceb5d (thanks to @MKleusberg)
  • When renaming a table column try to fix all indices referencing the column - dc934a7 (thanks to @MKleusberg)
  • Show better error message when recreating objects after renaming column fails - 0f0b18d (thanks to @MKleusberg)
  • Add index columns to database structure tree - 901e087 (thanks to @MKleusberg)
  • Add new range operator to the filters - #939 (thanks to @schdub)
  • Pretty-print CREATE statements in SQL export - #629 (thanks to @MKleusberg)
  • Add support for filtering for NULL values - #588 (thanks to @MKleusberg)
  • Save some space in the Database Structure tab - #620 (thanks to @MKleusberg)
  • Add keyboard shortcuts for switching the currently browsed table - #536 (thanks to @MKleusberg)
  • Allow changing case of column name in Edit Table dialog - #985 (thanks to @MKleusberg)
  • Slightly reduce row height in data browser to fit more rows into the window - #419 (thanks to @MKleusberg)
  • Implement page-wise scrolling using the buttons in Browse Data tab - #232 (thanks to @MKleusberg)
  • Add new option for adding DROP statements to exported SQL files, add 'IF NOT EXISTS' to CREATE statements - #629 (thanks to @MKleusberg)
  • Add an option to enable editing of views if there are triggers present for this - #141 (thanks to @MKleusberg)
  • Completely new design of the Create/Edit Index dialog - 58996f1 (thanks to @MKleusberg)
  • Add support for setting the partial index clause to the Edit Index dialog - e61d7d9 (thanks to @MKleusberg)
  • Add proper support for multi-column indices to the Edit Index dialog - 6321d14 (thanks to @MKleusberg)
  • Add support for expression columns to the Edit Index dialog - 8cc3154 (thanks to @MKleusberg)
  • Allow importing multiple CSV files at once - #1018 (thanks to @iKlsR)
  • Allow matching similar csv files for batch import - #1018 (thanks to @iKlsR)
  • Add context menu to table views - 2421fef, 803a1fa (thanks to @MKleusberg)
  • Keep SQL tabs opened after closing the database - #1035 (thanks to @MKleusberg)
  • Allow opening and saving SQL files without database opened - 3c40a12 (thanks to @MKleusberg)
  • When importing CSV data into existing tables, don't insert empty strings into numeric fields - #195 (thanks to @MKleusberg)
  • Allow setting PRAGMAs from the Execute SQL tab - #1021, #980, #966 (thanks to @MKleusberg)
  • Add a -v/--version command line switch to display the version number - #1065 (thanks to @FriedrichFroebel)

Bug fixes

  • Fix uninitialised memory warnings - #793 (thanks to @revolter)
  • Fix scrolling on MacOS X - #750, #810 (thanks to @revolter)
  • Fix memory leaks - 7b86b17 (thanks to @MKleusberg)
  • Row paging values not cleared from Browse Data table after closing database - #809 (thanks to @revolter)
  • Fix multiple commented out lines not being ignored in Execute SQL tab - #811 (thanks to @revolter)
  • Fix HTML escaping of Execute SQL results - #823 (thanks to @MKleusberg)
  • Fix altering tables with multiple indices - #771 (thanks to @MKleusberg)
  • Fix renaming of table columns when there are foreign keys constraints (thanks to @MKleusberg)
  • Fix fetch all data button for plots based on query data - #820 (thanks to @MKleusberg)
  • Add row number as possible column to select for plotting - #820 (thanks to @MKleusberg)
  • Fix hanging when deleting large number of records - #856, #870 (thanks to @prutz1311)
  • Improve handling of SQLite savepoints - #878, #836 (thanks to @prutz1311)
  • Fix link to SQLite documentation in the user version pragma label - #897 (thanks to @MKleusberg)
  • Apply changed font settings to edit dock without restart - #894 (thanks to @MKleusberg)
  • Fix bugged pagination - #912 (thanks to @innermous)
  • Fix 'modifying table not supported' message - 99a5d02 (thanks to @MKleusberg)
  • Parse columns with explicit NULL (un-)constraint correctly - #741 (thanks to @MKleusberg)
  • Clear edit dock after closing database - #469 (thanks to @MKleusberg)
  • Fix editing table name and table columns at once - 11ca36e (thanks to @MKleusberg)
  • Fix grammar parsing for tables and columns named 'no' - 396589d, ec9e05e (thanks to @MKleusberg)
  • Fix grammar parsing for unquoted use of keywords as DEFAULT values in constraints - #877 (thanks to @MKleusberg)
  • Fix grammar parsing for exotic column data types - 64fdd78 (thanks to @MKleusberg)
  • Don't convert temporary tables into permanent ones when editing them - cd2f14e (thanks to @MKleusberg)
  • Allow table names consisting only of spaces in Edit Table dialog - 5858ea4 (thanks to @MKleusberg)
  • Make virtual tables browseable - #917 (thanks to @MKleusberg)
  • Save foreign keys settings in the project files - #848 (thanks to @MKleusberg)
  • Add support for encryption using the raw key format - #264 (thanks to @MKleusberg)
  • Don't show foreign key tooltip within Execute SQL tab - #942 (thanks to @innermous)
  • Make sure to register the regexp function when creating a new database - 8da6262 (thanks to @MKleusberg)
  • Improve error handling in execution of SQL commands - #955, #957 (thanks to @MKleusberg)
  • Fix execution of problematic SQL scripts leading to empty commands - 934dd39 (thanks to @MKleusberg)
  • Fix 'not an error' errors in the Execute SQL tab - #478 (thanks to @MKleusberg)
  • Never set integer primary key fields to empty string - #859 (thanks to @MKleusberg)
  • Add support for parsing collations in column definitions - #411 (thanks to @MKleusberg)
  • Always add absolute path to the recent files menu - #965 (thanks to @dridk)
  • Fix plotting with datetimes switching to DST on X axis - #738 (thanks to @prutz1311)
  • Fix setting font for statement success/error message in Execute SQL tab - f67817e (thanks to @MKleusberg)
  • Fix window title of Export JSON dialog - ace89f1 (thanks to @justinclift)
  • Deactivate Export JSON menu item when no database is loaded - 8b2e93d (thanks to @justinclift)
  • Add support for signed default values to grammar parser - e72df17 (thanks to @MKleusberg)
  • Add support for CHECK table constraints to grammar parser - 3596bf6 (thanks to @MKleusberg)
  • Work around rowid column not being properly hidden when using some Qt versions - f7421a9 (thanks to @MKleusberg)
  • Show consistent slashes in recent files menu actions - #735 (thanks to @MKleusberg)
  • Avoid executing some unnecessary SQL statements for better performance - #1007, 6984d45 (thanks to @MKleusberg)
  • Fix default path in 'Save file as' dialog - e1fbc98 (thanks to @MKleusberg)
  • Fix unticking of plot columns when changing other columns or changing table - #950 (thanks to @MKleusberg)
  • Improve plot performance - 4706dd7 (thanks to @MKleusberg)
  • Avoid warning being printed to console when creating a new database - #583 (thanks to @MKleusberg)
  • Fix wrong message box texts when setting the table encoding - e404b22 (thanks to @MKleusberg)
  • Don't show 'Show rowid' menu item for views - 57c4e58 (thanks to @MKleusberg)
  • Also apply the current selection to the Edit Cell dock when using the keyboard to navigate in Execute SQL tab - #481 (thanks to @MKleusberg)
  • Keep current sort order after refreshing in Browse Data tab - #1016 (thanks to @MKleusberg)
  • Fix changing the page size pragma using the UI - #1021 (thanks to @MKleusberg)
  • Don't include triggers and indices in SQL export if their base tables aren't exported, too - #1013 (thanks to @MKleusberg)
  • Make SQL auto completion case insensitive - #1046 (thanks to @MKleusberg)
  • Check for errors when reading or writing SQL files - #1036 (thanks to @MKleusberg)
  • Enforce quote chars in CSV export for fields with line breaks - #1037 (thanks to @MKleusberg)
  • Fix CSV import when line breaks appear at the buffer boundary - #1033 (thanks to @MKleusberg)



  • Switch to C++11 and Qt5 - #808 (thanks to @MKleusberg)
  • Drop Qt4 support - #603 (thanks to @MKleusberg)
  • Try using the system version of libscintilla2 - #832 (thanks to @MKleusberg)
  • Update QHexEdit library to 0.8.3
  • Update QScintilla2 library to version 2.10
  • Update QCustomPlot library to version 2.0-beta
  • cmake: Add options to disable usage of distribution's libraries - #961 (thanks to @MKleusberg)
  • qmake: Add a 'make install' rule - #833 (thanks to @MKleusberg)

Platform specific

  • OS X: Change the default SQL editor font size to 12pt - #818 (thanks to @justinclift)
  • Windows: Make sure the installer doesn't launch the application as Administrator - #338 (thanks to @justinclift)
  • Windows: Add Windows XP support again - #1011 (thanks to @karim)

Other notes

  • The win32 download should also work for WinXP too, no separate XP download needed. πŸ˜„
  • You can go to the Change Log for the detailed version of the changes listed here and to the Commit Log for the full list of changes.


  • DB Browser for SQLite-3.10.0-win32.exe
    • b5dade746d00c4835c752b4a07e7de9b0ec137a78b51eb879e8d53669dfc9c9b
  • DB Browser for SQLite-3.10.0-win64.exe
    • e68b8e22c042d193a4df3f652694bb0e959076ab05e5fdbde9305da467418e7f
  • DB Browser for SQLite-3.10.0.dmg
    • b7d5bdc92c4d5b4d1b69203033e75cc537daca00b95e39f737ed32eae728c6aa
Assets 5
You can’t perform that action at this time.