SQuirreL SQL Client Change Log
==============================
  
1.1final1
========

Bug Fixes
---------
- Fix for error when displaying catalogs/schemas when
  using jTDS 4 and above.
- Fix column privileges for MySQL.


1.1final
========

Enhancements
------------
- Allow retrieval of all data types from SQL
  results.
- Allow for JDBC drivers that return null
  for DatabaseMetaData.getTableTypes().

Bug Fixes
---------
- Fix bug where the "Start of Line Comment"
  characters weren't recognized when executing
  multiple SQL statements.
- When the "ResultSet Output Type" is changed
  for a session don't attempt to change the output
  type for existing ResultSet output panels in
  that session.
- When "New Session" settings are changed don't
  change settings for existing sessions.


1.1rc2
======

Enhancements
------------
- Add default catalog selection to popup menu
- Add plugin class path to application dump.
- Allow for some drivers that don't return 'guest'
  as a schema for Microsoft SQL and Sybase.
- Catalogs and Schemas tabs added to the session
  node.
- Catalogs and schemas added to session dump.
- Drivers and Aliases windows can now be closed.

Bug Fixes
---------
- Fix shell script to work with Cygwin.
- Fix NullPointerException when changing output
  type for result sets in New Session Properties
  dialog.
- Fix Copy cmd in tables so that if only a single
  column selected it doesn't put all the rows on one
  line.
- Make tree node refresh work.
- Fix line wrapping in multiple line labels.
- Allow for spaces in %CLASSPATH% in
  squirrel-sql.bat (again).
- Save and restore current catalog, transaction
  isolation and auto-commit settings when
  executing the Session/Reconnect commmand.


1.1rc1
======

Enhancements
------------
- Information windows (such as Help) can now be moved
  outside of the main window.
- Add home toolbar button to the HTML Viewer.
- Fix Refresh in HtmlViewer.
- Change icons for commit/rollback. The old icons were
  too similar and confused people.
- Add Proxy settings to Application Preferences.
- Add file sizes into SQuirreL Logs dropdown.
- Sort the driver names in dropdown box in a
  case-insensitive manner.
- Make all windows resizeable.
- Add Refresh button to HTLM Viewer toolbar.
- Add FAQ to the Help menu.
- Added "Install Default Drivers" menu option which will
  copy driver definitions from the default drivers file to
  the drivers list.
- Add SAPDB, DB2 and PointBase to default drivers.
- Add HSQL to list of default drivers (Glenn Griffin).
- Cleanup example URLs for many of the default drivers (Glenn Griffin).
- Add toolbar to HTML Viewer with back, forward and close buttons.
- Documentation updated.
- Allow Squirrel to be run from directories other than the current
  directory (Tim Shadel).
- Treat Types.OTHER columns as strings when displaying data.
- Add plugins location to plugin summary dialog.
- Add plugins location to application dump.
- Create Windows shortcut in installer.
- Make shell script executable in installer.
- Add icons for program shortcuts (Greg Mackness).
- Add an icon to the main window (Greg Mackness).
- The name of the item selected in the object tree will
  be displayed in the statusbar.
- Remove unnecessary borders on UI components.
- Add jTDS to list of default drivers.
- The "Start of line comment" characters can now be
  specified in preferences instead of just using '--'.

Bug Fixes
---------
- Reload Metal Look and Feel when first loading
  SQuirreL so that the "Blue" theme is used.
- Position focus to the text area when first displaying
  the HTML viewer window.
- Stop driver maintenance window from resizing when jars
  added/removed.
- Improve error handling when loading drivers and aliases.
- Incorrect error message was displayed in View Help
  command (Glenn Griffin).
- Fix Nullpointer exception in HTML viewer under JDK1.3.
- CLOB/BLOB columns weren't handled correctly on metadata and
  Content tabs.
- The line/column number displayed for the SQL entry area
  now starts from 1,1 not 0,0
- Make multiple line label use the same font as static text controls not
  editable text controls.
- Links in the Help file now work (Victor Ott).
- Fix deadlock when viewing logs.
- Add missing "contributors" file for About Box.

Plugin API
----------
- Move metadata methods to metadata classes.

Other
-----
- Add build directory to source distribution.
- Don't display icons in menus.
- Cleanup ResultSetMetaData handling.
- Make the installation window resizeable.


1.1beta6
========

Enhancements
------------
- Run View Logs in a thread.
- Doubleclick in the memory status panel will now run garbage collection.
- Add Mckoi and Think SQL drivers to the default drivers.
- Add menu item allowing reconnection to the database.
- Add a "Row Count" tab to the Tables tabbed folder.
- Add a "Status" tab to the database node in the object tree.
- Can now select directories as well as jars in the extra class path tab
  in driver maintenance.
- Errors are now displayed in the sessions message panel in red (Victor Ott).
- Rewrite of the object tree code.
- Show both schemas and catalogs in the object tree for databases that
  support both.
- Added "Help", "Change Log" and "Licence" options to Help menu for SQuirreL
  and for plugins.
- Documentation updated.
- Allow for errors in ResultSet.getBoolean() implementation.
- Axion and Mimer added to default drivers
- Added "Dump Application" and "Dump Session" options to menus to aid in
  debugging issues with different drivers and databases.

Bug Fixes
---------
- Fix bug where closing the "New Session" properties dialog would make the
  object tree tabbed panel change back to the first tab.
- Fix "too tall" About Box under the first beta of JDK1.4.1
- When output type (text or table) is changed all existing panels are now updated.
- Expand first level of object tree for JDBC/ODBC bridge when session
  first started.
- Handle sorting by different data types in tables.
- Fix XMLBeanWriter to transparently handle arrays of strings.
- Fix error handling in data types display.

Plugin API
----------
- Add ability to load jars in a plugins lib directory.
- Move APIs from ISession to their own classes.
- Add API to add nodes to the object tree.
- Add API to add tabs to the object tree details panel.
- Add API to add options to the object tree popup menu.


1.1beta5
========

Enhancements
------------
- Added keyboard accelerators to "Close all SQL Result Tabs" and
  "Close all SQL Result Windows" menu options.
- Display more information about the executing query on the
  execution panel.
- Split query execution times into "sql execution" and "building
- Add handling of blob, clob, binary, varbinary and longvarbinary
  columns.
- Allow for some combinations of the JDBC/ODBC bridge and MSSQL
  that give duplicate table types from the database metadata.
- Add "Close Session" option to Session menu.
- Add "View Logs" item to the Windows menu.
- Set maximum allowed width for the Window menu.
- Added Sunopsis XML JDBC driver and Microsoft MSSQL JDBC driver (Ken Arway)
  to default drivers.
- Display session name in Session Properties Dialog to
  differentiate it from another sessions dialog.
- Log any error other than an SQL error to the logger
  when user executes SQL.
- Consolidated the plethora of "meta data" output type settings into a
  single setting.
- Main window toolbar is now floatable.
- Using icons from the Eclipse (http://www.eclipse.org) project.

Bug Fixes
---------
- Fix bug where changing "autocommit" during a session wasn't
  recognized.
- Limit rows checkbox wasn't updated when session properties
  changed.
- Fix incorrect row count in Info tab for a table.
- Add error handling to result set metadata displays.
- Don't show closed property dialogs in Windows menu.
- Directory list combo boxes now only show required file types.
- Fix option in Windows batch file not to show command window.
- Show decimal positions in column data when required.
- Show <null> when column data is null instead of an empty string.
- Fixed metadata problems with the JDBC/ODBC bridge.


1.1beta4
========

Bug Fixes
---------
- Correctly size the java Classpath listbox.
- Indicate whether driver can be loaded whenever the driver classpath is changed
- Add missing batch file (addpath.bat) to distribution.


1.1beta3
========

Enhancements
------------
- Add Sybase drivers to list of default drivers.
- Windows batch file now uses Java in %JAVAHOME% if it is defined else
  uses the current path.
- Windows batch file now loads all jars from /lib directory.
- Unix shell script now uses Java in $JAVAHOME if it is defined else
  uses the current path (Sergio Ballestrero).
- Unix shell script now loads all jars from /lib
  directory (Sergio Ballestrero)
- Commit/Rollback options added to the session menu.
- Session Sheet can show/hide its toolbar.
- Aliases and Drivers can show/hide their toolbars.
- Aliases and Drivers windows can now be resized.
- The toolbar in the main window can now be hidden.
- Multiple jars can now be specified for an SQL driver.
- You can now search a jar in the classpath for a JDBC driver.
- Row count is only shown on the Table Info tab if "Show Row Count"
  is specified in session properties.
- New "Refresh Row Count" button on the Table Information tab.
- Updated to use Apache log4j 1.2.
- The log file is now rotated.
- Log files are now written to the logs subirectory within user home.
- When resizing a session window the SQL results now gets any extra space.
- Error Dialog controls have better sizing.
- The default Metal Look and Feel now has a blue theme (Karsten Lentzsch)
- Error message dialog can now show the stack trace if available.
- New status bar in main window.
- SQL settings moved from the General tab in the Global Preferences
  dialog to its own SQL tab.
- Nullable, Searchable and boolean columns in Data Types display
  now show meaningful text.
- The squirrel-sql.jar file is now executable.
- Function and keyword lists moved out of the main metadata tab and
  placed in their own tabs (David MacLean).
- The DATA_TYPE column in the metadata tab now has a descriptive entry
  as well as the numeric code (David MacLean).
- Now shows catalogs in object tree for more DBMS's.
- Can now select the current catalog via a dropdown for those DBMS's
  that support catalogs.
- Now shows table hierarchies if the JDBC driver supports them (Henner Zeller).

Bug Fixes
---------
- Show main window scrollbars at startup if tool windows are offscreen.
- Don't show error dialog until it is properly positioned.
- All SQL statements now get saved into the history.
- Load images correctly in framework classes.
- Use correct background color in Splash Screen and About Box to match
  the graphic.


1.1beta2
========

Bug Fixes
---------
- Windows batch file now allows for spaces in the classpath (Bruno Haas).
- Windows batch file now passes the -classic flag  to the VM to stop
  plugins looking for files in the "Colin Bell" or "Johan Compagner"
  directories instead of the plugins private directory.
- "Torn off" SQL results windows are now closed when the session is
  closed.
- Unix shell script now has correct line terminators.
- QueryTokenizer improperly parsed strings with quotes on multiple lines
  and caused SQLException (Todd Larsen).
- Application Settings dialog now has a more sensible width under JDK1.4.
- If no alises defined then the Alises dropdown has a sensible width
  under JDK1.4.
- If Aliases dropdown is empty when adding the first one to it then make
  the new one the selected one.
- When adding aliases/drivers then select the newly added one in the list.
- When deleting aliases/drivers then ensure that another one selected
  in the list.
- longvarchars will now be displayed instead of <null> (Johan Compagner)
- JDBC drivers reloaded when they have been modified through the
  maintenance window.
- Keeping the state when refreshing the tree works now (Johan Compagner)

Enhancements
------------
- Now showing all columns in meta data displays.
- Drop table menu item on the ObjectTree (Johan Compagner)
- Full column data can be displayed in a popup window if you double click on
  it (Johan Compagner)
- If only one cell selected in table when pressing copy then no header 
  will be appended. (Johan Compagner)
- Icon shown for drivers that are loaded or not (Johan Compagner/Henner Zeller) 
- TableSorting by clicking column headers (Johan Compagner)
- Escape now cancels Connection Dialog.

Other
-----
- Licence for the client application changed from GPL to LGPL.
- JDK1.4 specific code now called through reflection so application
  can be compiled using JDK1.3.


1.1beta1
========
- Plugin architecture added.
- Now under JDK1.4 have option to scroll tabbed pane tabs
  rather than wrap them.
- Look and Feel functionality moved to a plugin.
- The results of queries can be displayed in multiple tabs and these tabs
  can be "torn off" (Johan Compagner).
- Can now enter execute multiple SQL statements (Johan Compagner).
- The message panel is now resizable (Johan Compagner).
- New "Info" tab on SQL query results.
- No longer try to load blob fields from SQL Result set.
- View SQL data entry caret line/column in status bar
- Removed control characters from SQL Result tab headings.
- The characters -- at the beginning of a line of SQL will turn it into a comment.
- Properties windows are now modeless.
- Driver and Alias maintenance windows are now modeless.
- Aliaes and Drivers tool window now resized when Look and Feel changed (if required).
- Now displaying SQL Error Code and State when an SQL error occurs.
- Can now select the Font for the SQL entry area.
- New "Show Native SQL" item in Session menu.
- "New Session" options moved from Global Prefernces dialog to new Session Properties dialog.
- New options on the session menu - Close all result tabs and close all Result windows.
- New option on the Windows menu - Close all sessions.
- Bring aliases/driver window to front if action requested.
- New application argument -noplugins which will run SQuirreL without
  any plugins being loaded.
- Undo/redo support now added to the SQL entry area (Johan Compagner).
- Copying SQL results now includes the column headings (Johan Compagner).
- New "Copy as HTML" option for SQL results (Johan Compagner).
- Bug fixed in About Box where the thread that updates the memory status
  continued updating when the About Box was not being displayed.
- Dialogs have been cleaned up.
- Apache log4j is used for the logging subsystem.
- JDBC debug can be specified in the global preferences.
- New application argument allows you to override the user settings
  directory. E.G. -settingsdir=c:\my-squirrel-settings
- Stored proc column information now available.
- Connection window is now modeless.
- SQL execution and object tree expansion now run in a separate thread so
  that the user interface is still responsive (Johan Compagner).
- Row count is now available on the Info tab for a table.
- Meta data is available for the results of SQL execution.
- Replaced the JDOM library with NanoXML.

  
1.0 final2
===============================

Bug Fixes
---------
- Put up a new splash screen that worked with JDK1.4

The following fixes were actually done in 1.0final1 but I forget
to update this file.

- Removed wrong path separator used in the install script for
  <instdir>\plugins\lafs and <instdir>\plugins\skins which
  didn't work under Unix.
- Got working with Sybase/jConnect.


1.0 final
===============================

Bug Fixes
------------
- Handle gracefully the errors caused by JDBC drivers that require a more
  recent version of the JDK than the one that Squirrel SQL is being run on.
- Popup menus are now correctly positioned under JDK1.2 

Enhancements
------------
- I'm now using the IzPack Java installer from
  http://www.izforge.com/izpack 
- Thanks to Greg Mackness, Squirrel SQL now has a decent splash screen.


1.0 beta7
===============================

Bug Fixes
------------
- Allow for AbstractMethodErrors in DatabaseMetaData function calls.
- Allow for null ResultSet objects to be returned from DatabaseMetaData
  function calls.

Enhancements
------------
- Add edit popup menu to tablular output.
- Make main window area scrollable.
- Now uses version 1.1 of the Skin Look and Feel.
- Added PostgreSQL JDBC Driver to default drivers file.

Changes
-------
- A lot of code cleanup.


1.0 beta6
===============================

Bug Fixes
------------
- New sessions didn't take into account the "SQL Limit Rows"
  setting from the "New Session" Application Settings tab. It
  always defaulted to true. 
- The hourglass cursor was shown after the main window was created.
- If the preferences positioned the main window (or aliases/drivers
  tool windows) to a position on the screen only visible under a
  high resolution (EG 1024X768) and you then changed the display
  resolution to one under which the window could not be seen then
  when Squirrel-SQL was started the window could not be seen.
- If you tried to maintain a driver with a Driver JAR file that
  didn't exist an error dialog that couldn't be dismissed was
  displayed.
- Errors that occured for metadata information (such as data types) didn't
  always display in the message area.
- Errors in SQL Driver Maintenance weren't always displayed.
- If invalid data for the data type in a column (E.G. blanks in a numeric)
  were found in metadata information (such as data types) then no further
  information was displayed.

Enhancements
------------
- User name now displayed in the title for a session window.
- Logging is now done to a text file (squirrel-sql.log) in the user
  perferences directory instead of to standard output.
- You can now drop a Look and Feel implementation (see www.javatoo.com
  for examples of Look and Feel implementations) into the /plugins/lafs
  directory within the application directory and have it selectable from
  the "Look and Feel" dropdown on the General tab of the Global
  Preferences dialog.

Changes
-------
- Global Preferences option is now on the File menu.


1.0 beta5
===============================

Bug Fixes
------------
- If a connection failed to open the error wasn't always displayed.
- If an image couldn't be found for an Action the application wouldn't load.
- Changing the class name of a driver wouldn't always take effect until 
  Squirrel-SQL was restarted.
- The session properties dialog is now correctly positioned on screen.
- The Class Loader used for the JDBC drivers wasn't searching for classes
  correctly.

Enhancements
------------
- The number of rows in a table can be displayed in the object tree. This
  is controlled by a new session setting.
- The Aliases and Drivers lists are now in their own windows.
- A "Connect To" dropdown has been added to the toolbar.
- The SQL tab in the Application Preferences dialog has been split into
  two tabs; global settings that apply to all open sessions and a Default
  tab that applies to new sessions.
- If the Look and Feel is changed it is not shown until the application
  is restarted. Not all components are rendered correctly if the Look and
  Feel is changed on the fly.
- The System Status dialog has been merged with the About Box.
- New global property - Show Tooltips.


1.0 beta4
===============================

Bug Fixes
---------
- When changing an existing alias the default URL from the driver was
  displayed rather than the URL associated with the alias.
- Resolved inconsistent handling of catalogs and schemas.

Enhancements
------------
- Now supports Skin Look and Feel Themes from http://www.L2FProd.com.
- Merged the Driver Class dropdown and text field on the Driver Maintenance
  dialog into one dropdown control.
- Drivers dropdown in Alias Maintenance dialog is now sorted.


1.0 beta3
===============================

Bug Fixes
---------
- Only issue rollback/commit when closing a session if AutoCommit is false.
- Fixed bug where incorrect alias/driver selected in listbox if an
  alias/driver had its name changed or one was deleted.

Changes
-------
- JDBC driver jar files can now be specified dynamically.
- Can now specify commit/rollback when closing session. Previously
  defaulted to rollback.
- Added UDT information to object tree.
- If text is selected in the SQL entry field then only that text
  is executed as SQL.
- Width of the panel holding the aliases and drivers is now saved and
  restored.
- Display the name of the driver in the connection dialog rather than
  the class name of the driver.
- Added MMMySQL JDBC Driver to default drivers file.
- Row type output (such as the metadata or the SQL results panels) now
  defaults to a JTable instead of the text output.
- Doubleclicking in drivers listbox will maintain the currently selected driver. 
- Doubleclicking in aliases listbox will open the currently selected alias.
- Added Commit and Rollback menu and toolbar options.


1.0 beta2
===============================
- Modified to allow for DBMS's that don't support either catalogues or
  schemas.
- Modified to get around issue with InstantDB (3.13) returning "TABLES" for
  MetaData.getTableTypes instead of "TABLE" and "SYSTEM TABLE".
- Added InstantDB Driver to default drivers file.
- When retrieving information about a tables privileges an incorrect
  index into a resultset was being used.
- When lines were added to the message panel no new line character was
  added to the end of a line.
- Fixed bug where only SQL statements that generated a ResultSet were
  written to the history dropdown.
- Added System Status dialog to the Help menu.
- Fixed Cascade option on Windows menu.


1.0beta1
===============================
- First beta release.
