What's New
Prior to version 1.10.0, version title contains the link for Windows installer.
1.10.1, 2024-11-27
- Free & Standard: Support PostgreSQL 9.3 .. 9.6
- Free & Standard: Tables, views and mviews column reading optimization
- Free & Standard: Scripting - text diff options (ignore case/whitespaces/lines) made available in SetOption
1.10.0, 2024-11-18
- Free & Standard: Pro renamed to Standard
- Free & Standard: Scripting - binary for Linux x64
- Free & Standard: EULA updated (more details on automated usage, removed redundant statement regarding terminal)
- Free & Standard: Update libraries, including Npgsql and SSH.NET
- Free & Standard: Home - fix case of non-updated left DB if we had left opened and then open both
- Free & Standard: Scripting - /forcescriptrun parameter to prevent unintended merge/delete script execution, new related error code 10 'deny script run'
- Free & Standard: Scripting - new function SetOption, for now to setup table/view/mview diff options and local cache folder
- Free & Standard: Scripting - unknown return code changed from 7 to 255, 7 is used now for 'not supported statement' error
- Free & Standard: Scripting - data merge/delete - logging improvements, new error code 8 'invalid object'
- Free & Standard: Scripting - new error code 9 'EULA not accepted' for Linux and related --accepteula parameter
- Free & Standard: Scripting - update command line arguments parsing and help
- Free & Standard: Scripting - improve diagnostics of parsing errors
- Free & Standard: Scripting - fix local cache cleanup on completion
- Free & Pro: Verified compatibility with PostgreSQL 17
- Free & Pro: Data merge/delete with transaction and without stop on first error - don't rollback all, use savepoints to rollback only failed items (to be consistent with tips on the merge dialog and default behavior for other DBMS)
- Free & Pro: Object list - removed merge/delete to the left on Ctrl+M / Ctrl+D if the right grid is active (according to the docs and toolbar tooltips)
- Free & Pro: Object list - 'Replace' action tooltips updated according to the actual behavior (depending on active grid, regardless of Shift key, Ctrl+Shift+R shortcut is used for Refresh)
- Free & Pro: Support email changed back to support@db-merge-tools.net (agreement, activation dialog)
- Pro: Scripting / Automation support, new tools: PgsqlMergeCmd.exe to run and Script Editor application to simplify creation and troubleshooting of scripts
- Pro: New 'Generate automation script stub' toolbar button, applicable for Home, Batch data diff, Data diff, Object list and Query result diff tabs
- Pro: Json export (in addition to Xlsx, 'Export' toolbar button icon and tooltip updated respectively)
- Pro: Settings, Misc tab - Reports section updated to specify default export format (xlsx/json)
- Pro: Settings - new 'Local temp folder' configuration on the Misc tab
- Pro: Data diff - fix 'Index out of range' unexpected error on next/last change for tables without common key and with result truncated by paging
- Pro: Id-Remap Merge - ignore child tables having multiple foreign keys on the same column (was causing unexpected error before)
- Free & Pro: Object list, Data diff, Text diff and Query result diff tabs - totals panel redesign: highlight counts of currenlty shown items according to the new/changed filters, other layout updates
- Free & Pro: Data diff - new toggle to show list of selected columns, disabled by default
- Free & Pro: Home tab - new button indicating that list of shown object types is reduced to show those which have new/changed items, suggesting to remove this filter (appears only in appropriate case)
- Free & Pro: Fix 'Invalid enum value' settings reading error on application start: ignore unknown and add missing settings
- Free & Pro: Fix cases of splash screen jump for non-100% system display scale
- Pro: Home, Object list, Data diff, Text diff and Query result diff tabs - new Unchanged total count
- Pro: New 'Show only unchanged' toolbar button, applicable for Home, Object list, Data diff and Query result diff tabs
- Pro: New 'Last change below' and 'First change above' toolbar buttons, applicable for Object list, Data diff, Text diff, Query result diff, Batch data diff, Table structure diff and View definition diff tabs
- Pro: Table definitions - fix constraint listed as index for tables having same name but different schemas
- Pro: Home - don't show object type counts and disable title if type was disabled in Settings on database open
- Free & Pro: Activation dialog - fix typo in the 'Information about current license'
- Free & Pro: What's new tab - fix typo in the 'Information about current license'
- Pro: Change format of diff profile files, suggest convertion to the new format on load
- Pro: Diff profile editor - new 'Data slices' section
- Pro: Diff profile editor - 'Show in Batch data diff' option for table mappings and queries
- Pro: Batch data diff - options to show 'Custom mappings' and 'Custom queries' from diff profile
- Pro: Batch data diff - 'Create data slice' command
- Pro: Batch data diff - Data slice mode to show data slice, comparing to the regular mode it has data slice name in the tab header, different tab icon and removed 'Create data slice' command
- Pro: Batch data diff - minor performance improvement for large amount of tables
- Pro: Custom data diff - support materialized views
- Pro: Custom data diff - allow to save to diff profile mappings for different tables, title changed to 'Save to diff profile and use by default' for same tables and 'Save to diff profile' in other cases
- Free & Pro: Optimize table and view columns reading performance
- Free & Pro: Fix table and view columns reading progress indication
- Pro: Support for materialied views (including indexes)
- Pro: Support for view triggers
- Pro: New 'View definition diff' tab for views and materialized views
- Pro: Settings - new sections 'View Definitions' and 'Materialized View Definitions'
- Pro: Diff profile editor - 'Created' column and sorting on all columns in both grids
- Pro: Query result diff - ask for diff profile title on save
- Pro: Optimize table indexes reading
- Free & Pro: Cache potentially large object definitions on disk instead of memory; for views, stored procedures and functions; and fix related 'out of memory' on database open
- Free & Pro: Fix some cases on loading the first database to the left panel even if it was requested to be opened in the right panel
- Free & Pro: Check for local cache folder existence on startup
- Free & Pro: More fault-tolerant database opening process
- Free & Pro: Database opening - read view by view dependencies to calculate views dependency level
- Free & Pro: Object list - merge/delete views by dependency level
- Free & Pro: Object list - delete table definitions by dependency level
- Free & Pro: Find tab - fix default focus on search textbox
- Free & Pro: Update npgsql library
- Pro: Table triggers support (read definitions, manage with Table structure diff, include in table script depending on new Triggers option in Settings, Table definitions tab)
- Pro: Query result diff - if query fails with 'type unknown to Npgsql' error, make a retry with AllResultTypesAreUnknown enabled
- Pro: Data diff - Export all pages confirmation dialog
- Pro: Settings - 'Data Merge' and 'Export all pages' data diff settings
- Pro: Data diff - merge rows of table without DL and having other foreign-key-dependent tables - fix invalid unconditional Id-Remap logic, replaced with unconditional regular data merge (Id-Remap can't be done for tables without DL)
- Pro: Data merge warning dialog - warn about auto-increment merge and non-applicable Id-Remap caused by missing dependency level
- Pro: Data merge - fix ignored saved 'Merge all page' setting in case of Id-Remap confirmation shown (without 'Merge all pages' confirmation)
- Pro: Query result diff - ability to copy error text
- Pro: Object list - DL (dependency level) toggle and column made available for views
- Pro: Query result diff - fix default focus on query text
- Pro: Open databases - allow to drag & drop files to SSH key file name text boxes
- Pro: Excel exports without opening file - remove hour glass before report completion notification
- Pro: Data merge confirmation, copy all results - fix in 1000000 limit message 'Script' -> 'Combined result'
- Free: Text diff - fix missing changes in background highlight on switching text diff options
- Free & Pro: Recognize Serial data types, don't load for them default values and exclude corresponding sequences from Sequence object list
- Free & Pro: EULA updated (divided into sections, more information and clarifications)
- Free & Pro: SQL syntax highlight - recognize multiline strings
- Free & Pro: Home - fix bug 'Open single database, Refresh, and other side loaded with the same DB instead of refresh'
- Free & Pro: What's new - enable word wrap for list of changes to avoid horizontal scroll for long items
- Free & Pro: Text diff - change line numbers to dark-gray to avoid visual confusion with actual text
- Free & Pro: Fix focus on selected tab, switching between data diff tabs and clicking Refresh could produce selection of some other previously focused tab
- Free & Pro: Data diff - add 'Click to sort by this column' column tooltip where applicable
- Pro: Table structure diff - show 'Compare data' and 'Open in Query result diff' buttons for tables missing on other side (or other side db is not loaded at all)
- Pro: Query result diff - fix cases of missing first row selection on Run (and therefore fix missing bottom row grid)
- Pro: Query result diff - clear previous result on subsequent Run
- Pro: Query result diff - handle properly cases when only one side result is available (error on other side, different resultset count, other side returned no table result)
- Pro: Query result diff - error text word wrap and some other layout updates
- Pro: Query result diff - better error handling of database connection errors
- Pro: Text diff - new 'Show tabs and spaces' toggle
- Pro: Text diff - new bottom line implementation, with selectable text and fixed tabulation width
- Pro: Data diff - allow to compare string values in the separate text diff tab (the up-right arrow near column name in the bottom grid, useful for multiline values)
- Pro: Query result diff - fix unexpected error on compare by row number then click result column name to sort
- Pro: Custom data diff - fix validation of sorting on more than one non-key column
- Pro: Text diff - change Expand above/below links to folding sections (and fix some syntax highlight issues if it shows new/changed lines)
- Pro: Text diff - if show only new/changed lines, do not hide block containing only one line
- Pro: Text diff - show 'Additional lines' configuration directly in tab and remove it from Settings
- Free & Pro: SQL syntax highlight - highlight identifiers and numbers, reduced list of keywords to the most generally used
- Free & Pro: Splash screen
- Free & Pro: Updated application binary protection
- Free & Pro: Fix 'It is an expired trial key' key entry error presentation
- Free & Pro: Data diff - use the same fonts in the merge/delete progress as in other places
- Pro: Custom data diff - fix broken paging on setting up sort order for more than one key
- Pro: Custom data diff - deny sorting on more than one non-key column (not supported)
- Pro: Custom data diff - minor layout adjustments
- Pro: Fix cases of broken Ctrl+C in the new text editor (Query result diff, etc.)
- Free & Pro: SQL Syntax highlight in the Text diff, Object list text preview, Merge dialog and Query result diff
- Free & Pro: Home tab - 'Copy all' database progress actions appearing in case of errors
- Free & Pro: Ability to switch to the full screen, with F11 shortcut
- Free & Pro: Fix 'is an aggregate function' function reading error for PostgreSQL 10
- Free & Pro: Reduce cases of duplicated ';' in generated scripts
- Pro: Id-Remap Merge dialog - fix occasionaly broken table order by name for same DL
- Free & Pro: Object list - show object action buttons for new objects or if other side db is not opened (as result, allow to view data)
- Free & Pro: Data merge dialog - minor label fixes
- Pro: Id-Remap Merge new feature allowing to merge properly foreign key values referencing to sequence/identity/serial numeric primary keys, integrated with Data Diff and Batch Data Diff merge actions
- Pro: Batch data merge dialog - show Id-Remap Merge suggestion and applicability warnings in appropriate cases
- Pro: Batch data merge dialog - minor label fixes
- Pro: Batch data merge dialog - Alt hotkeys
- Pro: Data merge dialog - show Id-Remap Merge suggestion in appropriate cases
- Pro: Query result diff - 'Split..' and 'Run both..' options adjustments for the new case of opening from Object List when other side db is not opened
- Free & Pro: Data merge - show 'Import existing serial..' option for IDENTITY primary keys and update its label respectively
- Free & Pro: Data merge - fix INSERT of ALWAYS AS IDENTITY primary key values by adding OVERRIDING SYSTEM VALUE
- Free & Pro: Home tab - indicate that recent database requires password entry (was opened by password without saved password)
- Free & Pro: Opening db with save password if other side loaded and has no saved saved password - fix invalid save password for both (and the same for unsaved password)
- Free & Pro: Recent database open only if one side has no saved password - fix missing password for other side
- Pro: Opening database in the new app instance: fix lost 'Save passwords' (both for other side database and the newly opened one)
- Free & Pro: Verified compatibility with PostgreSQL 16
- Pro: Query key columns dialog - restore broken 'Save to diff profile' option
- Pro: Batch data merge dialog - restore lost note regarding script generation time and space
- Pro: Batch data diff - fix invalid 'Change columns' = No for the case of new column(s) in the left DB without other changes
- Free & Pro: Open database dialog - fix TestConnection ignoring database name (was checking only connection to server)
- Free & Pro: Fix occasional 'Cannot set Owner property to a Window that has not been shown previously' unexpected error for basic dialogs
- Free & Pro: Improved logic of changes invalidation after objects merge and refresh
- Free & Pro: Fix app crash on unknown error during dialog open
- Pro: Support for All-in-one license
- Pro: Fix 'Cannot call StartAt' unknown error on Batch data diff -> click on view name -> compare data
- Pro: Encrypt command line passwords on opening database in the new app instance
- Free & Pro: Object list - fix Replace for views, functions, procedures and sequences and disable Replace for Schemas
- Free & Pro: Home tab, database open - 'Close both' progress action (useful if both progresses have errors)
- Free & Pro: Data diff tab - show italic NULL text for NULLs in columns with 'visual match' mapping (which have a gray background color, was just nothing before)
- Free & Pro: Table definition merge confirmation dialog - minor label adjustments regarding Data diff
- Pro: Batch data diff - populate startup data in the background and fix occasional DispatcherUnhandledException unexpected error for large lists
- Pro: Data merge - fix ignored disabled 'Import existing serial' for Copy ALL and Save ALL actions
- Pro: Object list - show selected count only if something selected
- Free: Allow to drop and merge new only table definitions, mark them as MERGE NEW ONLY on the Home tab and update tooltip text for that mark
- Free: Data diff - show total counts in the top panel
- Free: Object list - show counts in the top panel
- Free: Text diff - show counts in the top panel
- Free: Data merge/delete 'all page rows selected' confirmation warning - add clarification that other pages are not going to be processed
- Free & Pro: Handle settings reading error on app start
- Free & Pro: Unknown error dialog - minor label adjustments
- Free & Pro: Open database dialog - fix 'Save passswords' typo
- Free & Pro: Update code sign certificate (may cause smart screen warnings)
- Pro: Batch data diff, merge new and changed - add option to delete target rows missing in source
- Pro: Custom data diff - fix unknown error on specifying the same column twice (as left without pair vs right without pair)
- Free & Pro: Apply zoom to almost all dialogs (except unknown error and initial activation dialog)
- Free & Pro: Data diff tab - save error log for unexpected error on tab open
- Free & Pro: Data diff - fix 'Failed to define merge script structure' delete script generation error in case of changed key name(s) (custom mapping or case-sensitive only changes)
- Free & Pro: Home tab - recent databases, opening DBs from toolbar one by one - fix invalid left side progress for the second DB
- Free & Pro: Home tab - new 'Delete this pair from recent database list' button
- Free & Pro: Parallel database open - improved progress completion responsiveness
- Free & Pro: Activation dialog - minor label and layout adjustments, change support email to use the new ksdbmerge.tools domain
- Free & Pro: Activation dialog - more responsive processing of trial retreival, disable OK during execution to fix 'DialogResult can be set only after..' occasional error
- Free & Pro: Check for updates - change requested url to use the new ksdbmerge.tools domain
- Free & Pro: Data merge warning dialog - minor layout adjustments
- Free & Pro: EULA minor adjustments regarding location
- Pro: Batch data diff - don't generate scripts on delete cancellation
- Pro: Batch data diff - minor label adjustments
- Pro: Data diff - fix 'key not found' error on using non-applicable diff profile mapping, ignore such mappings
- Pro: Query result diff - hide per page counts (there is no paging), show selected counts only if any row selected
- Pro: Query result diff - show resultset number only if there is more than one resultset
- Pro: Query result diff - add result error tooltip showing the whole error text (useful if error is truncated)
- Pro: Data diff - show selected counts only if any row selected
- Pro: What's new - 'license key is not valid for this update' notice
- Free & Pro: Run data script dialog - new option 'Import existing serial or other auto-generated primary key values on INSERT'
- Free & Pro: Open database dialog - add recent servers to db/ssh server dropdowns, with port and username; populate relevant fields (with passwords if were saved) on drowpdown item selection
- Free & Pro: Data diff tab - fix non-closeable progress on merge/delete script generation failure
- Free & Pro: Check for object/column names to be case-insentitive unique (fix 'An item with the same key has already been added' unknown error on database open)
- Free & Pro: Data diff tab - fix occasional 'index out of range' error on merge/delete all pages for table with changed columns
- Pro: Batch data diff - merge/delete actions made active allowing to process multiple selected tables
- Pro: New 'Batch data merge warning' dialog
- Pro: Execute data script - show table name with 'and N more' if processing more than 1 table from the Batch data diff
- Free & Pro: Msi - allow per-user installation, without UAC confirmation and Administrator privileges (upgrade from per-machine to per-user still requires Administrator privileges to uninstall previous per-machine version)
- Free & Pro: Msi - change images to application icon
- Free & Pro: Msi - option to launch after installation completion
- Free & Pro: Object list - don't re-create unchanged objects on merge
- Free & Pro: Object list - allow merge only if there are any new or changed item (deny if all items are unchanged)
- Free & Pro: Merge objects dialog - increase Execution result area, allow window resize/minimize/maximize
- Free & Pro: Merge data dialog - allow window resize/minimize/maximize
- Pro: Object list - ability to alter multiple tables
- Pro: Object list - show 'only column order changes' dialog for the relevant merge scenario
- Pro: Object list - DL (foreign key dependency level) column for tables with configurable visibility
- Pro: Settings - new tab 'Table Definitions', allowing to ignore column order, comments and index changes
- Pro: Batch data diff - DL columns (foreign key dependency level)
- Pro: Merge objects dialog - new 'Save to file' action for script and execution result
- Pro: Custom data diff - allow window resize/minimize/maximize
- Free & Pro: Data diff - case-insensitive primary key column match
- Free & Pro: Object list - handle connectivity failure on Refresh
- Free & Pro: Data diff - fix sorting in the right panel on columns having case-sensitive changes
- Free & Pro: Object list - fix swapped progress panels on Refresh
- Pro: Handle copy to clipboard error (clipboard can be busy with some other app, https://stackoverflow.com/a/68857/282694)
- Pro: Batch data diff - Select row with single click (like in object list and data diff, instead of double)
- Pro: Batch data diff - Fix calculation of Total+New for the case of Common key = No (was SQL error before)
- Pro: Table structure diff - Case-insensitive match by name
- Free & Pro: Application redesign - update hyperlinks, grids, text, selection look & feel
- Free & Pro: Fix 'money' data type merge for case of system comma decimal separator
- Free & Pro: Object list - show function/prodedure names with arg types, fix overload mismatch
- Free & Pro: Data diff - fix merge script generation for changed case of column names and custom mapping
- Free & Pro: Data diff - fix rare occasional ArgumentOutOfRangeException on open (was 'unknown error' before)
- Free & Pro: Object list - object name hyperlink tooltips
- Free & Pro: Toolbar online help button
- Free & Pro: Data diff - add 'Paging'/'Page' label
- Free & Pro: More light app icon
- Pro: Data diff Excel export - output signed and unsigned byte-sized numbers as numbers, not as text
- Pro: Settings - Database open/reload label adjustments
- Pro: Object list - fix Changed indication in the scroll background
- Pro: Scroll background changes indication - more pale colors
- Free: Data diff - paging and page merge confirmation
- Free: Data diff - remove limitation on number of columns and key definition
- Free: Home tab - allow show new/all/changed
2022-10-27 important note
Verified compatibility with PostgreSQL 15
- Free & Pro: Update app icon (and fix compatibility mode icon)
- Free & Pro: Help pages
- Free & Pro: Open database dialog - fix nullref error on 'Test connection' without DB name
- Pro: Open database dialog - ability to connect by SSH
- Pro: Custom data diff - fix type names
- Pro: Table structure diff - remove 'Open SHOW CREATE TABLE result' button (not applicable for PostgreSQL tool)
- Pro: Home tab - change 'Open database from path in clipboard' command tooltip to 'Open database from connection string in clipboard'
- Pro: CREATE TABLE script - include indexes
- Pro: Table structure diff - Indexes section (with indexes not covered by constraints)
- Pro: Initial support of Sequences
- Free & Pro: CREATE TABLE script - include unique, FK, check and exclusion constraints
- Free & Pro: CREATE TABLE script - fix COLLATE duplicates
- Free & Pro: CREATE TABLE script - fix column comments
- Free & Pro: Object list - don't generate DROP statement on new items merge
- Free & Pro: Unknown error dialog - add 'recommended' for option 'Send error report and close'
- Free & Pro: Improve action logs for 'Unknown error' reports (merge/delete actions, table structure diff item selection)
- Pro: Table structure diff - Constraints section with all constraints except constraint triggers
- Pro: Table structure diff - deny column merge of there is only column order change
- Pro: Table structure diff - columns sort order type added (natural, by name, by key then by name)
- Free & Pro: Reading and showing column collation, in Pro shown as part of column Type
- Free & Pro: Support GENERATED STORED expressions (read, show, merge with new column, drop expressions)
- Free & Pro: Support GENERATED AS IDENTITY definitions (without sequence_options)
- Free & Pro: Support column comments
- Pro: Table structure diff - merge column type change, USING colname::typename for built-in types
- Pro: Table structure diff - merge nullability change
- Pro: Table structure diff - merge default value (set/drop)
- Free & Pro: Initial support for domain data types
- Free & Pro: Support for object identifier data types
- Free & Pro: Fix some failures of reading function overloads for PostgreSQL 11+
- Pro: Object list - fix Excel export
- Free & Pro: Support for range and multirange data types
- Free & Pro: Don't fail on function/SP overloads (same name, different arg count)
- Free & Pro: Npgsql reference updated (6.0.3 -> 6.0.5)
- Pro: Table structure diff tab - handle enum types properly (presentation and merge)
- Pro: Table structure diff tab - handle composite types properly (presentation and merge)
- Pro: Data diff - fix disablity to merge/delete for tables without PK and with custom key defined
- Free & Pro: Array types support (table definitions and data diff/merge)
- Free & Pro: Fix jsonb data merge
- Free & Pro: Support data types bit, bit varying, inet, cidr, macaddr, macaddr8, pg_lsn, pg_snapshot, txid_snapshot, tsvector, tsquery, 7 geometry types
- Pro: Data diff - fix broken sorting on primary key
- Free & Pro: License Info dialog - after trial/full key submission keep app in the pure Free mode until restart (previously some Pro features could become partially available and cause some errors)
- Pro: Home tab - add 'Diff profiles' section
- Pro: New tab - Diff profile editor, opened by click on loaded diff profile status on the Home tab
- Pro: Custom data diff - add 'Save to diff profile' option
- Pro: Custom data diff - minor label adjustments
- Pro: Query key columns dialog - add 'Save to diff profile' option
- Pro: Query result diff - 'Save to diff profile' option
- Pro: Batch data diff - optimize 'new only' calculation
- Pro: Batch data diff - calculate new/changed counts for views with defined key
- Pro: Batch data diff - 'Common primary key' renamed to 'Common key' and now includes keys defined in the diff profile
- Free & Pro: Initial public version