Release 18.104.22.168 — January 29, 2016
Fixes a security vulnerability involving the Sparkle Updater reported by Radoslaw Karpowicz (CVE-ID in progress)
- Favorites can now have a color (eg, RED for production databases)
- Updated mysql client libraries to 5.5.42
- Can now use SHA-256 client certificates with TLS connections (#2071)
- SSL2.0/3.0 connections are no longer supported, upgrade to TLS.
- Preferred cipher suites can now be configured in Preferences.
utf8mb4can now be selected as connection encoding
utf8mb4is now also put at the top of charset lists (along with
- Emoji are now correctly supported in the query editor 🎉 (#2044)
- The table list context menu now allows opening tables in new Windows when holding down the Option key (#2015)
- There is now a fast, keyboard based way to switch between databases (Menu: Database > Go to Database…) (#1857)
- Added an option to disable backticks when doing code completion (#764)
- The selected database can now be shown in the Query Console (#1938)
- The name of the connection favorite can now be used as an export filename token
- Added basic support for MySQLs reworked DATETIME time in 5.6.5+ (#1867)
- Added support for TLS/SSL over SSH forwarding.
- Added support for sorting columns in custom query results (Thanks to @miroslav)
- Binary columns can now optionally be displayed in HEX encoding
- Added support for fractional seconds (MySQL 5.6.3+) (#1515)
- Favorite groups can now be exported and imported again
- Improved support for HiDPI (Retina) screens
- Updated look for OS X Yosemite 10.10
- Fixed the cog menus positioning being off
- Columns to show/hide in Structure view can now be picked by ctrl-clicking on the table header
- Preferences will now display a little help text regarding Growl and Notification Center
- Updated Growl framework to 2.0.1
- Background Threads will now show their purpose in Xcode, spindump and crash reports
- The pagination popover will now use the native OS feature on OS X 10.7+
- Disabled OS X' (not so) "smart quotes" in the Bundle Editor (Thanks to @uxp)
- ctrl+H (Help for MySQL keyword) can now be reassigned like any other command (#1974)
- Performance and memory improvements (especially for data loading)
- Disabled some unsupported UI functions when the CSV storage engine is being used. (#1546)
- Added yet another option to disable the field editor mode for those accidentally triggering it (#1579)
- SQL files opened with Sequel Pro can now be saved back to disk again (#1805, #1011)
- The arrow button to follow a foreign key relation is now disabled on NULL values (#1790)
- Disable "smart" substitutions for field editor sheet (fixes #2154)
- Fix an issue where Sequel Pro added a NUL byte to the end of every query (fixes #2184)
- Fix an issue where LIKE filters were changed to BINARY if reloading a table via cmd+R (fixes #2179)
- Fix an exception when trying to remove a query favorite via its context menu (fixes #2161)
- Fix a rare exception when opening a session via "Open Recent"
- Fix an exception when trying to sort favorites by "host" or "type" while groups are present (fixes #2151)
- Fix a crash when the database popup was removed from the toolbar (fixes #2147)
- Fix an exception when no database was selected and the user tried to export a query result with the "database" file name token (fixes #2145)
- Fix a crash when displaying the server process list (fixes #2114)
- Fix a popular exception when a user tried to edit a field with a lost connection and then chose "disconnect" when Sequel Pro asks to reconnect (fixes #2137)
- Fixed a rare crash when SSH connections failed (caused by a race condition) (fixes #2132)
- Fixed an issue with resetting auto_increment to a value > 1000 (#2130)
- Fixed a data corruption issue when editing custom query results and certain conditions were met (#2113)
- Fixed helpful messages for FK creation errors no longer being shown for MySQL 5.5+
- Fixed an issue where copying text from the query console could result in an exception in some scenarios (#2111)
- Fixed tooltips being placed on the wrong screen in some multi-monitor setups
- Fixed a case where Sequel Pro was not able to handle invalid characters for the selected charset (#1207) (Thanks to @liuteng)
- Partly fixed an issue where the SSH inputs might be cut off on the connect screen
- Fixed some runtime console warnings which were caused by changing the interface files
- SSH Forwarding did not work with OpenSSH 6.7 and newer (#2050) (Thanks to @chn42)
- Fixed a crash when selecting an SSH key (#2042)
- Fixed a crash related to "Display binary data as hex" and closed tabs
- Fixed an issue with escaped mirrored snippets in Query Favorites (#2049)
- Fixed a minor UI issue when cancelling an SSH connection attempt
- Fixed Import not working for new users on OS X 10.6
- Fixed some cases where the UI was updated from a background thread
- Fixed the CSV field mapping dialog being horribly slow on 10.10 for some users (#2025)
- Fixed a crash that could happen when selecting "Overwrite existing files" (#2010)
- Fixed an issue where changing the query favorties/history would cause an UI inconsitency when the list was filtered before (#2040)
- Updated some outdated URLs to our website
- Fixed the pagination popover on older versions of OS X.
- Changed some width calculations in split views that caused a
...left the subview frames in an inconsistent state:console warning
- Fixed a crash when closing the User Manager (#1961)
- Fixed an issue where duplicating a database would cause fields with value
auto_incrementset to be assigned a new id (#1978)
- Fixed import of bzip2 compressed files (issue introduced after 1.0.2 release) (#1983)
- Fixed an issue for SSH users who have configured the
ControlMasterfeature (Thanks to @schmurfy)
- Fixed an exception on export if certain conditions where met (#1968)
- Quickly switching between tables would cause a "Query execution was interrupted" for some users (#1902)
- Importing new Bundles by opening them in Finder or dragging them onto the Sequel Pro icon was broken (issue introduced after 1.0.2 release) (#1909)
- Fixed an issue where CSV imports could not be started if a zero-length field was set to not be imported
- Fixed a multithreading issue that could cause crashes when loading table data (#1884)
- Fixed an issue where the Relations view would display outdated data (#1591)
- Relations across database boundaries were displayed wrong (#1369)
- Fixed an issue where SQL exports might cause invalid SQL if database contents changed during export (#1726)
- Fixed a possible exception related to the display of line numbers in the query editor
- Fixed an exception related to tabbing through fields in Structure view
- Fixed some possible exceptions when adding new fields to a table
- Fixed an exception on 10.6 when clicking on a certain point in the table list
- Fixed an issue with row counts when reloading tables (#1789,#1788,#1787)
- Fixed a hang when there was a query error (#1783)
- Fixed an issue with graphic artifacts on certain graphic cards and reduced CPU usage along the way (#1678)
- Fixed hangs when adding columns to large tables after the table has been viewed already (#1710)
- Field Editor now uses the newer "find bar" instead of the "find panel" on supported OS X versions (#2148)
- Allow to select a custom SSH binary (which we totally do not support, but hey, a feature is a feature) (#2083)
- General code refactoring
- Unified some duplicate code
- Replaced some "magic numbers" in code with constants
- Replaced NSArray/NSDictionary initialization and access with the ObjC literal syntax where safely possible
- Replaced boxed integers, bools with ObjC literals
- Updated some code to use
- Fixed lots of clang compiler warnings
- Updated copyrights to 2015
- Removed use of an Apple private API method, blocking App Store compatibility (Thanks to @origsun)
- Updated the Xcode project to use the 10.8 SDK
- Fixed runtime and compiletime warnings due to deprecated functions
- Fixed some memory management issues
- Internal changes due to the migration to git and GitHub
- Updated handling of several "Save" dialogs to newer OS X SDK
This release focuses on making tweaks and fixing bugs from the 1.0.1 release, but also updates the custom query Run interface, improves the user manager, and adds a Spanish localisation.
If you find any bugs, or found we haven’t fixed issues that have been bothering you, please do add them to our issue tracker!
- Fix blurry text in a number of SQL text views
- Always run on Integrated Graphics on machines with both integrated and discrete to improve power consumption
- Correctly restore the tab bar label when cancelling a connection
- Fix high CPU usage when displaying certain blocking alerts
- Improve menu items’ enabled state following a connection
- Fix display of information when using the Navigator
- Fix crashes when importing favourites on the connection view
- Scroll to and select newly created favourites after import
- When selecting a favourite with no password, don’t set the focus on the password field at once, but set it as the next responder for the tab key
- Fix a crash if duplicating a favourite and denying keychain access
- Fix odd behaviour when trying to edit or autogenerate the name of SSH connections
- Support favorite imports from old preference .plists
- Fix a range of crashes related to SSH connections in certain network/server conditions
- Fix occasional invalid connection details loaded from .spf and .spfs files suring startup or when duplicating connection tabs
- Fix the “Add to Favorites” menu item’s appearance and functionality
- Fix support for export path tokens containing spaces, including fixes for the French translation
- Improve localisation support across the interface
- Fix and update translations
- Add a Spanish localisation – with many thanks to Juan Pablo Atienza Martínez, with help from Pablo Oneto, Jaime Martin, and Samuel Abraham de Vega García
- Fix error dialogs when selecting tables with double dashes inside field names
- Add an option to “Force delete” tables in the table deletion confirmation dialog to disable foreign key checks, and display a more helpful error message when deletion fails due to foreign key checks
- Fix handling of BINARY properties when reordering and editing fields
- Fix unsetting of BINARY properties on fields
- Fix errors editing or reordering fields on server versions which do not support character sets or collations
- Improve interface handling and query generation on server versions which do not support character sets or collations
- Fix errors when converting some string types to blob or binary field types
- Change ‘=’ and ‘!=’ filters to be case- and collation-insensitive by default, allowing the Shift key to trigger a BINARY exact match
- Fix escaping of backslashes when using the ‘=’ or regex content filters
- Fix handling of primary keys using both multiple keys and specified field lengths
- If deleting a date or time field which allows NULL, set the cell value to NULL
- Import custom content filters into the Global group by default if no saved document is available
- Scroll to and select newly imported custom content filters
- Fix display truncation of the value of BINARY string types to 256 characters
- Fix crashes when displaying certain types of BIT data
- Combine the “Run All” and “Run Current/Previous/Selection” buttons into a single button
- Add a dropdown menu to the single button to allow setting the default action and use of the alternate action
- Move the Run commands from the “gear” button to the Run button dropdown for easier discovery of shortcuts
- Fix SQL parsing inside unterminated delimiter statements
- Import custom query favourites into the Global group by default if no saved document is available
- Scroll to and select newly imported query favourites
- Apply the theme background to the query favourites SQL editor
- Set text entry focus to the custom query editor if the view is active when the window is opened
- Adjust the keywords list to fix autocapitalisation of “ON”
- Fix query execution timing for queries with no result sets
- Update the query status results to no longer always suggest an error has occurred
- Support basic display of all the fields in composite foreign keys
Import / Export
- Fix errors that could occur when generating new tables from CSV imports
- Show a clearer error message if a target export folder is no longer available
- Fix errors when exporting views with timestamp fields allowing NULL
Server Processes Panel
- Fix process list kill query and kill connection actions on filtered process lists
- Improve user manager data loading to significantly speed up opening the user manager
- Fix support for schema permissions for the Anonymous user
- Add support for displaying ‘%’ and ” databases if already specified
- Highlight databases in the user manager that already have permissions specified for the selected user
- Fix crashes in the user manager when fields don’t validate but the record attempts to apply changes anyway
- Improve data sharing for further speedups
- Fix database creation to correctly use specified database encodings
- Display the server’s default character set when creating a database
- Ensure that switching databases without selecting tables updates the connection encoding correctly
- Fix errors when deleting custom content filters or query favourites while editing them
- Add a spotlight comment to allow easy location of Sequel Pro with search terms other than the name
- Improve upgrades from previous preference versions
Fixes crashes on launch some users were experiencing.
The 1.0.* series will be the last that support Leopard and PPC machines. From 1.1 we will support OS 10.6 and newer and Intel builds only.
Sequel Pro has been updated and where necessary rewritten to allow us to relicense the code as MIT (previously GPLv2). Many thanks to all the contributors who agreed to this license change, including Lorenz Textor, Tristan O’Tierney, Kotaro Funakoshi, David Buxton, Stuart B. Glenn, Carsten Blüm, Greg Hulands, Abhi Beckert, Matt Langtree, Ben Perry, Mark Townsend, Rowan Beentje, Stuart Connolly, Marius Ursache, Jakob Egger, Hans-Jörg Bibiko, Jim Knight, David Rekowski, Max Lohrmann, Stefan Schüßler, Aaron Linville, and contributors who have requested they remain anonymous. Thank you also to MCPKit developers Serge Cohen and Bertrand Mansion for making their code available to previous versions of Sequel Pro.
- Add a delicious new icon by Kenichi Yoshida (with many thanks to Panic, Inc)
- Add Retina versions of some connection icons and elements
- Display multi-line table content and query cell values on a single line, displaying visible line break characters
- Automatically enter sheet editing mode for multi-line cell values
- Allow up/down arrows to navigate within multiline cell display instead of automatically moving row
- Enable the encoding used to view databases to be changed on all tables
- Fix find/replace usage within edit sheets
- Automatically resize edit sheets that are larger than the current screen
- Improve opening of windows when the application is opened in the background
- Improve a number of split view resize errors by rewriting all split view handlers
- Add a menu item and the standard keyboard shortcut (^⌘F) for taking a window fullscreen
- Merge the favourites editing preferences interface into the connection interface
- Add support for managing and grouping favourites into folders in the connection view
- Save the state of expanded and collapsed groups across sessions
- Add a Quick Connect entry at the top of the interface for a blank connection interface
- Mark edited favourites appropriately and allow them to be saved as new favourites or update the existing favourite
- Fix and improve password handling
- Improve favourite sorting
- Add support for testing edited connections
- Improve favourite name generation when one is not provided
- Fix display of an active SSH/SSL key field
- Add remove item, rename item and duplicate items to the connection interface gear menu to match the context menu
- Improve cancellation of SSH and MySQL connections
- Add Zend Server CE compatibility to the default socket search list when left blank
- Allow hidden files to be viewed in SSH/SSL key selection dialogs
- Added a Swedish translation (many thanks to Peter Häggstrand)
- Added a French translation (many thanks to Michaël Gallego, with help from Dominique Guardiola, Frédéric Latour, Sébastien Guy and Lou Ferrand)
- Added a Japanese translation (many thanks to 原 誠, with help from 橘 ゆり香)
- Updated German and Russian translations for more of the interface
- Made more strings and interface components localisable
- Improve localisation spacing
- Fix animation errors when hiding and showing the tab bar
- Fix drawing errors when dragging tabs around
- Fix display of the tab bar in certain window states
- Improve stability when using bundle contextual menus
- Added a “Copy Create Table Syntax” to table contextual menus
- Fix scroll-ability of very long table CREATE syntaxes in the display sheet
- Display the table engine in the table info panel
- Give the table list focus on initial connection and when switching databases
- Improve the row count in the table info panel to always correctly show accurate row counts for InnoDB tables when the preference value is set
- Display column default encodings and collation when available
- Fix some exceptions during index creation
- Improve visibility of fields in the add index sheet depending on selected field
- Improve handling of required sizes when adding indexes
- Update the indexes view to respect the vertical table view gridlines preference
- Clearly show the default encodings selected and used when creating new tables, and improve default detection
- Use primary keys to preserve table content selection when refreshing or filtering tables where possible
- Improve query used when deleting all rows to lessen the chance of accidentally deleting rows added outside the application
- Rename “is” filters to “=” to make their purpose clearer, and make it perform a binary equality check
- Move the LIKE filters to just below the new “=” filters
- Add support for “matches RegExp” and “does not match RegExp” default filters
- Add new custom filters to the Global list rather than untitled connection favourites, preventing their loss
- Improve validation of FLOAT type data against maximum lengths
- Speed improvements, especially when loading large data sets
- Reduce flicker when refreshing the content view
- Fix undo and clearing of the table content filter field having unexpected effects
- Fix errors when cancelling sorts of table content
- Reduce the number of queries used for certain operations
- Reset pagination when a table is filtered
- Alter keyboard shortcuts and menu items: ⌘F now sets the focus on the table filter field and ⇧⌘F displays the advanced table-based table filter.
- Rework and improve the advanced table-based table filter
- Exchange the positions and shortcuts for the “Run All” and “Run Current/Previous/Selection” buttons
- Prevent query results from being exported when they are still being downloaded
- Improve line number drawing
- Improve editing of the custom query strings while the view is being syntax highlighted
- Improve custom query placeholder insertion and value replacement
- Improve autocomplete popup position and handling
- Set the enter key and the right arrow key to select an active autocompletion suggestion
- Improve autosizing of the query error area
- Fix query selection changing after a query finishes executing
- Improve help search updates and links in help results
- Add new query favourites to the Global list rather than untitled connection favourites, preventing their loss
- Add four more default Query Editor custom themes: Monokai (thanks to Wimer Hazenberg), Nemo, Pixely Night, and The Pixel
- Fixed display issues when reordering custom query results when the results view was scrolled horizontally
- Add the Triggers button to the default toolbar set
- Fix clearing of the new trigger dialog after use
- Re-open the add/edit trigger window if a trigger can’t be saved
- Work around some MySQL versions appending null bytes to statement results
- Fix issues on 10.8
- Fix problems losing edit state when editing a trigger caused a syntax error
- Improve interface consistency when performing certain combinations of actions
- Remove the unnecessary "Table name" field from the display
- Display NULL values for trigger information in grey and with the value specified in Preferences
- Fix the interface hanging for a long time when adding a new relation on some servers
- Improve progress display
- When an error is encountered adding a relation, re-open the sheet with the previous values populated
- Improve error display by using ‘SHOW InnoDB STATUS’ output for constraint errors
- Display a dialog when changing storage engine to warn of potential data loss
- Sort the table engines alphabetically
Import / Export
- Save the last used import and export locations between sessions
- Default CSV imports to a new field escape setting supporting both backslash and double-quote escaping types
- Improve input of field separators for CSV import
- Fix invalid export of duplicated table constraints in .dot exports
- Fix CSV exports of query results or filtered table views to include the full content of BLOB fields
- Fix a problem that could cause NULL values to be quoted when exporting custom query results as CSVs
- Improve use of the table name token when exporting multiple tables
- Fix interface lockups and crashes that could occur in certain export situations
- Fix table creation syntax when creating a table based on selection of some columns in some CSVs
- Improve handling of binary string field types during exports
- Fix incorrect export of comments for tables not being exported
- Fix null field exports for XML
- Significantly reduce memory usage during large exports
- Add MySQL 6 support
- Add Drizzle support using their MySQL API
- Significantly improve stability when MySQL drops the connection unexpectedly
- Improve automatic reconnection handling
- Improve handling of servers with short default timeouts, improving specified timeouts on connection and reconnection
- Don’t display connection lost prompts for background connections until re-used
- Reduce the number of helper connections used to one, preventing firewalls blocking users accidentally after too many connections in short timespans
- Improve detection of table encodings on MySQL <4.1 servers where tables are set to inherit from the database
- Improve encoding support
- Improve compatibility with MySQL 4.1.x servers
- Improve SSH connection muxing, using a custom mux location and automatically falling back to unmuxed if problems occur
- Improve handling of tables which have been deleted while the application is using them
Server Processes Panel
- Correctly track 64-bit process IDs and allow them to be killed on 64-bit Macs
- Add linebreak display to the processlist to prevent the display of truncated queries for clarity
- Attempt to show an ellipsis when processes have been truncated by MySQL process listing
- Fix potential exceptions when viewing process lists on overloaded servers
- Improve error handling when saving changes in the user manager
- Improve interface validation of resource limit fields
Query Console Log
- Improve copying and exporting console logs
- Expand the range of queries that are logged to the query console to allow near-complete transcripts
- No longer retrieve the “Me” card for crash report email suggestion, fixing Security warnings about accessing Contacts on 10.8
- Change the bundle identifier from com.google.code.sequel-pro to com.sequelpro.SequelPro
- Reworked framework usage and updated for Xcode 4 compatibility
- Update to the MySQL 5.5.22 client libraries
- Add support for .mysql files
- Prevent exception/crash handling from causing problems on 10.5
- Improve table creation on MySQL 4.0x
- Update the Growl framework to 1.2.3
- Include default colour themes
- Fix connection Growl notifications for background tabs to show the correct server name
- Fix intermittent issues viewing tables on 32-bit machines
- Preserve program access lists for passwords stored in the Keychain when associated favourites are edited
- Fix potential data truncation of edited BLOBs on 10.5
- Reduce the number of queries used when navigating tables on some servers
- Fix some errors that could occur when reading or writing files
- Improve handling of server timezones
- Improve memory use and leaks
- Significant code cleanup, stability, and architecture changes.
- Add support for naming relations
- Support fullscreen in Mac OS X 10.7 Lion
- Add support for abbreviated MySQL timezone definitions
- Sequel Pro has the OS X Lion Application Category of “Developer Tools”. (Convenient when sorting by Application Category in Finder.app and when creating folders in LaunchPad.app)
- Up-to-date German and Russian translations, including Russian translation of the credits file
- Support regex within the table filter list to match tables, falling back to plain text matching; thanks to Emma Persky for the original patch
Lion compatibility improvements
- Update tab colours under 10.7 to match system styles
- Fix issues dragging tabs out of windows and into other tab bars
- Fix QuickLook issues under 10.7, including windows which couldn't be closed, fullscreened, and crashes
- Use overlay scrollers where possible
- Fix Bundle Editor Group names not showing up in Lion
- Fix crashes when custom query errors occur when running multiple queries on Lion
- New Index sheet improvements
- SSH reconnection dialog defaults to NO if SSH key not recognised
- Tweaks to export window's Filename field
- Add option to the Export window for including AUTOINCREMENT values, defaulting to off
- Disable the 'include drop syntax option' when the structure option is not enabled in the Export Window
- Prevent error bell when using the enter key to initiate a connection when keyboard focus is on the favourites outline view
- Don't initiate a connection when the currently selected favourite is clicked again slowly
- Increase speed of connection by combining initial version check/timezone check/encoding check.
- Improve connection timeout handling to significantly improve connection stability on certain servers
- When moving a field in the structure view, only use the default value if it actually has one
- Improve editable row checks in views and custom query results to make more results editable
- Fixes sorting of integer time values in server process list
- Prevent undo from working across tabs, keeping undo within the current tab
- Visual tweaks to Connection Error Dialog & New Index Sheet
- (Localisation) Foreign Key tweaks for localised languages.
- (Localisation) Duplicate DB Sheet
- Fix layout issues of main window (including issue with connect screen)
- Fix startup encoding detection when connection to servers with an init_connection option set, fixing errors viewing tables and display of NULLs for data
- Various New Index Sheet fixes
- Fix an issue when cancelling the User Manager
- Fix exceptions editing non-unique-keyed views or custom query results containing some types of binary data
- Correctly use the user-specified NULL string in the CSV exporter
- Use the CLIENT_INTERACTIVE mode for MySQL connections to improve timeout behaviour
- Fix an issue when removing the only content filter
- Crashes when using “Use monospaced fonts” or “Display vertical grid lines” preferences after closing at least one window
- Fix crashes on cancelling the CSV import field mapper
- Fix issues with autocomplete behaviour
- Fix exceptions in the bundle controller when using tab switching keys
- (Regression) Re-add default new table's id field to AUTO_INCREMENT
- Add Sparkle to credits
- Various code base tidy ups and fixes
- Attempt to fix SSH master use
Highlights of the new features in this version are: translation support, plugin support, tabbed window support, QuickLook, new index creation interface, overhauled and unified export interface, improved import interface with much better CSV field mapping, a server navigator, improved data type support including spatial data support, improved table views and much improved stability. There are however many, many more features to discover; some of the changes in this version are:
- Support the up and down arrow keys to navigate between cells in Content and Query views.
- The enter key now ends editing for the current cell and saves the row.
- Allow tab and shift-tab to select all cells - including BLOB content - opening the editor sheet on first edit
- Made deletion actions more consistent by renaming many occurrences of “Remove” to “Delete”
- Filesystem sizes are now reported in base 2 (KiB/MiB) rather than base 10 (KB/MB) to clarify what 1GB represents
- Implement database renaming
- Implement database duplication, including content if requested
- Improve the layout of several menus and rename a number of menu items for clarity
- Update Add Table and Add Database dialogs to use lists of supported encodings provided by the server
- Add a server Navigator view for viewing databases and tables:
- Display a filterable list of all databases, their tables, and their columns
- Support selecting columns to view overview information about each
- Support double-clicking databases and tables to switch the active window to the selection
- Support synching the navigator selection to the current view
- Support dragging and dropping tables and columns into custom query editors
- Support dragging tables onto the table list to copy that table and its content
- Add a Sequel Pro Quicklook plugin, for SQL and connection/session files
- Support ^= as a keyboard shortcut to restore font sizes to their default setting in edit fields
- Allow Show/Copy Create Syntax use when multiple items are selected, showing all create syntaxes
- When using Show/Copy Create Syntax on Procedures wrap the output with DELIMITER ;; for convenience
- Reduce the minimum window size by making the connection view layout scrollable
- Display the field type and NULL details in the editor sheet
- Don’t allow input in the editor textfield or sheet if the field length would be exceeded
- Improve support of the Escape key to cancel or abort row editing
- Improve the interface to more closely reflect the capbilities of different server versions
- Support three-finger swiping gestures for navigating backwards and forwards in history
- Add the ability to move the selected line up or down in many text views (^⌘↑ and ^⌘↓)
- Add the ability to “Jump to Selection” (⌘J)
- Move the “performance_schema” database to the system databases group
- Improve the field editor sheet to be document-modal, and improve standard OS interaction within it - for example Find and undo behaviour
- Right-align numeric columns in table content and custom query views
- Add the ability to double-click in empty areas of main tableviews to add new rows
- Add translation support to the application including easy interface translation and a translation ecosystem
- Add German translation
- Add Russian translation
- Add a “Provide Translation Feedback” menu item in the Help menu
- Made many more strings and interface components localisable
- Implement tabs for multiple connections within the same window
- Improve custom PSMTabBar implementation for improved appearance and dragging behaviour
- Allow keyboard navigation between tabs with multiple keyboard shortcuts: ^⇥ / ^⇧⇥ , ⇧⌘[ / ⇧⌘] , and ⌥⌘← / ⌥⌘→ .
- Support duplication of the current tab (⌥T) and moving it to a new window
- If text is dragged onto a tab, switch to that tab and the query view within it
- Support double-clicking on a tab to duplicate it
- Support double-clicking on an empty part of the tab bar to create a new tab
- Add initial support for user plugins, saved as .spBundle files, and a bundle editor to allow editing and creation
- Allow .spBundle bundles to contain any support files, and allow upgrading .spBundle versions by UUID
- Support scripts in any OS-supported scripting language (BASH, Ruby, Python, Perl, Applescript, etc)
- Support general scope plugins
- Support table data scope plugins, with support for selected row data or table data with BLOB control
- Support text editing scope plugins, with support for the selected text or the full content of the editor
- Support execution of custom commands via a sequelpro:// URL scheme
- Allow organisation of bundles within a Bundles menu by menu category
- Support bundle triggers which execute the bundle: database changed, table changed, or row selection changed
- Support a long list of shell variables for Sequel Pro state use within plugins
- Allow all plugins to display results in an HTML window - foreground or background - or tooltips
- Allow text plugins to amend or replace the selection or wider text editor contents
- Add appropriate bundles to contextual menus
- Allow custom keyboard shortcuts to be assigned to Bundles
- More complete Bundle documentation can be found at http://www.sequelpro.com/docs/Bundle_Editor
- Add default bundles included with Sequel Pro:
- Add a bundle to enable copying selected table data as JSON
- Add a bundle to copy a line from a text field, quoted for use in other scripts
- Add a bundle to display a report with all databases, tables, and their formats and sizes
- Add a bundle to format SQL using an online service
- Add a bundle to open the selected table in Numbers or Excel
- Add a bundle to display JSON format cleanly and to convert it back to valid JSON
- Add a bundle to demonstrate wrapping selected text within a DELIMITER statement
- Fix favourite sorting persistence
- Add support for SSL connections
- Perform the initial MySQL connection on a background thread, increasing UI responsiveness and allowing the connection to be cancelled
- Support saving entire connection sessions (all open windows including tabs) as a Sequel Pro Session file (.spfs)
- Replace built-in MySQL reconnection with custom connection handling code:
- Attempt a single reconnect automatically without displaying the disconnection UI
- If no network is available, delay reconnects to allow the network to come back up
- Improve SSH reconnections and stability
- Consolidate “Reconnect” and “Retry” buttons in the connection lost dialog
- Improve stability when disconnecting for both single and multiple concurrent connections
- Improve connection keepalive
- Improve stability when dealing with poor network conditions, especially with multiple connections
- Add support for SSH identity files (public keys) in custom locations
- Improve compatibility with systems which support MySQL interfaces, including Sphinx
- Allow SSH connections to use custom ports specified in SSH configuration files
- Alter SSH connections to use ControlMaster auto settings instead of master mode
- Improve SSH tunnel behaviour for connections with non-Latin characters in their name
- Add a fallback to ask the user for their SSH password if automatic lookups fail
- Fix the use of extended character sets in passwords or connection details
- Allow keyboard navigation through favourites even if they have blank passwords
- If a favourite is selected and the tab key is used, move the selection to an empty password field if one exists
- Fix a crash after truncating tables in certain table states
- Support exporting currently selected tables from the table list context menu
- Add a menu item for refreshing the table list to the database menu (^⌘R)
- Keep the tables list a fixed width when resizing the window
- Correctly preserve the width of the tables list across sessions
- Fix display of the table name if deleting a table from a filtered list
- Preserve active content table filter settings when the tables list is refreshed
- Add support for additional field information: comments, encoding, and collation
- Allow key, encoding, collation and comment columns to be hidden using an options menu below the table
- Display field types as uppercase to match convention
- Add an “optional” placeholder to the new index name field to clarify that it isn’t required
- Improve row saving, particularly when editing combo boxes or popup buttons with the mouse
- Improve DEFAULT syntax generation to avoid unnecessary error messages for unsupported types
- Add support for SERIAL and BOOL[EAN] types
- Update the interface based on selected field type to disable invalid options
- Improve field type autocompletion and processing user-entered strings
- Improve error messages when saving rows by displaying the generated SQL statement
- Save column widths across sessions
- Add a contextual menu item to show optimised field type
- Add a new Index creation sheet:
- Allow multiple columns to be indexed easily
- Allow the index storage type to be specified as an advanced setting
- Allow the length prefix to be specified on columns as an advanced setting
- Allow definition of the index’s key block size as an advanced setting
- Improve display of binary types
- Set columns to unsigned if they are set as a primary key
- Improve handling of date and time field types
- Only allow selection of auto_increment for fields if there isn’t an auto_increment already present
- Ensure the structure view is activated after creating a new table
- Fix an error when the row is deleted or duplicated while editing a cell.
- Automatically resize table column widths to match their contents
- Update the table view with new results as they are retrieved
- Support editing view contents on a per-cell basis if fields can be uniquely identified
- Allow numeric formatters (such as commas) to be entered in the pagination limit field
- Fix an possible exception if loading a content page with no result rows
- Fix restoration of table pagination when navigating from a table with no rows
- Update the table row count when deleting rows via the interface
- Fix exceptions when using filters or pagination while editing a row
- Add support for a keyboard-driven quick query builder for power users, activated by Find (⌘F):
- Allow filter values to be specified for all fields in a table
- Allow multiple values to be specified for each field
- Support negation
- Support a live SQL preview
- Support a query shorthand for different operator types and default operators
- Allow DISTINCT searches via the options menu
- Allow quick-search of all fields
- Support live filtering while typing
- Only include edited fields in the UPDATE query when saving rows
- Save numeric fields as NULL if a cell is blanked and the field support NULLs
- Preserve the filter comparison type if possible when the filter column is changed
- Allow stored procedures to be run. Currently, only the first actual result set will be displayed.
- Support in-cell editing of non-TEXT/BLOB custom query result fields instead of editing all fields in sheets
- Further improve autocompletion:
- Support autocompletion for database or table aliases
- Display the text cursor at the correct position when autocompleting to clarify text entry
- Show autocompleted text at partial opacity to indicate it’s temporary until selected
- Update the autocomplete placeholder when the autocomplete dropdown selection changes
- Improve autocompletion adjacent to a number of special characters including mathematical operators
- Detect whether the caret is within quotes to improve autocompletion suggestions
- Move the rows affected and timing stats to a new button bar
- Don’t display the error message area unless there is a message to display
- Add a contextual menu and menu item to export the custom query results
- Normalise linebreaks in whitespace to prevent syntax errors
- Automatically resize custom query result column widths to match their contents
- Update the results view with new results as they are retrieved
- Reset the custom sort order display when running a new query
- Add a contextual menu item for the table allowing copying of the result set
- Improve Shift Left/Shift Right, including adding support for configurable space-based indentation
- Improve “Select Line” to include the entirety of wrapped lines
- Disable AutoHelp when the help window is closed
- Improve highlighting of custom query errors by scrolling to any errors that occur
- Fix syntax highlighting for –\r and –\n comment styles
- Improve speed of processing very long text in the query editor
- Support double-clicking on triggers to edit them (drop and re-create)
- Load triggers only when the triggers tab is loaded
- Improve trigger column widths
- Fix trigger deletion and improve deletion error handling
- Improve display of auto_increment value
- Add the ability to set the selection colour in the Preferences Query Editor tab
- Support definition and display of alpha transparency in custom colours in editor themes
- Support switching between, import, and export of query editor colour themes (.spTheme)
- Support previews of Tables and Query Editor fonts
Import / Export
- Redesign the export interface into a unified interface exposing new functionality:
- Integrate CSV, SQL, XML and dot export types, mapping as appropriate to available data
- Rework interface for selecting tables and information to export
- Support saving custom filenames including placeholder tokens for host, database, table and date formats
- Improve filename extension construction
- Display and remember the export location to reduce number of steps for most exports
- Support specifying custom CSV and XML NULL values
- Support configuration of whether the UTF-8 BOM should be used in SQL dumps
- Support export of BLOB values in SQL as plain text rather than hex
- Support configuration of maximum INSERT size when generating SQL to export content
- Improve handling of files which already exist when exporting multiple files
- Display a warning if new tables have been created between an export being set up and initiated
- Display a small warning if the selected export format cannot be imported by Sequel Pro
- Support the MySQL schema format for XML export
- Support gzip compression for import and export
- Support bzip2 compression for import and export
- Allow import file encoding to be autodetected or specified via a menu instead of using the connection encoding
- Normalise linebreaks in whitespace when importing files to avoid syntax errors
- Addition of an “Import from Clipboard…” File menu item (⌥⇧⌘I), as an alternate to the new “Import…” menu. This shows a small preview of the clipboard and the standard import options
- Improve the speed of writing exports to file, resulting in faster exports
- Improve handling of connection loss during import
- Update the field mapping table after refreshing the table list in the CSV import field mapper
- Add the ability to import a CSV into a new table, allowing naming and smart field setup
- Support custom SQL functions when importing data from CSVs via the field mapping sheet via “Add value or expression”, including placeholder support for CSV values
- Add the ability to add columns to the target table (⌘⌥A or via the contextual menu), and remove them
- Improve support for DELIMITER syntax in import files
- Automatically switch between commas and tabs as the field delineator based on .csv or .tsv selection for imports
- Improve handling of CSV files containing partial or empty rows
- When importing SQL views, ask how to deal with import errors - ask how to proceed, or ignore all errors
- Change the default SQL import behaviour to ask how to proceed on error
- Improve case-sensitivity support in .dot exports; add a new checkbox controlling case sensitivity when generating .dot graphs, prepopulated according to the server’s case-sensitivity setting
- When importing CSVs set numeric fields to NULL instead of 0 if empty strings are encountered
- Improve CSV automatic field mapping under “Align field names by” to use Levenshtein and improved logic
Server Processes Panel
- Add the ability to auto-refresh the process list (can be toggled with a button or ⇧⌘R)
- Add the ability to configure the auto-refresh interval
- Update the process list on a background thread for increased interface responsiveness
- Improve handling of connection loss
- Assign the Refresh button a keyboard shortcut (⌘R) and fix the tooltip
- Enable alternating rows for improved display
- Allow sorting of the server processes
- Preserve server process list column widths across sessions
- Fix permissions saving for users with underscores in their names
- Improve User Manager compatibility with MySQL 3.x and 4.x servers
- Fix issues when adding new hosts to existing users
- Improve support for blank passwords
- Fix issues with applying all privileges not including GRANT OPTION
- Support double-clicking on schema privileges to move them between available and granted
- Improve editing of user hosts
- Improve error reporting when saving users
- Allow the AppleScript “print” command to print the current view
- Update structure headings to reflect the table type
- Only print the indexes table if indexes are present
Query Console Log
- Improve thread safety when logging from multiple threads
- Add support for spatial data
- Display spatial data as editable …AsText() function strings, including multi-polygon and geometry collections
- Add spatial field types to structure autocompletion lists
- Display spatial representations of data in the tooltip in Content and Query views
- Support addition of spatial indexes on MyISAM tables
- Support SRID edits of spatial fields via WKT strings and conversion to GeomFromText
- Improve handling of BIT fields, including editing (with new interface), display, and import and export
- Improve handling of [VAR]BINARY fields
- Fix handling of strings containing null characters (\0)
- Improve encoding handling to support extended characters in database, table and column names
- Improve UTF8-over-Latin1 handling in custom queries and edits
- Retrieve supported database encodings from MySQL 4.1 servers
- Increase speed by cacheing server version for use by various actions
- Improve handling of table names containing backslashes
- Improve multithreading and query locking to prevent hangs
- Fix connection loss crashes when attempting to save data caused by unsafe content escape routines
- Fix a crash if AppleScript is used to “open” without any parameters
- Update RegexKitLite to 4.0
- Enable more optimisations within the MySQL libraries
- Fix history navigation when using Trigger views
- Upgrade to MySQL 5.1.57 client libraries (was 5.1.44)
- Significant code cleanup, stability, and architecture changes
The 0.9.8.1 build is a bug fix release. Changes in this version include:
- Fix favourites sorting
- User manager fixes
- Fix table row count display of filtered tables
- Fix copying binary data as tab-delimited strings
- Improved handling of corrupted tables, disabled storage engines and similar errors
- Fix structure editing errors
- Improve structure behaviour editing to commit when the return key is pressed
- Respect "Reload after editing" preferences when editing custom query results
- Prevent custom query uppercasing of reserved keywords if they are quoted
- Fix reordering of timestamp fields
- Improve default socket search paths
- Fix custom query intercepting up/down arrow keys when autocomplete finds no matches
Speed and compatibility
- Improve background database structure querying, including support for MySQL 3 & 4
- Table trigger loading improvements and fixes from MySQL <3.23.5x
- Fix 10.5 not appending correct file extension to exports
- Fix custom query custom query autocomplete tab snippets in 10.5
- Import from clipboard improvements
Hangs and crashes
- Replace Core Animation calls with manual drawing code; this fixes hangs certain users were seeing very regularly, and prevents newer MacBook Pros from triggering their discrete graphics chips.
- Fix intermittent crashes when cancelling or stopping queries on MySQL 3 & 4
- Fixed a range of thread safety issues causing exceptions and crashes
- Fix intermittent crashes when opening files
- Fix intermittent crashes in the CSV import mapping interface
- Fixes to running certain custom queries
- Fix errors in table saving on right-clicking in the table list
- Improve robustness when closing windows quickly
- Fix exceptions printing extended table information in certain circumstances
- Memory usage improvements
- Improve Xcode 3.2.3 project compatibility
- Fix resizing of table information pane if it started in a collapsed state
- Improve data storage exceptions
Highlights of the new features in this version are: user management, table triggers support, custom query placeholder support including lists, custom query text macros and tab triggers, much improved custom query autocomplete including table and field names, an overhauled CSV mapping interface including defaults and updates, improved printing support, a 64 bit build, and much improved stability including the addition of a crash reporter.
Some of the changes in this version include:
- MySQL system databases (i.e. mysql and information_schema) are now visually separated from user databases at the top of the list.
- Fix for occasional overlapping alert sheets.
- Addition of inline table, view, procedure and function renaming.
- Further reduction in the number of sheets that are run in an application-modal fashion that would subsequently prevent access to other connections.
- Addition of a preference to set the font (and size) of all result set tables that display MySQL content.
- Fix an issue where the background colour of the table list search field would appear different to that of the rest of the list.
- Ability to display or hide the MySQL server version in connection window titles via a hidden preference.
- Addition of a ‘Filter Content’ menu item to the ‘Table’ menu which places focus on the table content filter field.
- Addition of a ‘Filter Tables’ menu item to the ‘Table’ menu which places focus on the table list filter field if visible or the first table if not visible.
- Addition of a ‘Keyboard Shortcuts’ menu item in the Help menu that links to the online documentation wiki.
- Addition of a new table triggers toolbar icon.
- Addition of a help button on the query favorites editor that links to the online documentation wiki.
- Fix keyboard tab behaviour when selecting connection detail fields (standard, socket and SSH) on the connection view.
- Addition of a contextual menu in the connection favorites table view allowing the deletion and duplication of the selected favorite.
- Addition of a gear menu in the connection favorites table view allowing the sorting of favorites by name, host and type as well as in reverse order.
- Addition of a contextual menu in the connection view allowing the user to edit the selected favorite.
- Addition of a new preference to control whether or not anonymous system information is provided when checking for updates.
- Add a ‘Show create syntax...’ menu item to the table list ‘gear’ and contextual menus.
- Display CREATE syntax's for tables and views with a trailing semi-colon for easier copying and pasting.
- No longer append semi-colons to console error messages.
- Improved handling of server variable requests from certain versions of MySQL (specifically 4).
- Fix the hanging of secondary SSH tunnels when running in 64-bit mode.
- Fix for failed connections caused by whitespace and newline characters in the host and SSH host fields.
- Significantly improved connection loss and reconnection behaviour.
- Improved connection timeout behaviour.
- Allow arbitrary questions from SSH in order to support keyboard-interactive authentication methods, such as those used by RSA SecurID.
- Improved SSH tunnel proxy behaviour.
- Improved SSH tunnel behaviour of connections that don’t have a password in the user’s keychain.
- Improved stability of disconnections when switching tables.
- Improved CPU usage of SSH tunnel question/password dialogs.
- Improved connection failure handling.
- Improved error handling when adding, removing and editing table fields.
- Ability to reset the AUTO_INCREMENT value of primary key fields by right clicking the primary key index.
- Fix an issue caused by duplicating table fields that are yet to be saved to the database.
- Adding and removing table indexes as well as removing table fields is now performed on a separate thread allowing the user to cancel the operation.
- Fix an issue that prevented the addition of multi-column table indexes because of leading and trailing whitespace.
- Improve large InnoDB table loading by replacing the ‘Fetch correct row count’ preference with the option of specifying a new table row count query level in relation to whether additional queries should be used. Options are never, only for small tables (<5MB) and always.
- Fix an issue caused by selecting ‘Copy as SQL INSERT’ after a table content filter has been applied.
- Fix for incorrectly escaping MySQL special characters when applying table content filters.
- Improved speed and lower memory usage when loading very large data sets.
- Fix for incorrectly encoding BLOB and binary TEXT fields when copying.
- Table sorting, filter criteria, scroll position and row selection are now preserved when switching between tables.
- Addition of the ability to reset the AUTO_INCREMENT value when deleting all records from a table.
- Fix an issue that caused the progress indicator and bezel not to disappear once a table sort operation was complete.
- Fix an issue that caused the following of table relation links when the initial mouse click was not on the link arrow.
- Duplicating table content rows now correctly loads deferred BLOBs and sets auto increment fields to NULL.
- Fix errors when deleting content rows which are currently being edited.
- Fix errors deleting multiple content rows on certain servers.
- Improved handling and stability of line selection for MySQL errors ending in numbers.
- Improved behaviour of editing query results.
- Ability to save the custom query history to disk as well as copy to the pasteboard.
- Ability to select filtered query history and favorite items using arrow keys.
- Significantly improved auto-completion for all database objects, including information about all tables and fields in any selected database.
- Ability to insert query favorites via user definable tab triggers.
- Ability to define nested snippets within query favorites (text macros).
- Ability to select predefined dynamic variables within nested snippets that are expanded upon use.
- Speed improvements when working with large amounts of text.
- Fix for partial syntax highlighting for very long lines.
- Fix for the synchronisation of query history lists if more than one instance of the same connection document (.spf) file is open.
- Ability to run any shell commands and scripts (Perl, Ruby, AppleScript, etc) within query favorite text snippet macros.
- Scroll position and selection are now preserved when editing custom query results.
- Option to enable auto-completion after a pause while typing in ‘Query Editor’ preferences and custom query gear menu.
- Option to specify the time delay of auto-completion.
- For untitled connections (non-SPF based documents) saving query favorites now defaults to saving them globally.
- Significantly improved thread safety when running queries.
- Fix an issue where selecting the ‘Clear Global History’ menu item would fail to do so in some circumstances.
- When switching to the custom query view always set the focus to the custom query editor.
- Fix an issue when creating foreign key relationships with names that included reserved characters and names.
- Fix an issue that prevented the addition of foreign key relationships immediately after changing a table’s storage engine to InnoDB.
- Fix field relation referential actions not showing in certain circumstances.
- New triggers tab.
- Ability to add and remove triggers.
- Ability to reset or set to a specific value the primary AUTO_INCREMENT field of a table.
- Improve permissions error checking and handling when gathering various types of table information.
Import / Export
- Table triggers and functions are now included in MySQL dumps.
- Fix for save panel export options disappearing when exporting a custom query result.
- SQL import and export now correctly support the use of DELIMITERs.
- Procedures and functions are now included as an option when performing SQL dumps.
- Completely redesigned CSV field import mapper, allowing the choice of whether specific fields should be imported as well as the import method used, INSERT, REPLACE or UPDATE.
- Ability to set global variables in new CSV import field mapper.
- Fix for incorrectly displaying the read file size of CSV and SQL imports greater than 4GB in size.
Server Processes Panel
- Panel is now a separate window rather than a sheet on the current connection to enable active process monitoring.
- Ability to hide the process ID column.
- Ability to enable the use of SHOW FULL PROCESSLIST instead of SHOW PROCESSLIST.
- New database user accounts manager.
- Ability to add and remove users and hosts.
- Ability to manage usernames and passwords
- Ability to manage global and schema privileges.
- Ability to manage resource limits.
- Significantly improved printing support, including:
- The inclusion of table names on print outs.
- If present the inclusion of table indexes when printing a table’s structure.
- The use of monospaced fonts in print outs to be consistent with user preferences.
- The inclusion of vertical grid lines in printed tables to be consistent with user preferences.
- Ability to print the table relations view.
- Ability to print the table triggers view.
- Ability to print the extended table information view.
- The inclusion of NULL values represented as the user’s NULL value placeholder when printing a table’s structure and indexes.
- Dynamic calculation of the size of page margins based on the paper size of the selected printer.
- The generation of print outs on a separate thread giving the user a chance to cancel the operation for large data sets.
- Present a warning to the user when attempting to print a large number of table rows. Current threshold is set to 1000 rows and can be changed via a hidden preference.
- Lots of print out style enhancements.
- Sequel Pro is now fully 64-bit compatible on Intel systems running Mac OS X 10.6 (Snow Leopard).
- Restore default OS X behaviour of bringing the most recent window to the front when clicking the dock icon.
- Fix an issue where the renaming of a table failed when only the case changed.
- Bound three finger multi-touch right/left swipe event to trigger back/forward in table selection history.
- Restore the default standard shortcut of ⌥⌘H to hide all other applications.
- CHECK, OPTIMIZE, REPAIR, FLUSH, CHECKSUM and ANALYZE TABLE can now all be applied to multiple tables at once.
- Addition of in app crash and exception reporting to a new online repository viewable at http://log.sequelpro.com/ to improve the stability of Sequel Pro.
- Updated MySQL client libraries to version 5.1.44.
- Updated Sparkle auto-update framework to address a number of issues.
- Fix a stability issue caused when gathering table information and the user chooses to close the connection when the reconnect sheet appears.
- Fix an issue that prevented the addition of new tables with a CSV storage engine because of an initial nullable field.
- Lots of memory leak fixes.
- Lots of stability improvements and exception fixes.
- Ask for confirmation before deleting connection favourites.
- Allow .spfs to be saved with empty passwords or sockets.
- Fixed display of Growl notifications for long-running tasks.
Highlights of the new features in this version are: a new server processes panel, a query favourites editor, a filter editor, improved tooltips including image previews, a pagination interface for the content view, much faster and more stable import and export, early support for document-based connections, the ability to stop custom query and content loads, and the introduction of threading for some tasks.
Once again this version contains too many changes to mention in depth; a selection of the changes includes:
- Improve Growl interaction, only Growling if in the background or for long tasks.
- Addition of a new about panel.
- The default view can be set in Preferences; by default the last used view will automatically be selected.
- Addition of new tooltip methods, including multiline previews and image previews.
- Save the status of “Check spelling while typing” in field editor sheets.
- “NULL” and “(not loaded)” placeholders are displayed in grey.
- The preferences interface has been tweaked.
- Allow insertion of the NULL value via the Edit menu.
- The monospaced font preference will now apply to more views and use Monaco as the default font.
- Addition of a new server processes panel (available via the ‘Database’ menu).
- Ability to kill queries and connections from the server processes panel.
- Ability to filter and save server processes.
- Addition of a number of menu items to the Dock menu.
- Follow the OS X user interface guidelines and make the Cancel button the default on destructive tasks.
- Addition of keyboard shortcuts for the non-default confirmation button on destructive tasks - ⌘D for Delete, ⌘R for Remove, ⌘T for Truncate.
- Make a number of warning and information dialogs clearer.
- Make a large number of sheets and dialogs non-modal, allowing use of other windows (eg Add New Index, Add New Database, Create Table syntax, Server Variables, Add Relation, Table editing sheets)
- Thread initial database loads.
- Thread view switch loads.
- Sequel Pro is now an editor for .sql files, opening them in the Custom Query view or offering to import depending on size.
- Addition of basic procedure and function information in the Table Info pane.
- Addition of a “Provide Feedback” menu item in the Help menu.
- Allow copying server variables from the server variables sheet.
- Addition of Copy and Save buttons to the Create Table Syntax sheet.
- The view History can now be navigated using entries in the View menu, including keyboard shortcuts.
- Clicking and holding the history buttons will now show a list of history states to select.
- Improve window cascading, especially for large windows.
- Allow use of the Return or Enter key to edit some lists and tables, including the table list.
- Display the name of the field being edited at the top of the field editor sheet for context.
- Add ⌘-Return as a shortcut to save and close the field editor (in addition to Enter/FnReturn).
- Allow the OS or users’ preferred SSH agent to handle public and private keys.
- Add ControlMaster compatibility to SSH tunnels.
- Offer to reconnect directly to the old SSH tunnel if another tunnel is already bound to the remote port.
- Preserve the ‘host’ field when switching to and from Socket connections.
- Addition of support for saving connections as “.spf” connection files.
- Save window state within .spf connection files, including history.
- Add Open and Open Recent support for .spf connection files.
- Improve connection stability on connections with high packet loss or a tendency to drop.
- Allow the deletion of fields which are parts of foreign keys and indexes by deleting dependencies automatically, after prompting the user for confirmation.
- Allow default values in BIT notation when creating BIT fields, eg b’1′.
- Addition of support for adding BINARY and VARBINARY fields.
- Preserve any comments and column details unsupported by the interface when editing or moving columns.
- Fix checkbox display on Mac OS X 10.6.
- Addition of a new pagination interface, replacing the old LIMIT text box.
- Allow easy jump to deep pages and control of pagination preferences by clicking on the pagination text.
- Content loads, content filters, and content sorts can be stopped during loading.
- Content loads, content filters, and content sorts are threaded and show progress where data is available.
- All content loads are faster and use less memory.
- A content filter editor is available via the Filter comparsion dropdown, allowing the creation of custom filters which can be saved either globally or per-document in .spfs.
- Placeholder support in the custom filter editor, including up to two arguments.
- Addition of a BETWEEN filter operator and fixes to other filter types.
- Correctly display content within BINARY/VARBINARY fields.
- Improve the display of the row count and update row counts as table contents change.
- Vastly improve deletion of large numbers of rows.
- Fix crashes when switching tables after re-sorting the content view.
- Columns with “on update CURRENT_TIMESTAMP” now have the timestamp inserted when performing GUI edits.
- Improve ‘(not loaded)’ deferred loading text/blob placeholder usage.
- Maximum field lengths are now respected in the interface to improve usability and reduce double entry.
- Fix double content reloads in some circumstances (including filtering).
- Custom queries can now be stopped during execution.
- Custom queries are now threaded, allowing the use of other windows and displaying results incrementally.
- Custom query loads are faster and use less memory.
- Improve error highlighting.
- Addition of a query favourite manager, allowing naming of favourite queries, filtering by name, and much improved editing of favourite queries.
- Allow the query history list to be filtered within the menu.
- Add options to allow history and favourites to replace editor content or to be inserted.
- Fix crashes on certain types of queries.
- Correctly quote database names when saving edits of custom query result rows.
- Fix issues when running multiple queries when the last query is empty.
- Allow saving the contents of the custom query field to a SQL file.
- Custom query error text is now selectable.
- Improve custom font saving.
Table Relations Tab
- Support foreign keys within the same table.
- Improve ON UPDATE and ON DELETE lists and support.
- The table relations table view will now observe the monospaced font and vertical gridlines preferences.
Import / Export
- Exports are now threaded, allowing interaction with other windows during export.
- Exports can now be cancelled.
- All imports and exports have been rewritten to work in streaming fashion, resulting in much lower memory usage and the ability to work with very large datasets without crashing.
- Make all imports and exports much faster.
- Improve speed and stability when setting Field Mapping before CSV imports, and display the Field Mapping much earlier in the import.
- Improve progress reporting for import and export for both feedback and accuracy.
- Improve parsing of CSV and SQL files.
- Fix crashes caused by the connection disappearing during imports.
- Improve SQL export of views.
- Fix a syntax error in exported ER dot files.
- Addition of the UTF-8 BOM to exported SQL files to improve editor compatibility.
Query Console Log
- The query console now includes an optional connection column.
- Table headers are now displayed.
- Console columns can be reordered and observe the vertical gridlines preference.
- Timestamps are now shown using the format set in System Preferences.
- Logging can now be controlled in the Preferences to work at different levels (Interface, Custom Queries, Import & Export, Errors) with Import & Export logging disabled by default.
- Make copying large numbers of queries from the Console Log window much faster.
- Addition of some AppleScript support, fixing compatibility of standard commands and adding some Sequel Pro commands.
- Correctly support editing in “UTF-8 via Latin1″ connections
- Improve compatiblity with table definitions.
- Reset the AUTO_INCREMENT value when duplicating tables without their contents.
- When duplicating tables duplicate foreign key references correctly.
- Fix Quick Look in the field editing sheet on Mac OS X 10.6.
- Table renames, duplicates and additions perform more error checking and handle errors more gracefully.
- Improve deletion of multiple tables including much better error handling.
- Handle very large table sizes, row counts, and free space.
- When error occurs when saving items to the Keychain, alert the user and suggest a keychain repair.
- Fix a bug in the field editor sheet causing changes to not be saved if the content length never changed.
- Improve undo in the field editor sheet.
- Added code signing - all future releases of Sequel Pro will be signed to avoid keychain access prompts.
Highlights of the new features in this version are: overhauled connection including SSH tunnel support, updated interface, filterable tables list, foreign key support, sortable and editable custom query results, native MySQL help support and significant speed and memory usage improvements.
The below list only shows a selection of the enormous list of changes in this version:
- Customised toolbar items will be reset to the new defaults to ensure new additions are visible
- Contextual menus have been added to many views
- Updated a large number of interface elements for improved appearance and behaviour
- Updated toolbar icon appearances
- Added a shortcut for the Choose Database menu (⇧+ ⌘ + D)
- Added a table history memory and navigation feature; new entries are created on table change or filter application
- CREATE TABLE syntax is now formatted before display
- It is now possible to remember up to 100 queries in the query history
- Added the ability to copy table information with column names in both Content and Query views
- Added a preference for whether new fields should be created as NULL/NOT NULL by default
- Improved warning dialogs including when deleting content rows, fields, and indexes
- Improved interface updates according to actions in other parts of the interface
- Add the ability to export server variables to a file in MySQL config format
- Improved the display of names and values in the server variables dialog
- Improved the display of filter settings for long column names
- When Growl is enabled, remind the user that some options can be set in the Growl System Preference prefpane
- Added a preference to allow the display of vertical grid lines in table views
- The text/blob edit sheet has been significantly improved, including speedups and Quick Look support
- Improved future automatic update behaviour when dialogs are showing
- Fixed issues with the “Default favorite” selection
- Added a preference to allow control of frequency of autoupdate check
- Added position cascading for new windows
- Redesign the connection interface and functionality
- Replace the connection sheet with a connection view within the main window
- Allow explicit selection of the connection type, and hide fields not appropriate to selection type
- If the user tries to use “localhost” for a TCP/IP connection, ask them what they meant to do
- Improve autodetection for default socket location, including default MAMP location
- Added support for connections via native SSH tunnels
- Password and public/private key authentication support
- Automatic local port assignment
- Display SSH tunnel use and use in the title bar
- Fix occasional corruption of old favourites (automatically fixes any broken old favourites)
- The help button on the connection interface now links to online help
- Overall connection lag has been significantly improved
- Attempt to automatically recover from and bypass errors caused by MAX_ALLOWED_PACKET for large blob object support
- Add support for servers running in ANSI/ANSI_QUOTES mode
- Improve password storage reliability
- Improved favourite name editing and the use of default names
- Improve connection error dialogs to more closely reflect the error that occurred
- Added a table list filter which is automatically shown when many tables are present
- Sort tables in the list alphabetically by OS X locale
- Added initial support for listing, duplicating, and removing Functions and Procedures
- It is now possible to duplicate or delete Views
- Added a menu option and dialog for renaming tables, views, procedures and functions in addition to click-to-edit
- Improve the table duplication sheet
- Allow the storage engine of new tables to be specified in the create table dialog
- Added support for truncating tables
- Improved the display of the row count in the table information pane
- Saved the collapsed state of the table information pane
- Fixed initially displayed position for newly added or duplicated tables
- No longer send needless query when nothing is changed after editing a field
- When adding a field insert it after the currently selected row
- Improve compatibility with more table structures
- When adding indexes default to INDEX if a primary key already exists
- Replaced editable table type with a link to the table info tab with more options
- Fixed behaviour when attempting to remove the last table field
- Improved saving of rows including improved default values behaviour and improved support for viewing/editing “on update CURRENT_TIMESTAMP”
- Use a checkbox for the “Allow Null” setting
- Added the ability to copy content as an SQL INSERT command for easy use with other tables/databases
- Improved display after errors
- Significantly reduced the amount of memory required to show large tables and speed up processing of results
- Added LIKE support for numeric data fields to the filter options
- Allow “NOW()” to be entered in date or time columns
- Display link arrows in columns with foreign key references, allowing automatic table selection and filter setting for clicked cell
- Any part of the table cell can now be clicked on to edit the contents
- Content tab state is reset less often; for example, row selections will no longer be lost just after making an edit
- Make query results editable where they can safely be edited
- Allow custom query results to be sorted by clicking on the column header
- Improved “Run Current”/”Run Previous” button behaviour
- Errors when running multiple queries via “Run All” now ask the user whether they want to proceed
- Errors highlight the correct line
- Improved auto-completion support
- Add a new narrow-down completion style menu using F5 (ESC triggers old implemention)
- Add icon and spelling completion for narrow-down completion
- Improved separator detection
- Added core functions
- Added database names
- Added procedure and function names where available
- Only autocomplete database, table or column names inside backticks
- Added support for selecting lines by on the line numbers
- Added MySQL help functionality
- Lookup based on the connected server
- Ability to update reference as you type
- Full search functionality
- Back/forwards navigation through search results
- Improved syntax highlighting
- Improved indenting/outdenting behaviour
- Added find/replace support for the custom query editor
- Added a section to the preferences to customise the query editor behaviour
- Added the ability to customise syntax highlighting colours
- Added the ability to customise foreground/background colours
- Added the ability to highlight the current query with a customisable colour
- Performance improvements when working with large quantities of text in the query editor
- Added the ability to drag files onto the query editor to add their contents to the text view for editing
- Improve auto-pairing behaviour next to words
- Added keyboard shortcuts for easily increasing and decreasing the font size and multitouch increase support (⌘ + +/-)
- Added initial DELIMITER support
- Added the ability to copy content as an editable SQL INSERT command
- Custom queries which fail are no longer automatically retried if they do not fail as the result of a connection error
- Improved accuracy of query timing
- History and favourites selection now perform standard text entry/replacement instead of overwriting the entire editor
- Added ability to comment out or uncomment the current selection or lines in the query editor using ⌘ + /
- Added ability to copy a selection as RTF ( ^ + C )
- Added ability to select the current query ( ^ + Y )
- Queries beginning with USE, CREATE, DROP, RENAME, or ALTER update the table list
- Remember the width of custom query result columns which map to real fields
Table relations tab
- Added a table relations tab for viewing and adding constraints where supported by the current table
- Lists current constraints in a table
- Allow addition of new relations
- Easy linking of columns in the current table to indexed columns of the appropriate type in other tables
- Supports ON UPDATE and ON DELETE actions
- Allow removal of constraints
Import / Export
- Added the ability to export the schema as a basic Graphviz .dot file
- Fixed crash when importing without a table selected
- Import and Export of CSV and SQL formats have been significantly sped up
- Improve import/export progress dialog interface
- Correctly export views with dependencies on other tables/views occurring after the original view in the table list
- Added automatic line ending detection for CSV imports
- Fixed CSV imports to more accurately import a range of files, including newlines in quoted strings and quote characters escaped by quote characters
- Printing layout and appearance has been improved
- Blob data representing images will be shown as thumbnails
- Added a paper size dropdown to the print dialog
- Added optional background printing
- The query logging option to hide SELECT/SHOW statements now functions more reliably
- Query log exports now saved as .sql files by default
- Fixed multibyte support in favourite details when storing/retrieving passwords
- Improved interaction with table names containing backquotes (`)
- Table storage engines are now read from the server rather than using a generic hardcoded list
- Fixes a number of crashes
- Fixes a large quantity of memory leaks
- Significant underlying code overhaul, including recent SQL client libraries, significant speedups, and updating the underlying MCPKit framework to include all the recent Sequel Pro updates in a generic and reusable method
- In/decreasing the font size ( ⌘ + +/- ) works on several text views
- Drag and drop of a text file to insert its content works on several text views (by holding the ⌘ key it inserts the file path instead)
- The auto-updating framework has been updated to avoid a number of problems. Please note that 0.9.4 may not upgrade itself correctly to 0.9.5 but the updated code in 0.9.5 should fix future upgrades.
- Buttons in the main window have been updated for a much sleeker Leopard interface
- The preferences have been redesigned and improved, and offer control for new features:
- Added the ability to set a default favorite
- Added the ability to connect to default favorite on startup
- Added the ability to configure the maximum number of queries to remember
- Added the ability to disable Growl notifications from within Sequel Pro
- Added the ability to configure network timeout
- Added the ability to toggle connection keepalive
- When creating new tables the name and encoding to use are now selectable
- Table deletion and duplication has been moved to an action menu to avoid misclicks
- Button tooltips have been improved and now show keyboard shortcuts where available
- Reloading the tables list will now reselect the current table if possible
- The zoom window menu item has been added for consistency with other OS X applications (Thanks to samsouder)
- The three main tabs have been renamed to Structure, Content, and Query
- Printing now automatically paginates and supports page setup
- The window title now uses the connection name instead of user@host if it’s set to allow windows to be more easily distinguished
- Favorites will save correctly after edits, and the keychain password will be preserved when a connection is renamed
- The status tab will no longer crash if used on Views
- The “Null” column in the Structure view has been renamed to “Allows NULL” for clarity
- The connection sheet UI has been made more Mac-like, and you can now double-click to connect to favorites
- Added the ability to add the current connection as a favorite via the File menu
- A number of text modifiers and selectors have been made available across the interface:
- Convert selection to uppercase/lowercase/titlecase
- Transpose selection
- Remove diacritics in selection
- Normalize selection (Canonical and Compatibility composition & decomposition)
- Select current word or line
- The custom query text field now applies syntax coloring automatically
- The custom query view now shows a summary of query execution time
- The custom query view can now Run All Queries, Run Selected Queries, or Run Current Query, with new shortcuts
- The custom query view can now optionally automatically preserve indentation level
- The custom query view can now optionally match quotes and brackets
- The custom query view can now optionally capitalise recognised SQL keywords
- The custom query view supports indenting and outdenting selected text
- The custom query view will now display line numbers
- Right-clicking on keywords allows lookup in the MySQL documentation (thanks to Alex King for the original version of this patch)
- Query history can now be cleared
- The results table will now correctly reset positioning when running queries to prevent crashes
- The custom query view font is now editable
- “Empty query” errors should no longer be generated
- Columns in the Content view can be reordered; this will not affect table structure but can allow easier viewing
- Date field comparisons have been renamed from older/younger to before/after to reduce confusion
- Duplicating a row containing blob or text fields now correctly duplicates the data if blob/text loading is deferred
- Fields which have not been loaded due to blob/text loading being deferred show their status more clearly
- NULL will no longer be prepopulated into new rows for fields with NOT NULL set
- Fixes a crash bug related to mixed sorts and refreshes
- Fixed problems using the IN filter method
- The LIMIT FROM stepper has been improved and will now stay within the range of rows
Query Log Console
- The console has been reworked to resolve a number of crashes related to large numbers of queries
- The console now supports live filtering
- Timestamps can be hidden
- SELECT/SHOW statements can be hidden
- Console contents can be exported to a file
- A single console window is now shared across all connections
Import / Export
- SQL exports and imports should now preserve encodings correctly
- SQL imports of all files are now slightly faster
- SQL exports are now generated in a format which will import faster
- SQL exports now export Views correctly
- SQL exports now support exporting constraints correctly
- Many imports of large files which previously crashed will now succeed thanks to the reworked query log console
- CSV exports of the current table will now use the selected line and field delineators
- Fixes a number of memory leaks
- Interaction with the keychain has been improved and connections with similar details will no longer share the same password
- Improved interaction with autoincrement fields
- Backticks are now supported within identifiers
- Null values in new rows are displayed and added correctly if the display value for Null is changed in preferences
- If a connection is interrupted and automatically restored, eg via sleep, the encoding is now correctly preserved
- Improve interface responsiveness, especially on slower connections
- Fixes a problem where many columns in a table are shown with a tiny width
- Added a pagination stepper for use when LIMIT is enabled
- Added very basic printing support for the currently selected view
- The log console has been moved to its own window in preparation for future changes
- The log console can now export its contents to a file
- Allow the database encoding to be specified when creating a new database
- Varchar and char length limits are now enforced in the interface for clarity
- Rows which have been edited without any changes being made are no longer saved back to the database
- Row editing has been improved to allow clicking on other fields within the row without forcing a save
- Row editing has been improved to allow reediting if the row fails to save
- Field editing has been improved to allow reediting if the field details fail to save
- Fixed a number of crashers related to opening, deleting, and saving in the binary edit sheet
- Improved image drag and drop compatibility in the edit sheet
- A Refresh Databases option has been added to the Database list in addition to the current menu
- Added many more keywords and columns in the current table to the custom query autocompletion lists
- Custom query favorites, history and run buttons have been moved below the splitter to allow the pane to be collapsed
- Speed up table loading and scrolling when large quantities of data are present in fields
- Status tab interface improvements
- Improved support for viewing Views
- Show the state of the toggle to edit all fields in sheets
- Deselect favorites in the connection sheet as soon as they are edited for clarity and improved connection error recovery
- Fixes an issue causing the row count to be displayed as zero
- Dates in table info pane and status tab use the user’s date and time display formats
- The custom query favorites editor has been redesigned
- Reduces the minimum width of the tables list a little and prevents it from disappearing
- Disconnections or network errors are automatically recovered from more often
- Instead of hanging when a serious networking problem is detected the user is notified and asked how to proceed
- Supports reconnection while maintaining the current window state on connection failure
- Run a connection keepalive in a background thread to maintain the connection to the server
Field type improvements
- Improved support and added filtering for DECIMAL field types
- BLOB and binary field types are fully viewable and editable
- BLOB and binary field types show a preview of their content as text when viewing the table
- Added support for BIT field viewing, editing, and filtering
- Filtering using “IN” has been improved
- Date filter order has been fixed
- Creation of datetime columns has been improved
- Reordering columns now preserves unsigned/null/default attributes correctly
Import / Export
- Numeric data in string column types is now correctly exported as a string to avoid leading zero loss
- Imports have been threaded and can now be cancelled while they are in progress
- SQL import speed has been improved
- SQL and CSV export speed have been improved
- The tables list is automatically refreshed after importing an SQL file
- Fixes a crash when importing a CSV file into an empty database
- Improved error handling when reading import files
- The import window menu now remembers the last import type used and also recognises CSV and SQL extensions
- Fixes a crash when exporting an empty table to CSV or XML, singly or as part of selected tables
- Improved table encoding autodetection
- Ensure consistent encoding usage when viewing tables and data
- The “Database Encoding” menu item in the Databases menu has been renamed for clarity
- Added support for the EUC-KR Korean encoding
- Added a special encoding option (UTF-8 Unicode via Latin 1) for utf8 tables containing utf8 data which has been saved via a Latin1 connection, for compatibility with older clients and a number of older website scripts
- Overall application size has been reduced
- Improved SQL compatibility for importing and custom queries
- Fixes a number of memory leaks
- Slight speedup on COUNTing tables
- Lots of minor interface improvements
- Huge code cleanup and improvements
- We welcome three new programmers to the team: Mark Townsend, Rowan Beentje, and Stuart Connolly. Thanks guys!
- Sequel Pro is now much faster when working with large data sets.
- Fixed a data corruption issue with TEXT and BLOB data types.
- Encoding autodetection now uses table encoding instead of the underlying database encoding.
- Table fields can now be reordered in the structure view.
- Enhanced the import interface including an improved CSV field mapping interface.
- Searching in browse mode is no-longer “real time”, to improve usability over slow connections.
- It is now possible to filter by NULL and NOT NULL.
- Reloading the view in browse mode will now preserve view position, sorting and filters.
- Table information pane is now functional.
- Console is now more space efficient.
- Now have a shortcut key to show/hide the console.
- Improved growl support.
- Improved keychain password storage.
- Can now quit Sequel Pro when a connection sheet is open.
- Improvements to favorite query system (more to come).
- Fixed a bug when renaming a connection favorite.
- No-longer show busy animation in all connection windows when only one connection is actually active.
- Fix issue where favorites are not selected when they're created.
- Cancelling a connection is now more reliable.
- All export modes are now faster, use less memory, and show progress more accurately.
- CSV exports are now neater and no longer export NULL strings, exporting a blank cell instead.
- Can now export all data in the current table regardless of limit settings via a new export menu item.
- SQL exports now export TEXT and BLOB types correctly and are much faster to import.
- Other clean-ups and improvements.
- Fix bug where data will be truncated if you edit a varchar containing more than 100 characters
- Fix bug decimal value are sometimes treated in hexadecimal (causing data corruption)
- Default value for "limit rows" preference is now 1000 rows instead of unlimited
- Added show/hide toolbar and customize toolbar menu items
- Clean up some menu items in the File menu
- Misc other changes
- "Add Database..." added to Database popup button
- "Add to Favorites" checkbox removed
- Fixed formatting issue in Credits.rtf
- Show/Hide Console & Clear Console Toolbar items now enable properly
- Symlinks in MySQL Framework were damaged - file size down to 5 MB from 8 MB
- Tables List split view now saves its width
- Focus ring removed from Favorites Table in connect sheet
- Turned on alternating rows
- Turned off allow multiple selection
- Changed Add and Remove Buttons to show standard plus and minus images instead of text.
- Growl Support Added
- Add, Remove, and Renaming of favorites now possible in connect sheet
- Added localisation for TABLES and TABLE INFORMATION
- Fixed Credits
- Added grabber images
- Removed small icon of table and replaced with new one
- Added "Checksum Table" to MainMenu
- Added extra splitter grab handles
- Add Software Update checking
- Redesign user interface for connect panel
- Code improvements for favorites system
- Code improvements for menu validation system
- 256x version of icon for better quality in cover flow
- Create new database menu and remove add/remove buttons from main window
- UI tweaks around table select view and it's buttons
- Replace tabs with toolbar buttons to make the app feel more modern
- Move database select menu out of window into toolbar
- More intelligent default names when creating a new favorite
- Now using normal size scroll bars
- Nicer looking tables list
- Table information pane
- Move console commands into view menu
- Now has an x86 build for improved performance on intel macs
- Misc. other user interface changes
- Misc. code clean-ups
- Rebrand project as Sequel Pro (name change, author changes, icon change)