- Fix preview sticking around after query selection
- Fix tag/search input in query list
- Remember selected connection id / schema toggle
- Loading indicator for schema sidebar
Beta for version 3 may be installed via latest docker image, or by installing via npm referencing exact version or beta tag.
SQLPad v3 is backwards-compatible with SQLPad v2 database files, and is mostly a UI redesign/refresh and a large file structure change. Give it a try and if you aren't ready for it roll back to v2 and everything should still work.
UI components previously based on bootstrap UI components are now replaced by custom components. Magenta is embraced as a secondary color.
Management and listing pages (Queries, connections, users, and configuration) have been moved into side drawers, allowing management and browsing of things without leaving the current query. The query editor is the primary focus of the application.
Query editor toolbars have been consolidated into a single bar to maximize use of space on the page.
Unsaved changes to a previously-saved query are now saved, prompting the user to restore on next open. This is not enabled for unsaved changes to "new" queries since it could become an annoyance, but can be added if there is interest.
Query result chart has been moved to a smaller resizable pane along side the SQL query instead of being placed in a tab. This impacts the size available for the chart, but brings it to the default view, allowing altering of the query without changing tabs.
The schema sidebar may now be hidden and is now searchable. It has also been rewritten to render large trees efficiently.
Query result grid no longer has data bars for numeric values since it didn't make sense for all number values. Date value display logic has been altered to only show timestamps if timestamps are detected. When timestamps are shown, the full timestamp from the JavaScript date object is displayed.
- Fix Google oauth for Google+ API shutdown
- Add postgres column description to schema sidebar
- Log user id and email in debug mode
- Replace memory-based session store with file-based
- Fix query editor not responding to input after query result scroll
- Add optional odbc support. See ODBC wiki page for more detais
- Fix query editor loading when connections load slowly
- Add Cassandra support
- Sort driver dropdown in connection form
- Extend data grid to full width of container
- Implement data grid using react-virtualized (fixes resizable columns)
- Fix chart rendering error when columns no longer returned by query are referenced
- Allow case insensitive user lookup by email (fixes case sensitive signup/signin issues)
- Revert chart fix from 2.5.5 preventing charts from rendering
- Remove frameguard protection (fixes iframe embeds)
- Use CDN for bootstrap font (fixes missing icons when using baseUrl)
- Update dependencies
- Fix 0 values classified as string in query results
- Fix UI chart error when referencing columns no longer returned by query
- Fix SQLPad crash postgres queries exceeding max row limit
- Only show admin registration open message if admin registration is actually open
- Fix baseUrl of undefined error
- A lot of driver refactoring
- Driver implementations now consolidated at /server/drivers
- All drivers now tested
- New docker build process/root-level Dockerfile
- Fixed password reset link when using base url
- Fix SAP HANA schema not being cached due to dots in column name
- Fix error when updating connection
- Fix SQLPAD_BASE_URL / --base-url use
- Fix early session expiration / extend session expiration every response
- Added support for SAP HANA (ccmehil)
- Many security improvements
- Majority of dependencies updated
- Implemented expressjs security best practices
- Helmet middleware added
- Express-session used instead of cookie-session
- Randomly generated cookie secrets
- Sessions now expire (1 hour)
- Limited amount of config info sent to front end
- Updated styling for User and Connection admin pages (bringing boring tables back. updates to rest of app to follow)
- Schema sidebar updates
- Limits presto schema sidebar to schema if provided in connection info
- Removed (view) label on views
- Fixed generic schema info query for case-sensitive collation
- Fixed disappearing data table after vis resize
- Added resizable panes to query editor
- Added SQL formatter to query editor (KochamCie)
- Added clone query button to query editor
- Added prompt when navigating away from unsaved query edits
- Redesigned bar charts in data grid to a more minimal design
- Redesigned query editor nav bar
- Brings query name input out of modal
- Adds unsaved changes indicator to save button
- Adds shortcut/tip documentation to modal
- Uses nav links instead of buttons for less visual noise
- Updated editor shortcuts
- Running query now
ctrl+returnorcommand+return - Format query with
shift+return
- Running query now
- Updated tauCharts to latest version
- Implemented react-router & fix unnecessary page loads on navigation
- Bundled remaining vendor JavaScript libs
- Removed external font-awesome dependency from CDN
- Fixed bigint handling for MySQL
- Fixed date display in charts
- Fixed date display for MySQL
- Fixed cell content not expanding when cell is expanded
- Fixed unintended page refresh on editor sidebar link clicks
- Fixed layout bugs from flexbox
- Lots of misc front-end refactoring
- Fix --base-url config use
- Refactored layout styling to use flexbox css
- Force no-cache on fetch requests (fixes some odd IE issues)
- Fix docker entry point
- New features
- Added systemd socket activation support (epeli)
- Added option to disable update check
- Resizable data grid columns (slightly buggy)
- Fixes
- Fixes MySQL schema sidebar showing extra dbs
- Fixes loss of precision of numbers in UI grid (even if they were text)
- Fixes Presto driver
- Fixes React deprecation warnings
- Fixes incorrect date display in UI
- All dates were being localized. now displayed without localization
- Compatibility notes
- Node v6.x now required at minimum
- added SOCKS proxy support for postgres (brysgo)
- fixed version displayed in about modal
- fixed query tag weirdness from previous v1 weirdness
- leading 0s preserved in query results and treated as strings instead of numbers
- support for postgres ssl certs (johicks and nikicat)
- fixed crate v1 schema support (mikethebeer)
- naive autocomplete
- refactored connection admin screen
- changed build system to fork create-react-app
- Ensure strict db startup order (vweevers)
- Improve query editor performance/reduce SQL editor lag
- Fix chart only view not displaying charts
- Fix query editor search
- Update dependencies
- Fix: disabling of links on query details modal (vweevers)
- Fix: Vis tab loading indicator behaves same as query tab, hiding error on rerun (vweevers)
- Fix: Charts rendered lazily. Query result grid loads faster, large query results won't lock browser until you try to chart. (vweevers)
- Fix: Hide local auth form if DISABLE_USERPASS_AUTH=true
- run https via sqlpad directly (see additional setting) (jameswinegar)
- Support non English characters when downloading files (askluyao)
- render booleans/null timestamps properly
- (See beta 1 - 3 release notes)
- Password reset/forogot password functionality added
- Admins may generate reset links manually
- If smtp is set up forgot password link is enabled
- Configuration:
- Checklist added for OAuth and Email
- Item is disabled in UI if value is provided by environment or cli
- sensitive values are only masked if environment variables
- Move to single-page-app architecture
- New query loading animation
- Title and export options added to chart/table only views
- Add Presto DB support
- Basic Auth available for non-admin api
- More performance improvements
- Misc bug fixes
- More code cleanup
- UI design updates everywhere
- Query Listing:
- preview query contents by hovering over query listing
- occassional search/filter weirdness has been fixed
- Query Editor:
- Schema sidebar no longer separates views and tables in hierarchy
- New result grid
- inline bar plot rendered for numeric values
- display issues fixed for certain browsers
- New tags widget for cleaner input
- Browser tab name now reflects query name
- Updated taucharts library with stacked bar charts
- Line and Scatterplot charts may have chart filters enabled
- 'show advanced settings' in vis editor now has a few advanced settings depending on chart (y min/max, show trendline, show filter)
- switching between sql/vis tabs won't reset chart series toggles
- table/chart only links may be set to no longer require login (see configuration page)
- Configuration:
- Specific config inputs and labels - no more open ended key/value inputs
- Current environment config documented with assistive popovers
- Update notification moved in-app
- Under the hood
- updated all the code dependencies
- reworked some foundation code for easier future development
- Known issues / not yet implemented:
- Query tag input does not allow creation
- Query auto-refresh not yet implemented
- empty postgres queries (like executing a comment only) no longer crash sqlpad
- materialized views are included in schema sidebar for postgres
- SQLPad may now be mounted under a base url path by providing --base-url cli flag or SQLPAD_BASE_URL env variable
- Updated taucharts to 0.9.1
- Legends are now included when saving png chart images
- Many client-side and server-side dependencies updated
- Add ability to bind to a specific IP address via the --ip flag or the SQLPAD_IP environment variable
- Removed sort inputs for bar charts. (Chart sort may instead be influenced using ORDER BY in SQL query.)
- Add ability to turn off date localization (add config item "localize" set to "false")
- Add --debug flag to SQLPad cli to enable extra logging
- Port and passphrase may be set via environment variables SQLPAD_PORT and SQLPAD_PASSPHRASE
- Add support for Crate.io
- Auto-refresh query every x seconds
- Fix crash when unregistered user tries to log in
- MySQL connections can now old/insecure pre 4.1 auth system
- links now available to display just the chart or data grid
- Charting now handled by the very cool tauCharts library. It's a bit faster, has facets, grammar of graphics concepts, handles time series data better, trendlines.
- When changing chart types, SQLPad will remember and reapply the field selections where applicable.
- SQLPad database files compacted every 10 minutes, instead of once a day
- Signup page styling is fixed.
- Schema-item-name copy-to-clipboard buttons now available. Opt in by creating configuration item
showSchemaCopyButtontotrue. - Query results can now be downloaded as xlsx file. (link will be hidden if csv downloads are disabled)
- Connection password no longer visible on connection screen.
- Duplicate content headers prevented when csv filename contains comma.
- Authentication now managed by Passport.js
- Username/Password authenication strategy can be disabled by setting environment variable DISABLE_USERPASS_AUTH
- Google OAuth strategy can be enabled by setting GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and PUBLIC_URL environment variables
- Query can be posted to Slack webhook when saved. To enable, create configuration item with key "slackWebhook", and set the value to a Slack incoming WebHook URL.
- Whitelist domains for username administration by setting environment variable WHITELISTED_DOMAINS
- Query connection now selected by default if only one exists
- Tags now look like tags
- Typeahead added for easy tag creation
- Code cleanup
- remove console logging used for debugging
- Vertica now supported via Vertica driver
- CSVs no longer generated if disabled
- optimizations made to schema-info processing
- improved db tree/schema info performance
- Charts can be saved as images
- work-around to handle multiple statements using postgres driver
- fix to provide MAX_SAFE_INTEGER if not defined
- query results are limited to 50,000 records. This can be changed by adding a configuration key "queryResultMaxRows" and providing the number of max rows you would like returned.
- Minor bugfixes
- Text selection enabled on query results
- schema information now cached
- connection port is optional in UI
- Added port property to connections
- Configuration system has been added
- CSV downloads can be disabled via configuration. Add new item with key "allowCsvDownload" with value "false" to disable.
- Add initial Vertica support via use of Postgres driver
- SQLPad is released