What's New
- 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 records 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 records 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 record 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 record 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