Skip to content

Commit 9e114d3

Browse files
committed
Final Doc updates for 7.0.0 release
1 parent b445c1f commit 9e114d3

13 files changed

Lines changed: 240 additions & 140 deletions

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
# node-oracledb version 7.0.0-dev <img src="https://img.shields.io/npm/v/oracledb.svg" alt="oracledb"/> <img src="https://img.shields.io/npm/dm/oracledb.svg" alt="oracledb"/>
2-
3-
**This release is under development and information may be incomplete**
1+
# node-oracledb version 7.0.0 <img src="https://img.shields.io/npm/v/oracledb.svg" alt="oracledb"/> <img src="https://img.shields.io/npm/dm/oracledb.svg" alt="oracledb"/>
42

53
The node-oracledb add-on for Node.js powers high performance Oracle Database
64
applications. Applications can be written in TypeScript, or directly in
75
JavaScript.
86

9-
Use node-oracledb 7.0.0-dev to connect Node.js 14.17, or later, to Oracle
7+
Use node-oracledb 7.0.0 to connect Node.js 14.17, or later, to Oracle
108
Database. Older versions of node-oracledb may work with older versions of
119
Node.js.
1210

doc/api.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,55 +1738,55 @@ The input value or variable to be used for an IN or IN OUT bind variable.
17381738

17391739
### <a name="extauth"></a> 17.4 External Authentication
17401740

1741-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#extauth)
1741+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#extauth)
17421742

17431743
### <a name="tokenbasedauthentication"></a> 17.5 Token-Based Authentication
17441744

1745-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#tokenbasedauthentication)
1745+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#tokenbasedauthentication)
17461746

17471747
#### <a name="oauthtokenbasedauthentication"></a> 17.5.1 OAuth 2.0 Token-Based Authentication
17481748

1749-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#oauthtokenbasedauthentication)
1749+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#oauthtokenbasedauthentication)
17501750

17511751
##### <a name="oauthtokengeneration"></a> 17.5.1.1 OAuth 2.0 Token Generation
17521752

1753-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#oauthtokengeneration)
1753+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#oauthtokengeneration)
17541754

17551755
##### <a name="oauthstandalone"></a> 17.5.1.2 OAuth 2.0 Standalone Connections
17561756

1757-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#oauthstandalone)
1757+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#oauthstandalone)
17581758

17591759
##### <a name="oauthpool"></a> 17.5.1.3 OAuth 2.0 Connection Pooling
17601760

1761-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#oauthpool)
1761+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#oauthpool)
17621762

17631763
##### <a name="oauthconnectstring"></a> 17.5.1.4 OAuth 2.0 Connection Strings
17641764

1765-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#oauthconnectstring)
1765+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#oauthconnectstring)
17661766

17671767
#### <a name="tokenbasedauth"></a> <a name="iamtokenbasedauthentication"></a> 17.5.2 IAM Token-Based Authentication
17681768

1769-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#iamtokenbasedauthentication)
1769+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#iamtokenbasedauthentication)
17701770

17711771
##### <a name="tokengen"></a> <a name="iamtokengeneration"></a> 17.5.2.1 IAM Token Generation
17721772

1773-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#iamtokengeneration)
1773+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#iamtokengeneration)
17741774

17751775
##### <a name="tokenread"></a> <a name="iamtokenextraction"></a> 17.5.2.2 IAM Token and Private Key Extraction
17761776

1777-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#iamtokenextraction)
1777+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#iamtokenextraction)
17781778

17791779
##### <a name="tokenbasedstandaloneconn"></a> <a name="iamstandalone"></a> 17.5.2.3 IAM Standalone Connections
17801780

1781-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#iamstandalone)
1781+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#iamstandalone)
17821782

17831783
##### <a name="settingpooltokens"></a> <a name="tokenbasedpool"></a> <a name="iampool"></a> 17.5.2.4 IAM Connection Pooling
17841784

1785-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#iampool)
1785+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#iampool)
17861786

17871787
##### <a name="tokenbasedconnstrings"></a> <a name="iamconnectstring"></a> 17.5.2.5 IAM Connection Strings
17881788

1789-
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#iamconnectstring)
1789+
[View latest documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/authentication_methods.html#iamconnectstring)
17901790

17911791
### <a name="drcp"></a> 17.6 Database Resident Connection Pooling (DRCP)
17921792

doc/src/api_manual/connection.rst

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1375,15 +1375,6 @@ Connection Methods
13751375
- .. _propexecobjpojo:
13761376

13771377
Overrides :attr:`oracledb.dbObjectAsPojo`.
1378-
* - ``extendedMetaData``
1379-
- Boolean
1380-
- .. _propexecextendedmetadata:
1381-
1382-
Overrides :attr:`oracledb.extendedMetaData`.
1383-
1384-
.. desupported:: 6.0
1385-
1386-
Extended metadata is now always returned.
13871378
* - ``fetchArraySize``
13881379
- Number
13891380
- .. _propexecfetcharraysize:

doc/src/api_manual/oracledb.rst

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -989,28 +989,6 @@ Each of the configuration properties is described below.
989989
const oracledb = require('oracledb');
990990
oracledb.events = false;
991991
992-
.. attribute:: oracledb.extendedMetaData
993-
994-
.. desupported:: 6.0
995-
996-
Extended metadata is now always returned
997-
998-
.. versionadded:: 1.10
999-
1000-
This property is a boolean that determines whether additional metadata is
1001-
available for queries and for REF CURSORs returned from PL/SQL blocks.
1002-
1003-
The default value for ``extendedMetaData`` is *false*. With this value,
1004-
the :ref:`result.metaData <execmetadata>` and :attr:`resultSet.metaData`
1005-
objects only include column names.
1006-
1007-
If ``extendedMetaData`` is *true* then ``metaData`` will contain
1008-
additional attributes. These are listed in :ref:`Result Object
1009-
Properties <execmetadata>`.
1010-
1011-
This property may be overridden in an :ref:`execute() <executeoptions>`
1012-
call.
1013-
1014992
.. attribute:: oracledb.externalAuth
1015993

1016994
This property is a boolean value. If this property is *true* in
@@ -2116,24 +2094,6 @@ Oracledb Methods
21162094
.. versionchanged:: 5.5
21172095

21182096
The ``accessToken`` property was extended to allow OAuth 2.0 token-based authentication in node-oracledb 5.5. For OAuth 2.0, the property should be a string, or a callback. For node-oracledb Thick mode, Oracle Client libraries 19.15 (or later), or 21.7 (or later) must be used. The callback usage supports both OAuth 2.0 and IAM token-based authentication.
2119-
* - ``accessTokenCallback``
2120-
- Object
2121-
- NA
2122-
- .. _createpoolpoolattrsaccesstokencallback:
2123-
2124-
This optional attribute is a Node.js callback function. It gets called by the connection pool if the pool needs to grow and create new connections but the current token has expired.
2125-
2126-
The callback function must return a JavaScript object with attributes ``token`` and ``privateKey`` for IAM. See :ref:`Connection Pool Creation with Access Tokens for IAM <iampool>`.
2127-
2128-
.. versionadded:: 5.4
2129-
2130-
It should be used with Oracle Client libraries 19.14 (or later), or 21.5 (or later).
2131-
2132-
.. deprecated:: 5.5
2133-
2134-
.. desupported:: 6.0
2135-
2136-
Use :ref:`accessToken <createpoolpoolattrsaccesstoken>` with a callback instead.
21372097
* - ``accessTokenConfig``
21382098
- Object
21392099
- Both

doc/src/release_notes.rst

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ Common Changes
4848
#) Added support for :ref:`AWS Secrets Manager <awssecretsmanager>`
4949
Centralized Configuration Provider.
5050

51-
#) :ref:`Token-based Authentication <tokenbasedauthentication>` can now
52-
include proxy session users by supplying user name inside square brackets
51+
#) Enabled :ref:`Token-based Authentication <tokenbasedauthentication>` with
52+
proxy session users by supplying proxy user name inside square brackets
5353
(for example, ``user: "[session_user]"``) alongside an authentication
5454
token when using external authentication.
5555

@@ -75,7 +75,7 @@ Common Changes
7575
See `Issue #1771 <https://github.com/oracle/node-oracledb/issues/1771>`__.
7676

7777
#) Fixed issue to generate the correct SSL_SERVER_CERT_DN entry from an
78-
Easy Connect string.
78+
:ref:`Easy Connect string <easyconnect>`.
7979
See `Issue #1772 <https://github.com/oracle/node-oracledb/issues/1772>`__
8080
(Slawomir Osoba).
8181

@@ -86,21 +86,26 @@ Common Changes
8686
:attr:`lob.pieceSize` properties return `undefined` for a closed
8787
:ref:`LOB object <lobclass>`.
8888

89-
#) Fixed an issue where SQL statements were not included in OpenTelemetry
89+
#) Fixed issue where SQL statements were not included in OpenTelemetry
9090
trace spans for :meth:`connection.executeMany()`.
9191

9292
#) Internal code refactoring to optimize handling of
9393
:ref:`LOB object <lobclass>` methods and attributes.
9494

95+
#) Hardened protocol and network handling code by introducing security
96+
guardrails for secure AI usage.
97+
98+
#) Multiple documentation and test updates and improvements.
99+
95100
Thin Mode Changes
96101
+++++++++++++++++
97102

98103
#) Added support for :ref:`Direct Path Loads <directpathloads>`.
99104

100105
#) Added support for Oracle AI Database 26ai :ref:`Pipelining <pipelining>`.
101106

102-
#) Added :meth:`conn.setEndUserSecurityContext()` and
103-
:meth:`conn.clearEndUserSecurityContext()` methods to the
107+
#) Added :meth:`connection.setEndUserSecurityContext()` and
108+
:meth:`connection.clearEndUserSecurityContext()` methods to the
104109
:ref:`Connection <connectionclass>`.
105110

106111
#) Fixed bug to close the socket when ``NJS-138`` error is thrown.
@@ -133,16 +138,17 @@ Thin Mode Changes
133138
Thick Mode Changes
134139
++++++++++++++++++
135140

136-
#) Fixed potential crash when multiple implicit resultsets are closed.
141+
#) Fixed potential crash when multiple
142+
:ref:`implicit resultsets <implicitresults>` are closed.
137143

138-
#) Improved sparse vector handling so that empty sparse vectors can be bound
139-
and fetched without raising ORA errors.
144+
#) Improved :ref:`sparse vector <sparsevectors>` handling so that empty
145+
sparse vectors can be bound and fetched without raising ORA errors.
140146

141-
#) Addressed potential memory leak issues for resultsets, token callbacks and
142-
Advanced Queuing (AQ).
147+
#) Addressed potential memory leak issues for resultsets, token callbacks
148+
and Advanced Queuing (AQ).
143149

144-
#) Added guardrails against buffer overflows while fetching data from SODA
145-
documents.
150+
#) Added guardrails against buffer overflows while fetching data from
151+
:ref:`SODA documents <sodadocumentclass>`.
146152

147153
#) Improved Token callback error handling and validation for undefined access
148154
token callback arguments.
@@ -152,6 +158,9 @@ Thick Mode Changes
152158

153159
#) Dropped support for Oracle Client libraries earlier than 19c.
154160

161+
#) Dropped support for pre-built macOS Intel x86-64 binaries from the
162+
node-oracledb installation.
163+
155164
node-oracledb `v6.10.0 <https://github.com/oracle/node-oracledb/compare/v6.9.0...v6.10.0>`__ (16 Oct 2025)
156165
-----------------------------------------------------------------------------------------------------------
157166

doc/src/user_guide/appendix_a.rst

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ node-oracledb Thin and Thick modes. For more details see :ref:`modediff`.
146146
* - Bequeath connections
147147
- No
148148
- Yes
149+
* - Oracle Database 26ai Deep Data Security (see :ref:`deepdatasecurity`)
150+
- Yes
151+
- No
149152
* - Lightweight Directory Access Protocol (LDAP) connections
150153
- No
151154
- Yes
@@ -583,11 +586,21 @@ from node-oracledb Thick mode in the following ways:
583586
- Not all the parameters of the :meth:`oracledb.createPool()` method are
584587
applicable to both node-oracledb modes. Each mode ignores unrecognized
585588
parameters. The parameters that are supported in Thin mode include
586-
``accessToken``, ``connectString``, ``connectionString``,
587-
``enableStatistics``, ``password``, ``poolAlias``, ``poolIncrement``,
588-
``poolMax``, ``poolMin``, ``poolPingInterval``, ``poolTimeout``,
589-
``queueMax``, ``queueRequests``, ``queueTimeout``, ``stmtCacheSize``,
590-
``user``, and ``username`` parameters.
589+
``accessToken``, ``accessTokenConfig``, ``appContext``, ``configDir``,
590+
``connectionIdPrefix``, ``connectString``, ``connectionString``,
591+
``connectTimeout``, ``driverName``, ``edition``, ``enableStatistics``,
592+
``expireTime``, ``externalAuth``, ``homogeneous``, ``httpsProxy``,
593+
``httpsProxyPort``, ``machine``, ``maxLifetimeSession``,
594+
``networkCompression``, ``networkCompressionThreshold``, ``osUser``,
595+
``password``, ``poolAlias``, ``poolIncrement``, ``poolMax``, ``poolMin``,
596+
``poolPingInterval``, ``poolPingTimeout``, ``poolTimeout``, ``privilege``,
597+
``program``, ``queueMax``, ``queueRequests``, ``queueTimeout``,
598+
``retryCount``, ``retryDelay``, ``sdu``, ``sessionCallback``,
599+
``sourceRoute``, ``sslAllowWeakDNMatch``, ``sslServerCertDN``,
600+
``sslServerDNMatch``, ``stmtCacheSize``, ``terminal``,
601+
``tokenAuthConfigAzure``, ``tokenAuthConfigOci``,
602+
``transportConnectTimeout``, ``user``, ``username``, ``useSNI``,
603+
``walletContent``, ``walletLocation``, and ``walletPassword`` parameters.
591604

592605
- Node-oracledb Thin mode only supports homogeneous pools.
593606

@@ -683,13 +696,12 @@ Supported Database Data Types in Thin and Thick Modes
683696

684697
Node-oracledb Thin and Thick modes support different Oracle Database data
685698
types. The following table lists the types that are supported in the
686-
node-oracledb driver. See `Oracle Database Types <https://docs.oracle.
687-
com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html#GUID-A3C0D836-
688-
BADB-44E5-A5D4-265BA5968483>`__ and `PL/SQL Types <https://docs.oracle.com/en
689-
/database/oracle/oracle-database/21/lnpls/plsql-data-types.html#GUID-391C58FD-
690-
16AF-486C-AF28-173E309CDBA5>`__. The node-oracledb database type shown is the
691-
common one. In some node-oracledb APIs you may use other types, for example
692-
when binding numeric values.
699+
node-oracledb driver. See `Oracle Database Types <https://www.oracle.com/pls/
700+
topic/lookup?ctx=dblatest&id=GUID-A3C0D836-BADB-44E5-A5D4-265BA5968483>`__ and
701+
`PL/SQL Types <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-
702+
391C58FD-16AF-486C-AF28-173E309CDBA5>`__. The node-oracledb database type
703+
shown is the common one. In some node-oracledb APIs you may use other types,
704+
for example when binding numeric values.
693705

694706
.. list-table-with-summary:: Oracle Database Data Types Supported
695707
:header-rows: 1
@@ -799,6 +811,9 @@ when binding numeric values.
799811
* - XMLType
800812
- DB_TYPE_XMLTYPE
801813
- Yes
814+
* - VECTOR
815+
- DB_TYPE_VECTOR
816+
- Yes
802817

803818
.. _testingmode:
804819

doc/src/user_guide/connection_handling.rst

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,12 @@ For example:
217217
connectString : "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mymachine.example.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))"
218218
});
219219
220+
When a connect descriptor is specified in the ``connectString`` property as
221+
shown in the example above, the maximum length of the ``DESCRIPTION``
222+
parameter is *4096* bytes and its maximum nesting depth (maximum level of
223+
sub-sections inside the DESCRIPTION section + 1) is *64*. If either limit is
224+
exceeded, an error is raised.
225+
220226
Any ``DESCRIPTION``, ``CONNECT_DATA`` and ``SECURITY`` parameters of a connect
221227
descriptor that are not recognized by node-oracledb are passed to the database
222228
unchanged.
@@ -685,7 +691,7 @@ below.
685691
.. versionadded:: 6.10
686692
- Optional
687693
* - ``njs``
688-
- The node-oracledb specific properties. The properties that can be stored in OCI Object Storage include ``poolMin``, ``poolMax``, ``poolIncrement``, ``poolTimeout``, ``poolPingInterval``, ``poolPingTimeout``, ``stmtCacheSize``, ``prefetchRows``, and ``lobPrefetch``.
694+
- The node-oracledb specific properties. The properties that can be stored include ``poolMin``, ``poolMax``, ``poolIncrement``, ``poolTimeout``, ``poolPingInterval``, ``poolPingTimeout``, ``stmtCacheSize``, ``prefetchRows``, and ``lobPrefetch``.
689695
- Optional
690696

691697
**Precedence of Properties**
@@ -755,7 +761,7 @@ Provider is:
755761
"user": "scott",
756762
"password": {
757763
"type": "base64",
758-
"value": "dGlnZXI="
764+
"value": "***xyz"
759765
}
760766
"njs": {
761767
"stmtCacheSize": 30,
@@ -827,7 +833,7 @@ Multiple alias names can be defined in a JSON file as shown below:
827833
"user": "scott",
828834
"password": {
829835
"type": "base64",
830-
"value": "dGlnZXI="
836+
"value": "***xyz"
831837
}
832838
}
833839
}
@@ -1367,7 +1373,7 @@ An example of a JSON file that can be used with AWS S3 Configuration Provider is
13671373
"user": "scott",
13681374
"password": {
13691375
"type": "base64",
1370-
"value": "dGlnZXI="
1376+
"value": "***xyz"
13711377
},
13721378
"njs": {
13731379
"stmtCacheSize": 30,
@@ -2053,6 +2059,8 @@ connection is shown below:
20532059
user: "hr",
20542060
password: mypw, // contains the hr schema password
20552061
connectString: "mydbmachine.example.com/orclpdb1",
2062+
walletLocation: "/opt/OracleCloud/MYDB", // location of pem file
2063+
walletPassword: wp
20562064
});
20572065
20582066
connection.setEndUserSecurityContext(user_context);
@@ -2067,7 +2075,9 @@ An example of setting an end user security context for a connection pool is:
20672075
connectString : "mydbmachine.example.com/orclpdb1",
20682076
poolIncrement: 1,
20692077
poolMin: 1,
2070-
poolMax: 5
2078+
poolMax: 5,
2079+
walletLocation: "/opt/OracleCloud/MYDB",
2080+
walletPassword: wp
20712081
});
20722082
20732083
const connection = await pool.getConnection();

0 commit comments

Comments
 (0)