Changes since 0.8.0.0
---------------------

1-Dec-1999
  Fixed bug ID 626 - . is included in the tar archives which lead to
  "operation not permitted" problems for one customer.

30-Nov-1999
  Minor change to SQLDisconnect in the OOB client driver. If an
  application calls SQLDisconnect and the remote call to SQLDisconnect
  fails the client assumes the server timed out the connection (the
  OOB Server has an inactivity timeout value). The client then clears
  all remote information and returns to the unconnected state where
  the application can reconnect through SQLConnect or
  SQLDriverConnect. This is part of a fix to solve the problem of
  persistent connections timing out (PHP in particular had code which
  always assumed a connection lasted forever). Nick Gorham made the
  necessary changes to ODBC in the CVS tree post PHP 4beta3.

29-Nov-1999
  Fixed bug ID 623 - Domain/username login not accepted by OOB HTTP
  Server.

25-Nov-1999
  Added licensing to UNIX server.

  Fixed problem in the example Makefile where the warning was not
  issued before anything was compiled.

24-Nov-1999
  New examples SQLGetFunctions.c and version.c added.

  Fixed bug ID 614. In Windows, the LogonAuth and TargetAuth are
  stored encrypted in the registry. Some passwords however, become
  truncated when the DSN is saved and then retrieved. This required an
  extensive change to the way passwords are stored in the registry and
  so any passwords in existing DSNs will need to be retyped.

  Fixed bug ID 618 - registry entries for file association between
  .esl files and the Easysoft License Administartor in Windows are
  wrong.

23-Nov-1999
  Minor change to the OOB HTTP Server to display "None" instead of a
  time in 1970 if there have been no connections.

Changes since 0.6.0.0
---------------------
17-Nov-1999

  Fixed internal bug ID 608 - Hitting the test button on the OOB
  client DSN Setup dialogue in Windows 9x does nothing.

  Fix minor bug in the Windows OOB client dialogue popped up when not
  enough connection attributes are specified. Call to SQLFreeHandle in
  the OOB which should have gone to the DM when the [...] button
  pressed.

15-Nov-1999

  Fixed Internal bug ID 600 - DSN names in odbc.ini files have become
  case sensitive in some circumstances.

  Fixed internal bug ID 597 - OOB Server on Solaris shows
  "undetermined" for platform and operating system. This does not
  really matter but needed fixing.

  Fixed memory leak in SQLConnect where if the ServerName, UserName or
  Authentication are not passed in as NULL strings memory allocated
  for them is leaked. This was hopefully the last leak reponsible for
  external bug ID 28.

  Fixed memory leak in OOB Server when run from Perl client. One
  statement and 4 descriptors leaked per connection.

12-Nov-1999

  Changed C++ comments in the header files to C comments as requested
  by a beta tester.

  Fixed internal bug ID - Possible bug in input bound floats and
  doubles. Input bound columns of floats and doubles would not have
  worked correctly.

  Fixed internal bug ID 598 - EasyRPC frees memory not allocated in
  integer arrays when going between different endian platforms and the
  data is in the compression window.

10-Nov-1999
  External enhancement request 24 implemented. This allows the OOB
  Server administrator to define access control to the server based on
  IP addresses. The OOB HTTP Server now has an Access Control web page
  where the current configuration may be examined and changed. By
  default the OOB Server installs with access for everyone.

9-Nov-1999
  Added HTTP authentication to some of the OOB Server web pages. To
  make changes to the server you now need to supply the username and
  password for the OOB administrator entered during installation.

8-Nov-1999
  Added a new bitmask value to the Server's configurable parameter
  Flags.  Bit 5 (value 0x10) specifies whether the OOB HTTP Server's
  web page for configurable parameters shows the administrators name
  or not. The default is set.

7-Nov-1999
  Fixed memory leak in underlying network layer reported in external
  bug ID 28 "DBI/DBD::ODBC with esoob: memory leak". This memory leak
  in the OOB client affected people running programs for long periods
  of time that repeatedly open and closed connections to the server.

  Allow the Flags and Logging configurable parameters to be specified
  as hex strings as well as decimal. When specified as a hex string
  the hex digits must be preceded with "0x".

  Fixed minor bug in SQLDriverConnect/SQLConnect where if the client
  fails to connect to the server and the application calls these
  functions again the client OOB returns "connection name is use" when
  it is not.


6-Nov-1999
  Fixed internal bug ID 582 - OOB HTTP Server sometimes fails to read
  all posted form data.

  Fixed bug where if the in connection string to SQLDriverConnect
  contains "dsn=xyz" where is in lowercase then the OOB client adds
  DSN=DEFAULT to the out connection string.

  Fixed external bug ID 29 where binding a parameter with a NULL
  DataPtr (i.e. passing undef in Perl or SQL_NULL_PARAM in C) causes
  the server to fall over in SQLExecute.

5-Nov-1999
  Added licensing code to the OOB Server and modified the Windows
  InstallShield installation to run the License Administrator if the
  OOB Server is installed. Trail licenses may be obtained over the
  net.

4-Nov-1999
  Changed the InstallShield installation to show the license agreement
  after the component selection is made is the client-only and
  client-server licenses differ, show the relevant one.

2-Nov-1999
  Added new server configurable parameters RetryCount and RetryPause
  which define the number of attempts the server makes at creating a
  new thread to handle a connection and the time between attempts.
  The same numbers are used for attempts to obtain a license slot.

1-Nov-1999
  Output bound parameters are now fully supported.

Changes since 0.4.0.0
---------------------

13-Oct-1999
  Part fixed internal bug ID 541 - the OOB client does not support the
  setting of statement options via SQLSetConnectOption (yes
  SQLSetConnectOption). A little known ODBC 2.0 fact is that if you
  set a statement option via SQLSetConnectOption, it is propagated to
  all current statements (fixed) and used as a default for all new
  statements (not fixed yet).

12-Oct-1999
  Fixed internal bug ID 494 - configurable parameters changed through
  web interface not validated.

8-Oct-1999
  Fixed bug in HTTP server which fails to tell you if files it expects
  to find are missing or unreadable.

  Fixed internal bug ID 495. In 0.4.0.0, the OOB client requires
  SQLNumParams but some ODBC drivers don't have it (they should as it
  is a base function).  Changed the OOB client so that if SQLNumParams
  is not supported all bound parameters are sent instead of just the
  required ones.

7-Oct-1999
  Changed the OOB HTTP server to show the OOB version number at the
  top of each page.

  Fixed a partial "<BR>" (was "BR>") in the web page showing the
  configurable parameters have been changed.

 
1-Oct-1999
  Fixed bug in SQLExtendedFetch when the RowSetSize is set to anything
  greater than 1. The server was using the RowArraySize instead of the
  RowSetSize.

  Speeded up Block-Fetch-Mode by vastly reducing the description of
  the data the client requires. As block-fetch-mode does not specify
  the Indicator and StrLen parameters as different pointers the client
  is wasting bandwith asking for both. Also made a minor change to the
  underlying EasyRPC protocol which reduces the data in the protocol.

30-Sep-1999
  Internal Bug ID 523. Fixed bug in SQLExecDirect where you can
  occasionally get "out of memory" errors if there are no bound
  parameters.

  Fixed internal Bug ID 522 - an idle UNIX server can consume a great
  deal of CPU time. Problem in select code where the timeout was
  getting reset to 0.

28-Sep-1999
  Enhancement 513. The Windows OOB DSN Setup dialogue now contains a
  combo box for the Server field which contains a list of all server
  names previously used for this field in any other OOB DSN.

  Bug ID 512. The OOB client in UNIX returns answers for the DM
  SQLGetInfo() calls (SQL_DM_VER and SQL_ODBC_VER) assuming there is
  no driver manager at the server end. Changed the client to attempt
  the calls at the server first, and only if they fail return OOB
  client values.

27-Sep-1999
  Bug ID 517. Change the Test button in the Windows DSN setup dialogue
  to display the driver name and version and more informative
  connection messages instead of just showing the result of every
  SQLGetInfo() call.

25-Sep-1999
  Changed the UNIX installer to offer to install the unxiODBC driver
  manager.  Changed the way the client/server etc are packaged in the
  distribution to separate the files associated with each.

24-Sep-1999
  Included a built copy of the demo program in the Windows install.

  The UNIX version of the OOB Server is now capable of starting
  standalone (without inetd). In this configuration it forks children
  to handle each connection and a child to run as an HTTP server. As a
  result there is now a new "template" directory off the server
  containing all the html/gif files.

22-Sep-1999
  Fixed a problem in the NT server where if it failed to start a new
  thread for a connection the retry code did not work properly and a
  message was not logged to the event log.

21-Sep-1999
  Added enhancement ID 25. The OOB HTTPD server now returns the
  statistics page to the browser with a metatag asking for a refresh
  in 60 seconds.

  Fixed internal bug ID 507. Third test in MSBench32 fails if
  BlockFetchSize=1 with an access violation. The problem was
  was an uninitialised memory read.

Changes since 0.2.4.0
---------------------

15-Sep-1999
  For Windows, the InstallShield installation has been changed in the
  following ways:

  [1] Internal bug ID 497. An InstallShield summary screen problem. If
      you get to the final summary screen before installing, it shows
      installation type, company name, username, install path etc. If
      you back up at this point and change some of the information,
      the next time you get to the summary screen the new information
      is appended to the existing summary instead of replacing it.

  [2] The Compact setup type now installs the client and server but no
      documentation or examples.

  [3] The summary screen now shows the ports and timeout values
      selected during the install.

  [4] Fixed bug ID 498 where you could fail to uninstall the OOB if:
      [a] you install all of OOB (typical or custom with everything)
      [b] uninstall OOB
      [c] install client-only OOB
      [d] uninstall OOB. Fails with error dialogue containing loads of
          zeros.
      Problem due to leaving the service.ini file in the OOB install
      directory after an uninstall.

  Fixed bug ID 501 - where second press of the test button in the Windows
  OOB DSN setup dialogue would crash the ODBC administrator.


14-Sep-1999
  Internal bug ID 481 - passwords are nolonger sent as clear text over
  the network.

13-Sep-1999
  Enhancement. Currently, the NT OOB Server is multi-threaded and
  starts a new thread for each connection (this is the default). Add a
  flag that configures the server to start a new process to handle
  each connection so that the OOB Server can work with non-thread-safe
  ODBC drivers (Set bit 2 (value 4) in Flags via the HTTP server or the
  registry).

  Fixed internal bug ID 493. When bridging windows->windows there is a
  DM at both ends. When ODBC 2.0 applications call SQLGetTypeInfo for
  the SQL_TIMESTAMP type the DM at the client end converts this to
  SQL_TYPE_TIMESTAMP and then the DM at the server end returns an
  error for unrecognised type. I think this may be a possible bug in
  the DM which is not expecting there to be 2 driver managers in the
  chain. The OOB server now spots the ODBC 2.0 application and
  converts the ODBC 3.0 types back to ODBC 2.0 types for
  (SQL_TIMESTAMP, SQL_DATE and SQL_TIME).

10-Sep-1999

  Fixed internal bug ID 491. The OOB client failed to send the NUL character
  at the end of a bound SQL_C_CHAR parameter where the application failed
  to set the *IndicatorPtr.

9-Sep-1999
  Add BlockFetchSize field to the Win32 OOB DSN Setup dialogue.

6-Sep-1999
  Added support for the Description DSN attribute used in SQLDataSources
  and unixODBC.

4-Sep-1999

  Added support for Perl DBD::ODBC 0.21 which now expects a Driver
  Manager below it and so SQLDataSources/SQLDrivers APIs had to be
  added to OOB. For SQLDataSources System DSNs in non-Windows are
  currently those defined in /etc/odbc.ini.

3-Sep-1999
  Fixed bug in Sun examples Makefile where the library path to libesrpc.so
  was not included (external bug ID 13).

  Completed the second pass at an HTTP server for the Windows version
  of the OOB Server. This can be used to view statistics, current
  configuration and get a list of DSNs. You can now also change OOB
  Server configurable parameters via the web browser. By default, the
  OOB Server listens on port 8890 for HTTP requests from your browser
  although the port may be changed.  Use the URL
  http://machine_where_OOB_Server_installed:8890/. Currently changes
  to some of the configurable parameters are picked up on the next
  connection but some like the port numbers require the OOB Server to
  be restarted (this cannot currently be achieved from a browser but
  will be in a future release).

31-Aug-1999

  Fixed bug ID 454 where some system calls in the network socket layer
  were not handling EINTR correctly. This was brought to our attention
  by a beta tester on Linux who was using a thread library that made use
  of SIGALRM. At the same time added checks for exceptions on Windows sockets
  as an aid to seeing if the OOB client has gone away unexpectedly.

  Fixed external bug ID 21 - problems when application linked with OOB
  uses syslog. Removed the openlog(8) call from the network layer and
  fell back on simple file based logging/tracing.

19-Aug-1999

  Added a new DSN attribute call "MetaData_ID_Identifier" for
  applications that assume SQL_ATTR_METADATA_ID is set to SQL_TRUE by
  default (it is not).  Without this such applications going to ODBC
  3.0 drivers will not quote special characters in the metadata call
  (e.g. _) and they will fail. Applixware's AXData does this. If
  "MetaData_ID_Identifier" is set to 1 in the DSN then the OOB client
  will ensure that SQLSetStmtAttr get calls with SQL_ATTR_METADATA_ID
  to set it to SQL_TRUE and then strings in metadata calls are treated
  as literals.

  Changed the algorithm for bound parameters to send them all to the
  server in one go. This really speeds up applications making alot of
  use of bound parameters like MS Access which binds 10 parameters for
  each key.

12-Aug-1999
  Change the low level network layer to bump up the size of socket
  buffers if they are very small.

  If an OS defines MSG_WAITALL then use it in some socket receives as it
  calling recv multiple times.

  Added missing support for SQL_C_BINARY in Block-Fetch-mode.

11-Aug-1999
  Add support for the SQL type SQL_UNKNOWN_TYPE.

10-Aug-1999
  Speeded up Metadata functions in many cases where the application
  retrieves more than 60% of the columns in the result set by automatically
  turning on block-fetch-mode internally.

9-Aug-1999
  Fixed internal bug ID 426 where in Block-Fetch-Mode the returned
  StrLen_or_IndPtr value for for dates, times and timestamps was not
  set.

6-Aug-1999
  Changed the arguments to LogonUser in Windows from
  LOGON32_LOGON_INTERACTIVE to use LOGON32_LOGON_BATCH which does not
  cache credentials and is generally faster and more appropriate for a
  client/server system.

4-Aug-1999
  Changed the UNIX installation to add specific support for unixODBC.
  You can now add the OOB driver into unixODBC as a registered driver
  during the install.

2-Aug-1999
  Changed the installation for Linux so that:

  [1] it checks the version of OOB being installed is compatible with the
      version of libc on the machine.
  [2] Checks that the minimum libc requirement for the current kernel
      is installed.
  [3] Outputs warnings for some older and development kernels.

27-Jul-1999
  Added very basic context-sensitive help to the OOB client setup DLL.

  Made the Transport and Port fields in the ODBC Administrator, OOB
  client DSN setup DLL start with "TCP/IP" and "8888".

  Completed the first pass at an HTTP server for the Windows version
  of the OOB Server. This can be used to view statistics, current
  configuration and get a list of DSNs.

26-Jul-1999
  Tested Rexx/SQL out through OOB. Rexx/SQL 2.4beta gets configuration
  support for OOB.

  Fixed internal bug ID 361. OOB client attempts to avoid passing
  bound parameters if there are no parameters in the statement by
  checking with the driver how many parameters there are in the
  statement. This is OK for SQLPreparep/SQLExecute but doesn't work
  for SQLExecDirect.

  Fixed internal bug ID 384. Dynamic linker configuration for Linux is
  done at the end of the install which is too late if the installer
  opts to not install the inetd and service configuration.

23-July-1999
  New splash screen in Windows install.

  Added "Path" registry entry which is the installation path on Windows.

21-July-1999
  Fixed internal bug ID 374 where reinstalling OOB on Linux adds
  entries to ld.so.conf which already exist.

19-July-1999
  Sent the Makefile.PL.patch patch to Jeff Urlwin for inclusion in the
  next Perl DBD::ODBC.

  Added code to the Windows OOB Server to gather connection
  statistics.

16-July-1999
  OOB now fully supports ODBC 3.0 (and 2.0) fixed length and variable
  length bookmarks. There is also a configurable parameter which may
  is DSN specific called MaxBookmarkSize (default is 32 bytes)
  although I doubt anyone will need it.

  Added support for SQLSetScrollOptions and SQLGetStmtOption.

15-July-1999
  Fixed internal bug ID 379 - OOB returns one character too many for
  SQL_C_BINARY columns although the length returned is OK.

14-July-1999
  Fixed internal bug ID 377 - bound columns in multiple active statements
  can fail to return data.

13-July-1999
  Fixed internal bug IDs 373 and 375 - the install script was broken in the
  last the release in terms of detecting a service name already in use and
  the server startup script was created containing an incorrect cd command.
 
7-July-1999
  Added new DSN attribute MaxBookMarkSize. This may be specified per DSN
  and defines the largest bookmark (in bytes) that OOB can support.
  In ODBC 2.0 bookmarks were fixed length at 4 bytes but in ODBC 3.0
  all bookmarks are variable length. This currently defaults to 32 which
  should be large enough for all the drivers I've come across so far.

1-July-1999
  Added the missing ODBC API, SQLAllocHandleStd. If an ODBC application
  is compiled with ODBC_STD defined then SQLAllocEnv and SQLAllocHandle
  are defined in terms of SQLAllocHandleStd.

30-June-1999
  Changed the shortcut to the OOB server in Windows 95 to start the server
  minimised.

  Fixed internal bug ID 347 - problem in supporting ODBC 2.0 applications
  going to an ODBC 3.0 driver.  ODBC states changed from 2 -> 3. In 2 you
  could call SQLDescribeParam AFTER SQLExecute/SQLExecDirect but in ODBC 3.0
  you cannot. As a result we have to turn SQLExecDirect into a SQLPrepare,
  retrieve and cache the parameter info, and then a SQLExecute. The problem
  was that a call send the parameters came before all this ODBC 2.0 stuff
  when not even the SQLPrepare had been called.

Changes since 0.2.2.0
---------------------

18-June-1999
  Completed code in NT/Win95 server which ensures that if clients unexpectedly
  disconnect (e.g. if they are killed) the thread in the server is destroyed
  and memory/handles etc are cleaned up.

16-June-1999
  Added support for inactivity timeout in NT/Win95 Server. Currently the
  timeout value is held in the registry but there will be a little GUI
  application to allow server settings to be changed.

13-June-1999
  Solaris version of the OOB now available.

10-June-1999
  Added /etc/odbc.ini to the list of files searched for DSNs. This
  file is only examined if noneof the other sources for DSNs is
  found. The search now becomes:

  ODBCINI->./odbc.ini->./.odbc.ini->~/odbc.ini->~/.odbc.ini->/etc/odbc.ini

3-June-1999
  Updated the Windows network layer to output slightly more helpful text
  for errors instead of just the error number.

1-June-1999

  The Windows OOB server startup mechanism has been substantially
  rewritten.  Previously, installing the OOB server on NT would add a
  serice (the Easysoft SuperServer) which listened on a port and when
  a client process connected the service would fire off the
  esoobserver process to handle the client. This had a number of
  disadvantages the worst being the terrible process creation times in
  NT which lead to slow connection times and the fact that this method
  won't work in Windows 95. This was particularly noticeable when
  running the OOB from a web server which may make hundreds of
  connections per hour.

  We have removed the Easysoft SuperServer altogether and made the OOB
  server multi-threaded. In this way, when a client connects to the
  server the server simply starts a new thread which is much
  quicker. On NT the OOB server is still a service run from the
  Service Manager. An additional advantage is that the OOB Server now
  also works on Windows 95 and so this is the first beta supporting
  Windows 95. You should however note that Easysoft do not see Windows
  95 as a server platform and it is supported so that users can get
  occasional access to MS Access databases (and others).

25-May-1999
  Allow a service name to be specified for the Port number in the odbc.ini
  file. e.g. Port = esoobserver instead of Port = 8888.

10-May-1999
  Fixed internal bug IDs 284 and 285. Can't use SQL_INTERVAL and
  SQL_NUMERIC bound parameters.

6-May-1999
  test_ini_dsns example updated to include BlockFetchSize attribute.

5-May-1999
  Internal bug ID 279 fixed - bug in AIX version of OOB which failed
  to export get_next_dsn.

  Internal bug ID 280 fixed - bug in get_next_dsn() which caused it to
  ignore the first DSN in the odbc.ini file.

  Incorrect odbc.ini in the examples directory - change TargetDSN from
  "demo" to "pubs".

4-May-1999
  Some speed enhancements to the underlying RPC layer.

29-April-1999
  Added a very basic FAQ to the docs directory.

28-April-1999

  Changed the client so that it is composed of libesoobclient, libesrpc,
  libessupport and libesdate shared objects which were previously built
  in to the OOB client. This is preparation for other Easysoft products
  which use these shared objects.

nn-April-1999

  Added an alpha block-fetch mode enabled from the odbc.ini by adding
  BlockFetchSize=n where 0<=n<=100 and n=0 means block-fetch mode turned
  off. Block-fetch mode binds buffers to all the columns in a result-set
  and sets the RowArraySize (RowSetSize) to BlockFetchSize. In this way
  n rows of data may be retrieved at a time and you see a massive speed
  increase if the application just retrieves data using looping
  SQLFetch/SQLGetData calls. However this is only achieved by doing the
  data conversion at the client end and obviously will not work if the
  application does positioned updates/deletes, uses cursors to has bound
  columns itself. Once we are happier with block-fetch mode there will
  be some further documentation on the caveats but until then the
  default is BlockFetchSize = 0. Note that this currently does NOT work
  with MS SQLServer due to the MS SQLServer ODBC driver not returning the
  RowsFetched unless in ODBC 3.0 mode.

  OOB now works with mxODBC, the Python ODBC interface.

  The default installation directory is now /usr/local/easysoft/oob
  and if a different path is specified the OOB is installed in
  the "oob" subdirectory beneath that.

21-April-1999

  Introduced some compression of data sent between the OOB client and
  server. Although this does not make this version incompatible with
  previous versions other changes since 0.2.2.0 do.

19-April-1999
  Fixed internal bug ID 255 in OOB Server where calls to SQLFetchScroll
  by the application were turned into calls to SQLFetch with the
  remainder of the arguments ignored.

15-April-1999
  Enhancement 251. Added ~ to the list of paths now searched for the
  odbc.ini and .odbc.ini file.

  Fixed internal bug ID 250 where OOB caused a function sequence error
  to occur in the driver if a call to SQLExecute/SQLExecDirect returned
  SQL_NEED_DATA. This was caused by calling SQLDescribeCol in the OOB
  server too soon (i.e. not after SQLParamData returns successfully).

14-April-1999

  Fixed internal bug ID 249 where OOB may attempt to send bound
  parameter data if there are bound parameters even if there are no
  parameters in the SQL.

12-April-1999

  Fixed internal bug ID 245 where OOB can return SQL_NO_DATA from
  SQLError even if there are diagnostics available. This only happened
  when SQLError was previously called but not repeatedly called until
  returning SQL_NO_DATA. This bug was shown up by mxODBC - the python
  interface to ODBC which only calls SQLError once for each error
  return.

2-April-1999

  Fixed internal bug ID 238 where OOB incorrectly treats RowSetSize
  (SQL_ROWSET_SIZE) as a synonym for SQL_ATTR_ROW_ARRAY_SIZE. This only
  applies to SQLExtendedFetch.

1-April-1999
  Fixed internal report 237. Passing NULL for RowCountPtr or
  RowStatusArray in SQLExtendedFetch may cause a core dump.

25-Mar-1999
  Fixed internal bug ID 221 where the second call to SQLFetch(xyz) may
  fail if there are bound columns and SQLFreeStmt(SQL_UNBIND) called
  after each SQLExecute.

  Fixed internal bug ID 219 where errors were posted twice if the OOB
  server is linked with the OOB client.

24-Mar-1999

  Fixed internal bug ID 218 where SQLGetDiagRec failed to set the
  internal MessageText length for diagnostics held in server diagnostic
  records and could therefore return rubbish for string fields.

  Fixed internal bug ID 217 where SQLPrepare in the OOB client may fail
  to add one to the RPC length if the TextLength argument is SQL_NTS.
  This required a change to the RPC definitions which makes the new OOB
  client and server incompatible with previous betas.

19-Mar-1999
  Fixed internal bug IDs 193 and 199 where arguments to SQLTables and
  SQLColumns may not be replicated at the OOB server correctly. e.g.
  SQLTables("%", 1, "", 0, "", 0, "", 0) became
  SQLTables("%",1, NULL,0, NULL,0, NULL,0). i.e. empty strings were
  translated to NULL.

Changes since 0.2.0.0
---------------------

17-March-1999
  Added a workaround for Applixware's AXData program which quotes table
  names with spaces in them for the call to SQLColumns. Add 
  Unquote_Catalog_Fns = 1 to odbc.ini file in the DSN section.

15-March-1999
  Added a simple demo (demo.c in the examples directory) which connects to
  demo.easysoft.com and retrieves data from MS SQLServer running there.

10-March-1999
  Fixed internal bug ID 191. Cannot connect from Impromptu through OOB to
  MS SQLServer due to failure to decrypt password properly.

9-March-1999
  Made the OOB look for .odbc.ini and ODBCINI environment variable as well as
  odbc.ini - order is ODBCINI->odbc.ini->.odbc.ini.

5-March-1999
  Added support for iODBC-2.12 and SuSE's Office Suite 99. see the file
  SuSE_Office_Suite_99.

4-March-1999
  Added support for iODBC-2.50 from the FreeODBC project. Only minor changes
  to avoid name space clashes.
