-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathchanges.txt
More file actions
executable file
·6560 lines (4685 loc) · 300 KB
/
changes.txt
File metadata and controls
executable file
·6560 lines (4685 loc) · 300 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
SQuirreL SQL Client Change Log
==============================
Not yet released, available in our GIT repository, snapshots and future releases.
===============================================================================================
Enhancements:
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/88
The keyboard short cuts tab now contains the action's description (tooltip).
See menu File --> Global Preferences --> tab "Keyboard shortcuts"
Bug fixes:
Oracle Plugin: Fixed typo, DB Ouptut --> DB Output
5.1.0 (03/26/2026)
==================
Enhancements:
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/87
The right mouse menu of UI-tables now offers to toggle columns between a monospaced font and the default font.
See the right mouse menu entry named "Toggle selected columns monospaced".
The UI-table's "Copy separated by ..." right mouse menu function now allows
to display the copy result in a cell data dialog.
The UI-table's "Copy separated by ..." right mouse menu function now allows
to concatenate cell values without separator.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/81
Session Scripts Plugin: Session startup scripts now support running bookmarks
by @runbookmark <bookmarkNameInSingleQuotes> the same way the SQL editor does.
Session Scripts Plugin: Aliases combo box of the Session startup scripts frame now
sorts Aliases alphabetically and puts the ones on top which have Session startup scripts defined.
See menu Plugins --> Session Scripts ...
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/80
SQL results displayed in their own window can be rerun automatically, too.
The UI behavior of SQL results displayed in their own window was improved.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/80
SQL results can be rerun automatically after a configurable number of seconds.
To give access to this function the SQL result's rerun button was made switchable.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/81
Bookmarks Plugin: A bookmark's statement can be run from within the SQL editor use @runbookmark <bookmarkNameInSingleQuotes>
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/75
The options "Allow to run all SQLs in editor" and "Allow to run a SQL in all open Sessions"
are now switched off by default. See menu File --> Global Preferences tab SQL.
Note: This change applies only to SQuirreL user directories that did not already
contain these options in their prefs.xml file. The path to SQuirreL's user directory is displayed
in SQuirrel's window title.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/79
MS Excel file export: The MS Excel section of the file export dialog offers two new options:
1. Option to define the name of the Excel sheet tab that is created inside the Excel file.
2. Option to replace Excel sheet tabs in existing Excel files.
Note that those two (as several other) options will apply to automated exports, too.
To learn about automated exports see the link at the bottom of the file export dialog.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/76
Cell data popup and cell detail display now offer right mouse menus to
Base64/Base32/Hex-decode selected text. The decoded text is written to the message panel.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/75
New function to execute a SQL in multiple Sessions:
The new Session toolbar button "Run SQL in all open Sessions" (ctrl+alt+shift+ENTER)
executes the current SQL in all open Sessions.
The feature can be switched off at menu File --> Global Preferences --> tab SQL
--> checkbox "Allow to run a SQL in all open Sessions"
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/74
Multiple selected Aliases can be selected and connected to.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/73
Security: Introduced option to use a key password for encrypting Alias passwords.
When a key password is used SQuirreL can decrypt Alias-passwords only after the key password was entered.
SQuirreL stores the key password in memory only. As a consequence the key password must be entered
after SQuirreL was started and before an Alias, that uses password encryption, can be connected to.
See menu File --> "Alias password encryption security ..."
Although this feature increases security still note: For maximum security do not save passwords in Aliases.
The "Copy as WIKI Table" - function of tables now supports copying the Jira/Cloud table format.
See the right mouse menu of any table.
For databases which support catalogs the "Refresh tree and Cache" function
now refreshes the catalogs combo box, too.
Info: To execute the refresh function use F5, toolbar or the Session menu --> "Refresh tree and Cache"
#1536 and https://github.com/squirrel-sql-client/squirrel-sql-code/issues/67
Alias properties: Driver properties table is now sortable.
DB2 Plugin: The table details in the Object tree has a new tab
which displays Check Constraints for DB2 LUW.
#622 Bookmarks Plugin: User Bookmarks can be displayed as tree.
The tree structure is generated from the Bookmarks' names and from a path separator
that can be configured at the bottom of the Bookmarks' preferences panel.
See menu File --> Global Preferences --> tab "Bookmarks"
Bug fixes:
Fixed "java.beans.IntrospectionException: Method not found" when creating an application dump.
See menu File --> Dump Application
Deleting or editing SQL table results or Object tree "Content"-tables rose NullPointerException when
a table had one or more columns of type LONGVARCHAR and LONGVARCHAR types were chosen to be left out of generated WHERE clauses.
See menu File --> Global Preferences --> tab "Data type controls" --> section "CHAR, VARCHAR, LONGVARCHAR"
Alias find dialog (ctrl+alt+shift+g or ctrl+alt+shift+f):
Modifying an Alias folder raised NullPointerException.
Object tree: When reading the contents of a table failed with an error
it could prevent all detail tabs from being displayed.
Find columns dialog: The result table now allows to select multiple rows.
Info: The find columns function available in
- Session menu and toolbar (Alt+Shift+F)
- Right mouse menu of Object tree
- Right mouse menu of Graphs
File import: Import dialog did not work when the import file
contained lines longer than 100000 characters.
5.0.0 (09/18/2025)
==================
Enhancements:
Introduced Java 25 compatibility.
Client properties in Object tree:
A new detail tab name "Client Properties" of the Object tree's root node displays
the properties returned by java.sql.Connection.getClientInfo().
#620 Equipped the file export dialog with a vertical scrollbar when needed.
To better support this, the dialog was partly rearranged.
#620 UI table to MS Excel exports of SQL results now offers to create additional
sheets containing the exported SQL statements.
This is an extension of the original implementation of feature request 620.
#621 The UI table's "Copy separated by ..." right mouse menu function now allows
to include column headers and to define a cell delimiter.
#620 Direct SQL to MS Excel exports now offers to create additional
sheets containing the exported SQL statements.
Note: For direct SQL exports, right mouse click an SQL statement or hit Ctrl+T --> sql2file
or check the multiple sheet export explained in the "About Exporting" link at the bottom of the export dialog.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/61 (third)
SQL result search function: The tool tips of the "find next" and "find previous" buttons
now show their keyboard shortcuts: Enter or F3 and Shift F3 respectively.
Improved logging:
When a statement execution is canceled the JDBC driver usually exits the statement's execution
by throwing an exception. This exception is now logged with level info.
Image display in table cell data dialog or table cell data detail:
When decoding Base64, characters that are not valid Base64 characters are ignored.
This is helpful, for example, when MySQL's TO_BASE64 function is used,
as it introduces line feeds into the Base64 string.
Table cell data dialog / Table cell data detail:
Image display offers a button to scale the image to the current display size.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/61 (second)
When searching a SQL result table with its table cell detail display open
or a pinned cell data dialog, occurrences of the search string will be highlighted
in the cell detail display and/or the cell data dialog.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/63
Aliases panel: The selected Alias can now be connected by hitting enter.
Option to warp the Aliases' toolbar to two lines:
A new toggle button (or checked menu item) in the Aliases toolbar,
Aliases menu, or Aliases right-click menu allows users
to switch the Aliases toolbar between one or two lines.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/61
Search in all open SQL results and cell data dialogs.
To open the new search dialog use the menu File --> Find in all results, ctrl shift R,
or the new main window tool bar button.
Click the leaves in the result tree to preview results.
Use double click or right mouse of the leaves in the result tree to navigate to
the SQL results or cell data dialogs that match the search.
Thanks to SHD (www.shd.de) for sponsoring parts of this feature.
NOTE: As a consequence of these changes the minimum required Java version is Java 17.
Introduced Java 24 compatibility.
Adjusted mouse double click selection behavior in SQL editor and cell details display to additionally
stop selection at the characters '/', ':' and '"'
Note: Before the adjustment double click selection already stopped at '(', ')', ',', ';', '=', '>', '<', '\'
Code completion Plugin: The Plugin offers completion of JOIN ON clauses.
Example: When ctrl+space is hit after a space char behind
SELECT * FROM Books bk INNER JOIN Authors
the first entry of the completion list will be "ON bk.AuthorId = Authors.Id"
provided that there's a foreign key Books.AuthorId pointing to Authors.Id.
Code completion Plugin: The completion functions (#i,..., #l,..., #r,..., #j,...,) now support table aliases.
Example: When ctrl+space is hit behind the last comma of
SELECT * FROM Books bk #i,bk,Authors,
it will be expanded to
SELECT * FROM Books bk INNER JOIN Authors ON bk.AuthorId = Authors.Id
provided that there's a foreign key Books.AuthorId pointing to Authors.Id.
For more information see the "SQL Entry Code Completion" help.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/59
Cell data popup and cell detail display now highlight JSON and XML content after it was reformatted.
- For automatic highlighting go to menu File --> Global Preferences --> tab "Data Type Controls"
--> section "General" and check "Format Xml/Json when table data is displayed in detail panel or cell data popup".
- To view un-reformatted JSON and XML content unselect the "Reformat Xml/Json" toggle button.
Refactoring: The Syntax-Plugin's functionality was moved to SQuirreL's core.
The Syntax-Plugin won't be shipped anymore
and in case it is still found it is programmatically kept from being loaded.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/60
The SQL-result's "Info"-tab now has buttons to copy the executed SQL
- to the clipboard
- to the caret position of the active SQL editor
- to the end of the active SQL editor
Copying to the active SQL editor surrounds the SQL by empty lines to allow immediate execution.
https://sourceforge.net/p/squirrel-sql/feature-requests/620/
MS-Excel export: Options to choose fonts for header- and other rows
See right mouse menu of UI tables --> "Export CSV / MS Excel / XML / JSON ..."
https://sourceforge.net/p/squirrel-sql/feature-requests/619/
SQuirreL's main frame title is configurable,
see menu File --> Global Preferences --> tab General on the lower right.
When an Alias is read only, see https://github.com/squirrel-sql-client/squirrel-sql-code/issues/56,
the status bars of its Session tabs now show a "RO" label on the right.
Pull request: https://github.com/squirrel-sql-client/squirrel-sql-code/pull/57
MSSQL: Added support for MSSQL Server datetimeoffset datatype.
Thanks to fvalenduc for the pull request
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/56
Aliases can be switched to read-only. If an Alias is switched to read-only its Sessions are
- only allowed to execute SQLs that start with the SELECT keyword,
- all functions that change data, e.g. making tables editable, will not be executed.
When read-only is active and non-SELECT SQLs are executed or data changing functions are called
warnings are displayed in SQuirreL's message panel.
See the new check box at the lower left of the Alias dialog.
Upgraded JSQL-Parser (https://github.com/JSQLParser/JSqlParser) to version 5.1.
Look and Feel Plugin: The Look and Feel preferences now allows to adjust several controls,
e.g the SQL editor and the message panel, to dark Look and Feels.
See menu File -- > Global Preferences --> tab "L & F"
Note: This option replaces the previous theme choice at tab "General".
The new option now does support any Look and Feel instead of only FlatLaf's Flat Dark
Look and Feel Plugin: The following dark radiance L&Fs are available:
Graphite,GraphiteChalk,GraphiteAqua,GraphiteElectric,GraphiteGold,GraphiteSienna,GraphiteSunset,GraphiteGlass
Raven,NightShade,Twilight,Magellan
Intersystems Cache/IRIS Plugin: Statistics/query plan is now searchable.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/48#issuecomment-2566434346
Cell data popup: When the popup is pinned it is updated by table selection change and single mouse click.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/54
Object Tree: Content tabs now show the number of rows.
If the number of rows is limited, the display indicates this,
and the limited number of rows is written in red.
To configure the row limit for content tabs see menu File --> New Session Properties --> tab "Object Tree"
Look and Feel Plugin: Updated the following Look and Feels to their latest versions:
FlatLaf, Radiance, JTattoo, Nimrod, Kunstoff
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/53
Aliases tree display:
Alias folder icons now show if a folder is expanded or collapsed.
New Alias icon was introduced.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/50
SQL result and table export to CSV or XML:
New formatting option "Include grouping separator if configured in Global Preferences"
which is applicable when the option "Use formatting as configured in Global Preferences" is used.
See section "Formatting" near the bottom of the export dialog.
SQL result and table, sum display for numerical columns:
The dialog opened by the "more ..." button now offers to show means and deviations of the selection.
SQL result and table export to CSV files:
New info button behind the CSV radio button informs about the way the export handles
values containing the separator character, line breaks, double quotes.
#433 | Pull request: https://github.com/squirrel-sql-client/squirrel-sql-code/pull/51
To change the statement separator during SQL execution, use the following command on a separate line:
--#SET TERMINATOR <separator>
This command does not change the separator permanently but for a single SQL execution only.
See also menu File --> New Session Properties --> tab SQL --> section "Statement separator"
Thanks to Roland Tapken for the pull request
Find function in cell data popup and Object tree's text detail tabs:
The "Mark all" toggle button now writes the number of occurrences to SQuirreL's message panel.
Introduced Java 23 compatibility.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/47
Table cell data popup dialog: XML/Json Reformatting now works for binary/BLOB data.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/46
SQL result and table export to MS-Excel files: New options to make exported sheets
auto filtered and to choose if header rows are bold, centered and/or frozen.
Note: Export to MS-Excel files and other formats is available through the right mouse menu of tables.
The SQL editor allows to export SQL results through the right mouse menu and tools popup (ctrl+t).
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/45
Table cell data popup dialog now offers a toggle button to pin the dialog.
When pinned any further cell data will be displayed in the pinned dialog.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/44
SQL result table: Numeric values can now be right aligned,
see menu File --> Global Preferences tab Data Types --> section "General"
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/43
The maximum number of characters to display in the table cell data popup can now be configured.
See menu File -- > Global Preferences --> tab General --> section "Table cell data value popup".
#617 | https://github.com/squirrel-sql-client/squirrel-sql-code/issues/41
SQL result table: The detail data display now allows to automatically reformat XML or Json data.
To configure automatic reformatting go to menu File --> Global preferences
--> tab "Data type controls" --> section General
Note: For detail data display double click a table cell or switch on cell detail display.
Furthermore the reformat button was made a toggle button which allows to switch back to the unformatted data.
SQL result table: The find function now allows to narrow the columns to search.
Refactoring: Dropping Foreign Keys is now available by default.
It is not available only when the dialect definition of an RDBMS explicitly does not support it.
See Object tree --> Right mouse click on table --> "Refactoring" --> "Referential Integrity" --> "Drop Foreign Key(s)"
SQL editor/SQL result tabs, SQL result tab header marks:
New check box to configure that only the last matching SQL result tab is marked.
See menu File --> Global Preferences --> tab SQL --> section "SQL result tab header".
SQL editor/SQL result tabs: SQuirreL now marks SQL result tab headers when the editor's current SQL
matches the SQL result tab's SQL.
This feature can be configured and switched of at
menu File --> Global Preferences --> tab SQL --> section "SQL result tab header".
The feature furthermore comes with the option to configure the width of SQL result tab headers.
Refactoring Plugin: Now supports dropping imported and exported constraints/foreign keys.
Before this change only dropping imported constraints/foreign keys was supported.
Hibernate Plugin: HQL result tables offer a find function.
Hibernate Plugin: Improved support for projection queries:
- The projection class's name is displayed in the projection's column header.
- When a HQL query contains a projection, a new button on the upper left of the result tab
allows to choose several projection display modes including JSON and XML.
Thanks to SHD (www.shd.de) for sponsoring this feature.
Hibernate Plugin configuration: Adjusted persistence.xml description to reflect the option
to specify jar files and/or classes directories to scan for Entities.
Hibernate Plugin: The Plugin configuration allows to copy a configuration's classpath to clipboard.
Table display now uses the background color cyan for all cells containing new lines
not only in SQL result tables and in Object tree "Content" tables.
Table cell data popup now offers find, Xml/Json-reformatting and export functions for all tables.
To open the cell data popup double-click a table cell.
Bug fixes:
#1534 If a database or JDBC driver does not provide any table types on
calling java.sql.DatabaseMetaData.getTableTypes(), then SQuirreL's Object tree
used to display no tables. Now, by internally adding the common table types
"TABLE", "VIEW", "SYSTEM TABLE", SQuirreL increases the chance
for tables to occur in the Object tree.
Alias Schema Properties dialog, tab Schema: Clearing the Schema table when a cell editor was active
raised an IndexOutOfBoundsException when the dialog's OK button was clicked.
File export dialog: Removed red border line.
Show foreign key references' feature didn't show all FK-references to a table
when the FK-references names were not unique.
See right mouse menu of SQL results and table contentes in Object tree.
https://github.com/squirrel-sql-client/squirrel-sql-stable-releases/issues/2
Ubuntu Installer failure: Installer threw an ArrayIndexOutOfBoundsException.
Thanks to Francesco Goinavi for the pull request
https://github.com/squirrel-sql-client/squirrel-sql-code/pull/65
Command line interface (CLI): Fixed UnsupportedOperationException when executing SQL statements.
When the database connection of a Session is broken the possible log message
"Failed to read database meta data. Connection may have been closed by reconnect (Ctrl+T)"
was corrected to
"Failed to read database meta data. Connection may have been closed by reconnect (Ctrl+Alt+T)"
Refactoring Plugin:
Dropping tables didn't respect configurations from Global Prefrences --> tab Refactoring.
See right mouse menu on table in Object tree --> Refactoring --> Table --> Drop Table(s)
Fixed memory leak:
Closed Sessions were not garbage collected when cell data dialogs had been opened.
Fixed possible NullPointerException which could occur in editable combo boxes.
For example in the file export dialog.
When searching through all open SQL results, the findings were not correctly scrolled to.
Hint: To open the new search dialog use the menu File --> Find in all results, ctrl shift R,
or the new main window tool bar button.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/62
When executing a script that contains statements with the file export markers @file or
@msExcelWorkbook these statements where not executed in order but at the beginning of the script.
Info: For more information on exporting open the "Export ..." dialog using the right mouse menu on
any table and click "About exporting ..." at the bottom of the dialog.
Changed SQuirreL's main frame icon (arcon.png) from APNG (animated PNG) to a usual PNG file.
Thanks to Federico Bruni for the fix.
The query
"SELECT title--comment
FROM books"
failed because the comment started at the end of the first line without white spaces.
Updated/corrected the driver dialog description of SQuirreL's help.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/59
Cell data popup and cell detail display: Improved readability JSON/XML highlighting
in light and dark mode.
Loading Syntax- and Auto-Correct-properties raised ClassNotFoundException.
The problem concerns
- Menu File --> New Session Properties --> tab Syntax
- Menu Session --> sub menu Syntax --> "Configure auto correct / abbreviations"
The problem resulted from moving the Syntax-Plugin into SQuirreL's core
and occurs in snapshot snapshot-20250302_2058 only.
SQL editor: UNION keyword was marked red as error.
Look and Feel Plugin: Cleaned up L&F Preferences UI.
#1532 MS Excel export: Fixed NoSuchMethodError
SQL result tab header marks:
Fixed performance problem when the SQL editor contained SQLs that were longer than 8000 characters.
For SQLs that are longer than 8000 characters marking of result tab headers is skipped.
The maximum number of characters can be configured at menu File --> Global Preferences
--> tab SQL --> section "SQL result tab header". The default value is 8000.
Improved the performance of SQL result tab header marking for large SQL editor content.
SQL result tab header marks:
The option "Compare SQLs disregarding comments, line feeds and other white spaces" did not work properly.
The option can be found at menu File --> Global Preferences --> tab SQL --> section "SQL result tab header".
Fixed NullPointer in class NullValueColorHandler.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/46
Excel export: The "Auto filter" option activated the auto filter for
one extra (empty) column at the end of the Excel sheet.
Follow up to #1530: The number of a Session's finalized result tabs do not appear in SQuirreL's logs anymore
but in the "Session garbage collection status", see button on the left of the garbage collection button.
Follow up to https://github.com/squirrel-sql-client/squirrel-sql-code/issues/46
SQL result and table export to MS-Excel files: The options to make header rows bold and centered did not
work for MS-Excel but for Libre Office only.
Details of the fix:
- Apache-Poi was upgraded to version 5.3.0.
- SQuirreL deliberately dropped dependency on Log4J in 2022. As Apache-Poi 5.3.0 directly depends
on Log4J, SQuirreL now has a Log4J mock to make Apache-Poi 5.3.0 work.
#1530 Memory leak: SQL result tabs were not garbage collect as long as their Session was open.
Note: When a result tab of an open Session gets garbage collected the following line appears is SQuirreL's logs:
...INFO ... Result tab finalized for open Session "<...>" with id=<...>
#1531 MySQL Plugin: SMALLINT UNSIGNED columns showed <Error> when the fields value exceeded 32767.
Note: To work with MYSQL's SMALLINT UNSIGNED or TINYINT UNSIGNED types the MySQL Plugin must be installed.
SQL editor/SQL result tabs/marking SQL result tab headers:
Memory and CPU usage was improved in case SQLs where compared
disregarding comments line feeds and other white spaces.
See menu File --> Global Preferences --> tab SQL --> section "SQL result tab header".
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/45#issuecomment-2455169657
Fixed NullPointerException that occurred in some tables.
Saved Session groups management dialog: Fixed IllegalArgumentException when empty was deleted.
Fixed StringIndexOutOfBoundsException when executed SQL contains the German Umlaut sz.
Change tracking, left gutter popup to show deleted changes:
Fixed NullPointerException when popup was too long.
Find in preferences/configurations dialog:
Double clicking any empty node now always shows the preference/configuration.
SQL result table: Section count, position and sum were updated at the end of a selection only,
not as the used to be during the selection, too.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/42
Refactoring "Add column" raised "IllegalArgumentException: SQLDatabaseMetaData == null."
See table in Object tree --> right mouse click --> Refactoring --> Column --> Add Column
SQL result: When a SQL result was rerun, the SQL displayed on the result's info tab lost comments.
SQL editor/SQL result tabs, SQL result tab header marks:
Marking only the last matching SQL result tab didn't work when a result tab was rerun.
See menu File --> Global Preferences --> tab SQL --> section "SQL result tab header".
SQL editor/SQL result tabs, SQL result tab header marks,
Menu File --> Global Preferences --> tab SQL --> section "SQL result tab header": checkboxes didn't work correctly.
Refactoring Plugin: When refactoring SQLs were chosen to be edited
from within an Object tree besides an additional SQL editor the main SQL editor was activated
instead of the additional editor.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/38
MSSQL Server, table scripting: datetime2 type was scripted as datetime.
MSSQL Server, table scripting: Replaced deprecated types text, image by varchar(max), and varbinary(max).
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/17
For databases which support catalogs and schemas, e.g. MSSQL Server, catalog nodes contained schemas
that didn't belong to the catalog.
Technically speaking the result column "TABLE_CATALOG" returned by java.sql.DatabaseMetaData.getSchemas()
was not regarded.
4.8.0 (09/01/2024)
==================
Enhancements:
Hibernate Plugin: Generating SQL from HQL now uses the SQL-Extractor of the hypersistence-utils library,
see https://github.com/vladmihalcea/hypersistence-utils.
To generate SQL from HQL execute a HQL and use the SQL button on the upper right of the HQL result tab.
To use this feature the hypersistence-utils library must included in the Hibernate Plugin's configuration.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/34
SQL result table:
- Option to display cell details on the left of the table, see new toggle button with flip chart icon.
- Option to view contents of cell detail or cell data popup as image.
Additional SQL tabs can be renamed.
See SQuirreL's main toolbar --> Button switchable between "New SQL Worksheet" and "New SQL Tab".
The tab names are stored with Saved Sessions and Saved Session groups.
Updated the JDBC driver websites of several predefined drivers,
see Drivers panel --> right mouse menu "Show Driver Website".
Thanks to zcattacz for the pull request.
Added description for single character and multiple character SQL statement separators.
See menu Files --> New Session Properties --> tab SQL --> lower part of panel.
Introduced Java 22 compatibility.
SQL result: The rows and columns display now offers several copy functions.
Dialog to rename Session tabs is now resizable, see right mouse menu of Session tabs.
Saved Session groups: New toolbar and Session menu "Save/manage group of saved Session" allows to save
multiple Sessions and their SQL editors.
- To reopen a group use the "Open Saved Session or groups" toolbar button or Session menu.
- Note: The "Save/manage group of saved Session" dialog offers an optimization
which allows to save all open Sessions by using the ctrl+alt+shift+m shortcut to open the dialog
and then hitting enter to save or GIT commit.
SQL editor's right mouse menu offers to execute SQLs.
Bug fixes:
SQL result: Resize mouse cursor didn't show between column headers
Side effect of implementation of https://github.com/squirrel-sql-client/squirrel-sql-code/issues/34
Code completion: When a completion entry was selected by mouse click to SQL editor lost focus.
SQL result: Display of current row and column, selection count and summing didn't work after tables was made editable.
SQL result: Fixed tooltips of mark duplicates buttons and menu items.
File import: Fixed NullPointer when file import was started.
File import: If Ok was clicked immediately after a fixed value was edited the edited value wasn't used.
File import: Avoided non cancelable progress dialog.
File import: Fixed values were not written to the database when a column was of numeric type.
SQL result search function: Moving search results to an own table window didn't work when the result table was sorted.
Copying from table cell data popup was not added to paste history (ctrl+shift+v or ctrl+shift+insert).
Tools popup (ctrl+t) was broken by too long description.
Saved Session groups, several bug fixes:
When group members were moved to a standalone Saved Session their internally saved SQL files were lost.
When group members were moved to a standalone Saved Session SQuirreL's title bar wasn't updated.
When group members were moved to a standalone Saved Session a wrong Saved Session exist warning was shown.
Extended several tool tips concerning Saved Sessions and groups.
#1528 When users changed a Session tab's name and switched to another catalog the changes were lost.
Look and feel plugin: When SQuirreL was installed into an empty directory
loading the FlatLaf Look and Feel raised a ClassNotFoundException. In consequence SQuirreL's dark theme did not work.
Additionally FlatLaf was upgraded to version 3.4.1.
Saved Sessions and groups: The "Open / manage ..." dialog's list did not repaint when a Session or group was renamed.
Saved Session groups: Deleting Sessions from groups did not work.
It now works the same way as when a Saved Session of an open Session is deleted. I.e. all internal files are detached.
Editable cell data popup: When updating data fails with a "No rows updated" message box
the message box was poorly positioned.
When new users with fresh installations close SQuirreL with an open Session
they are shown the Session-close confirmation message box.
If then they check the confirmation message box to be not shown again
and close the message box by the No-button, SQuirreL lost their "not shown again" choice.
4.7.1 (02/20/2024)
==================
Enhancements:
Alias schema properties: When schemas where filtered by comma separated names
There are new options to specify if tables, views, procedures, UDTs should be loaded.
See right mouse click on Alias --> Alias Properties --> tab Schemas
--> Checkboxes behind radio button "Load schemas filtered by name"
Multiple Alias modification: Added progress dialog and old backups cleanup.
Multiple Alias modification:
In Aliases view toolbar button or right mouse menu "Modify multiple Aliases".
Table cell data popup and the Object tree source tab searching now has a mark matches all button.
Upgraded to latest RSyntax version 6.0.2.
Look and Feel plugin: Upgrade FlatLaF to version 3.2.5.
MS-Excel import from clipboard now works if the clipboard contains a file.
It used to work only when the clipboard contained CSV data.
See menu Session --> "Import clipboard or file (MS Excel or CSV)" -->
button "Import from clipboard"
When exporting UI tables to file the file path is written to SQuirreL's message panel.
See right mouse menu on UI tables --> "Export CSV / MS Excel / XML / JSON ..."
Refactoring: The "Data Import"-Plugin's functionality was moved to SQuirreL's core.
The "Data Import"-Plugin won't be shipped anymore
and in case it is still found it is programmatically kept from being loaded.
The code completion preferences allow to switch to "Contains Completion".
"Contains completion" finds all object names that contain a string when it's completed by ctrl+space.
See menu File --> New Session Properties -->
tab Code Completion --> checkbox "Match contains" on the lower part of the panel.
New global preferences option to set the query timeout for SQL executions.
This option uses the JDBC-API method java.sql.Statement.setQueryTimeout(<seconds>).
See menu File --> Global Preferences --> top of tab SQL
"Show distinct values..." dialog: The distinct rows displays now have an additional column
named "Frequency" which show how often a row occurs.
Note: To open the "Show distinct values..." dialog right click any table
and choose the "Show distinct values..." menu item.
#1522 Copying qualified Object names from the Object tree used to always double quote the names.
Now it respects the checkbox "Use double quotes for (") for qualifying"
at menu File --> Global Preferences --> tab "SQL Scripts"
#1522 Object tree: New right mouse submenu "Save/restore selection"
that offers several functions to save and restore Object tree selections.
Refactoring: The "SQL Scripts"-Plugin's functionality was moved to SQuirreL's core.
The "SQL Scripts"-Plugin won't be shipped anymore
and in case it is still found it is programmatically kept from being loaded.
Users are advised to check their scripting preferences because previous preferences were lost.
See menu File --> Global Preferences --> Tab "SQL Scripts".
Object tree: New right mouse menus in "Scripts" submenu:
"Store selected tables' data in files" and "Create INSERT statements file from selected tables"
Graph Plugin: The standard format for saving Graphs (ER diagrams) as images is now PNG instead of JPG.
Graph Plugin:
When a Graph (ER diagram) is renamed (using the right mouse menu or start button on the lower left)
the current name is now suggested.
#1519 (in bugs): The caret/cursor position indicator at the lower right of a Session panel
now also shows the caret/cursor's position in the current SQL if applicable.
Introduced Java 21 compatibility.
SQL Script Plugin: In analogy to the existing syntax to export a SQL result directly using the syntax
@file '/tmp/customers.xlsx' SELECT * FROM customers
one may now directly create an MS-Excel workbook file with multiple sheets using the following syntax:
@msExcelWorkbook 'C:/tmp/out.xlsx'
@sheet 'Orders' SELECT * FROM orders;
@sheet 'Stores' SELECT * FROM stores;
where the ";" may need to be replaced by the SQL separator in use.
SQL editor: Keyboard shortcut ctrl+w
on first stroke selects the current word,
on second stroke selects the end of the current line starting from the current word,
on third stroke selects the whole current line.
SQL editor: Improvements of multiple caret/cursor editing:
With ctrl and alt keys down additional can be added by mouse click.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/17
For databases that support catalogs SQuirreL now allows to specify additional catalogs to load.
See the new toolbar button with the three dots icon next to the
catalogs combo box at the upper left of a Session panel.
Hibernate Plugin: Now supports Hibernate 6 and Jakarta Persistence.
Query connection pool:
When a "SET ISOLATION LEVEL ..."-statement is executed
it is automatically executed on all existing query pool connections, too.
Graph Plugin: Columns can be hidden.
Tables with hidden columns are recognizable by the
checked the hide-config icon in the tables title bar.
When data is copied to a new window, the window now offers the usual data find column function.
Table cell data popup: File export creates parent directories when needed
and the export finished dialog offers to open the export file's directory.
When data is copied to a new window, the window now offers the usual data find function.
Minor UI improvements:
- Added menu item File --> Open Saved Session
- The About-dialog links to update locations
SQL result tab edit toggle button:
Fix: Switching back to uneditable used to redisplay the data from before editing was switched on.
Improvement: When editing is switched on the message panel hints to the current auto commit state.
The SQL result tab now has an edit toggle button.
When a file is opened in the operating system's file manager the file is now selected.
This works only if Java's OS specific Desktop API supports it.
Otherwise the file manager just opens the file's directory.
The file chooser remembers the last selected view type (list view or details view).
Look and Feel Plugin: Dark theme for the Nimbus look and feel.
The theme is based on Wayne Zhang's pull request
https://github.com/squirrel-sql-client/squirrel-sql-code/pull/12
and was integrated into SQuirreL's Look and Feel Plugin.
Thanks to Wayne Zhang for the theme.
#156 The table cell data popup and the Object tree source tabs support searching.
See the find button at the lower right of the table cell data popup.
See the find bar at the bottom of the Object tree source tabs.
Table cell data popup: The right mouse menu entries "Wrap Lines on/off" and "Wrap Word on/off"
are now checked menu items and their dependence is respected.
Table cell data popup: New right mouse menu which offers to compare
selected text or the complete cell content to clipboard.
Table cell data popup: Replaced legacy XML formatting by standard XML library formatting.
Replaced formatting error dialogs by message panel and logging.
Data compare: "Compare selected cells" function of result tables now offers to
compare raw data instead of markdown format if cells from single columns were selected.
This is may be useful when cells contain multiple lines.
Hint: SQuirreL allows to configure if table cells render line feeds by "\n".
See menu File --> Global Preferences --> tab "Data Type Controls"
--> sections "CHAR, VARCHAR, ..." and "CLOB ..."
SQL editor offers to compare selected text or complete editor content to clipboard.
See the editor's right mouse menu or tolls popup (ctrl+t).
Data compare: New submenu in SQL result's "Compare selected cells" menu
which allows to compare cells to clipboard.
Refactoring: The DBDiff-Plugin's functionality was moved to SQuirreL's core.
The DBDiff-Plugin won't be shipped anymore
and in case it is still found it is programmatically kept from being loaded.
Bug fixes:
Alias schema properties: When schemas where filtered by comma separated names
whitespace before and after the commas are now ignored.
See right mouse click on Alias --> Alias Properties --> tab Schemas
--> Include/Exclude text fields behind radio button "Load schemas filtered by name".
Fixed IndexOutOfBoundsException when an additional Object Tree- or SQL-Tab was opened, closed and reopened.
Multiple Alias modification now respects the "Clear Schema table" button.
See menu Aliases --> Alias Properties --> middle of tab Schemas
GIT revision display was missing scrollbars.
For files committed to GIT see right mouse menu on SQL editor's left gutter -->
"Show GIT revisions for file ..." --> tab Script.
MS-Excel import failed with NullPointerException when a sheet contained null rows.
See menu Session --> "Import clipboard or file (MS Excel or CSV)"
Made logs display non-editable.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/27
Fixed and improved the content tab's wait dialog.
Note: The content tab is one of the Object tree's details tabs for tables and others object types.
NullPointerException occurred on anchoring SQL result tabs that were rerun before.
Object tree search failed to find object types that where loaded by database specific Plugins.
#1521 DBCopy: Fixed Copy/Paste of multiple tables deleted data in wrong order.
DBCopy: Fixed NullPointerException which occurred when parts of the Object where reloaded during table copying.
#1520 "Export Configuration"-Plugin
Export button of the "Configure Export" dialog, see menu Plugins --> Export --> "Configure Export",
raised NullPointerException.
Note that the Alias import/export function, see menu Aliases --> "Import/Export Aliases",
may be considered superior to the "Export Configuration"-Plugin.
File export dialog: Fixed missing formatting radio buttons.
Look and Feel Plugin / Nimbus look and feel:
Merged pull request https://github.com/squirrel-sql-client/squirrel-sql-code/pull/21
Fix for open/close icon's of trees for Nimbus dark mode.
Thanks to Wayne Zhang for the pull request.
The 'Show foreign key references' right mouse menu of SQL results
didn't work when the SQL result list contained sub selects.
When long Session tab titles are displayed the titles now reflect changes to the default catalog.
See File --> Global Preferences --> tab general --> check box "Use short Session tab title ...".
SQL history changes are now immediately reflected in all open SQL panels.
SQL result tables: Copy as markdown and comparing table data failed when row numbers were displayed.
When non-breaking space where pasted into SQuirreL's editor
they broke SQL reformatting and probably caused other problems, too.
Now when text is pasted into SQuirreL's editor
non-breaking space are replaced by ordinary spaces.
Find in preferences/configurations dialog: Fixed UI refresh problem of "Details" panel.
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/15
SQL result: The display of the result row limit was corrected
in case the number of rows read matched the number of rows in the result.
Compare functions: Refactoring including some bug fixes.
Improved title of cells compare dialog and corrected the diffs left/right display.
Saved Sessions: Fixed restoring the active editor
when a Saved Sessions was saved (ctrl+alt+shift+s) or committed to GIT (ctrl+alt+shift+k).
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/14
The DB login dialog was missing the user name text field.
The DB login dialog is shown when an Alias without auto logon is connected.
Fixed inconsistencies in DBDiff preferences tab,
see menu Files --> Global Preferences --> tab "DB diff"
4.6.0 (06/04/2023)
==================
Enhancements:
Changed default of the "Quote identifiers in scripts" check box from checked to unchecked.
See Global Preferences --> tab SQL Scripts
This change concerns new installations only. For reference see discussion in bug #1506.
Change tracking: GIT revision dialog now offers to compare GIT revisions
or to compare a GIT revisions to the local SQL editor.
To open the GIT revisions dialog right click the SQL editor's left gutter.
Note that the GIT revision dialog is available only when change tracking by GIT must be used.
Data compare / DBDiff Plugin:
The compare dialog now offers to ignore case.
UI-Tables can now be sorted by multiple columns
when the ctrl key is pressed while column headers are clicked.
Syntax Plugin:
New option >>Quotes (' or ") are doubled / enclose selection<<:
See menu File --> New Session Properties --> tab Syntax
New option to define if NULL values are sorted highest or lowest
when tables are sorted by clicking column headers.
See menu File --> New Session Properties --> tab General --> section Output
Data compare / DBDiff Plugin:
The compare dialog now offers options to change the way differences are displayed.
Graph Plugin:
Made resizing tables easier.
Introduced Java 20 compatibility.
Graph Plugin:
A Graph's context menu now offers an option to detach a Graph from a Session.
The Graph will remain available for linking, see the "Link Graph" toolbar button.
Data compare:
UI-Tables offer a new right mouse menu "Compare selected cells".
Note that the function compares table cell selections. To compare complete tables use the Ctrl+a shortcut.
This feature includes improvements and bug fixes for the DBDiff Plugin.
Table cell data popup improvements:
Now offers a list of previous files to choose from.
The file chooser opened by the "Browse" button was changed from an open to a save dialog.
Info: Double click a table cell to open its cell data popup
#611 Reconnect dialog (ctrl+T) allows to skip opening a new connection.
To open a connection again reopen the reconnect dialog.
This option may be useful for example when your connection
disturbs external activities on the database.
Handling of copying SQL result rows to extra windows was unified and now offers
the "mark duplicate rows" function.
Ways to copy result rows to extra windows are:
- SQL result search
- right mouse menu "Copy selected rows to new window"
- right mouse menu "Copy colored rows to new window"
Find in preferences/configurations:
Former "Find in Global Preferences and New Session" now allows to search in
the Alias properties and Saved Sessions dialogs, too.
Find in Global Preferences and New Session Properties (menu File --> Find in preferences):
Leaf nodes of the search dialog tree can now be double clicked to jump to their result in the UI.
Note: Non leaf nodes can be right clicked to jump to their result in the UI.
Dark theme: Background colors of popups for
code completion (ctrl+space), tools (ctrl+t) and bookmarks (ctrl+j) are now adjusted
when the dark theme ist used.
Look and Feel plugin: Upgrade FlatLaF to version 3.0
Upgraded to latest RSyntax version 6.0.1.
The "Find Alias" dialog (Ctrl+Alt+Shift+G or Ctrl+Alt+Shift+F) now offers to modify Aliases.
The "Save file as" dialog now offers a check box to move the file instead of copying it.
If the file is under GIT control and is moved inside its GIT repository
it will be committed after being moved to keep its GIT history intact.
Data types BLOB and CLOB loading configuration was restructured and fixed.
Both data types now offer the following loading options:
- Read contents when table is first loaded (offers to limit the amount of data to read)
- Read contents when table cell becomes visible
- Read contents when table cell is focused
- Do not read contents
See menu File --> Global Preferences --> tab "Data Type Controls" --> sections BLOB and CLOB
New command line options to connect to an Alias on application start up:
| Short option | Long option | Description |
| ------------ | ------------- | --------------------------------------------------------- |
| cu | connect-url | Connect to JDBC-URL (requires exiting Alias for JDBC-URL) |
| ca | connect-alias | Connect to Alias (Alias name) |
SQL result: New right right mouse menu "Show column details ..."
File export: Export file and command text fields were changed into drop downs with history.
SQL result: Made several labels on Info tab copyable.
Saved Sessions: Name of current Saved Session is displayed in SQuirreL's main window title.
Export of multiple SQL results.
When exporting to MS Excel, multiple data sheets/tabs in the same file are created.
When exporting to other formats, multiple files are created.
The export dialog allows to name sheets/tabs or files respectively.
Howto:
To export multiple SQL results right click or open tools popup (ctl+t) and choose "sql2file"
on multiple SQL queries (separated by statement separators) to open the file export dialog.
To export multiple SQL result UI tables execute multiple SQLs (ctrl+enter).
Then right click one of the UI result tables to open the file export dialog.
Bug fixes:
https://github.com/squirrel-sql-client/squirrel-sql-code/issues/13
Java version check in plain zip scripts didn't allow Java versions 18 19 20.