root/trunk/sql12/doc/src/main/resources/changes.txt @ 6643

Revision 6643, 131.2 KB (checked in by gerdwagner, 21 months ago)

Fixed layout problem in code completion preference panel.

  • Property svn:executable set to *
1SQuirreL SQL Client Change Log
7Not yet released, available in our Subversion repository and in future snapshots and releases.
12Hibernate Plugin:
13   Improved connection error messaging when creation of a Hibernate SessionFactoryImpl in an external process fails.
15Removed misleading button "Remember widths" from Overview Tab
17Instead of displaying the file paths in Session tabs a small button is displayed when an open file exists.
18  Clicking the button will open a popup menu that gives access to several information and functions concerning the file.
203488629: SQL formatting can be configured. See menu File--> Global Preferences --> Tab SQL formatting
22Installer: The DB Copy, DB Diff and Refactoring Plugin have been made standard Plugins.
24Graph Plugin: Tables can be selected by rectangle selection like icons on a desktop of modern operating systems.
26SQL Execution: The execution panel that is displayed while an SQL statement is being processed is now closeable.
27   Before the panel is closed the cancel action gets executed.
29Created new Multisource Plugin:
30  - Allows SQuirreL to support native multiple source queries where one SQL query spans multiple sources.
31  - The plugin supports standard SQL including joins, group by, aggregation, LIMIT, and ordering where tables may come from one or more sources.
32  - The plugin will perform function translation where a user requests a function that is not supported on a certain source.
33  - Added a new UnityJDBC default driver definition that supports this virtualization.
35Graph Plugin: When a child table was removed from a Graph and the the parent tables columns were reordered constraint lines reappeared pointing nowhere.
37Syntax Plugin: Upgraded to RSyntax text area version 1.5.2
39Add new default driver definitions for HXTT Cobol and XML drivers.
41About Dialog:
42  Added a tab for displaying the status off all threads.
443463374: Ability to rename SQL Worksheet tabs through Session menu, tab's right mouse menu or shortcut shift F6. (Thanks to Vladislav Vavra for the patch.)
46Hibernate Plugin:
47 - Support of hql results that return plain values instead of mapped objects. Mixes of plain values mapped objects are supported, too.
48 - Support of data changing hql statements.
49 - Support for JDBC standard date/time/timestamp escape strings in hql queries. (String are parsed and converted to hql parameters).
52DBCopy Plugin:
53  - Offers a new menu item "Paste table as ..." that allows to change the pasted table's name.
54    This function works if only a single table was copied.
55  - Tables can now be pasted to arbitrary Schemas.
56  - In the Plugin preferences the user may choose to append copied data to existing tables
58Copy as INSERT-VALUES statement now works on almost any table not just on editable tables. If a table isn't in
59  a Session scope ";" is used as statement separator instead of the separator defined in Session properties.
62Swing Violation Detector Plugin:
63  This new plugin will help to detect rule violations of the Swing programming model. The usage of this plugin is only recommonend for
64  testers and developers.
66Code Completion Plugin:
67  The Code Completion Plugin's preferences allows to switch on CamelCase completion
68  which is a common feature in many modern IDEs.
69  CamelCase completion may be useful if a RDBMS supports capital and small letters in database object names.
71Hibernate Plugin:
72  - Redesign of HQL result display. Focus is now on displaying result objects instead of Hibernate generated SQL.
73  - User can choose if he wants to use the Session's JDBC connection or the one configured with Hibernate.
75Syntax Plugin:
76  Duplicate line (ctrl+d) now duplicates the line at cursor if no text is selected
77  and duplicates the selection if a selection exists.
79Hibernate Plugin:
80  On Windows the class path's files defined in the Hibernate configuration would remain locked even
81  after disconnecting Hibernate. This doesn't happen anymore when Hibernate is run in its own process.
83Graph Plugin:
84  Tables can be added to a Graph from within the SQL-Editor (accessible from right mouse menu and tools popup).
86Graph Plugin:
87  Graphs can be copied and pasted.
89Graph Plugin:
90  New Session toolbar button to create links to Graphs of other JDBC-URLs or to Graphs that are placed arbitrary directories.
91  With this feature it is possible to work with shared repositories of Graphs.
94Bug fixes:
96Fixed layout problem in code completion preference panel.
98Applied patch 3100757: squirrel-sql.bat broke if %TEMP% had white space. Thanks to Taneli Waltari for the patch.
100Hibernate Plugin: Added missing HQL keyword 'by'. Will now be highlighted and available in HQL code completion.
102Graph Plugin --> Query Builder:
103  When a table was removed from a query builder graph join types of remaining joins were reset to the default inner join type.
105Referesh (F5) didn't work right and didn't delete schema cache files when schema caching was used.
107Fixed memory leak: Sessions didn't get garbage collected as soon as a popup (code completion, bookmarks, tools popup) was used.
109Connection/Login timeouts (menu File --> Global Preferences --> Tab SQL) as well as canceling the "Connect to" dialog now works cleanly.
111When a Session tab is closed that is not the active tab
112 the Session menu used to be disabled and keyboard shortcuts didn't work anymore for the active Session.
114Graph Plugin: Query Builder: Mixed up ASC and DESC in SQL generation and "order by" panel
116Hibernate Plugin: Fixed NullPointer that occurred in HQL execution concerning assisted but nonetheless initialized objects.
1182947296 Table script creation for multiple tables fails (on OpenJDK)
120Graph Plugin: Opening Link dialog failed on Windows when one or more links already existed.
122SQL Editor: Parser mistook minus signs in SQL IN lists as errors.
124Error dialog showed up twice when an error occurred during Alias connect.
1263026995 Fixed problem in squirrel-sql.bat for 64-bit windows.
128Graph Plugin --> Query Builder:
129  The "Sync result" button of the "Result" view now refreshes the result even if the SQL statement was not changed.
1323.3.0 (11/20/2011)
137Hibernate Plugin:
138  Directories containing archive files (Jars, Zips) can now be added to a Hibernate configuration's classpath.
139  All files in the directory will be added as classpath entries.
141Hibernate Plugin:
142  HQL errors during results reading are now displayed as a result tab. (Similar to the new SQL error display.)
144Some performance improvements, when searching in the object tree.
145        Now, Squirrel will not try to expand a node twice, if no children were found for a node at a previous search.
147Updated Translations:
148 * French (Erwan Duroselle)
150The make editable function for SQL result tables now preserves the table's layout (ordering, scrolling position, ... ).
152New (prettier acorn) icons bundle for MacOS X (Thanks to Travis Hein for arranging the icon bundle and to the
153original photograher - George Georgiades - for releasing the photo under the creative commons license.)
155New default SQL driver for LucidDB (Thanks to Brandon Jackson)
156        To use the new default driver, it must be imported (Menu Drivers => Install default driver definitions) 
158Improved memory management: Now when SQuirreL runs out of memory, it will attempt to close all result tabs,
159in order to free some memory.  This may allow the user to save their preferences/scripts and restart SQuirreL.
161SQL Scripts Plugin: Added the capability to "store the execution result of an SQL query into file". This
162  allows the user to store the result of the selected SQL directly into a file, instead of displaying it in
163  a result table. This is avaiable in the tools pop-up (sql2file) and the menu
164  (Session ==> Scripts ==> Store result of SQL in file).
167DBCopy Plugin: (Feature request #3291501) This plugin now has a command-line interface (via DBCopyCLI).  See
168               DBCopy plugin documentation for usage details.
170Syntax Plugin:
171  Ostermiller and Netbeans editors were removed. Users that still used these editors are automatically
172  switched to the RSyntax editor.
174MSSQL Plugin:
175  - Added display of triggers source code.
176  - If two views with same name in different schemas exist now the views' source code is
177    displayed correctly according to the selected Object tree node.
178  Thanks to damluar for the patch (Patch ID: 3310900)
181New Plugin: Greenplum DB Plugin
182  New Plugin for the Greenplum DB. Thanks to Adam Winn for the patch (Patch ID 3217167)
184Feature Request 3438689: (Process SQL Server's NVARCHAR fields). 
185        Added dialect mapping support for N* fields in SQL create scripts.
187Feature Request 1744964: Copy text from the SQL editor panel as rich text.
188        This functionality is available via the pop-up menu and the tools pop-up. Additionally this mode can be
189        activated for copy shortcuts.
190        See: Session Properties => Syntax => Copy shortcuts use the "Rich Text Format"
191        To use this, the RSyntax editor (Syntax Plugin) must be activated.
193Source Tabs:
194        Syntax highlighting is used for displaying the source of database objects, if the syntax plugin is installed.
196Query Builder / New features in Graph plugin:
197   The Query Builder is part of the Graph plugin. That means besides the former default and Zoom/Print modes
198   Query Builder is a new mode of the Graph Plugin. Any existing Graph can be switched to the new mode.
199   Besides the Query Builder itself several new features have been added to the Graph plugin:
200   - A Graph can be viewed in separate window.
201   - Tables can be dragged from the Object tree to a Graph window. For convenience there is a
202     new Session tool bar button that creates a new Graph window and places it right besides the Session's
203     Object tree.
204   - Graphs have a Kick off/Start button on the lower left of a Graph panel to give more intuitive access to
205     Graph functions.
207Feature Request 3307812: Select an entire row via the table's pop-up menu.
209Oracle Plugin:
210   - The DDL of a index could be displayed under the source tab.
211   - Display the table related indexes in the object tree under the table node. This is additional to the
212     generally index node, which displays all indexes of the schema.
214New plugin "WIKI table configurations":
215  This plugin provides some predefined configurations for various WIKI engines. With these configurations,
216  SQuirreL can transform the selection of a result table into a WIKI table. Currently, configurations for the
217  following WIKI's are provided:
218    - Mediawiki
219    - TiddlyWiki
220  This plugin is a enhancement for the functionality "Copy as WIKI table"
222Copy as WIKI table:
223  Squirrel is now able, to copy the selection of a result table as WIKI text into the clipboard.
224  (Right click on the result table => Copy as WIKI table)
225  At the new preferences panel "Global Preferences => Wiki Tables", the user can configure individual
226  templates for the WIKI syntax.
228Detached result windows now can be rerun.
230Feature Request 3185630: SQL Panel layout:
231 - Squirrel uses a vertical layout for the SQL Panel. Now, this layout can be changed to horizontal,
232   which might be useful on wide screen displays. This can be configured within the
233   Session Properties and New Session Properties => Tab General => Combo Box: SQL Panel layout
234 - A double click on the divider restores the divider position to the default value.
236Editing numeric values: SQuirreL now has consistent behavior for signed values in all numeric data types.
237  A minus sign is allowed only at the first position and if the data type allows signed values.
239Hibernate Plugin: Improved display of mapped objects in table cells:
240                  The class name, primary key and toString() are displayed instead of toString() only.
243  Allowed to compare tables within one Session the same way as with different Sessions using select and
244  compare of the Object tree's right mouse menu. It is still possible to compare tables inside the
245  same Session without using select by marking two tables and just using the compare.
247Feature request 3129413: The number of decimal digits are now configurable
248  (See Global Preferences --> 'Data Type Controls')
250Feature requests 3001253, 2896494: New icons in Object tree
252Display errors in result tab (Feature request 2826179):
253  SQL execution errors are now additionally displayed in a temporary result tab.
254  - This new feature is enabled by default and can be disabled by navigating
255        to File --> New Session Properties --> Tab SQL --> Show SQL execution errors in result tab.
256  - Along with this feature comes a new Message Panel right mouse menu "Save size 0" that allows
257    to hide the Message panel at application start up.
261Graph Plugin / Query Builder: Fixed adding Quotes behavior for IN/NOT IN where clause expressions.
2633433001: Elapsed time for building output is incorrect.
2653183001: ClassCastException occurs, when the first tab should be closed after running a query.
267Hibernate Plugin:
268 Fixed several bugs in the HQL results reading function concerning lazy loaded non collection attributes.
2703408086: Non ASCII characters are highlighted as as invalid characters at the SQL-Editor pane.
272SQLScripts plugin:
273  Generating data/insert scripts from inside the Object tree failed for tables that didn't belong to the
274  default schema when the Plugins preferences where chosen not to qualify table names.
277Patch #3401315 (Derby Object tree trigger).  Trigger source was not being displayed because the 
279for comparison.  Now an actual boolean data type is used. (Thanks to Jesus Marin for the patch)
2813139446 fixed squirrelsql.bat: % was missing at the end of line set IZPACK_JAVA=%JAVA_HOME
2833308469, 3209074, 2983094: SQL with aliases don't result always with aliases as column headings
284  Affected modules:
285  - Export as CSV/XLS/XML
286  - Copy with headers
287  - Copy as HTML
289Fixed some memory issues with closed sessions.
2913393589: Introduced performance warning for the global preference " Save Preferences Immediately" when
292multiple statements are executed and set the property's default value to false.
2942985845: Create table script generates incorrect foreign key stmt: Foreign key columns were used as primary key columns.
296If the global setting "General => Save preferences immediately" is enabled, the SQLHistory will be saved immediately after the execution of a statement. 
298The column numbers of the header columns are now correct, when exporting the result table as XML.
300When displaying the content of a table, the dialog "Please wait while the query is executed" may not dispose.
301  This may occurs only for tables of a "In Memory Database" with only a few rows of data.
303When editing table cells in a text area, the input field for the file name will be shown in an appropriate size
304  instead of being very small. If the user change the size of the dialog, the input field for the file name will use the extra space.
306Now, "Press to open logs" shows  the current log file by default instead of a random one.
308SQL Scripts Plugin: Increased multi table script configuration dialog's size.
310Fixed NullPointerException in Hibernate Plugin when executing HQL with 'view objects' switched on.
312Hibernate Plugin: Made HQL code completion work more exact.
314Hibernate Plugin: Removed unused imports to regain compile independence from Hibernate API changes, see patch ID 3168381
3163309565: Not possible to translate SQL connection error messages, because they are hard coded.
3183303174: Installer hangs on linux.  Updated version of IzPack compiler to 4.3.4.
3203293737: A exception occurs if the value of a SMALLINT column is edited in a result table.
3223238037: It's impossible to create a foreign key in oracle 10g, if some tables contains a / in their name eg. recycle bins
3243222350: Cannot enter negative values for numeric fields when editing the result table.
3263196153: When typing using shift, you must release shift to type space
3283175871: On export to Excel, some numeric values are not exported correctly. 
3303172465: Error connecting to DB after 3.2.1 upgrade
3323171762: Wrong syntax for DROP KEY (When qualify table name preference is selected this produced two schema
333         or catalog prefixes on the table name)
3353148653: Missing App Icon on Mac OS X (Fix is available in the Mac OS X 3.2.1 installer file)
3373137852: DB2 Plugin - The source code is not visible, if a char column contains a default value.
3393088572: Squirrel fails when user tries to edit DB fields which have particular characters.
3413.2.1 (12/29/2010)
346Feature request 3030479: New global preference that allows scrollable tabbed pane for Session tabs.
348Feature request 1608435: (checkbox in I18N administration: "show only bundles with missing translations").
349        Thanks to Ivo Neri for the patch.
351Updated translation for Italian (Thanks to Ivo Neri)
353New translation
354 Japanese (Thanks to Toshiki IGA)
356Graph Plugin: Multiple tables can now be selected and moved simultanously
357  Thanks to Markus Schulz for the patch.
359New Session property to let SQuirreL set fetch size (call Statement.setFetchSize(int)).
360  See Session properties --> SQL tab.
361  Thanks to Stefan (wis775) for the patch.
3663138746: Typo within PluginClassName of SyntaxPlugin.
3673137390: Cannot connect after latest software update.
3683136386: Deleting table content via context menu does not work.
3693123014: StackOverflow ProgressCallBackDialog.
370                         Thanks to Stefan (wis775) for the patch.
3713055859: Regular expressions did not work in find & replace dialog.
372                         Thanks to Stefan (wis775) for the patch.
374Fixed translation label that was not being applied to "Initialize Session Timezone" checkbox.
375  Thanks to Ivo Neri for the patch.
3783.2.0 (11/21/2010)
383Updated Translations:
384 - Chinese (Thanks to xpdz)
385 - French  (Thanks to Erwan DUROSELLE)
387SQL Scripts Plugin:
388  New preference that allows to choose the escape string for new lines. See Global Preferences --> Tab SQL Scripts
389  (See patch #3079664 by Paul Wagland)
391Hibernate Plugin:
392  - New handling of limiting object count for HQL queries. This may prevent severe performance problems.
393    Formerly the limit was set more or less under the hood (SQL limit was used).
394    Setting the limit can cause the performance problems. 
395  - Hibernate session can now be started in an external process.
396    This can keep SQuirreL from running into memory problems when working with the Hibernate Plugin.
397    See Hibernate configuration panel for details.
399Introduced a new general data type property 'Use column labels instead of column names in result headers'.
400See Global Preferences --> Tab 'Data Type Controls'. Will be useful e.g. for MySQL if Aliases are used in Select clauses.
402Session Property: "Keep SQL result table layout on rerun SQL"
403If this option is checked the layout of the table of a SQL result is tried to be restored after rerunning the SQL.
404Note: You rerun an SQL statement when you click the running man button on the upper left of a SQL result.
406New way to view query results: There is a new tab inside a query result named "Overview".
407It might need some trying out to understand what it does. 
409Incorporated patch which provides a node in the object tree called LOB which lists all LOBs, providing
410details about each (Thanks to Bogdan Cristian Paulon)
412Incorporated patch which provides a node under each table in the object tree that lists all of the
413constraints for that table. (Thanks to Bogdan Cristian Paulon)
415Netezza Plugin: Added support for displaying external tables in the object tree.
417SQuirreL SQL Client is now built, tested and released with Maven.
4212693968: The "Load columns in background" setting (session properties -> SQL tab) is lost through restarts.
4233085119: NullPointerException when adding tables to graph.
4253088284: CSV export doesn't escape quotes. Thanks to wolfgang22 for the patch.
4263086444: Date/Time/Timestamp types did not display right after application restart when others than standard
427  formats were chosen in Global Prefs. (See patch 3087989)
4282998121: (Update doesn't work, settings seem correct).  Now, if the local release.xml file
429         is not found the error dialog states as the cause, rather than merely saying the release.xml file
430         couldn't be downloaded.
4312991971: RSyntax text editor ignores font settings
4322992443: Cannot use RSyntax or Netbeans editors
4332973045: Export to excel results in strange rounding; Thanks to Bogdan Cristian Paulon for the patch
4341808038: Splash screen was always on top hiding all other windows behind it
436Popup-Menu for adding or removing driver specific properties didn't appear in driver properties
437 tab of alias properties on Win XP. (See patch 3083166)
439Double click in Alias tree always opened the selected Alias even if the mouse pointer wasn't placed on the Alias.
440 This way Aliases where opened when tree nodes where quickly closed or opened.
442RSyntax editor: Replace dialog: Replace button now does a find next after replacing.
444Fixed problem with sorting after dragging columns
446Button sizes differed in Alias and Driver docking frame 
448Hibernate plugin: Icon buttons for connecting and opening configuration could be very small.
450Firebird Manger Plugin: Removed dialog (that pointed out missing Firebird driver) from startup routines.
452Fixed Alias Properties not showing when drivers getPropertyInfo() fails. Behavior has been seen with Oracle driver.
454RSyntax: Turned off drag and drop inside the editor. It conflicted with our
455drag and drop feature for files and caused editor texts to vanish. See bug #3006515.
457RSyntax: When code reformatting was used on Windows, carriage return chars (\r) where inserted in the editor.
458These chars made keyboard arrow keys fail: If you stepped over an \r the key hit did nothing.
460Parser could be triggered far to often which resulted in high CPU and memory load.
461This problem was caused by redundant carriage return chars (\r).
463Any redundant carriage return chars (\r) are removed from files.
464On Win Platforms carriage return line feeds (\r\n) are kept for new lines.
4663.1.1 (4/24/2010)
471Code completion Plugin:
472 - Users may choose to see column remarks in completion lists.
473   See Menu File --> New Session Properties --> Code Completion --> Checkbox an bottom of panel
475Hibernate Plugin:
476  - Results of HQL Queries can be displayed as objects
477  - Hibernate logs can be seen in SQuirreL logs when Hibernate logging is configured for console output.
4822991709: Quotes missing in squirrel-sql.bat
4832990527: nChar() is unknown field
4842982594 / 2988387: RSyntax editor crash
485When database errors occured while loading table columns, SQuirreL slowed down and produced a lot of log messages.
4862981691 / 2981694: squirrel-sql.bat fails on Windows 7 64 bit
4872980873: squirrel-sql.bat doesn't work out of box
4882978540: Identifiers starting with '_' where not handled as identifiers by the RSyntax lexer. This resulted in syntax coloring and completion problems.
4892974533: Informix: Method can be called only once. / ErrorCode: -79
4902965617: Fail to open session with RSyntax editor
4912963371: Splash on 3.1 - copyright (was not updated for 2010)
4953.1 (3/3/2010)
500Updated Translations:
501 - Korean (Thanks to Youngwoo Kim)
502 - Chinese (Thanks to xpdz)
503 - French (Thanks to Erwan DUROSELLE)
505Improved display of SQL result metadata
507Hibernate Plugin:
508  The Classpath configuration now allows to move entries up or down.
510New plugin for Netezza NPS database server.  This plugin allows for viewing source and details of Views,
511Stored Procedures, and synonyms.  It also provides the ability to execute stored procedures in the SQL Editor.
512See Help for screenshots and more details.
514Aliases now have the ability to setup a keep-alive SQL statement and sleep time (in seconds) to prevent a
515connection from being disconnected while appearing to be idle.  This is done using the new Connection tab
516on the Alias properties dialog.
518Derby Plugin:
519 New tab to display the source code of Derby stored procedures
520 Thanks to Glenn (bassnfool2) for the patch (Patch ID 2907220)
522XML Export:
523 Tables in SQuirreL's GUI now allow to export data as XML (besides CSV and MS-Excel export)
524 Thanks to mironsadziak for the patch (Patch ID 2905595)
526New editor component: RSyntaxTextArea by
527 New features:
528  - No long line problems
529  - Enhanced search functions:
530      shift F3: Find selected.
531      F3: Repeat last find.
532      control shift F3: Mark selected.
533      escape: Unmark all.
534  - Line numbers can be displayed
535  - Current line can be highlighted
536  Note: On MS-Windows systems the Java-VM parameter -Dsun.java2d.noddraw=true must be set in your SQUirreL
537        start batch to prevent performance problems.
540 - New Polish translation available (Thanks to Miron Sadziak)
542Better table header rendering for MAC OS
543  Thanks for Brian Mauter's Patch (ID 2856103)
545Feature request 2826175:
546  Number of rows read is now visible on message panel and results tab.
548Feature request 1656320:
549  Background Color Configuration is now available via a new tab ("Color Properties") in Alias
550  Properties dialog. 
552MySQL Plugin
553  Fixed object tree menu items:
554   * Create database (on root node)
555   * Drop database (on catalog nodes)
556   * Rename (on table nodes)
558SQL Scripts Plugin:
559 New checkbox 'Use double quotes (") for qualifying' in global scripting preferences.
561Feature Request #2818444:  Oracle: Connecting as SYS not possible - now it is possible to add the necessary
562driver property to connect as SYS, or any other account that needs to connect as SYSDBA.
564Look & Feel Plugin
565 - Better support for Nimbus: No horizontal scrollbars on pop up lists (e.g. code completion)
566 - Removed choices for Metouia and OYOAHA as these are not supported for use in Java 6.
568Oracle Plugin
569 - SQL*Loader control file generation.
570   Adds a new right mouse menu item to tables in the object tree: "Generate SQL*Loader control file"
571   Thanks to José David Moreno Juárez for the patch (Patch ID 2776344)
573About dialog now has a clickable link to our home page.
574 - Thanks to Hashim Kubba for this patch (ID 2104309)
576Graph Plugin:
577 - Show constraint name can be selected on each constraint separately. See right mouse menu on constraint
578   line.
579 - Allowed constraints to be created using drag and drop.
580   To create such a non-DB constraint using drag and drop hold
581   down the control key. Then right click the constraint to configure it. 
586SQuirreL was seen consuming a lot of memory and CPU.
587 For details about the fix see comments in class ExitParserThreadRequestException
588 See:
590Loading and saving files on Windows produced multiple CR (carriage return) chars in files.
591When copy and paste was used on such files multiple empty lines were created.
592Note: The Windows standard editor Notepad shows multiple CR chars where they exist and allows to remove them.
593      SQuirreL does not remove them automatically at any place.
595Moved focus to SQL Editor when it gets visible through previous Session / next Session navigation (Alt left/right)
597Fixed class not found exception in Oracle Plugin when setting Session Time Zone.
598Thanks to Neville Rowe
6012946165: preferences messages not translatable
6022946160: translation missing in refactoring
6032944128: remote not translatable
6042942351: Program doesn't launch
6052927576: NPE at Copy as SQL INSERT-VALUES
6062913463: Problems with system classpath with quotes
6072908407: MSSQL driver plugin example URL isn't correct
6082891190: block comment content produces error
6092879711: Fix for Excel date export concerning dates earlier than 1900-03-01.
610                 Thanks to mironsadziak for the patch (Patch ID 2905218)
6112853329: Ctrl-S overwrites existing file on 2nd try
6122819161: in plain zip had an errant apostrophe.  Tested this fix on MacOS 10 and Ubuntu 9.04. 
613         Thanks to Jonathan James for vetting the anonymously submitted patch.
6142818117 ("Make Editable" uses column label instead of name)
615                 Thanks to Christian Gruenberg for the patch (Patch ID 2924887)
6162801011: Sybase (CREATE TABLE script generate decimal(15,2) instead of (15,4))
6172794860: Sybase (CREATE TABLE script generate numeric(15) instead (15,2))
6182754166: SQLScript plugin loses precision for Timestamp in H2
6192746982: Error occured in IPlugin.sessionEnded() for SQL Parametrisation
6202713952: Create table script (on Sybase): Always generate "datetime" type for "date" (and datetime)
6212657987: Session was closed even if session closing confirm dialog was not confirmed. Connection was not
622         closed then.
624ArrayIndexOutOfBounds exception occured when more than one Alias was deleted form Alias tree 
626Fixed startup error:
627 java.lang.NullPointerException
628 at ... .AliasFolderState.applyExpansionAndSelectionToNode(
630Error in Alias tree: Alias vanished or gave an error when dragged on itself.
632SQL Scripts Plugin:
633 - Several scripting functions did not respect global scripting preferences about qualifying tables.
634 - When generating insert scripts from a SQL statement the global
635   preference "Qualify table names in generated scripts with the schema name" did not work.
636   Thanks to Johann Geyer for the patch (Patch ID 2365193)
637 - Generating data scripts may throw java.lang.StringIndexOutOfBoundsException when timestamps where scripted
638 - Foreign key constraints with more than one column were not scripted correctly. (Only first column was
639   included.) 
641Schema caching:
642 Removed problems with selective schema caching when the same table name
643 exisits in two different schemas. E.g. column completion didn't word anymore.
645Stored Procedures that return a mix of update counts and results sets weren't displayed properly.
6483.0.1 (3/23/2009)
653 - New Korean translation available (Thanks to Youngwoo Kim)
6572686268: OS X Look and Feel is Incorrect
6582645286: Quotes missing in (Thanks to mdykierek for the patch)
6592531193: Oracle create table script the "ON UPDATE" is wrong
6602644778: "Contents Tab SQL filter" and "Limit cell edit WHERE clause size" dialogs didn't work
662Other reported bug-fixes:
664 - Fixed UI freeze issue which sometimes occurred when using software update feature.
666 - Better support for PointBase 5.7
668 - Fixed bug which caused NullPointerException in Refactoring when modifying column types
670 - Fixed bug which occurred when generating FK SQL for DB2 where the update and delete action clause result
671   in syntax error for certain standard constraint actions.
673 - Fixed the case of the install directory (java -> Java) to match the case of the directory created by the
674   installer.
676 - NullPointerException occured when last tab was closed
678 - Fixed several problems when Schemas where cached. For example, "Contents Tab SQL filter" and
679   "Limit cell edit WHERE clause size" dialogs did not open.
681 - Fixed a problem where when certain windows were closed (for example, the Session Properties window) the
682   first tab was always selected
6843.0 (2/21/2009)
689Dataimport Plugin:
690  * SuggestColumns: if columns in database and in the first line of the file
691    are equal, they are matched for the import.
693Sybase Plugin:
694  * New ExceptionFormatter for SQLWarnings: better viewing warnings while the parameter
695    showplan is on (set showplan on)
697Look an Feel Plugin:
698  * Made Nimbus look and feel available (needs at least JDK/JRE 1.6.0_10)
699  * Made Metal look and feel with Ocean theme the default (used at first start up).
700  * Added warning message that look and feels other than Metal may cause perfomance and/or functional problems
703Updated Italian translation (Ivo Neri), Chinese translation (xpdz), French translation (Erwan Duroselle)
705New user interface layout: Tabbed layout
707Hibernate Plugin:
708   - Cleaned up details display in mapped objects tab: Now every tree node displays an appropriate details table.
709   - Added hint to solve StackOverflowError caused by logging that may occur when connecting to a Hibernate configuration.
711Object tree search (Feature request 2004240):
712   Above the Object tree is a text field and a find button.
713   The search string has to be the exact simple (unqualified) name of an DB object or may contain placeholders ("%" or "_").
714   The text field supports code completion.
715   A filter button allows to apply the search string as Object tree filter.
717Object tree filtering:
718   Multiple (comma separated) Object tree filters can be defined. Filter conditions can be excluding oder including.
719   Better support for placeholders "%" and "_".
720   See "Session Properties"/"New Session Properties" dialogs --> Tab "Object Tree".
722Graph Plugin:
723 - Qualified table names can now be displayed. Use the right mouse menu on graph background.
725Edit Extras Plugin:
726 - Improved handling and look of Escape date dialog.
728Graph Plugin:
729 - New entries in table's popup menu: "Copy table name" and "Copy qualified table name".
730 - Columns of all tables in a graph can now be ordered at once. Use the right mouse menu on graph background.
732New Plugin: Smarttools by Michael Romankiewicz
733  - Searching for tables that do not have a primary key or unique index or index.
734  - Searching for non nullable columns that contain null values. Some DBs e.g. Firebird can be tricked to have this inconsistency.
735  - Changing values database wide according to specified criteria.
736  For more information see the Plugin's help.
739New Plugin: Firebird Manager by Michael Romankiewicz
740  - Storing and restoring Firebird DBs
741  - Managing users and roles for the Firebird RDBMS
742  For more information see the Plugin's help.
744 - Aliases can be displayed as list or as tree.
746 - A new preference for choosing Locales is available in Global Preferences -> General tab.  This allows you to
747   set your preferred locale, and if an optional translation is installed that corresponds with the preferred
748   locale, then restart and the changes take effect.(No longer necessary to hand edit the start script)
750 - Copy as "SQL WHERE" / "UPDATE-SET" / "INSERT-VALUES" statement function in tables
751   Tables offer right mouse menu to copy WHERE, UPDATE-SET or INSERT-VALUES clauses of selected data to clip board.
752   Works like the existing "Copy as SQL IN statement" function.
754 - New Plugin: SQLReplace by Dieter Engelhardt
755   This plugin replaces a set of variables before a statement is executed.
756   The variables to replace can be defined at the Plugin's Global Preferences tab. 
758 - Added a preference option to allow the selection of items in lists to change while activating
759   the popup menu on a single right-mouse button click.  For example, without this, you need to
760   select an object in the tree with a left mouse button click, then press the right mouse button
761   to activate the popup menu.(See Global Preferences -> General -> Select On Right Mouse Click)
763Data Import Plugin: It now warns the user when importing data into an existing table, that it's current data
764                    will be truncated first.
766DBCopy Plugin:
767 - Added support for mapping the DISTINCT source column type for copying data from PostgreSQL
769DB2 Plugin: Lars Heller provided a patch to add support for XML column types in SQuirreL via the
770            DB2 Plugin (tested against DB2 v9.5 LUW)
772Oracle Plugin:
773 - Added validity (VALID|INVALID) field to trigger details tab for triggers.
774 - Allow the user to configure whether or not to show the syntax error offset in
775   the SQL Editor.  This feature creates a user-defined function called
776   SQUIRREL_GET_ERROR_OFFSET, which can be disabled.
777 - Added ability to recognize "create package" and "create package body" statements.   
779PostgreSQL Plugin:
780 - Added support for PostgreSQL(8.3.x) new XML type.
782 Contributions from Daniel Regli and Yannick Winiger:
783 - Menu: added a new "PostgreSQL" menu to the object tree and the session menu for
784   PostgreSQL-specific functionalities.
785 - Vacuum: added visual (dialog) support for the PostgreSQL-specific VACUUM statement for
786   garbage-collecting a selection of tables or the whole database.
787 - Explain: added an additional SQLResultExecuter to the sql panel that shows
788   the query plan of executed statements.
790Refactoring Plugin:
791 - Fixed bug which caused column comment alter statement to be generated even when no column column
792   change was made.
794 - Don't try to order the list of tables to be dropped (forcing FK info retrieval)
795   when there is only one table being dropped.
797 - Contributions from Daniel Regli and Yannick Winiger:
798   Added new Refactorings (All new refactoring dialogs can now be closed with the ESCAPE key):
799    - Rename Table
800    - Add/Rename/Drop View
801    - Add/Modify/Drop Sequence
802    - Add/Drop Index
803    - Add/Drop Foreign Key
804    - Add/Drop Unique Constraint
805    - Add Lookup Table
806    - Add Auto Increment
807    - Merge Column
808    - Merge Table
810 - Refactoring, scripting for Intersystems Cache DB:
811   Made Refactoring and scripting functions available for the Intersystems Cache DB by activating its
812   Hibernate dialect.
816SQL Replace Plugin: Fixed a bug that caused patterns such as $P{startDate} to throw an exception.
818Add/Edit Alias window did not resize properly
820SQL Scripts Plugin: On some DBs (e.g. MySQL) "Store result of SQL in table"
821                    did not work for SQLs that returned a lot of rows.   
824Graph Plugin: Table's right mouse menu "Add Parent tables" did add a parent more
825              than once when more than one foreign key to the parent existed.   
827Graph Plugin: Refresh didn't work for newly created constraints
829Fixed several bugs which made it impossible to work with SQLite.
831Fixed a bug which made it difficult to see text that was being edited in a table.
8332609090: Auto update fails if "empty" change list is validated
8352480365: Plugin loading fails when installdir has spaces
8372220792: SQLite: content not editable
8392184379: (SQuirrel client 2.6.6 fills up 52 gigs of log file space).  Added a new log
840appender that is based on file size rather than time.
8422119937: Windows EOL chars (CRLF) are converted to Linux EOL (LF).
8442104422: Fixed some potential bugs (Thanks to Hashim Kubba)
8462102894: Missing Scale Placeholder in Sql server dialect.  This causes script generation and dbcopy
847targeting MS-SQL server to produce decimal columns without the scale attribute (that is, decimal(7) instead
848of decimal(7,5))
8502092902: Focus remains on hidden session window for Alt-Arrow.  Removed code which was a
851work-around for a bug in java 1.3, that has since been fixed and was actually producing a
852bug seen in java5 and java6, where the Alt-RightArrow key shortcut switched session windows
853into the foreground without giving them focus.  Thanks goes to Johnathan James for the
8562091569: FAQ is missing its images
8582049336: Make Editable disappear from SQL/results tab
8602018512: DB2 timestamps still don't work when milliseconds are zero. Patch submitted by Daniel StrÀnger.
8622018018: (Bug in FormatSql function) Formatter now uses platform-specific EOL char sequence. 
8642013346: export csv with option "carriage return + linefeed"
8661995728: Unable to switch database
8681958881: (Unable to see source of database views)  Adjusted the query for view source to use
869underlying system tables instead of INFORMATION_SCHEMA.VIEWS, since this view cannot handle views
870that are greater than 4000 characters.
8721968807: Unsigned INT problem with IMPORT FILE functionality
8741968270: Displaying unsigned INT as signed INT in column
8761845987: PostgreSQL interval types are not displayed
8781840266: Create Table Script sets varchar columns to 8000
8801830649: Focus Loss
8821824534: Constraint created twice
8841902611: (Oracle) Don't fail on SQL-Plus "SET ..." commands in SQL script; Now, the Oracle plugin skips over
885                  them.
8871876352: (DB2) Incorrect  TIMESTAMP in create data script (loss of precision - nanosecond component - also
888               affected other databases.
8901861402: (Informix catalog switching doesn't work correctly)
891 - Better catalog switching behavior for databases that support catalogs.  Now if a connection is made
892   without specifying the catalog, a place-holder
893   catalog ("None") is inserted into the catalog drop-down menu and removed once a catalog is selected. 
894 - Fixed a race condition that caused the tree to be refreshed before data was refreshed from the database
895   when the catalog was switched. 
896 - For Informix, setCatalog seems to have no effect, so now an explicit DATABASE <catalog name> command is
897   issued.
8991848924: Sybase object browser contents not displayed
9011769599: fix for permission problem with Windows Vista.  Now we create our temporary path file in a temporary
902location that the user should always be able to write to.  Thanks to user aberdeen61 for contributing the
9051596240: Fixed bug when displaying HSQLDB->Objects->Content, where contents are not shown and exceptions are
906thrown because tables are not being qualified with the schema name.
9081541325: (Derby) Connection doesn't close when ending session - thanks goes to Alex Pivovarov for the
909                 patch that fixed the issue.
911Bug-Fix for bug that caused Frontbase indexes not to be displayed in the indexes tab, for tables in the
912Object tree.
914Fixed identifier qualification in Progress - tested on OpenEdge 10.1C.  Now only schema is pre-fixed to
915identifiers, instead of catalog and schema.
917Code Completion Plugin:
918 - Made column completion available for databases/JDBC drivers that support catalogs and/or schemas
919   but don't provide catalog or schemas in their column meta data. For example some versions of MySQL
920   show this behavior.
922DBCopy Plugin:
923 - Only attempt to order the tables being copied if there is more than one table in the copy set.
925Changing to another window using Alt + left/right arrow did not properly set focus.
927Hibernate Plugin:
928 - Class names in completion list could change from fully qualified to simple
929   while scrolling through the completion list.
930 - Fixed identifier qualification in Progress - tested on OpenEdge 10.1C. 
931   Now only schema is pre-fixed to identifiers, instead of catalog and schema.
932   When a statement like "from Kv k where k." was completed the fields for k. would come from
933   any arbitrary mapped class which name started with Kv
935Refactoring Plugin: When generating DROP TABLE statements, Frontbase requires
936CASCADE or RESTRICT.  Now we append CASCADE to the DROP TABLE statement.
9381830649: Focus Loss
9391820792: Sybase ASE - table not shown in object browser
9401821354: Changing default value of a column in Derby does nothing
9411820214: 2.5.1 DB aliases do not transfer properly to 2.6.1
9421820020: modified tables aren't sorted
9431815667: Create Table Script does not include column defaults
945Syntax Plugin: Fixed memory leak which caused sessions not to be garbage
948Bug-fix for plugin unloading where unloading a session plugin did not prevent
949it from binding to new sessions.
9512.6.1 (10/24/2007)
9561818446: Packaging problem in v2.6 on MacOS X
9571805954: Tables not in alpha order in Object view
9592.6 (10/20/2007)
964New Plugin (Hibernate)
965   - allows to generate SQL statements from Hibernate HQL statements
966   - shows object tree of mapped objects
967   - HQL Code completion and syntax highlighting
968   - Three ways to create a HibernateSessionFactory
969     * Native way using "new Configuration().configure().buildSessionFactory();"
970     * JPA way using "Persistence.createEntityManagerFactory("<persitence-unit name>");"
971     * User defined way to by calling a user defined provider method.
972   See help for further details.
974Improved speed at which large files are loaded into import popup for
975CLOB/VARCHAR cells.
977Added basic drag-n-drop to transfer a file from the desktop into an SQL Editor
981New Plugin (SQL Parametrisation - Thorsten MÃŒrell) allows you to put variables
982           into your SQL statements.
984New Plugin (Data import - Thorsten MÃŒrell) allows you to import arbitrary files
985           into the database.
987DBCopy Plugin:
988 - Copy thread will wait for the dialog record progress bar to be updated
989   before continuing to copy records.
990 - Fixed bug which caused cursors to remain open in the source database after
991   the copy operation was complete.
993DB2 Plugin:
994 - Added tab for displaying the source code for DB2 MQTs as well as DB2
995   tables.
996 - Added support for OS/400 (trigger source and details not yet implemented).
997   Special thanks goes to Tilmann Brenk for submitting OS/400 versions of all SQL
998   statements required to support the plugin features.
999 - Added support for showing user-defined functions in the object tree and the
1000   source code that is associated with them if it is available.
1001 - Exceptions from DB2 Universal JDBC driver are now interpreted as
1002   DB2Diagnoseable exceptions so that the cause of the exception can be printed
1003   (Thanks to Christoph Schmitz).
1004 - When the source tab of a C-language stored procedure is selected, we now
1005   show the user a nice informative message stating that the source code is
1006   unavailable instead of merely displaying the word "null".
1008Code Completion Plugin:
1009  When Ctrl+Space is hit while completion popup is already open the prefix up to
1010  where all completion candidates match will be written to the SQL editor. The
1011  completion popup will remain open.
1013Derby Plugin: New custom QueryTokenizer which allows Derby sessions to give the
1014              command:  run '<abs-path-to-script>'
1015              This reads in the file and executes it's statements.  This is
1016              supported in Derby's own ij command-line interpreter.
1018Firebird Plugin: Added triggers node for each table to display triggers.
1020Informix Plugin:
1021 - 1732161: Fixed Source code of procedures and triggers to work
1022            with Informix version 7.3.1
1023 - When executing an SQL statement with a syntax error, the driver is now asked
1024   to provide the position of the error in the statement.  If it is available,
1025   the cursor is moved to the position of the incorrect syntax.
1027LAF Plugin: Added Substance 4.0 look and feel as an option.
1029MySQL Plugin:
1030 - Added support for handling stored procedure create statements.
1031 - Added source tab for Stored Procedures, Triggers and Views.  Triggers are
1032   displayed as object nodes beneath tables as is done in other plugins.
1034Oracle Plugin:
1035 - 1446678 (SQL Error Help) Added capability to put the cursor at the position
1036   in the SQL where the statement failed.
1037 - 890843, 1787653: Added support Oracle's SYS.XMLTYPE column.
1038 - Warning message is displayed if string literal timestamp setting is used for
1039   internal where clauses - this setting may result in the inability to edit
1040   tables.
1041 - (Feature Request 1735530: Hide Oracle Bin$.....==$0 tables )
1042        Added configuration for removing the Recycle Bin tables from the object tree.
1043 - Show the source for Oracle tables, as well as materialized views. 
1044 - Added additional query tokenization pass to find begin...end;/ type
1045   anonymous procedures.
1047PostgreSQL Plugin:
1048 - Added database locks display tab for PostgreSQL sessions.  Click on the top
1049 node in the object tree and look for a "Locks" tab.  Code was adapted from Rocco
1050 Rutte's tab of the same name and purpose in the EclipseSQL project.
1052Refactoring Plugin:
1054 - Fixed problem where the comment of a column could not be altered if it was
1055   null.
1056 - Refactored drop tables command to not use the event dispatch
1057thread for calculating foreign keys(UI Responsiveness).  Also, now FKs in child
1058tables are dropped before any parent tables are dropped when cascade
1059constraints is selected.
1061SQLScripts Plugin: Now uses types generated by Hibernate dialects for create
1062table script feature.  Also, it now uses the session query tokenizer. 
1064Sybase Plugin: Added new trigger and index nodes beneath tables in the tree. 
1065Also, added trigger source tab for triggers.
1067Patch 1761706 (Miscellaneous Java 5 Generics) submitted by Bron Eubanks
1069Task 138098 (Plugins Session Menu Items (Disable)) When using a session that
1070  is not supported by a db-specific plugin, that plugin should disable it's
1071  Session menu items
1073Task 137959 (Refactor PreferencesManager) removed redundant plugin class
1074  definitions related to Preferences which were very similar.
1076- Added unload button to plugin summary dialog which will cause the selected
1077  plugin to be unloaded.
1079- Added support for setting whether or not plugins are loaded at startup
1080  (without physically removing them), using the plugin summary dialog.  You must
1081  restart SQuirreL for plugin change to take effect.
1083- Added 'Use PK' button on the "Edit Where clause" dialog which will cause only
1084  PK columns to be used for updating rows in the table contents panel.
1085- Added "All Objects" to alias properties.
1086- Use the last directory that a file was imported from when importing
1087  additional files for binary fields.
10891757076: (DATE column seen as TIMESTAMP, update in editable mode fails) Changed
1090the default of "Read Date as Timestamp" to false.  This setting breaks editing
1091dates on Derby.
10931743720: (Save settings immediately, not only when closing SQuirreL).  Now there
1094is a setting in Global Preferences to "Save Preferences Immediately" (Default
1095is true) Additionally, if this is not desired and it can be disabled to give the
1096old behavior (faster), and a new menu item under "File" called "Save Preferences"
1097is available to immediately save everything that is normally saved during
11001742033: (Skipping quoting escape in table dropping) Refactoring plugin drop
1101table functionality now handles tables with embedded double quotes by doubling
1102the double quotes to allow the database to recognize the doubled quote as a
1103single quote which is part of the identifier. Thanks goes to Thomas Mueller
1104(from for contributing code to fix the issue)
11061731251: (Cryptic exceptions with DB2 JCC driver) Provides an API to allow
1107plugin authors to create and register custom exception formatters to be used
1108when displaying error messages and the like in the session message panel.
1110Updated French translation (Thanks to Erwan Duroselle)
1111Finished German translation
1115Statements like
1116"SELECT TestTab.testid, TestTab.testname FROM TestTab"
1117were not editable.
1119Fixed bug in CodeReformator which is exposed when the statement separator
1120is "|".  Also, made formatted source tab able to handle this type of problem
1121more gracefully by showing the source in it's original form, instead of
1122nothing at all.
1124Goto line dialog (ctrl+g) was missing labels.
11261752089 (ConcurrentModificationException raised when loading schema)
11281716859 Can't see data in content tab or row count tab (MS SQLServer databases
1129        with a dash ("-") in their name would cause the content tab or row count
1130        tabs to render no data.
11321714476 (DB copy uses wrong case for table names) The copy operation would
1133         sometimes fail to select records from the source table.  Since the
1134         case for the source table is always known to be correct, the plugin
1135         no longer erroneously attempts to correct the case.
11371714475: (Adding rows from the content tab)  When inserting row data, pay
1138         attention to isAutoIncrement flag so that these columns are excluded
1139         like rowId columns.  After insert, refresh the table data so that
1140         auto-generated fields are populated.
11421704798 ISQLExecutionListeners cannot return "null"
11441701380 addSQLExecutionListener is broken
11461700093 Formatter fails for insert script with multiple sub-selects
11481699294 Squirrel imports BLOB, but does not update data
1150138092 (PostgreSQL table types) Now PostgreSQL table types list and object tree
1151       exclude "SYSTEM INDEX" type.  Treating these objects as tables causes
1152       lots of SQLExceptions from the PostgreSQL jdbc driver.
1154Refactoring Plugin:
1155 - When building a new TableColumnInfo, if the defaultValue textfield is blank,
1156   then make the default value be null.
1158Task 137984 (Bug in alias delete) The problem was that notifications were
1159  being sent to the alias drop-down that the item was being deleted which
1160  triggered an update and new selection forcing the connect to alias window to
1161  be launched.  Now, the alias drop down is disabled while the update is
1162  happening and enabled immediately afterward.
1164Fixed a bug that occurred when no plugin installs a custom QueryTokenizer in
1165a Session - changing the session properties for query tokenizing has no
1168Fixed bug which appeared while editing tables in PostgreSQL 8.1.  If the table
1169was created without an OID column, the last column would not be editable.
1171Fix for issue where dates aren't correctly displayed or updated when using
1172'treat date as timestamp' pref in the SQl Editor result panel.
11742.5 (4/7/2007)
1179- Updated Czech translation (Thanks to Jan Kostrhun)
1180- Updated Simplified Chinese translation (Thanks to xpdz)
1181- Updated French translation (Thanks to Erwan Duroselle)
1182- Updated Italian translation strings (Thanks to Ivo Neri)
1184- When the user control-clicks on an identifier in the SQL editor it takes you
1185  will show that object in the object tree (Same behavior as Ctrl-b).
1187- Dialog prompt to save file changes on exit, now includes the filename in
1188  case there are multiple open files in different sessions.  Also, the session
1189  alias name appears in the title, in case the editor contents aren't yet
1190  associated with a file.
1192- SQL history window
1193  The contents of the SQL history combo box can now be opened in a window
1194  where the user can search for formerly excuted statements. The history
1195  is available through a button next to the SQL history combo box or through
1196  tools pop up (ctrl+t).
1198- Export: Warn the user when exporting data to CSV/Excel if there are Clob
1199  placeholders (<Clob>) in the table data being exported.  Also, let the user
1200  know when the export to file is complete, if no command is to be executed to
1201  show the exported file.
1203- 'Delete Records' action now orders the selected tables in order to satisfy any
1204  FK dependencies.  Previously, this operation would fail if PK tables preceded
1205  (by name alphabetically) FK tables in the object tree list.
1207- Certain plugins (Oracle, Sybase, MS SQL-Server) now have configuration tabs
1208  (in Global Preferences) to allow for configuration of the statement separator
1209  for scripts independently from the Session properties configuration.  For
1210  example, this means that now when you switch between session windows that use
1211  different statement separators (Oracle = ';' / Sybase = 'GO'), you no longer
1212  have to change the global statement separator for all sessions to get the
1213  correct one for script execution. As long as you have the plugin installed
1214  which corresponds to the type of database that a session is accessing, a
1215  reasonable default is supplied to make this configuration unnecessary in most
1216  cases.
1218- Added better support for executing large scripts (by default, a script is
1219  considered large if it has > 200 SQL statements selected for execution in the
1220  script).  Now, only one message is written in the message panel at the bottom
1221  of the session window at the end of running many statements summarizing the
1222  details of execution (timing, statement type and count, etc).  The message
1223  "SQL Statement x of y <some sql...>" is still displayed in the results panel to
1224  indicate progress. Also, the history bar isn't updated during large script
1225  execution. The "200 SQL statement" default is configurable in Global
1226  Preferences under 'SQL' tab and all of this new functionality can be disabled
1227  by using '0' (zero) as the value of large script statement count.  This
1228  dramatically improves UI responsiveness for large scripts (especially those
1229  with statement counts in the thousands) and makes it possible to cancel the
1230  execution using the cancel button - which is otherwise effectively disabled
1231  while the UI attempts to keep up with all of the UI updates in a large script.
1233New Plugins for H2, PostgreSQL and DB2
1234        These plugins provide source tabs for stored procedures, views and triggers.
1235        They also provide details tab for sequences and triggers       
1237New Plugin for Sybase ASE by Ken McCullough
1238        The plugin allows to script the code of Views and Stored Procedures of the
1239        Sybase ASE DB.
1241Code Completion:
1242   - The number of table columns that should be displayed on top of the
1243     completion list when completion is called outside of the scope of a
1244     table/view is now configurable in code completion properties.
1246Edit Extras:
1247   - New formatting action - remove newlines.  This is useful when copying SQL
1248     from console windows that insert end-of-line characters when copying.
1250Refactoring Plugin
1251  - Added support for modifying the column type from varchar2 -> clob and
1252    clob -> varchar2 (which isn't directly supported by Oracle's column modify
1253    alter statement).
1254  - 'Drop Tables' action now orders the selected tables in order to satisfy any
1255    FK dependencies.  Previously, this operation would fail if PK tables
1256    preceded (by name alphabetically) FK tables in the object tree list.
1258SQL Scripts Plugin
1259  - Now when selecting 'Create Data Script', the insert statements created are
1260    ordered by the first column.
1262Oracle Plugin
1263  - Added configuration panel for Oracle plugin in Global Preferences to allow
1264    configuration of new custom Oracle query tokenizer.
1265  - Added support for executing create procedure, create function and create
1266    trigger blocks delimited by a single "/" such as is supported in SQL-Plus. 
1267    Also, added support for the "@" construct which is used to specify a script
1268    file to be executed without loading it into the SQL Editor first.
1269  - Source tab for views now presents source code that is formatted and
1270    correctly formed to allow it to be used as an SQL statement to replicate
1271    the view.
1272  - Added the schema name to the SID for session nodes - it's easier now to
1273    find the session you are looking for.
1275Informix Plugin
1276  - Is now using the code reformatter for formatting the Source Tab for views
1277    The code reformatter was written by Gerd Wagner and previoously located in
1278    the EditExtras plugin.  It has been moved to core so that other plugins can
1279    take advantage of this capability.
1281DBCopy Plugin
1282  - Allow the user to set "0" for the fetch size to indicate that this should
1283    not be called.  JDBC-ODBC bridge driver fails to execute *any* SQL once you
1284    have set the fetch size to *any* value.
1285  - Analyzes FKs to be copied and skips them if they already exist in
1286    destination database.
1287  - Now the plugin reorders source tables to satisfy FK dependencies when
1288    copying data into existing tables with similar constraints.
1289  - The error message for SQLExceptions now includes the SQL statement that was
1290    last executed (including bind variable values if it was a PreparedStatement)
1292Data Type Controls/DBCopy preference sheet scrolling - sped up the scrollbar
1293so that one click of the down arrow gives ~10 pixels of scroll instead of
1294only 1 pixel.  This makes it so that scrolling with a wheel mouse moves from
1295top edge to bottom edge in about three full rotations of the wheel instead of
1296about thirty.
1299- Fixed issue where USERS, SESSIONS, INSTANCES nodes in the object tree for
1300  Oracle sessions weren't being populated with child nodes when the session is
1301  first started.
1302- Added support for identifying Informix XPS, so that the Informix plugin can
1303  be used (Thanks to Dieter Engelhardt for the patch)
1304- When treating dates like timestamps, simply use the DataTypeTimestamp class
1305  instead of trying to make the DataTypeDate class smart enough to interpret
1306  timestamps.  This fixes the issue where a Number format error was encountered
1307  while editing DATEs when they are being interpreted as TIMESTAMPS.
1308- Fixed NPE that is seen on startup when sessions are set to "Connect at Startup"
1309- Fixed functions like Quote/Unquote SQL or Format SQL which were removing new lines.
1310  (Now there is a separate function to remove newlines)
1311- Caching of schemas (serializing to disc) failed. A NotSerializableException
1312  was thrown, due to development code introduced during version 2.5 development.
1313- An error occured when F5 (Refresh) was hit in a SQL Work Sheet or an Object Tree Window.
13151689040 (plugins prefs files saving)
1316        Now preferences for some plugins (DBCopy, MS SQL-Server, Oracle, SQLScript and
1317        Sybase ASE)  that were formerly stored in the program plugin directory, are now
1318        stored in the user's settings directory.  This means that preferences for these
1319        plugins should now be preserved when re-installing SQuirreL to a new location. 
1320        To migrate existing settings, command-line arguments can be given:
1322        -DmigratePreferences=true -DoldSQuirreLInstallDir=<old location>
1324        This will result in migrating newer prefs.xml files that are located in
1325        the program plugin directory
1327        (e.g. <old location>/plugins/dbcopy/prefs.xml)
1329        to the user's settings directory
1331        (e.g. USER_HOME/.squirrel-sql/plugins/dbcopy/prefs.xml)
1333        You should edit the launch script to add these settings, start SQuirreL,
1334        stop SQuirreL gracefully, then remove these settings from the launch script.
13361682289 Schema browser won't show all schemas.
1337            (Thanks to Robert Williams for the patch)
13391681202 Access to column metadata by name (that is, COLUMN_NAME) fails. This
1340        affected the SQLScripts and Graph Plugins for some versions of the DB2
1341        JDBC driver)
13431680919 failure to export cvs/excel on mac osx (incomplete ClassPath entry in
1344        Info.plist)
13461679998 DOUBLE PRECISION is rounded with locale datatype setting
13481675787 Bad link in Online Help
13501672207 Create Data Script - PostgreSql.  PostgreSQL requires insert statement
1351                boolean values to be literal strings "true" or "false", instead of 1/0.
13531660412 Create insert script hangs on explicit Oracle DATE fields (A bug in the
1354                the SQL parsing routine would hang the thread when the word "from"
1355                appeared in a column name in the select statement)
13571659412 TIMESTAMP WITH TIME ZONE shows as <Unknown (-101)> - Support was added
1358        for rendering values of columns with this Oracle-specific type.
13601646886 (SQL Bookmarks: Duplicate parameters show as duplicates in the dialog box)
1361        Now parameter that appear multiple times in an SQL statement do not
1362                result in multiple entry fields in the boolmark run dialog.
13641643307 Title is missing in Save-Dialog (When ending a session for file saves)
13661617839 Two new lines with white spaces in between do not separate SQLs when
1367        SQLs are executed without selection.
13691639680 Cannot export smallint and decimal to MS Excel
13711635259 Session menu has two items with mnemonic "T"
13731639662 Block comments can be ended prematurely
1374        (Thanks to Sam Polak for the patch)
13761631392 (Dropping materialized views) - The 'Drop' menu item has been replaced
1377        by a 'Drop Table(s)' menu item available with the Refactoring Plugin. 
1378        The new menu item allows the user to specify whether or not to cascade
1379        constraints as well as being able to see the SQL that will be executed.
13811471672 Float numeric field precision loss in output (DBMS:Oracle)
13831447227 Object tree should refresh when changing object tree filters
1385DBCopy Plugin
1386  - If the source/dest database is Oracle, and the type of column being copied
1387    is DATE, then treat it like a TIMESTAMP for reading or writing the value. 
1388    Oracle stores a time component in date columns and this change prevents the
1389    time component value from being lost if the destination database can also
1390    store a time component in DATE columns.
1392Derby Plugin 
1393  - Transformed trigger source tab contents into valid SQL that can be used
1394    to re-create the trigger. 
1395  - Fixed multiple bugs that occurred in the source tab when the same
1396    view/trigger name is used in multiple schemas.
1398Informix Plugin
1399  - Fixed to work with IDS 9 - qualified references to all system views by
1400    prefixing them with the string 'informix.' (no quotes).
1401  - Fixed ordering segements within the body of Stored Procedures. 
1402  - Applied code formatting to triggers and view source. 
1403  - Fixed erroneous inclusion of extra whitespace which for some definitions
1404    made the SQL invalid.
1406Oracle Plugin
1407  - Fixed a memory leak where the plugin was holding on to closed sessions
1409Refactoring Plugin
1410  - 'Drop Column' action now properly delegates db-specific drop column command
1411    to the appropriate dialect for the session.
1412  - Now allows precision and scale for new or modified columns to be set to 0.
1413  - The scrollbar in the column list dialog now appears, where previously it
1414    did not, making tables with many columns difficult to work with for
1415    Add/Modify/Drop column.
14182.4 (12/31/2006)
1421    New Features/Enhancements:
1423Note: This is the first release of SQuirreL that specifically requires JDK 1.5
1424or higher to compile and run. The build scripts and the installer now check for
1425at least 1.5 before proceeding.
1427MS Excel export of displayed tables:
1428  Besides the exporting tables displayed in SQuirreL to CSV files it is now
1429  possible to export to MS Excel files. Thanks to Andrï¿œ Schild for the patch.
1431Graph Plugin: New right mouse menu item for tables: "View table in Object tree"
1433Derby Plugin: A new plugin which allows the user to view source for triggers and
1434views.  Also, detailed information about triggers is available.
1436Informix Plugin: A new plugin which allows the user to view source for stored
1437procedure, trigger and view objects. Also provides Informix-specific details
1438for indexes and triggers.  Special thanks goes to Doug Lawry for help setting
1439up an Informix instance for developing the plugin, and providing the system
1440catalog queries necessary for the object information provided by this plugin.
1442Refactoring Plugin: A new plugin which currently allows users to alter
1443tables by adding, modifying and dropping columns as well as adding/dropping
1444Primary Keys.  Uses an extended Hibernate dialect framework to derive SQL which
1445is syntactically correct for the database being modified.
1447Made SQuirreL work with hxtt drivers. See Thanks to Yonghong Zhao
1448for patches.
1450Oracle Plugin:
1451   Windows for
1452    - DB Output,
1453    - Session Info,
1454    - SGA Trace,
1455    - Invalid Objects
1456   were changed in the following ways:
1457   - Tool bar buttons are not in the main frame tool bar any more but in the
1458     Session tool bar.
1459   - Each window has its own tool bar icon.
1460   - All windows restore their last size and position.
1461   - All windows provide a "Stay on top" check box.
1463Syntax plugin: Corrections/Abreviations allow new lines. Use \n to create a
1464new line. Note: Bookmarks are more powerful than abreviations.
1466SQuirreL paths (-home, -user) are shown in Global Preferences
1468LAF Plugin: Added Napkin Look and Feel (JDK 1.5 only)
1470Completion Popup (Code Completion ctrl+space, Tools Popup ctrl+t,
1471Bookmarks Popup ctrl+j): When the beginning/end of the pop up list is reached
1472another arrow up/down jumps to the last/first entry.
14741015274: Provided better DB2/400 system naming support
14761602255: 'Interpret DATE columns as TIMESTAMP' also in SQL view.  When this
1477configuration item is checked, any SQL query result that contains a DATE column
1478will show the DATE values as TIMESTAMP values (This is useful with Oracle where
1479DATE columns also contain TIME components)
1481Schema refresh on catalog combo box change:
1482Schemas are refreshed automatically, when the user switches to another catalog.
1483On systems that support Catalogs like Sybase or MSSQL, Schemas within a Catalog
1484only become accessible when the catalog combo box is switched to the their
1485Catalog. To make Schemas available in the Object Tree, Code completion etc.
1486after a Catalog switch Schemas are now automatically refreshed.
1487(Thanks to Stan Berka for this patch)
1489Graph Plugin:
1490The Graph plugin now allows to save jpg images to files instead of printing them.
1491The image files are an exact copy of what would be sent to a printer and
1492can easily be used within other applications.
1493(Feature requested by David Karr)
1495DBCopy Plugin: Added support for Informix and HADB.  Relocated dialect framework
1496to core to allow other plugins to use (Refactoring) - this version is now no
1497longer compatible or supported for previous versions of SQuirreL.
1499Re-organized the table and view context menus so that the SQLScripts
1500plugin menu items now appear under the "Scripts" menu item and in the
1501same order that they appear in the session menu "Scripts" menu item.
1503Updated Spanish translation strings (Thanks to Diego Schulz)
1505Added JDBC driver CLASSNAME and CLASSPATH to the Metadata tab so that
1506it is not necessary to open the driver definition for the current session to
1507get this information.
1509        Bug-Fixes:
1511When reconnecting a Session with the current connection dead
1512SQuirreL always switched to Autocommit = false state. Now the Sessions
1513Autocommit state is preserved.
1516MySQL Plugin: Fixed bug which caused the MySQL all of the tabs to appear with no
1519SQL editor function "View Object at cursor in Object tree" (ctrl+B) now works
1520for fully qualified object names with leading and trailing quotation marks and
1523Oracle plugin: Fixed the rendering of details/source tabs for indexes
1524sequences and triggers.
1526Added support for Informix way of referring to database objects within
1527catalog and schema as catalog:"schema".objectname.
1529DBCopy plugin:
1530  - Removed reflective code used for backward compatibility which was causing
1531  IllegalAccessExceptions when the keyword test was applied to column names.
1533  - Fixed bug in copying FK constraints which left cursors open by not properly
1534  closing ResultSets when they were no longer needed.
1536  - Fixed bug in copying FK constraints where the primary key table
1537  name wasn't fully qualified the schema of the destination database.  This was
1538  most noticeable when copying tables with FKs into a schema which was not the
1539  default schema for that session.
1541  - Fixed bug where cancelling the copy operation during table data transfer
1542    did not also cancel the transfer of table constraints.
15441601610 - Bug while editing integer/long columns
15461598162: Fixed the issue when using Java 6 you had to click the Connect button
1547twice when the app is first started.
15491597463: Maximized and multimonitor window size not saved
15511595913: Cannot select SQL dropdown under java 6.
1553Added logic to prevent the MacOS X plugin from loading if not on the mac
1554platform.  It causes the Global Preferences menu item to disappear when it is
1555loaded and the platform isn't Mac
1557Look and Feel Plugin: Plastic Look and Feels (JGoodies) weren't available anymore.
1559"Make Editable" on single table SQL did not work when SELECT list contained new lines.
15611554175: (Aliases lost on close)
15621532997: (NullPointerException when trying to save alias)
15631522229: (Error occured saving Alias Definitions java.lang.NullPointer)
1564Many people complained about this one.  At first we determined this was low
1565priority since it didn't seem to be reproducable on all jvms. We inadvertantly
1566changed the SQLDriverPropertyCollectionBeanInfo such that it no longer
1567accurately described the bean SQLDriverPropertyCollection.  in 1.4.2_05 this
1568triggered an NPE bug in the jvm code (Introspector.addPropertyDescriptor) which
1569caused the SQLAlias persistence to fail, leaving the user with no aliases.
15711584283: (DBCopy plugin - Copying LOBs from Oracle to Oracle fails)
1572If destination column type is Types.OTHER (1111), try to get
1573the type name and map it to a valid java SQL type (such as
1574Types.BLOB or Types.CLOB).  This only works when the database column
1575type name as reported by the JDBC driver is a standard type such as
1576BLOB, VARCHAR, CLOB, CHAR, etc... A mapping exception is thrown
15791584260: (DBCopy plugin - Fix for issue where the same table is found in
1580multiple schemas/catalogs that the user has access to.  Now we specify catalog
1581or schema if the driver claims to support them.)
15831577254: Trigger details tabs aren't rendered
15851532857: (DB2 on AS400 table list not shown) Incorporated Colin Bell's patch
1586to address this issue which causes SQuirreL to give '*ALLUSR' for the schema
1587value when calling DatabaseMetaData.getTables.
15891520156: changed the function of the configurable ref actions checkboxes for
1590SQLScript plugin.  Now, they will override what is contained in the
1591DatabaseMetaData if checked.  If not checked, we now use whatever the database
1592tells us the ref action is (before we weren't bothering to check the with
1593the database.  Now we do, by default)
15951508503: (Double entry for each column fields): Don't add the column to the
1596list if it is already there - uses the fully qualified version of the column,
1597so may still see duplicate columns with different types.
1599Bug Fix: Editing data in multiple tables would sometimes fail erroneously with
1600an error message like "This row in the Database has changed since you
1601refreshed the data. No rows will be updated by this operation".
1603Bug Fix: Solved issue where tables were not appearing in the object tree for
1604Sun HADB (High-Availability Database).  Special thanks to Lars Heill of Sun
1605Microsystems, Inc. for technical assistance with installing/configuring HADB.
16072.3 Final
1612An Italian translation of SQuirreL labels/messages is now available in the
1613installer (Thanks to Ivo Neri)
1615Bug Fixes:
16171563613: Alias property window dies when URL is malformed.
16191563610: (Only connection specified DB schema loaded regardless)
1620         Enhanced the catalog selection so that changing the catalog
1621                 updates the schema info and expands the TABLES node in the tree
1622                 for the selected catalog.
16241563603: ORA-01830 error: Date format
16261561293: Show Loaded Drivers Only" does not work in "Add Alias" dialog.
16281558509: 'create sequence' rejected as invalid SQL
16301520156: (Reverse Engineering Foreign Key Cascade Missing).  Added
1631                 configuration for referential actions clause of FK constraints.
16331426012: PLAN_TABLE not found - look for PLAN_TABLE in other schemas and allow
1634         user to choose one.
16361371587: Not possible to edit data after SQL query
16381250855: (Oracle DATE does not display correctly) Added a new configuration
1639         item to Global Preferences -> Date Type Controls -> Date Section
1640                 which allows the user to "Interpret DATE columns as TIMESTAMP".
1642Bug Fix: Fix for issue where the SGA Trace view wasn't displaying data in the
1643             "Buffer Gets per Row" column.
16452.3 rc2
1648    New Features/Enhancements:
1650Feature Request #1556226: New menu items in the right mouse menu of tables -
1651   "Adopt all column widths" - Adopts all columns widths of current table to
1652                               header/data.
1653   "Always adopt all column widths" (check box) - Widths are automatically
1654                                                  adopted for all tables opened
1655                                                  in the future.
1657New menu-item "Export CSV" in context menu of table contents spreadsheet allows
1658the user to choose whether to use formatting from Global Prefs or default
1661SQL result tabs offer to rerun their SQL query to update their data.
1663Text limit line of Netbeans editor can now be positioned or switched off in
1664Session Properties.
1666    Bug Fixes:
16681448738: (JDK 6.0 regression) This appeared to be a bug in the Java 6 SE, but it
1669         turned out that we weren't using the correct method to load classes from
1670         the ClassLoader.  Sun "fixed" the method (ClassLoader.loadClass) that
1671         we were using previously so that it no longer worked as it did in 1.4
1672         and 1.5.  For details see:
1674         We rectified the problem in SQuirreL by following Sun's suggestions
1675         regarding which API methods are being called.
16771544447: (Generated SQL script Table names are not fully Qualified, it should
1678                 be "SCHEMA"."TABLE_NAME")  Added a new global preference panel and
1679                 checkbox to make this alternative behavior configurable.  The default
1680                 now is to qualify table names with their schema name.
16821541154: (ArrayIndexOutOfBoundsException in DataTypeDouble)
16841533824: (NPE when loading keywords from DatabaseMetaData) Check the values
1685         returned for null before attempting to parse and store them
1686         (DB2 driver returns null for getCatalogTerm())
1688Bug fix: When doing a complete refresh (F5) or a refresh item in the Object tree
1689         (see right mouse menu) code completion was not refreshed.
1691Bug fix: In Oracle Plugin - Avoided open cursors when viewing database output
1692                                                    ( dbms_output.put_line() ).
1694Bug fix: Stored procedures where not shown in Object Tree when the
1695         Oracle Plugin was used.
1697Bug fix: When a Schema was created and the Object Tree was refreshed the new
1698         Schema was not shown.
1700Bug fix: In Alias properties for Oracle -
1701  Note: This bug took effect when default Alias properties were used.
1702        So this fix probably increases Session startup performance for Oracle
1703        users who use the Oracle plugin but do not care for Alias properties.
1704  Bug: When an Alias was configured to load all Schemas and cache non
1705       but the Oracle Alias properties didn't allow to load all schemas
1706       SQuirreL still did load all tables and procedures from the database.
1707       Though the unallowed tables and procedures did not show up in the Object
1708       tree they still caused bad startup perfomance.
1709  Fix: Now only tables and procedures for allowed schemas are loaded.
1711Bug fix: Object tree table tab titles were not being internationalized as
1712         their values were hard-coded and not available in
1713 files.  Now they are.
1715    Installer Changes:
1717Three new translations were added to the installer:
1718        Simplified Chinese (Thanks to xpdz)
1719        French (Thanks to Erwan Duroselle)
1720        German (Thanks to Andreas Oswald)
1722Added new optional plugin (DBCopy) to the installer which allows database tables
1723and their content to be copied from one session to another inside of SQuirreL
1724using Copy/Paste menu items.
17272.3 rc1
1731If an Alias is configured to Auto Logon but has wrong user name/password
1732  on connecting the user gets an error dialog and has to correct user name/password.
1733  For convenience the corrected data now is written back to the Alias.
1734  Note: The Writing back is only done when the Alias is configured to Auto Logon. 
1737Session startup performance
1738  General: New Alias properties allow to configure loading and caching of Schemas.
1739  Oracle: When the Oracle Plugin ist used an Oracle tab in Alias properties enables you
1740          to allow an Alias's Sessions only to see Schemas the user has access to.
1743Fixed bug #1504123: Oracle hints losts
1744  By default SQuirreL treads /*...*/ as comments and removes them before sending a SQL to a database.
1745  This default may now be changed in the (New) Session Properties. See Menu File --> New Session Properties --> Tab SQL.
1748Added toolbar button to toggle auto commit
1750Bug fixes in Oracle Plugin:
1751  - Explain Plan not visible in Results tab
1752  - Object tree: Sessions, Users and Instances and nodes sometimes not visible
1753  - Object tree: SYS Schema displayed twice for certain user rights
1754  - Fixed Memory Leak (Session were not garbage collected when Oracle Plugin was used)
1757Fixed bug #984527: Right mouse popup menu is now available in empty table.
1759Feature request #1446675 Output tables to CSV files
1760  All tables' right mouse menus have an 'Export CVS ...' item.
1761  In the export dialog you may provide an application (like OpenOffice calc or MS Excel)
1762  to open the CSV file immediately after creation.
1764New toolbar button: Select current SQL (control Shift S)
1765 This function is based on SQuirreL's concept of 'current SQL': If there is no selected text the current SQL
1766 is the text between the empty line in fornt of cursor position and the empty line after cursor position.
1767 Any function that deals with SQL is aware of this concept.
1769Installer now includes the following optional translation packages:
1770- Brazilian Portuguese (contributed by Francis Martin)
1771- Czech (contributed by Jan Kostrhun)
1772- Bulgarian (contributed by Ivan Dimov)
1774Feature request #1441787 Quickly adopt column widths to column values
1775  when table header is double clicked while the resize mouse pointer (<-->) is visible. (MS Excel like) 
1777Enhancements of the Bookmarks Plugin
1778 - Bookmark preferences can be opened by the "Edit Bookmarks" button in the Session toolbar.
1779 - Bookmarks can be run from within the Bookmark Preferences.
1780 - Lots of "SQuirreL Bookmarks" which are templates for many common SQL/DDL statements.
1781 - User can decide if he wants to see "SQuirreL Bookmarks" in the Bookmarks selection popup of the SQL Editor (ctrl j).
1783Fixed bugs in error and syntax highlighting:
1784 - Error highlighting for "ALTER TABLE ADD CONSTRAINT ..."
1785 - Error highlighting for "CREATE VIEW ..."
1786 - Error and syntax highlighting for "CASE [...] WHEN ... THEN ... ELSE .. END"
1789Centralized Database Meta Data caching. This brings along the following improvements:
1790- When a DDL statement is run the Object Tree is updated immediately to reflect the change.
1791  This works as long as standard DDL statements are used.
1792- Syntax coloring and code completion for newly created tables, views, columns, procedures is available
1793  right after a DDL statement was run. This works as long as standard DDL statements are used.
1794- The Refresh button updates the Object tree as well as syntax highlighting and code completion.
1797Make the status message for rows affected by executing an SQL statement in the SQL panel
1798take into account the type of SQL query issued.
1800Fixed Bug #1472398: Content tab filters didn't work with views.
1803Fixed Bug #1465707: Programm slow with big Databases because reading Database Meta Data twice.
1804                    Technical detail: The SchemaInfo class has become SQuirreL's central meta data cache.
1806Fixed Bug: SQuirreL crashed during building output of SQL results when errors occured in number-type or date-type fields.
1808Fixed Bug in Graph Plugin: In zoomed graphs lines with folding points could not be selected.
18112.2 Final
1815- Fixed Bug #1467671: Session Properties / General / Appearance: "SQL Results Tabs" overwrites
1816                     "SQL Execution Tabs" setting.
1818- Fixed Bug #1464361: Windows bat file is location specific (Thanks to Bill Wallace)
1820- Fixed Bug #1456423: Cannot cancel a query. Changed to allow the cancel operation to interrupt the
1821                     fetching of results.  While resolving the "hanging" of a long-running this also
1822                     allows results that have been fetched so far to be displayed.
1823                     This can help the user determine why the query was taking a long time to execute.
1824- Fixed Bug #1447231: ESCAPE key should close dialogs
1826- Fixed Bug #1457811: Autocomplete does not work for views when tables and view names match.
1828- Fixed Bug for Teradata not showing SQL results. (Thanks to Matthew Dahlman)
1830- Fixed Bug #1456463: update to allow the user to override the closing of a session in the event that
1831                    there are unsaved edits and they decide not to save them right away.  They can
1832                    always choose to not save and discard, closing the session immediately. This
1833                    change will make it so that if they choose to not discard, and something happens
1834                    during the save that causes the edits not to get saved, the session will not be
1835                    closed.  Added independently configurable options to warn when closing a session
1836                    if there are any unsaved edits (optional for File or Buffer).  If the
1837                    "Confirm Session Close" option is turned off, these can still be enabled so that
1838                    unsaved edits are never lost merely by closing a session.  Previously it was very
1839                    easy to lose changes made in the SQL edit tab when the session was closed.  This
1840                    previous behavior, if desired, is still available via Global Preferences.
1842- Fixed Bug #1441169: error in removing a deleted row more than once.
1844- Fixed Bug #1250514: Mysql Error: Cannot edit table.
18462.2 RC1
1849- There is now a printer icon in each SQL entry panel which will allow
1850  the current sql script to be send to a printer.  Syntax highlighting
1851  is preserved.  SQL entry panel size is used to scale the font.
1853- Feature request #1441563 Query script generation:
1854  New entry for tables and views in the Objects tree's right mouse menu to create SELECT statements. 
1856- Added menu item and supporting capability to the SQLScripts plugin to
1857  create a drop table script from the selected tables in the object tree.
1859- Added new property for drivers - website url - and a new menu item for
1860  drivers to launch the system default web browser and load the driver
1861  website url.
1863- When adding a new driver definition, SQuirreL will now look at the default
1864  driver list and determine if any driver defs are missing from the user's
1865  personal list.  If so, SQuirreL will prompt the user to add them.
1867- MSSQL plugin: Scripting of procedures now works on MSSQL 2005
1869- Improved performance of the Session window when connecting to a database
1870  over a slow link (especially Oracle).  Instead of freezing the window, now
1871  SQuirreL indicates the progress of the session connection in the session
1872  frame status bar and allows the user to perform other tasks in parallel.
1873  Note: The session frame close button is temporarily ignored when the session
1874        is still loading and therefore not in a safe state to be closed. Once
1875        the session has been loaded, the close button will be re-enabled.
1877- Keyboard short cuts are shown in tool bar tool tips.
1879- Navigation through SQLs in SQL Editor by tool bar or Alt up/down keys.
1880  Note: The concept of an SQL in SQuirreL is the text between two empty lines. Many
1881        functions in SQuirreL use this concept.  This way the user often doesn't
1882        need to mark the text he wants to execute a function on.
1883        The concept is especially convenient for the Run SQL function (control Enter).
1885- Introduced Oracle specific code to allow editing of tables in Oracle that contain Date columns.
1886  Oracle stores time information in java.sql.Types.DATE columns. The where clauses that SQuirreL
1887  used to create to update data after editing only contained the Date part of those columns. That's why
1888  the where clause didn't match the database row and editing failed.
1890- SQL Editor: ctrl+backspace deletes word behind cursor.
1892- SQL Editor: To upper/lower case function available in tools pop up or by short cut ctrl+shift+u/l
1894- Row numbers in SQL result and Object Tree tables tables:
1895  Use the right mouse menu in SQL result tables or Object Tree tables to switch on row numbering.
1897- Improved handling of detached result windows:
1898  * By default result windows stay on top. A check box in the result window allows to change the default.
1899  * Result windows show up in the window list of the Windows menu and can be navigated to by Alt+left/right arrow.
1901- Added New, Close and Append icons/actions to allow the SQL Panel to function more
1902  like an editor.
1904- Added "Delete Records" menu item to the context menu for tables to delete all records
1905  in one or more selected tables.
1907- Installer now includes an optional Spanish translation package which provides native
1908  labels and messages for use in a Spanish locale.
1910- Cleaned up copying from tables:
1911  1. Control+c and copy in the right mouse menu now do the same: They copy data without column headers.
1912  2. A new right mouse menu entry ('Copy with headers') provides the ability to copy data including
1913     column headers
1914- Fixed bug #1450856: The "new" button has no icon 
1915- Fixed bug #1448345: Canceling "Save As... " option (overwrites file anyway)
1916- Fixed bug #1424828: Not possible to clear Non-nullable fields using backspace
1917- Fixed bug #1423029: Session window will not close for Postgresql
1918- Fixed bug #1409055: Copy as HTML in results tab does not set correct mime type
1919- Fixed bug #1403462: MS SQLServer Plugin throws NPE
1920- Fixed bug #1401672: NullPointerException when selecting Row IDs tab
1921- Fixed bug #1399254: Missing i18n strings
1922- Fixed bug #1370186: SQL Editor discards changes when session is closed
1923- Fixed bug #1385270: Dropping multiple selected tables produces exceptions
1924- Fixed bug #1256021: Refresh item on a table showing the row number does not update the row count
1925- Fixed bug #1230126: ClassCastException when editing table data for tables with short and long column
1926- Fixed bugs #1043604 and #1043599: Unlocalized decimal separator caused problems when data was pasted
1927                      for example to Open Office Calc. In the Global preferences the user is now able
1928                      to chose the Java default format for floating point values or the localized form.
1929- Fixed bug # 863673: cannot DROP TABLE
1930- Fixed bug # 887525: When Object Tree Nodes are the selected by keystrokes the selected node is scrolled
1931                      to visible.
1932- Fixed bug # 763347: Alias and Datasource loss on crash. Files are now written to a temp file first and
1933                      then renamed.
1935- Fixed bug: In Code Completion, the database-dependent keywords where missing
1936- Fixed bug: In code completion, columns weren't shown correctly when the same table alias name was used
1937             in different statements for different tables (Thanks to Abhishek Gupta)
19402.1 final
1943- Fixed bug #757354 Aliases not reordering on change: Introduced sort button in Alias window tool bar.
1944- Fixed bug #732696: Dump application success window title and Dump application file filter.
1945- SQuirreL is ready for internationalization. The new I18n plugin supports translations.
1946  Put the Plugin in your Plugin path, restart SQuirreL and open the Global Preferences dialog.
1947  There you'll find a new tab named I18n. Follow the instructions there.
1948- Fixed bug #1386916 (Informix 3.0 JC3 is considered "not JDBC 2.1 compliant) The
1949  algorithm for detecting non-compliance incorrectly concluded non-compliance if the
1950  database doesn't support save points.
1951- Oracle Plugin: Added access to SYS schema in the object tree for non-privileged
1952  users since this is where the user-oriented DDL information tables and views are located.
1953- Fixed bug #1377304: Ant-built distributions do not preserve file permissions
1954  (Thanks to Charles Albrecht)
1955- Fixed bug #1376981: SQL Scripts plugin fails to create table script for Axion DB.
1956- Fixed *ugly* bug in editing SQL results:
1957  To reproduce the bug you had to have two editable SQLs for different tables. Execute the first
1958  and edit some results. Close the result tab. Execute the second SQL. Editing of this
1959  result would fail. The reason was that SQuirreL reuses result tabs but did not properly initialize
1960  them before reuse. Because of this editing could feel terribly instable when some results had been closed
1961  and SQuirreL began to reuse tabs.
1962- Sizes of Properies and Preferences windows are restored.
1963- Made Syntax highlighting work for: Data Types, Functions, Operators, Identifiers, White Spaces
1964- Fixed bug #1276957: Oracle protocol violation.
1965- Oracle Plugin (v0.15) - If the user doesn't have the DBA privilege, then only loads the
1966  schemas in the object tree to which the user has been granted access.
19682.1 rc2
1971- Bug fix: If SQLs are saved to a file the Session window's title bar displayed an error message instead of
1972  the alias and file name.
1974- Bug fix: If two Sessions are open and one is closed the one left open lost key bindings
1975  which means that for example arrow navigation keys don't work anymore.
19782.1 rc1
1981- Selecting a code completion with tab (instead of enter) will delete the string between the carret position and the next white space.
1982- New Session properties to configure code completion for functions. Examples: {call myFun(<IN Integer myParam>} or plain myFun()
1984- Fixed memory leaks. The memory panel in the status bar now tells which Session are garbage collected.
1985  Use JDK 1.5.x for better memory behavior.
1987- Fixed several problems when reconnecting an open Session. (See menu Session --> reconnect)
1989- Improved Exception handling and new Log panel in Status bar:
1990  SQuirreL's: exception/log handling had two problems:
1991  i. Exceptions could easily occur without being logged.
1992  ii. It was hard for users to get aware of logs. The only way was to regularly open the logs window.
1994  It is taken care now that all exceptions are logged. The user is notified that a log was produced by the
1995  new Log panel in SQuirreL's status bar. A traffic lights color of the last log is displayed on one of the
1996  Log panel's buttons.  The last log color is displayed for 5 seconds and is then turned bag to white.
1997  This allows the user to have an eye an the logs without much disturbance.
1998  The buttons of the Log panel allow the user to view the last Log and to open the logs window.
2000- New Memory panel in Status bar.
2001- Cleaned up SQuirreL logs
2002- Made Swingset's Aqua Look and Feel available
2003- Fixed bug: No line counter label on SQL Worksheet (opened by ctrl+n)
2004- Fixed the following Exception on Sybase when the Object tab was used:
2005  java.sql.SQLException: "..."."dbo"."..." not found
2006  (Thanks to Gupta, Abhishek)
2007- Added "cut/copy SQL to be executed" function to the editor. Since SQuirreL knows the concept
2008  of SQL text without selection (from caret position between previous and next empty line),
2009  these functions are short hands for the usual copy and cut which only work on selected text.
2010- Fixed deleting rows from editable SQL result and from contents tab (ArrayIndexOutOfBounds)
2011- Fixed bug #1331445: Line comments could change SQLs.
2012- Patch #1326472 - Oracle plugin is smarter about accessing restricted tables as an unprivileged user
2013  (Thanks to Alexander Buloichik)
2014- Bug fix: Limited rows/SQL - hints on top of a result tab could be corrupted (for example multi lined) because of missing HTML escaping.
2015- Improved messaging for driver definition.
2016- Bug fix: Driver Icon did not update when driver was changed.
2017- Added IBM DB2 Net driver to default drivers.
2018- The source SQL statement used to create a view is now available via the MS SQLServer plugin.
2019- Patch #1324774 The source SQL statement used to create a view is now available via the
2020  Oracle Plugin (Thanks to Alexander Buloichik)
2021- Added Session Property "load columns in background". This option might help people who feel that the SQL editor
2022  hangs because they use databases with a lot of objects and/or use low data transfer rates.
2023- Configurable warning for JDBC API version mismatch between the JVM and JDBC driver
2024- Fixed bug #1316903 (SQL Panel hangs when Ctrl-B on whitespace)
2025- Added comment/uncomment functions to the SQL editor.
2026- Made auto corrections and duplicate line available outside the Netbeans editor.
2027- Bug fix: Code completion did not work when object was directly preceded by =,> or <. Example: Table1.col1=Tab...
2028- Enabled code completion when a ' or a " is on front of the name to complete (RFE 1305802)
2029- Fixed bug #1288519 (Postgres: editing boolean fields)
2030- Fixed for table and tree row height for large fonts. (Thanks to Mitch Skinner)
2031- User may define an Object tree filter through the Session Properties. Useful for large databases. (Thanks to Oliver Jehle)
20342.0 final
2036- Fix for not shown SQL result on derby DB
2037- Right Mouse Menu on SQL result tabs (Not working on JDK 1.4 with scrollable tabbed panes due to Bug #4465870.)
2038  Functions also available in tools popup
2039- Session property: Limit SQL result tabs.
2040  By default limiting is switched on and set to 15 tabs.
2041- Fixed Bug #1234642 (Missing query numbers in message panel)
2042- When executing a SQL batch (several SQL's separated by statement separator)
2043  in case of an error the errornous SQL is printed to the message panel.
2044- From within the SQL Editor one can jump to the Object at cursor in the Object tree.
2045  To do so use the ctrl+B shortcut or the right mouse menu or the tools popup (ctrl+T)
2046- New Session property: 'Write SQL Execution Errors to log file'.
2047  The execution errors of an SQL statement shown in the message panel
2048  may now also be written to the squirrel-sql.log file
2049- Fixed bug #1244287 (white space after statement)
2050- Fixed bug #1217765 (Editing table data for tables with BIT column type)
2051- Mnemonics for Main Tabbed Pain
2052- Fixes in editing SQL Results:
2053  Editing didn't work when a column was in the select list twice
2054  Editing didn't work when a column was when the statement was like 'SELECT * FROM MyTable ORDER BY MyID'
2055- Added new Global Preference to show the plugin files being loaded in Splash Screen on startup
2061Most important changes:
2062-Multiple Session Windows: User may open extra Object Tree or SQL Window
2063-Tools popup in SQL Editor (Ctrl+T)
2064Standard and Base installation. Standard bundled with the following Plugins (See help for further details):
2065-Code Completion: Offers code completion the same way as modern IDEs do.
2066-Syntax: Syntax highlighting.
2067-Edit Extras: Auxiliary functions to work with SQL code for example formatting
2068-Graph: Create a chart of the tables and foreign-key relationships between them
2069-SQL Script: Generation of SQL and DDL scripts
2070-SQL Bookmarks: Managing SQL code templates
2071-Look and Feel: Switching the look and feel
2073-Saving/Loading files integrated in SQuirreL's core
2074-Selected tab and slider location on the SQL tab are remembered
2075-Copy as SQL IN Statement function in tables
2076-Display text reminding the user if the results of a query have been limited to X rows
2085- Arguments passed to both the shell script and the batch file will be passed
2086  on to SQuirreL.
2087- Replace newlines with <BR> when doing a "Copy as HTML" from the results of a
2088  query.
2089- Display text reminding the user if the results of a query have been limted to
2090  X rows.
2091- Prompt for confirmation before closing a session.
2092- Display the catalog in the session title.
2093- Display a welcome screen the first time SQuirreL is run.
2094- When sorting columns in a table use a non-case sensitive but locale aware
2095  method.
2096- If you close the aliases and drivers windows this is remembered when you
2097  restart SQuirreL.
2099Bug Fixes
2101- Allow for nulls when displayng Date, Time, and Tmestamp columns.
2102- Remove <CTRL><SHIFT>L from Display Logs menu item as it is used by another
2103  menu item.
2104- Remove the Filter option from the popup menu in the object tree as this
2105  functionality hasn't been implemented.
2106- Bring the main window to the front when it is first displayed. Required with
2107  some JREs on Linux.
2108- Fixed logging config argument in shell script.
2109- Fix displaying of clob columns. The display would appear to lockup.
2110- List Drivers button now works when a JDBC driver spans multiple jar files.
2111- Don't list abstract classes (I.E. JDBC drivers that can't be loaded) when the
2112  List Drivers button pressed.
2113- Allow for DB2 not returning all possible schema names.
2114- Make sure popup dialogs aren't positioned off screen.
2115- The data displayed within the Contents tab was lost when a session sheet was
2116  deactivated and then activated.
2117- Use default Look and Feel for the installer as the Kunststoff Look and Feel
2118  didn't display correctly on OSX.
2119- On Linux the $JAVA_HOME variable in the script was replaced
2120  with the actual value during the install which caused problems if a new
2121  version of Java was later installed.
2122- Fix ClassCastException thrown by the parser (Gerd Wagner).
2123- Fix Bug #981490 OutOfMemoryException partly caused by the parser (Gerd
2124  Wagner).
2128- Allow for JDBC drivers that return null for Driver.getPropertyInfo(...)
2129  instead of an empty array.
2137- Added "Reformat XML" popup menu option to show formatted XML in a column
2138  (Gerd Wagner).
2139- User may identify specific columns to use in WHERE clause when editing
2140  cells in table by using the "Limit cell edit WHERE clause size" entry in
2141  the Session menu (Glenn Griffin).
2142- All tables may be printed.  Use right mouse click, "print".  Large tables
2143  are automatically split across multiple pages both horizontally and
2144  vertically (Glenn Griffin).
2145- The "Session Properties"->"Format" screen has been moved to "Global
2146  Preferences"->"Data Type Controls", and many new controls have been added
2147  to adjust how specific data types are used or displayed. (Glenn Griffin)
2148  Examples:
2149        - Some DBs do not allow LONGVARCHAR to be used in the WHERE clause, so this
2150          may now be disabled
2151        - Dates, Times and Timestamps may be displayed and entered in a
2152          user-selected format
2153        - Strings containing newlines may display the newlines as "\n" or not show
2154          them as selected by the user.
2157Bug Fixes
2159- Close metadata result sets once they are no longer required.
2160- Fixed bug where inserting/updating and deleting rows in the SQL tab would
2161  loop (Gerd Wagner).
2162- Fixed bug where setting the statement separator to an empty string then
2163  wouldn't allow you to change it to anything else (Gerd Wagner).
2164- Fixed bug where minimized session windows weren't restored correctly (Gerd
2165  Wagner).
2166- Improved Undo handing (Gerd Wagner).
2167- Fix NullPointerException when starting an Oracle session (Gerd
2168  Wagner).
2169- Fix bug under Linux where sometimes the SQL history combobox would fill the
2170  entire window (Gerd Wagner).
2171- Fix for multiple result set handling under the Cache DBMS from Intersystems
2172  (Gerd Wagner).
2173- Fixed incorrect handling of the "log-config-file" argument (Kevin Gilpin)
2174- Tables with many columns should now allow editing by using the "Limit cell
2175  edit WHERE clause size" session tool (Glenn Griffin).
2183- added the 'IS NULL' and 'IS NOT NULL' to the choices for operator in
2184  the Where Clause panel (Maury Hammel).
2185- When the 'add' button is pressed to put a Where Clause construct into
2186  the text area, the 'Value' text area is cleared (Maury Hammel).
2187- Enabled wrapping and added JScrollPanes to the Where Clause and Order
2188  By Clause text areas, so Panels behave better where large values are put
2189  in them (Maury Hammel).
2190- You can now specify whether JDBC logging uses the deprecated output stream or
2191  the new writer (Neville Rowe).
2192- You can now filter the catalogs displayed in the object tree (Keith
2193  Mashinter).
2194- You can now specify whether to load schemas/catalogs in the object tree
2195  (Keith Mashinter).
2196- You can now specify whether to load result set metadata when executing an SQL
2197  (Keith Mashinter).
2198- You can Import/Export cell data to/from files and operate on that data with
2199  external commands (e.g. VI, etc) (Glenn Griffin)
2200- BLOBs and CLOBs are now fully editable, as are all of the most common SQL
2201  types (Glenn Griffin).
2202- Data that can be edited only in the Popup (ie. not in the cell) is now shown
2203  with a Cyan background to tell the user that it can be edited, but only in
2204  the Popup (Glenn Griffin).
2205- Data containing newlines now shows the newlines explicitly in the in-cell
2206  view, i.e. as "\n" (Glenn Griffin).
2207- User may select specific columns to use in the WHERE clause when editing
2208  a specific table.
2209- A new row can be inserted into an empty table using the Contents tab
2210  by using the right mouse button on the (empty) panel.
2212Bug Fixes
2214- SQL that returns multiple result sets is now handled correctly (Neville
2215  Rowe).
2216- Fix manifest file so the the squirrel-sql.jar file is again executable (Denis
2217  Lundberg).
2218- Fix resource strings (Dennis Lundberg).
2219- Do a better job of handling MS SQL server catalog names that contain periods.
2220- Strings (VARCHAR and CLOB) fields containing newlines would loose those
2221  newlines if edited within the cell.  In-cell editing of that data is now
2222  blocked (Glenn Griffin).
2223- SQL problem with WHERE clause being too long (table has too many columns)
2224  fixed by allowing user to select specific columns to use in WHERE.
2228- New API ISession.addToToolbar(Action action) added (Gerd Wagner).
2229- Don't default to displaying the Contents Tab for a table. This can cause
2230  performance issues when looking at SQL Views (Gerd Wagner).
2238- Add "Get Last SQL" button to SQL entry area.
2239- Show tooltip in sql history combo when combo collapsed.
2240- You can now filter the schemas displayed in the object tree (Keith
2241  Mashinter).
2242- Show the position of the caret from the SQL entry area caret in a new label
2243  in status bar.
2244- Added a statusbar to the Help Viewer.
2245- New session property "Abort On Error".
2246- Data in the Popup (from double-clicking a cell in ContentsTab) is now
2247  editable (Glenn Griffin).
2248- Data in individual cells may be imported, exported, or operated on by an
2249  external program from the Popup window (double-click on cell in ContentsTab)
2250  (Glenn Griffin).
2253Bug Fixes
2255- Fixed NullPointerException thrown by the Syntax plugin.
2256- The title from the wrong column was used in the popup window for a columns
2257  data if the columns in the table had been resequenced (Joseph Boyd).
2258- Allow for SQLException thrown by HSQLDB 1.7.1 on ResultSetmetaData.isSigned.
2259- If the columns in a table were resequenced and then the data was copied to
2260  the clipboard then the column headings in the clipboard were in the wrong
2261  order (Joseph Boyd).
2262- Entries in the catalogs dropdown are now sorted.
2266- Move DataCache class to fw classes.
2267- Add StringManager class to allow strings to be stored in property
2268  files rather than hardcoded. Once this is used throughout the
2269  application it will mean that SQuirreL can be internationalized.
2270- Add jGoodies Forms library for building GUIs.
2271- Use Apache CLI library for processing command line arguments.
2272- New method in SQL execution listener 'allStatementsExecuting'.
2273- New API allowing plugins to add/remove items from the status bars.
2281- Contents tab has been made the default when first displaying table in
2282  Object view (Glenn Griffin).
2284Bug Fixes
2286- Fix for selecting which SQL gets executed. When the cursor is on a line in
2287  the SQL entry that contains at least part of aan SQL statement then only that
2288  SQL statment should be executed.
2289- Don't save duplicates in SQL history.
2290- Only load SQL history once.
2298- Change the background of the contents tab when in "edit mode" (Glenn
2299  Griffin)
2300- Put quotes around character data in the contents tab Filter (Maury Hammel).
2301- Column names in the Contents Tab Filter are now sorted (Maury Hammel).
2302- The IN operator has been added to the Contents Tab Filter (Maury
2303  Hammel).
2304- New application setting allows you to specify whether the coloured icons are
2305  shown in toolbars (Bai Yuhong).
2307Bug Fixes
2309- Fix data corruption issue if you change the selected table in the
2310  object tree while editing data (Glenn Griffin)
2318- Enhanced the highlighting in the message panel (Victor Ott).
2319- Can now filter the data on the Contents tab (Maury Hammel).
2320- Add Firebird Jaybird to the list of default drivers.
2321- Allow for bug in Opta2000 driver which limits the number of rows
2322  modified by an UPDATE statement to that specified by setMaxRows()
2323  (Gerd Wagner).
2324- Display warnings issued by SQL connections and statements in the
2325  message panel.
2326- Can now specify session sheets to be opened maximized.
2327- Show as much as possible of the SQL statement in the SQL history
2328  dropdown and show it all in the tooltip.
2329- Put focus to SQL entry area when SQL tab selected (Gerd Wagner).
2330- The SQL separator character can now be a multiple character string
2331  (Gerd Wagner).
2332- New application argument -useNativeLAF which will make SQuirreL use
2333  the native Look and Feel rather than the Java one.
2334- Data can now be maintained in the Contents tab (Glenn Griffin).
2335- Orientation of tabs can now be specified in session properties.
2336- Remove the plugin Help menu options and display their help in the main
2337  help window.
2338- Display error message if no SQL selected for execution.
2339- Cache database metadata information.
2340- Refresh catalogs dropdown when object tree refreshed
2341- Make Plugins Summary dialog modeless.
2342- Allow queries to be cancelled when they are "building output".
2343- Driver properties can now be specified on the alias.
2344- You can now "word wrap" data in the Column Data popup window.
2345- Text Popup menu can now be displayed in the Column Data popup window.
2346- Show chained SQL exceptions in error dialog.
2347- Add "Copy" menu options to the popup menu in the object tree.
2348- Add the MySQL driver to the default list of drivers. Update the jTDS
2349  URL for the latest version of jTDS (Dennis Lundberg).
2350- You can now specify that an Alias will connect when SQuirreL starts
2351  up.
2352- Allow user to define an Alias to logon automatically without prompting
2353  for user and password (Gerd Wagner).
2354- Allow user to store a password in the Alias definition (Gerd Wagner).
2355- You can now display only loaded JDBC drivers in the Drivers list.
2356- You can now limit the size of the SQL history combobox.
2357- Allow SQL history to be persistent and shareable between different
2358  sessions (Lynn Pye).
2359- Added Next and Previous Session commands to the menu system (Gerd
2360  Wagner).
2361- Do a better job of handling schemas and/or catalogs when building the
2362  object tree for DBMS's/drivers that misreport catalog/schema
2363  information (Gerd Wagner).
2364- Allow for multiple result sets returned from an SQL statement.
2365- Add "Goto Next Result Tab" and "Goto Previous Result Tab" options to
2366  Session menu.
2367- Remember the selected alias and driver between restarts.
2368- Added SQL execution statistics to the Info tab on the SQL output
2369  panel.
2370- Better positioning of the Column Details popup (Maury Hammel)
2371- Added JavaDoc target to build file (Johnathan James).
2372- When clearing the message panel the background is reset to white
2373  (Maury Hammel).
2374- Display column header as a tooltip if the table column isn't wide
2375  enough to display it (Stephen Straub).
2376- Add the ability to "Tile Vertically" and "Tile Horizontally" (Rick
2377  Strickland).
2379Bug Fixes
2381- Show all errors in the driver maintenance dialog.
2382- Fix to be able to display data in PostgreSQL UDT columns.
2383- Fix for single character separator at end of line/document
2384- Fix NullPointer exception when updating caret position in statusbar.
2385- Clear all metadata result sets when finished with them.
2386- Default catalogs dropdown to the correct catalog when session opened.
2387- Remove Clear option from standard text popup menu.
2388- Retrieve time as well as date for Oracle Date type columns.
2389- Hide password contents on Proxy settings panel.
2390- Put correct default port in the MM MySQL driver (Dennis Lundberg).
2391- Allow for drivers that return null for getTableTypes().
2392- Clear data in output tabs before writing. This stops the problem of
2393  seeing data related to the previously selected object in the object
2394  tree if you are not authorised to the newly selected object in the
2395  tree.
2396- Fix bug where sorting by clicking in the column header for a table
2397  wouldn't work correctly when the columns had been resequenced by
2398  dragging (Johnathan James).
2402- Use smaller icons to indicate sort sequence in tables.
2403- Cleanup handling of the SQL entry area.
2404- No longer print error message in the log if a JDBC driver isn't
2405  available.
2411Bug Fixes
2413- Fix for error when displaying catalogs/schemas when
2414  using jTDS 4 and above.
2415- Fix column privileges for MySQL.
2423- Allow retrieval of all data types from SQL
2424  results.
2425- Allow for JDBC drivers that return null
2426  for DatabaseMetaData.getTableTypes().
2428Bug Fixes
2430- Fix bug where the "Start of Line Comment"
2431  characters weren't recognized when executing
2432  multiple SQL statements.
2433- When the "ResultSet Output Type" is changed
2434  for a session don't attempt to change the output
2435  type for existing ResultSet output panels in
2436  that session.
2437- When "New Session" settings are changed don't
2438  change settings for existing sessions.
2446- Add default catalog selection to popup menu
2447- Add plugin class path to application dump.
2448- Allow for some drivers that don't return 'guest'
2449  as a schema for Microsoft SQL and Sybase.
2450- Catalogs and Schemas tabs added to the session
2451  node.
2452- Catalogs and schemas added to session dump.
2453- Drivers and Aliases windows can now be closed.
2455Bug Fixes
2457- Fix shell script to work with Cygwin.
2458- Fix NullPointerException when changing output
2459  type for result sets in New Session Properties
2460  dialog.
2461- Fix Copy cmd in tables so that if only a single
2462  column selected it doesn't put all the rows on one
2463  line.
2464- Make tree node refresh work.
2465- Fix line wrapping in multiple line labels.
2466- Allow for spaces in %CLASSPATH% in
2467  squirrel-sql.bat (again).
2468- Save and restore current catalog, transaction
2469  isolation and auto-commit settings when
2470  executing the Session/Reconnect commmand.
2478- Information windows (such as Help) can now be moved
2479  outside of the main window.
2480- Add home toolbar button to the HTML Viewer.
2481- Fix Refresh in HtmlViewer.
2482- Change icons for commit/rollback. The old icons were
2483  too similar and confused people.
2484- Add Proxy settings to Application Preferences.
2485- Add file sizes into SQuirreL Logs dropdown.
2486- Sort the driver names in dropdown box in a
2487  case-insensitive manner.
2488- Make all windows resizeable.
2489- Add Refresh button to HTLM Viewer toolbar.
2490- Add FAQ to the Help menu.
2491- Added "Install Default Drivers" menu option which will
2492  copy driver definitions from the default drivers file to
2493  the drivers list.
2494- Add SAPDB, DB2 and PointBase to default drivers.
2495- Add HSQL to list of default drivers (Glenn Griffin).
2496- Cleanup example URLs for many of the default drivers (Glenn Griffin).
2497- Add toolbar to HTML Viewer with back, forward and close buttons.
2498- Documentation updated.
2499- Allow Squirrel to be run from directories other than the current
2500  directory (Tim Shadel).
2501- Treat Types.OTHER columns as strings when displaying data.
2502- Add plugins location to plugin summary dialog.
2503- Add plugins location to application dump.
2504- Create Windows shortcut in installer.
2505- Make shell script executable in installer.
2506- Add icons for program shortcuts (Greg Mackness).
2507- Add an icon to the main window (Greg Mackness).
2508- The name of the item selected in the object tree will
2509  be displayed in the statusbar.
2510- Remove unnecessary borders on UI components.
2511- Add jTDS to list of default drivers.
2512- The "Start of line comment" characters can now be
2513  specified in preferences instead of just using '--'.
2515Bug Fixes
2517- Reload Metal Look and Feel when first loading
2518  SQuirreL so that the "Blue" theme is used.
2519- Position focus to the text area when first displaying
2520  the HTML viewer window.
2521- Stop driver maintenance window from resizing when jars
2522  added/removed.
2523- Improve error handling when loading drivers and aliases.
2524- Incorrect error message was displayed in View Help
2525  command (Glenn Griffin).
2526- Fix Nullpointer exception in HTML viewer under JDK1.3.
2527- CLOB/BLOB columns weren't handled correctly on metadata and
2528  Content tabs.
2529- The line/column number displayed for the SQL entry area
2530  now starts from 1,1 not 0,0
2531- Make multiple line label use the same font as static text controls not
2532  editable text controls.
2533- Links in the Help file now work (Victor Ott).
2534- Fix deadlock when viewing logs.
2535- Add missing "contributors" file for About Box.
2537Plugin API
2539- Move metadata methods to metadata classes.
2543- Add build directory to source distribution.
2544- Don't display icons in menus.
2545- Cleanup ResultSetMetaData handling.
2546- Make the installation window resizeable.
2554- Run View Logs in a thread.
2555- Doubleclick in the memory status panel will now run garbage collection.
2556- Add Mckoi and Think SQL drivers to the default drivers.
2557- Add menu item allowing reconnection to the database.
2558- Add a "Row Count" tab to the Tables tabbed folder.
2559- Add a "Status" tab to the database node in the object tree.
2560- Can now select directories as well as jars in the extra class path tab
2561  in driver maintenance.
2562- Errors are now displayed in the sessions message panel in red (Victor Ott).
2563- Rewrite of the object tree code.
2564- Show both schemas and catalogs in the object tree for databases that
2565  support both.
2566- Added "Help", "Change Log" and "Licence" options to Help menu for SQuirreL
2567  and for plugins.
2568- Documentation updated.
2569- Allow for errors in ResultSet.getBoolean() implementation.
2570- Axion and Mimer added to default drivers
2571- Added "Dump Application" and "Dump Session" options to menus to aid in
2572  debugging issues with different drivers and databases.
2574Bug Fixes
2576- Fix bug where closing the "New Session" properties dialog would make the
2577  object tree tabbed panel change back to the first tab.
2578- Fix "too tall" About Box under the first beta of JDK1.4.1
2579- When output type (text or table) is changed all existing panels are now updated.
2580- Expand first level of object tree for JDBC/ODBC bridge when session
2581  first started.
2582- Handle sorting by different data types in tables.
2583- Fix XMLBeanWriter to transparently handle arrays of strings.
2584- Fix error handling in data types display.
2586Plugin API
2588- Add ability to load jars in a plugins lib directory.
2589- Move APIs from ISession to their own classes.
2590- Add API to add nodes to the object tree.
2591- Add API to add tabs to the object tree details panel.
2592- Add API to add options to the object tree popup menu.
2600- Added keyboard accelerators to "Close all SQL Result Tabs" and
2601  "Close all SQL Result Windows" menu options.
2602- Display more information about the executing query on the
2603  execution panel.
2604- Split query execution times into "sql execution" and "building
2605- Add handling of blob, clob, binary, varbinary and longvarbinary
2606  columns.
2607- Allow for some combinations of the JDBC/ODBC bridge and MSSQL
2608  that give duplicate table types from the database metadata.
2609- Add "Close Session" option to Session menu.
2610- Add "View Logs" item to the Windows menu.
2611- Set maximum allowed width for the Window menu.
2612- Added Sunopsis XML JDBC driver and Microsoft MSSQL JDBC driver (Ken Arway)
2613  to default drivers.
2614- Display session name in Session Properties Dialog to
2615  differentiate it from another sessions dialog.
2616- Log any error other than an SQL error to the logger
2617  when user executes SQL.
2618- Consolidated the plethora of "meta data" output type settings into a
2619  single setting.
2620- Main window toolbar is now floatable.
2621- Using icons from the Eclipse ( project.
2623Bug Fixes
2625- Fix bug where changing "autocommit" during a session wasn't
2626  recognized.
2627- Limit rows checkbox wasn't updated when session properties
2628  changed.
2629- Fix incorrect row count in Info tab for a table.
2630- Add error handling to result set metadata displays.
2631- Don't show closed property dialogs in Windows menu.
2632- Directory list combo boxes now only show required file types.
2633- Fix option in Windows batch file not to show command window.
2634- Show decimal positions in column data when required.
2635- Show <null> when column data is null instead of an empty string.
2636- Fixed metadata problems with the JDBC/ODBC bridge.
2642Bug Fixes
2644- Correctly size the java Classpath listbox.
2645- Indicate whether driver can be loaded whenever the driver classpath is changed
2646- Add missing batch file (addpath.bat) to distribution.
2654- Add Sybase drivers to list of default drivers.
2655- Windows batch file now uses Java in %JAVAHOME% if it is defined else
2656  uses the current path.
2657- Windows batch file now loads all jars from /lib directory.
2658- Unix shell script now uses Java in $JAVAHOME if it is defined else
2659  uses the current path (Sergio Ballestrero).
2660- Unix shell script now loads all jars from /lib
2661  directory (Sergio Ballestrero)
2662- Commit/Rollback options added to the session menu.
2663- Session Sheet can show/hide its toolbar.
2664- Aliases and Drivers can show/hide their toolbars.
2665- Aliases and Drivers windows can now be resized.
2666- The toolbar in the main window can now be hidden.
2667- Multiple jars can now be specified for an SQL driver.
2668- You can now search a jar in the classpath for a JDBC driver.
2669- Row count is only shown on the Table Info tab if "Show Row Count"
2670  is specified in session properties.
2671- New "Refresh Row Count" button on the Table Information tab.
2672- Updated to use Apache log4j 1.2.
2673- The log file is now rotated.
2674- Log files are now written to the logs subirectory within user home.
2675- When resizing a session window the SQL results now gets any extra space.
2676- Error Dialog controls have better sizing.
2677- The default Metal Look and Feel now has a blue theme (Karsten Lentzsch)
2678- Error message dialog can now show the stack trace if available.
2679- New status bar in main window.
2680- SQL settings moved from the General tab in the Global Preferences
2681  dialog to its own SQL tab.
2682- Nullable, Searchable and boolean columns in Data Types display
2683  now show meaningful text.
2684- The squirrel-sql.jar file is now executable.
2685- Function and keyword lists moved out of the main metadata tab and
2686  placed in their own tabs (David MacLean).
2687- The DATA_TYPE column in the metadata tab now has a descriptive entry
2688  as well as the numeric code (David MacLean).
2689- Now shows catalogs in object tree for more DBMS's.
2690- Can now select the current catalog via a dropdown for those DBMS's
2691  that support catalogs.
2692- Now shows table hierarchies if the JDBC driver supports them (Henner Zeller).
2694Bug Fixes
2696- Show main window scrollbars at startup if tool windows are offscreen.
2697- Don't show error dialog until it is properly positioned.
2698- All SQL statements now get saved into the history.
2699- Load images correctly in framework classes.
2700- Use correct background color in Splash Screen and About Box to match
2701  the graphic.
2707Bug Fixes
2709- Windows batch file now allows for spaces in the classpath (Bruno Haas).
2710- Windows batch file now passes the -classic flag to the VM to stop
2711  plugins looking for files in the "Colin Bell" or "Johan Compagner"
2712  directories instead of the plugins private directory.
2713- "Torn off" SQL results windows are now closed when the session is
2714  closed.
2715- Unix shell script now has correct line terminators.
2716- QueryTokenizer improperly parsed strings with quotes on multiple lines
2717  and caused SQLException (Todd Larsen).
2718- Application Settings dialog now has a more sensible width under JDK1.4.
2719- If no alises defined then the Alises dropdown has a sensible width
2720  under JDK1.4.
2721- If Aliases dropdown is empty when adding the first one to it then make
2722  the new one the selected one.
2723- When adding aliases/drivers then select the newly added one in the list.
2724- When deleting aliases/drivers then ensure that another one selected
2725  in the list.
2726- longvarchars will now be displayed instead of <null> (Johan Compagner)
2727- JDBC drivers reloaded when they have been modified through the
2728  maintenance window.
2729- Keeping the state when refreshing the tree works now (Johan Compagner)
2733- Now showing all columns in meta data displays.
2734- Drop table menu item on the ObjectTree (Johan Compagner)
2735- Full column data can be displayed in a popup window if you double click on
2736  it (Johan Compagner)
2737- If only one cell selected in table when pressing copy then no header
2738  will be appended. (Johan Compagner)
2739- Icon shown for drivers that are loaded or not (Johan Compagner/Henner Zeller)
2740- TableSorting by clicking column headers (Johan Compagner)
2741- Escape now cancels Connection Dialog.
2745- Licence for the client application changed from GPL to LGPL.
2746- JDK1.4 specific code now called through reflection so application
2747  can be compiled using JDK1.3.
2752- Plugin architecture added.
2753- Now under JDK1.4 have option to scroll tabbed pane tabs
2754  rather than wrap them.
2755- Look and Feel functionality moved to a plugin.
2756- The results of queries can be displayed in multiple tabs and these tabs
2757  can be "torn off" (Johan Compagner).
2758- Can now enter execute multiple SQL statements (Johan Compagner).
2759- The message panel is now resizable (Johan Compagner).
2760- New "Info" tab on SQL query results.
2761- No longer try to load blob fields from SQL Result set.
2762- View SQL data entry caret line/column in status bar
2763- Removed control characters from SQL Result tab headings.
2764- The characters -- at the beginning of a line of SQL will turn it into a comment.
2765- Properties windows are now modeless.
2766- Driver and Alias maintenance windows are now modeless.
2767- Aliaes and Drivers tool window now resized when Look and Feel changed (if required).
2768- Now displaying SQL Error Code and State when an SQL error occurs.
2769- Can now select the Font for the SQL entry area.
2770- New "Show Native SQL" item in Session menu.
2771- "New Session" options moved from Global Prefernces dialog to new Session Properties dialog.
2772- New options on the session menu - Close all result tabs and close all Result windows.
2773- New option on the Windows menu - Close all sessions.
2774- Bring aliases/driver window to front if action requested.
2775- New application argument -noplugins which will run SQuirreL without
2776  any plugins being loaded.
2777- Undo/redo support now added to the SQL entry area (Johan Compagner).
2778- Copying SQL results now includes the column headings (Johan Compagner).
2779- New "Copy as HTML" option for SQL results (Johan Compagner).
2780- Bug fixed in About Box where the thread that updates the memory status
2781  continued updating when the About Box was not being displayed.
2782- Dialogs have been cleaned up.
2783- Apache log4j is used for the logging subsystem.
2784- JDBC debug can be specified in the global preferences.
2785- New application argument allows you to override the user settings
2786  directory. E.G. -settingsdir=c:\my-squirrel-settings
2787- Stored proc column information now available.
2788- Connection window is now modeless.
2789- SQL execution and object tree expansion now run in a separate thread so
2790  that the user interface is still responsive (Johan Compagner).
2791- Row count is now available on the Info tab for a table.
2792- Meta data is available for the results of SQL execution.
2793- Replaced the JDOM library with NanoXML.
27961.0 final2
2799Bug Fixes
2801- Put up a new splash screen that worked with JDK1.4
2803The following fixes were actually done in 1.0final1 but I forget
2804to update this file.
2806- Removed wrong path separator used in the install script for
2807  <instdir>\plugins\lafs and <instdir>\plugins\skins which
2808  didn't work under Unix.
2809- Got working with Sybase/jConnect.
28121.0 final
2815Bug Fixes
2817- Handle gracefully the errors caused by JDBC drivers that require a more
2818  recent version of the JDK than the one that Squirrel SQL is being run on.
2819- Popup menus are now correctly positioned under JDK1.2
2823- I'm now using the IzPack Java installer from
2825- Thanks to Greg Mackness, Squirrel SQL now has a decent splash screen.
28281.0 beta7
2831Bug Fixes
2833- Allow for AbstractMethodErrors in DatabaseMetaData function calls.
2834- Allow for null ResultSet objects to be returned from DatabaseMetaData
2835  function calls.
2839- Add edit popup menu to tablular output.
2840- Make main window area scrollable.
2841- Now uses version 1.1 of the Skin Look and Feel.
2842- Added PostgreSQL JDBC Driver to default drivers file.
2846- A lot of code cleanup.
28491.0 beta6
2852Bug Fixes
2854- New sessions didn't take into account the "SQL Limit Rows"
2855  setting from the "New Session" Application Settings tab. It
2856  always defaulted to true.
2857- The hourglass cursor was shown after the main window was created.
2858- If the preferences positioned the main window (or aliases/drivers
2859  tool windows) to a position on the screen only visible under a
2860  high resolution (EG 1024X768) and you then changed the display
2861  resolution to one under which the window could not be seen then
2862  when Squirrel-SQL was started the window could not be seen.
2863- If you tried to maintain a driver with a Driver JAR file that
2864  didn't exist an error dialog that couldn't be dismissed was
2865  displayed.
2866- Errors that occured for metadata information (such as data types) didn't
2867  always display in the message area.
2868- Errors in SQL Driver Maintenance weren't always displayed.
2869- If invalid data for the data type in a column (E.G. blanks in a numeric)
2870  were found in metadata information (such as data types) then no further
2871  information was displayed.
2875- User name now displayed in the title for a session window.
2876- Logging is now done to a text file (squirrel-sql.log) in the user
2877  perferences directory instead of to standard output.
2878- You can now drop a Look and Feel implementation (see
2879  for examples of Look and Feel implementations) into the /plugins/lafs
2880  directory within the application directory and have it selectable from
2881  the "Look and Feel" dropdown on the General tab of the Global
2882  Preferences dialog.
2886- Global Preferences option is now on the File menu.
28891.0 beta5
2892Bug Fixes
2894- If a connection failed to open the error wasn't always displayed.
2895- If an image couldn't be found for an Action the application wouldn't load.
2896- Changing the class name of a driver wouldn't always take effect until
2897  Squirrel-SQL was restarted.
2898- The session properties dialog is now correctly positioned on screen.
2899- The Class Loader used for the JDBC drivers wasn't searching for classes
2900  correctly.
2904- The number of rows in a table can be displayed in the object tree. This
2905  is controlled by a new session setting.
2906- The Aliases and Drivers lists are now in their own windows.
2907- A "Connect To" dropdown has been added to the toolbar.
2908- The SQL tab in the Application Preferences dialog has been split into
2909  two tabs; global settings that apply to all open sessions and a Default
2910  tab that applies to new sessions.
2911- If the Look and Feel is changed it is not shown until the application
2912  is restarted. Not all components are rendered correctly if the Look and
2913  Feel is changed on the fly.
2914- The System Status dialog has been merged with the About Box.
2915- New global property - Show Tooltips.
29181.0 beta4
2921Bug Fixes
2923- When changing an existing alias the default URL from the driver was
2924  displayed rather than the URL associated with the alias.
2925- Resolved inconsistent handling of catalogs and schemas.
2929- Now supports Skin Look and Feel Themes from
2930- Merged the Driver Class dropdown and text field on the Driver Maintenance
2931  dialog into one dropdown control.
2932- Drivers dropdown in Alias Maintenance dialog is now sorted.
29351.0 beta3
2938Bug Fixes
2940- Only issue rollback/commit when closing a session if AutoCommit is false.
2941- Fixed bug where incorrect alias/driver selected in listbox if an
2942  alias/driver had its name changed or one was deleted.
2946- JDBC driver jar files can now be specified dynamically.
2947- Can now specify commit/rollback when closing session. Previously
2948  defaulted to rollback.
2949- Added UDT information to object tree.
2950- If text is selected in the SQL entry field then only that text
2951  is executed as SQL.
2952- Width of the panel holding the aliases and drivers is now saved and
2953  restored.
2954- Display the name of the driver in the connection dialog rather than
2955  the class name of the driver.
2956- Added MMMySQL JDBC Driver to default drivers file.
2957- Row type output (such as the metadata or the SQL results panels) now
2958  defaults to a JTable instead of the text output.
2959- Doubleclicking in drivers listbox will maintain the currently selected driver.
2960- Doubleclicking in aliases listbox will open the currently selected alias.
2961- Added Commit and Rollback menu and toolbar options.
29641.0 beta2
2966- Modified to allow for DBMS's that don't support either catalogues or
2967  schemas.
2968- Modified to get around issue with InstantDB (3.13) returning "TABLES" for
2969  MetaData.getTableTypes instead of "TABLE" and "SYSTEM TABLE".
2970- Added InstantDB Driver to default drivers file.
2971- When retrieving information about a tables privileges an incorrect
2972  index into a resultset was being used.
2973- When lines were added to the message panel no new line character was
2974  added to the end of a line.
2975- Fixed bug where only SQL statements that generated a ResultSet were
2976  written to the history dropdown.
2977- Added System Status dialog to the Help menu.
2978- Fixed Cascade option on Windows menu.
2983- First beta release.
Note: See TracBrowser for help on using the browser.