node-oracledb/CHANGELOG.md

314 lines
11 KiB
Markdown

# Change Log
## node-oracledb v1.9.0 (DD Mon YYYY)
## node-oracledb v1.8.0 (24 Mar 2016)
- Added `connection.queryStream()` for returning query results using a
Node Readable Stream (Sagie Gur-Ari).
- Connection strings requesting DRCP server can now only be used with
a node-oracledb connection pool. They will give *ORA-56609* when
used with `oracledb.getConnection()`.
- Set the internal driver name to `node-oracledb : 1.8.0`. This is
visible to DBAs, for example in `V$SESSION_CONNECT_INFO`.
- Added up-time to pool queue statistics.
- Fixed creation of Windows debug builds.
- Bumped NAN dependency to NAN 2.2.
- Added .editorconfig file (Sagie Gur-Ari).
- Improved test date and time checks (Antonio Bustos).
- Improved some parameter checks for `maxArraySize` and `maxSize`.
## node-oracledb v1.7.1 (1 Mar 2016)
- Made public methods overwritable in new JavaScript layer
## node-oracledb v1.7.0 (29 Feb 2016)
- Added a JavaScript wrapper around the C++ API to allow for easier
extension.
- Added a connection pool queue configured with `queueRequests` and
`queueTimeout` attributes. The queue is enabled by default.
- Added connection pool option attribute `_enableStats` and method
`pool._logStats()` to display pool and queue statistics. Note: these may
change in future.
- Added "bind by position" syntax for PL/SQL Index-by array binds (Dieter Oberkofler).
- Allowed node-oracledb class instances to be tested with 'instanceof'.
- Fixed some bind issues when bind values are not set by the database.
- Replaced internal usage of `info.This()` with `info.Holder()` for Node.js 0.10.
- Fixed some compilation warnings with some Windows compilers.
## node-oracledb v1.6.0 (30 Jan 2016)
- Added support for binding PL/SQL Collection Associative Array
(Index-by) types containing numbers and strings (Dieter Oberkofler).
- Fixed a LOB problem causing an uncaught error to be generated.
- Removed the 'close' event that was incorrectly emitted for LOB Writable
Streams. The Node.js Streams documentation specifies it only for
Readable Streams.
- Updated the LOB examples to show connection release.
- Updated README so first-time users see pre-requisites earlier.
- Extended the OS X install instructions with a way to install that doesn't
need root access for Instant Client 11.2 on El Capitan.
- Added RPATH link option when building on OS X in preparation for future client.
- README updates (Kevin Sheedy)
## node-oracledb v1.5.0 (21 Dec 2015)
- Treat Oracle Database 'Success With Info' warnings as success (Francisco Trevino).
- Extend rollback-on-connection-release with 11g Oracle Clients to occur for all non-query executions. (Not needed with 12c clients).
- Updated OS X install instructions to work on El Capitan.
- Display an error and prevent connection release while database calls are in progress.
- Fixed intermittent crash while selecting data from CLOB column.
- Fixed crash when trying to set invalid values for connection properties.
## node-oracledb v1.4.0 (17 Nov 2015)
- Upgraded NAN dependency to version 2 allowing node-oracledb to build
with Node 0.10, 0.12, 4 and 5 (Richard Natal). Note: a compiler supporting C++11 is required to build with Node 4 and 5.
- Fixed a cursor leak when statement execution fails.
- Fixed a crash when accessing Pool properties on Windows.
- Added a run-script 'testWindows' target for Windows testing. See [test/README.md](test/README.md)
- Fixed compilation warnings with recent compilers.
## node-oracledb v1.3.0 (15 Oct 2015)
- Added a `oracledb.oracleClientVersion` property giving the version of the Oracle
client library, and a `connection.oracleServerVersion` property giving the Oracle
Database version.
- Fixed `result.outBinds` corruption after PL/SQL execution.
- Fixed null output from DML RETURNING with Oracle Database 11.2 when the string is of size 4000.
- Fixed default bind direction to be `BIND_IN`.
## node-oracledb v1.2.0 (25 Sep 2015)
- Added support for RAW data type (Bruno Jouhier).
- Added a `type` property to the Lob class to distinguish CLOB and BLOB types.
- Changed write-only attributes of Connection objects to work with `console.log()`. Note the attribute values will show as `null`. Refer to the documentation.
- Added a check to make sure `maxRows` is greater than zero for non-ResultSet queries.
- Improved installer messages for Oracle client header and library detection on Linux, OS X and Solaris.
- Optimized CLOB memory allocation to account for different database-to-client character set expansions.
- Fixed a crash while reading a LOB from a closed connection.
- Fixed a crash when selecting multiple rows with LOB values (Bruno Jouhier).
- Corrected the order of Stream 'end' and 'close' events when reading a LOB (Bruno Jouhier).
- Fixed AIX-specific REF CURSOR related failures.
- Fixed intermittent crash while setting `fetchAsString`, and incorrect output while reading the value.
- Added a check to return an NJS error when an invalid DML RETURN statement does not give an ORA error.
- Removed non-portable memory allocation for queries that return NULL.
- Fixed encoding issues with several files that caused compilation warnings in some Windows environments.
- Made installation halt sooner for Node.js versions currently known to be unusable.
- Fixed a typo in `examples/dbmsoutputgetline.js`
- Windows install instruction updates (Bill Christo)
## node-oracledb v1.1.0 (3 Sep 2015)
- Enhanced pool.release() to drop the session if it is known to be unusable, allowing a new session to be created.
- Optimized query memory allocation to account for different database-to-client character set expansions.
- Fixed build warnings on Windows with VS 2015.
- Fixed truncation issue while fetching numbers as strings.
- Fixed AIX-specific failures with queries and RETURNING INTO clauses.
- Fixed a crash with NULL or uninitialized REF CURSOR OUT bind variables.
- Fixed potential memory leak when connecting throws an error.
- Added a check to throw an error sooner when a CURSOR type is used for IN or IN OUT binds. (Support is pending).
- Temporarily disabling setting lobPrefetchSize
## node-oracledb v1.0.0 (17 Aug 2015)
- Implemented Stream interface for CLOB and BLOB types, adding support for
LOB queries, inserts, and PL/SQL LOB bind variables
- Added `fetchAsString` and `execute()` option `fetchInfo` properties to allow numbers, dates and ROWIDs to be fetched as strings.
- Added support for binding DATE, TIMESTAMP and TIMESTAMP WITH LOCAL TIME ZONE as `DATE` to DML RETURNING (aka RETURNING INTO) `type`.
- The internal Oracle client character set is now always set to AL32UTF8.
- The test suite and example scripts database credentials can now be set via environment variables.
- Fixed issues with database-to-client character set conversion by allocating extra memory to allow for character expansion.
- Fixed a crash with `ResultSet` and unsupported column data types.
- Fixed a crash allocating memory for large `maxRows` values.
- Fixed a bug preventing closing of a `ResultSet` when `getRow()` or `getRows()` returned an error.
- Fixed date precision issues affecting insert and query.
- Fixed `BIND_OUT` bind `type` not defaulting to `STRING`.
- Fixed INSERT of a date when the SQL has a RETURNING INTO clause and the bind style is array format.
- Improved RETURNING INTO handling of unsupported types and sizes.
- Correctly throw an error when array and named bind syntaxes are mixed together.
## node-oracledb v0.7.0 (20 Jul 2015)
- Added result set support for fetching large data sets.
- Added REF CURSOR support for returning query results from PL/SQL.
- Added row prefetching support.
- Added a test suite.
- Fixed error handling for SQL statements using RETURNING INTO.
- Fixed INSERT of a date when the SQL has a RETURNING INTO clause.
- Renumbered the values used by the Oracledb Constants.
## node-oracledb v0.6.0 (26 May 2015)
- Node-oracledb now builds with Node.js 0.10, Node.js 0.12 and io.js (Richard Natal).
- Fixed naming of `autoCommit` in examples.
## node-oracledb v0.5.0 (5 May 2015)
- Changed the `isAutoCommit` attribute name to `autoCommit`.
- Changed the `isExternalAuth` attribute name to `externalAuth`.
- Fixed `outBinds` array counting to not give empty array entries for IN binds.
- Added support for DML RETURNING bind variables.
- Rectified the error message for invalid type properties.
## node-oracledb v0.4.2 (28 Mar 2015)
- node-oracledb is now officially installable from https://www.npmjs.com/package/oracledb (Tim Branyen)
- Added metadata support. Query column names are now provided in the `execute()` callback result object.
- Require a more recent version of Node.js 0.10.
- Changed the default Instant Client directory on AIX from /opt/oracle/instantclient_12_1 to /opt/oracle/instantclient.
## node-oracledb v0.4.1 (13 Mar 2015)
- Added support for External Authentication.
- The `isAutoCommit` flags now works with query execution. This is useful in cases where multiple DML statements are executed followed by a SELECT statement. This can be used to avoid a round trip to the database that an explicit call to `commit()` would add.
- Added AIX build support to package.json (Hannes Prirschl).
- Improved errors messages when setting out of range property values.
- Fixed a bug: When `terminate()` of a connection pool fails because connections have not yet been closed, subsequent use of `release()` to close those connections no longer gives an error "ORA-24550: Signal Received".
- Some code refactoring (Krishna Narasimhan).
## node-oracledb v0.3.1 (16 Feb 2015)
- Added Windows build configuration (Rinie Kervel).
- Added Database Resident Connection Pooling (DRCP) support.
- Made an explicit connection `release()` do a rollback, to be consistent with the implicit release behavior.
- Made install on Linux look for Oracle libraries in a search order.
- Added RPATH support on Linux.
- Changed default Oracle Instant client paths to /opt/oracle/instantclient and C:\oracle\instantclient
- Added a compile error message "Oracle 11.2 or later client libraries are required for building" if attempting to build with older Oracle client libraries.
- Fixed setting the `isAutoCommit` property.
- Fixed a crash using pooled connections on Windows.
- Fixed a crash querying object types.
- Fixed a crash doing a release after a failed terminate. (The Pool is still unusable - this will be fixed later)
## node-oracledb v0.2.4 (20 Jan 2015 - initial release)
**Initial Features include**:
- SQL and PL/SQL Execution
- Binding using JavaScript objects or arrays
- Query results as JavaScript objects or array
- Conversion between JavaScript and Oracle types
- Transaction Management
- Connection Pooling
- Statement Caching
- Client Result Caching
- End-to-end tracing
- High Availability Features
- Fast Application Notification (FAN)
- Runtime Load Balancing (RLB)
- Transparent Application Failover (TAF)