|
4 | 4 |
|
5 | 5 | **This release is under development**
|
6 | 6 |
|
7 |
| -- Added a |
8 |
| - [`oracledb.initOracleClient()`](https://oracle.github.io/node-oracledb/doc/api.html#odbinitoracleclient) |
9 |
| - function to specify the directory that the Oracle Client libraries and |
10 |
| - optional configuration files should be located from, and to specify other |
11 |
| - configuration values, see [Initializing |
12 |
| - Node-oracledb](https://oracle.github.io/node-oracledb/doc/api.html#initnodeoracledb). |
| 7 | +- Stated compatibility is now for Node.js 10.16+, 12 and 14. |
| 8 | + |
| 9 | +- Installation Changes: |
| 10 | + |
| 11 | + - Added a |
| 12 | + [`oracledb.initOracleClient()`](https://oracle.github.io/node-oracledb/doc/api.html#odbinitoracleclient) |
| 13 | + function to specify the directories that the Oracle Client libraries and |
| 14 | + optional Oracle configuration files are in, and to specify other |
| 15 | + configuration values, see [Initializing |
| 16 | + Node-oracledb](https://oracle.github.io/node-oracledb/doc/api.html#initnodeoracledb). |
| 17 | + |
| 18 | + - macOS Instant Client installation instructions have necessarily changed to |
| 19 | + work with recent Node.js versions. Instant Client libraries in `~/lib` |
| 20 | + will no longer be used. See |
| 21 | + [INSTALL](https://oracle.github.io/node-oracledb/INSTALL.html#instosx). |
| 22 | + |
| 23 | + - Fixed how the module binary is found when using Webpack. |
| 24 | + |
| 25 | + Webpack users should copy the node-oracledb binary into a sub-directory of |
| 26 | + the output directory. For example if the output directory is `dist`, then |
| 27 | + the binary should be in |
| 28 | + `dist/node_modules/oracledb/build/Release/oracledb-5.0.0-linux-x64.node`. |
| 29 | + A copy plugin in `webpack.config.js` can do this by copying |
| 30 | + `node_modules/oracledb/build` to a directory of that same name. See |
| 31 | + [Issue 1156](https://github.com/oracle/node-oracledb/issues/1156). |
| 32 | + |
| 33 | + - Updated [Docker installation |
| 34 | + documentation](https://oracle.github.io/node-oracledb/INSTALL.html#docker) |
| 35 | + for changes to the Node.js image ([Issue #1201](https://github.com/oracle/node-oracledb/issues/1201)). |
| 36 | + |
| 37 | + - Removed use of git in `package/buildpackage.js` making offline builds cleaner |
| 38 | + for self-hosting node-oracledb. |
| 39 | + |
| 40 | +- Connection Pool changes: |
| 41 | + |
| 42 | + - Added |
| 43 | + [`oracledb.queueMax`](https://oracle.github.io/node-oracledb/doc/api.html#propdbqueuemax) |
| 44 | + and equivalent `createPool()` option attribute |
| 45 | + [`queueMax`](https://oracle.github.io/node-oracledb/doc/api.html#createpoolpoolattrsqueuemax) |
| 46 | + to limit the number of pending `pool.getConnection()` calls in the pool |
| 47 | + queue ([Issue #514](https://github.com/oracle/node-oracledb/issues/514)). |
| 48 | + |
| 49 | + - Made an internal change to use an Oracle Client 20 Session Pool feature |
| 50 | + allowing node-oracledb connection pools to shrink to `poolMin` even when |
| 51 | + there is no pool activity. |
| 52 | + |
| 53 | +- Added support for queries containing cursor expressions that return [nested |
| 54 | + cursors](https://oracle.github.io/node-oracledb/doc/api.html#nestedcursors). |
13 | 55 |
|
14 | 56 | - Added database instance startup and shutdown functions
|
15 | 57 | [`oracledb.startup()`](https://oracle.github.io/node-oracledb/doc/api.html#odbstartup),
|
|
23 | 65 | to allow preliminary database connections, such as required when starting a
|
24 | 66 | database.
|
25 | 67 |
|
26 |
| -- Added support for queries containing cursor expressions that return [nested |
27 |
| - cursors](https://oracle.github.io/node-oracledb/doc/api.html#nestedcursors). |
28 |
| - |
29 | 68 | - Added support for PL/SQL Collection Associative Arrays "index-by tables" of
|
30 | 69 | the following types: `oracledb.DB_TYPE_NVARCHAR`, `oracledb.DB_TYPE_CHAR`,
|
31 | 70 | `oracledb.DB_TYPE_NCHAR`, `oracledb.DB_TYPE_BINARY_FLOAT`,
|
32 | 71 | `oracledb.DB_TYPE_BINARY_DOUBLE`, `oracledb.DB_TYPE_DATE`,
|
33 | 72 | `oracledb.DB_TYPE_TIMESTAMP`, `oracledb.DB_TYPE_TIMESTAMP_LTZ`,
|
34 | 73 | `oracledb.DB_TYPE_TIMESTAMP_TZ` and `oracledb.DB_TYPE_RAW`.
|
35 | 74 |
|
36 |
| -- Connection Pool changes: |
37 |
| - |
38 |
| - - Added |
39 |
| - [`oracledb.queueMax`](https://oracle.github.io/node-oracledb/doc/api.html#propdbqueuemax) |
40 |
| - and equivalent `createPool()` attributes to limit the number of pending |
41 |
| - `pool.getConnection()` calls in the pool queue ([Issue #514](https://github.com/oracle/node-oracledb/issues/514)). |
42 |
| - |
43 |
| - - Made an internal change to use an Oracle Client 20 Session Pool feature |
44 |
| - allowing node-oracledb connection pools to shrink to `poolMin` even when |
45 |
| - there is no pool activity. |
| 75 | +- Refactored the module's JavaScript code layer to use async/await. |
46 | 76 |
|
47 | 77 | - Removed support for custom Promise libraries. Use the native Node.js Promise
|
48 | 78 | implementation instead. This change was necessitated by the refactored
|
49 | 79 | JavaScript implementation.
|
50 | 80 |
|
51 |
| -- Refactored the module's JavaScript code layer to use async/await. |
52 |
| - |
53 | 81 | - NJS-005 and NJS-009 are now passed through the callback (if one is used).
|
54 | 82 |
|
55 |
| -- Stated compatibility is now for Node.js 10.16+, 12 and 14. |
56 |
| - |
57 | 83 | - Fixed a segfault that occurred when binding a database object IN/OUT without
|
58 | 84 | providing the database object class.
|
59 | 85 |
|
60 | 86 | - Fixed OUT binds of type `oracledb.DB_TYPE_DATE`, `oracledb.DB_TYPE_TIMESTAMP`
|
61 | 87 | and `oracledb.DB_TYPE_TIMESTAMP_TZ` to correctly return Dates.
|
62 | 88 |
|
63 |
| -- Updated [Docker installation |
64 |
| - documentation](https://oracle.github.io/node-oracledb/INSTALL.html#docker) for changes |
65 |
| - to the Node.js image ([Issue #1201](https://github.com/oracle/node-oracledb/issues/1201)). |
66 |
| - |
67 | 89 | - [SODA](https://oracle.github.io/node-oracledb/doc/api.html#sodaoverview) changes:
|
68 | 90 |
|
69 | 91 | - The value of `oracledb.fetchArraySize` now tunes SODA `getCursor()` and
|
|
80 | 102 | - Added Oracle Database 20c SODA function
|
81 | 103 | [`sodaCollection.truncate()`](https://oracle.github.io/node-oracledb/doc/api.html#sodacolltruncate).
|
82 | 104 |
|
83 |
| -- Fixed Lob class |
84 |
| - [`lob.type`](https://oracle.github.io/node-oracledb/doc/api.html#proplobtype) |
85 |
| - and |
86 |
| - [`metaData.fetchType`](https://oracle.github.io/node-oracledb/doc/api.html#execmetadata) |
87 |
| - when streaming NCLOB data. They are now `oracledb.NCLOB` instead of |
88 |
| - `oracledb.CLOB`.` |
89 |
| - |
90 |
| -- Fixed `Lob.destroy()` so it does not call the old `Lob.close()` method, which |
91 |
| - emits a duplicate close event. |
| 105 | +- Lob Changes: |
92 | 106 |
|
93 |
| -- Lobs being streamed to are now correctly destroyed on error. |
94 |
| - |
95 |
| -- Removed use of git in `package/buildpackage.js` making offline builds cleaner |
96 |
| - for self-hosted node-oracledb. |
97 |
| - |
98 |
| -- Updated macOS installation instructions and building for recent Node.js |
99 |
| - versions. Oracle's `libclntsh.dylib` needs to in, or symbolically linked to, |
100 |
| - `/usr/local/lib`. Using `~/lib` is no longer possible. See the [installation |
101 |
| - instructions](https://oracle.github.io/node-oracledb/INSTALL.html#instosx). |
102 |
| - This helps resolve the DPI-1047 runtime error `dlopen(libclntsh.dylib, 1): |
103 |
| - image not found` reported on macOS Mojave with Node.js versions 10.20.0, |
104 |
| - 12.16.2, 13.12.0, and later. |
| 107 | + - Fixed Lob class |
| 108 | + [`lob.type`](https://oracle.github.io/node-oracledb/doc/api.html#proplobtype) |
| 109 | + and |
| 110 | + [`metaData.fetchType`](https://oracle.github.io/node-oracledb/doc/api.html#execmetadata) |
| 111 | + when streaming NCLOB data. They are now `oracledb.NCLOB` instead of |
| 112 | + `oracledb.CLOB`. |
105 | 113 |
|
106 |
| -- Fixed how the module binary is found when using Webpack. |
| 114 | + - Fixed `Lob.destroy()` so it does not call the old `Lob.close()` method, which |
| 115 | + emits a duplicate close event. |
107 | 116 |
|
108 |
| - Webpack users should copy the node-oracledb binary into a sub-directory of the |
109 |
| - output directory. For example if the output directory is `dist`, then the |
110 |
| - binary should be in |
111 |
| - `dist/node_modules/oracledb/build/Release/oracledb-5.0.0-linux-x64.node`. A |
112 |
| - copy plugin in `webpack.config.js` can do this by copying |
113 |
| - `node_modules/oracledb/build` to a directory of that same name. See [Issue |
114 |
| - 1156](https://github.com/oracle/node-oracledb/issues/1156). |
| 117 | + - Lobs being streamed to are now correctly destroyed on error. |
115 | 118 |
|
116 | 119 | - Made an internal change to use an Oracle Client 20 feature to avoid a
|
117 | 120 | round-trip when accessing
|
118 | 121 | [`oracledb.version`](https://oracle.github.io/node-oracledb/doc/api.html#propdbversion)
|
119 | 122 | for the first time.
|
120 | 123 |
|
121 |
| -- Update examples and documentation to make more use of Node.js 8's Stream |
| 124 | +- Updated examples and documentation to make more use of Node.js 8's Stream |
122 | 125 | `destroy()` method, allowing resources to be freed early.
|
123 | 126 |
|
| 127 | +- Test and documentation improvements. |
| 128 | + |
124 | 129 | ## node-oracledb v4.2.0 (24 Jan 2020)
|
125 | 130 |
|
126 | 131 | - Added support for binding using the node-oracledb [Database Type
|
|
0 commit comments