Skip to content

Commit 2feb5ad

Browse files
committed
Update CHANGELOG and include a cumulative section
1 parent feface1 commit 2feb5ad

File tree

1 file changed

+187
-3
lines changed

1 file changed

+187
-3
lines changed

CHANGELOG.md

Lines changed: 187 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,194 @@
11
# Change Log
22

3-
## node-oracledb v2.0.15 Development (DD Mon YYYY)
3+
## node-oracledb v2.0.15 (15 Dec 2017) changes since node-oracledb version 1
4+
5+
- Release testing is now done for Node.js 4, 6, 8 and 9.
6+
7+
- Node-oracledb now uses the [ODPI-C](https://github.com/oracle/odpi)
8+
database abstraction library.
9+
10+
- Upgraded [NAN](https://github.com/nodejs/nan) build dependency to 2.8.
11+
12+
- Installation has significantly improved. Some pre-built binaries
13+
are available for convenience, or the add-on can be continue to built
14+
from source code. Refer to
15+
[INSTALL.md](https://github.com/oracle/node-oracledb/blob/master/INSTALL.md).
16+
17+
- Added utilities to /package for building binaries for
18+
distribution, and for installing them.
19+
20+
- When building from source code:
21+
- Oracle header files are no longer needed.
22+
- The `OCI_LIB_DIR` and `OCI_INC_DIR` environment variables are not needed.
23+
24+
- A single node-oracledb binary now works with any of the Oracle
25+
11.2, 12.1 or 12.2 clients. This improves portability when the
26+
node-oracledb add-on is copied between machines. Applications
27+
should be tested with their target environment to make sure
28+
expected Oracle functionality is available.
29+
30+
- At run time, users of macOS must put the Oracle client libraries
31+
in `~/lib` or `/usr/local/lib`. Linux users of Instant Client
32+
RPMs must always set `LD_LIBRARY_PATH` or use ldconfig - the
33+
previous RPATH linking option is not available. Other Linux users
34+
should continue to use `LD_LIBRARY_PATH` or ldconfig. Windows
35+
users should continue to put Oracle client libraries in `PATH`.
36+
37+
- On non-Windows platforms, if Oracle client libraries are not
38+
located in the system library search path
39+
(e.g. `LD_LIBRARY_PATH`), then node-oracledb attempts to use
40+
libraries in `$ORACLE_HOME/lib`.
41+
42+
- A new [Troubleshooting
43+
section](https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#troubleshooting)
44+
was add to INSTALL.
45+
46+
- Improvements were made to `require('oracledb')` failure messages
47+
to help users resolve problems.
48+
49+
- Changed the installation message prefix in binding.gyp from
50+
'node-oracledb' to 'oracledb'.
51+
52+
- Improved query handling:
53+
54+
- Enhanced direct fetches to allow an unlimited number of rows to be
55+
fetched. This occurs when `oracledb.maxRows = 0`
56+
57+
- Changed the default value of `oracledb.maxRows` to 0, meaning
58+
unlimited.
59+
60+
- Replaced `prefetchRows` (used for internal fetch buffering and
61+
tuning) with a new property `fetchArraySize`. This affects direct
62+
fetches, ResultSet `getRow()` and `queryStream()`.
63+
64+
- `getRows(numRows,...)` internal fetch buffering is now only tuned
65+
by the `numRows` value.
66+
67+
- Implemented `getRow()` in JavaScript for better performance.
68+
69+
- Tightened up checking on in-use ResultSets and Lobs to avoid leaks
70+
and threading issues by making sure the application has closed them
71+
before connections can be closed. The error DPI-1054 may now be
72+
seen if connections are attempted to be closed too early.
73+
74+
- Added support for fetching columns types LONG (as String) and LONG
75+
RAW (as Buffer). There is no support for streaming these types, so
76+
the value stored in the database may not be able to be completely
77+
fetched if Node.js and V8 memory limits are reached.
78+
79+
- Added support for TIMESTAMP WITH TIME ZONE date type. These are
80+
mapped to a Date object in node-oracledb using LOCAL TIME ZONE.
81+
The TIME ZONE component is not available in the Date object.
82+
83+
- Added support for ROWID data type. Data is fetched as a String.
84+
85+
- Added support for UROWID data type. Data is fetched as a String.
86+
87+
- Added query support for NCHAR and NVARCHAR2 columns. Note binding
88+
these types for DML may not insert data correctly, depending on the
89+
database character set and the database national character set.
90+
91+
- Added query support for NCLOB columns. NCLOB data can be streamed
92+
or fetched as String. Note binding NCLOB for DML may not insert
93+
data correctly, depending on the database character set and the
94+
database national character set.
95+
96+
- Removed node-oracledb size restrictions on LOB `fetchAsString` and
97+
`fetchAsBuffer` queries, and also on LOB binds. Node.js memory
98+
restrictions will still prevent large LOBs being manipulated in
99+
single chunks.
100+
101+
- In LOB binds, the bind `val` can now be a String when `type` is
102+
CLOB, and `val` can now be a Buffer when `type` is BLOB.
103+
104+
- Improved validation for invalid attribute and parameter values.
105+
106+
- The error parameter of function callbacks is now always null if no
107+
error occurred.
108+
109+
- Database error messages no longer have an extra newline.
110+
111+
- Statements that generate errors are now dropped from the statement
112+
cache. Applications running while table definitions change will no
113+
longer end up with unusable SQL statements due to stale cache
114+
entries. Note that Oracle best-practice is never to change table
115+
definitions while applications are executing.
116+
117+
- Prevent use of NaN with Oracle numbers to avoid data corruption.
118+
119+
- For LOB streaming, make sure 'close' is the very last event, and
120+
doesn't occur before an 'error' event.
121+
122+
- Fix duplicate 'close' event for error conditions when streaming LOBs
123+
in Node 8.
124+
125+
- `connection.createLob()` now uses Oracle Call Interface's (OCI)
126+
underlying 'cache' mode.
127+
128+
- `Lob.close()` now marks LOBs invalid immediately rather than during
129+
the asynchronous portion of the `close()` method, so that all other
130+
attempts are no-ops.
131+
132+
- Relaxed the restriction preventing `oracledb.connnectionClass` being
133+
used with dedicated connections; it previously gave ORA-56609. Now
134+
DRCP can now be used with dedicated connections but the
135+
`CLIENT_DRIVER` value in `V$SESSION_CONNECT_INFO` will not be set in
136+
this case. The recommendation is still to use a session pool when
137+
using DRCP.
138+
139+
- Fixed a crash with LOB out binds in DML RETURNING statements when the
140+
number of rows returned exceeds the number of rows originally
141+
allocated internally.
142+
143+
- Empty arrays can now be used in PL/SQL Collection Associative Array
144+
(Index-by) binds.
145+
146+
- Some NJS and DPI error messages and numbers have changed. This is
147+
particularly true of DPI errors due to the use of ODPI-C.
148+
149+
- Many new tests have been created.
150+
151+
- Updated examples for new functionality.
152+
153+
- Documentation has been updated and improved.
154+
155+
## node-oracledb v2.0.15 (15 Dec 2017)
156+
157+
- The stated compatibility is now for Node.js 4, 6, 8 and 9.
158+
159+
- Improved query handling:
160+
161+
- Enhanced direct fetches to allow an unlimited number of rows to be
162+
fetched. This occurs when `oracledb.maxRows = 0`
163+
164+
- Changed the default value of `oracledb.maxRows` to 0, meaning
165+
unlimited.
166+
167+
- Replaced `prefetchRows` (used for internal fetch buffering and
168+
tuning) with a new property `fetchArraySize`. This affects direct
169+
fetches, ResultSet `getRow()` and `queryStream()`.
170+
171+
- `getRows(numRows,...)` internal fetch buffering is now only tuned
172+
by the `numRows` value.
173+
174+
- Implemented `getRow()` in JavaScript for better performance.
175+
176+
- Moved operations on REF CURSORS out of the main thread in order to
177+
improve performance and memory usage.
178+
179+
- Fixed proxy support in the binary installer.
180+
181+
- Ensured the callback error parameter is null, not undefined, when no
182+
error occurred.
183+
184+
- Improvements were made to `require('oracledb')` failure messages to
185+
help users resolve installation and usage problems.
186+
187+
- Fixed compiler deprecation warnings regarding `Nan::ForceSet`.
4188

5189
## node-oracledb v2.0.14 Development (20 Nov 2017)
6190

7-
- Added infrastructure to /packge for creating binary installs.
191+
- Added infrastructure to /package for creating binary installs.
8192
Updated INSTALL.md.
9193

10194
- Improved validation for invalid attribute and parameter values.
@@ -47,7 +231,7 @@
47231

48232
- Make sure 'close' is the very last event, and doesn't occur before
49233
an 'error' event. Also emit 'close' after 'error' event for
50-
`querystream()`
234+
`queryStream()`
51235

52236
- Changed default sample connect string to `"localhost/orclpdb"` which
53237
is the Oracle Database 12.2 default for pluggable databases.

0 commit comments

Comments
 (0)