Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
0121245
Merge pull request #1064 from marklogic/release/4.1.0
rjrudin Feb 23, 2026
04ef078
Reapply "MLE-25586 - add transitive closure function to node client."
stevebio Feb 23, 2026
a5b62de
Reapply "MLE-26340 expose vec.precision and vec.trunc in Node client."
stevebio Feb 23, 2026
4e4afee
Reapply "MLE-23744 - implement optic fromDocs in node."
stevebio Feb 23, 2026
562abe4
MLE-12345
stevebio Feb 23, 2026
91bbfbc
MLE-27299 Upgrade dependencies to remove vulnerability warnings.
stevebio Feb 24, 2026
17182f1
MLE-27299 Bumping dependencies to fix npm audit
rjrudin Mar 2, 2026
00fc4eb
SECCMP-1797: Add top-level permissions to restrict default token
GAdityaVarma Apr 8, 2026
ce2461b
Merge pull request #1070 from marklogic/fix/SECCMP-1797-harden-permis…
rjrudin Apr 8, 2026
dfb1947
PDP-1182: Remove per-repo pr-workflow.yaml
SameeraPriyathamTadikonda Apr 9, 2026
69fb7af
Merge pull request #1071 from marklogic/PDP-1182-remove-pr-workflow-f…
GAdityaVarma Apr 9, 2026
76d5732
MLE-28498 11.3.5 Test Fixes for Security Update (#1074)
jonmille May 11, 2026
16e8f7d
MLE-27883 adapt cts.param in the Optic API for MLS 12.1 (#1075)
RitaChen609 May 13, 2026
362cb16
MLE-28335 added fragment option in fromSearch (#1077)
RitaChen609 May 18, 2026
be35792
MLE-28583 xdmp.uriContentType and xdmp.uriFormat test fix (#1079)
jonmille May 21, 2026
c31886b
MLE-29694 fixes for vulnerabilities and flaky tests (#1080)
RitaChen609 May 26, 2026
a715199
MLE-30684 Configure Harness Artifact Registry (#1085)
jonmille Jun 23, 2026
b01655b
MLE-30686 MLE-30964 form-data and markdown-it dependency bumps (#1086)
jonmille Jun 30, 2026
f8cec86
MLE-29889 add param binding support for CTS queries in Optic plans
RitaChen609 Jun 30, 2026
794c2c6
MLE-30154 Pin Mocha to 11.7.5 (#1088)
jonmille Jul 1, 2026
2564a6c
MLE-29889 update integration tests
RitaChen609 Jul 1, 2026
04cf8c8
MLE-29889 add a test for a common use case for fromSearchDocs
RitaChen609 Jul 1, 2026
0cbb6a1
MLE-29889 restrict the bypass to only types.CtsQuery
RitaChen609 Jul 1, 2026
b4885f4
MLE-29889 refract the plan parameter substistution routine
RitaChen609 Jul 1, 2026
48ba286
MLE-29889 rework substitutePlanParams with one replacements map
RitaChen609 Jul 1, 2026
5742d47
MLE-29889 add test cases for mixed plain-string and CtsQuery bindings
RitaChen609 Jul 1, 2026
e4bdaf3
MLE-29889 refine test cases for orQuery test
RitaChen609 Jul 2, 2026
974962e
Merge pull request #1090 from marklogic/MLE-29889-param-binding-accep…
rjdew-progress Jul 2, 2026
e384a5c
MLE-30268 crypto.pseudoRandomBytes -> crypto.randomBytes
Jul 6, 2026
8f9bc7c
MLE-30265 add warning for BASIC auth without SSL
Jul 7, 2026
a4735a0
MLE-30256 Encode accessTokenDuration Before URL Interpolation in getA…
jonmille Jul 7, 2026
9f045ae
MLE-30257 Replace encodeURI With encodeURIComponent (#1094)
jonmille Jul 8, 2026
a7a86f3
Merge pull request #1093 from marklogic/MLE-30265
rjdew-progress Jul 8, 2026
7367a5b
Merge pull request #1092 from marklogic/MLE-30268
rjdew-progress Jul 8, 2026
c3c6bc9
MLE-30967 Update CODEOWNERS
rjdew-progress Jul 13, 2026
218b470
Update .copyrightconfig
rjdew-progress Jul 13, 2026
dfc99ea
Merge pull request #1095 from marklogic/rjdew-progress-patch-1
rjdew-progress Jul 14, 2026
b19c451
MLE-31133 MLE-31135 Bump brace-expansion & fast-uri (#1098)
jonmille Jul 14, 2026
0fb1c9f
MLE-30263: Fix Uncaught Exception in getAccessToken Error Handler
ngodugu-marklogic Jul 14, 2026
401c402
Merge pull request #1096 from marklogic/MLE-30263
ngodugu-marklogic Jul 16, 2026
9cfa1fc
MLE-30260 replace Math.random with crypto.randomBytes for SessionID g…
RitaChen609 Jul 16, 2026
f070bd4
Merge pull request #1099 from marklogic/MLE-30260-Session-ID-Generation
rjdew-progress Jul 17, 2026
a1e3680
MLE-30259: Replace rejectUnauthorized:false With Proper CA Certificates
ngodugu-marklogic Jul 17, 2026
809dd90
Merge pull request #1100 from marklogic/MLE-30259-1
rjdew-progress Jul 20, 2026
87c5ecc
MLE-31390: [HIGH] BDSA-2026-21635 in js-yaml v4.2.0
ngodugu-marklogic Jul 23, 2026
e5a0374
Merge pull request #1101 from marklogic/MLE-31390
ngodugu-marklogic Jul 23, 2026
a9c5091
MLE-31392: [HIGH] BDSA-2026-21558 in linkify-it v5.0.1
ngodugu-marklogic Jul 24, 2026
a3a297b
Merge pull request #1102 from marklogic/MLE-31392
ngodugu-marklogic Jul 28, 2026
46e81f0
MLE-31646: [MEDIUM] BDSA-2026-24060 in PostCSS v8.5.15
ngodugu-marklogic Aug 4, 2026
63f8168
MLE-31765: [HIGH] CVE-2026-53606 in sanitize-html v2.17.4
ngodugu-marklogic Aug 7, 2026
314c308
Merge pull request #1105 from marklogic/MLE-31765
rjdew-progress Aug 10, 2026
e55cb5e
MLE-30272: [Node Client] Document ML-Agent-ID Telemetry Header and
ngodugu-marklogic Aug 10, 2026
65bf23e
Merge pull request #1106 from marklogic/MLE-30272
rjdew-progress Aug 11, 2026
90269e5
MLE-31875 update LICENSE file (#1107)
RitaChen609 Aug 12, 2026
989751b
MLE-31901 Remove xdmp-login
jonmille Aug 12, 2026
bca8235
Merge pull request #1108 from marklogic/MLE-31901-Remove-xdmp-login
rjdew-progress Aug 12, 2026
318664b
Merge pull request #1103 from marklogic/MLE-31646
rjdew-progress Aug 14, 2026
2fc00e9
MLE-31643 MLE-31645 MLE-31889 update dependencies (#1111)
RitaChen609 Aug 17, 2026
223f276
MLE-31764: [HIGH] BDSA-2026-24772 in nanoid v3.3.12
ngodugu-marklogic Aug 18, 2026
cbe5051
MLE-31992 add JSDoc block for planBuilder.cts.param (#1113)
RitaChen609 Aug 18, 2026
b686951
Merge pull request #1112 from marklogic/MLE-31764
rjdew-progress Aug 18, 2026
ea5b014
MLE-31581 Updating SBOM for 4.2 Release (#1115)
jonmille Aug 21, 2026
f76f893
MLE-32051 Fix multipart body termination for Node.js v26 compatibility
jonmille Aug 24, 2026
4b3c604
MLE-32051 lint fixes
jonmille Aug 24, 2026
78a8678
MLE-32051 Copilot Suggestion Fixes
jonmille Aug 24, 2026
d3c2b68
MLE-32051 Jenkins test fixes
jonmille Aug 25, 2026
4d5d724
MLE-32051 Test fixes for test-basic/bindingFromParam.js
jonmille Aug 26, 2026
2ad225e
Merge pull request #1116 from marklogic/MLE-32051
rjdew-progress Aug 27, 2026
7ee2334
MLE-32228 Ship SBOM in NPM package
Aug 28, 2026
133d256
Merge pull request #1117 from marklogic/MLE-32228
rjdew-progress Aug 29, 2026
c7f28ff
MLE-31580 Update NOTICE for 4.2.0
Aug 31, 2026
f72fb0b
Merge pull request #1118 from marklogic/MLE-31580
rjdew-progress Aug 31, 2026
c587309
MLE-31994 Update version to 4.2.0
Sep 2, 2026
6cfa481
Merge pull request #1119 from marklogic/MLE-31994
rjdew-progress Sep 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .copyrightconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ startyear: 2015
# - Dotfiles already skipped automatically
# Enable by removing the leading '# ' from the next line and editing values.
# filesexcluded: third_party/*, docs/generated/*.md, assets/*.png, scripts/temp_*.py, vendor/lib.js
filesexcluded: .github/*, README.md, Jenkinsfile, test-app/*, *.md, docker-compose.yaml, test-complete-app-mlDeploy/*, *.json, *.sh
filesexcluded: .github/*, README.md, Jenkinsfile, test-app/*, *.md, docker-compose.yaml, test-complete-app-mlDeploy/*, *.json, *.sh, CODEOWNERS, *.txt
23 changes: 0 additions & 23 deletions .github/workflows/pr-workflow.yaml

This file was deleted.

25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,30 @@ test-complete-app/.gradle
test-complete-app-mlDeploy/build
test-complete-app-mlDeploy/.gradle

# Generated files for publishing to npm
marklogic-*.spdx.json

# Compiled TypeScript test files
test-typescript/*.js

# AI generated documents
documents

# Generated proxy stubs (created by gulp setupProxyTests / generateProxyTests)
# Files in the generated directory are fully generated
test-basic-proxy/lib/generated/
# the proxy stubs (non-Test.js) are generated; the *Test.js files are hand-written and must be kept
test-basic-proxy/lib/positive/*.js
!test-basic-proxy/lib/positive/*Test.js
test-basic-proxy/lib/negative/*.js
!test-basic-proxy/lib/negative/*Test.js

# SSL certificates generated at deploy time by mlDeploy/generateAndInstallSslCertificate.
# Never commit private keys or regenerated certs — they change on every deployment.
test-app/src/main/ml-config/self-signed-ca.pem
test-app/src/main/ml-config/self-signed-ca.key
test-app/src/main/ml-config/ssl-server.pem
test-app/src/main/ml-config/ssl-server.key
test-app/src/main/ml-config/ssl-server.csr
test-app/src/main/ml-config/ssl-server-ext.cnf
test-app/src/main/ml-config/*.srl
5 changes: 5 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
engine-strict=true
registry=https://pkg.harness.io/pkg/ct8onj8YTdaXtKaFsYCRLg/org-marklogic-npm/npm/
@jsr:registry=https://pkg.harness.io/pkg/ct8onj8YTdaXtKaFsYCRLg/org-marklogic-npm/npm/
ignore-scripts=true
# cooldown in days (14 days)
min-release-age=14
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# CHANGELOG

## 4.2.0

#### Security Fix

- Session IDs generated by `SessionState` now use `crypto.randomBytes()` instead of `Math.random()`, replacing a
non-cryptographic PRNG (xorshift128+) with a cryptographically secure source of randomness (CWE-338).
The session ID is now a 16-character hex string (8 random bytes), matching the format MarkLogic uses for its own
server-generated session IDs. The return type of `SessionState.sessionId()` changes from `number` to `string`.
Callers that only use the session ID for logging or cookie headers are unaffected.

## 4.1.0

- Added TypeScript typings for core client/document/connection APIs, with better autocomplete and compile-time checks to catch mistakes earlier.
Expand Down
3 changes: 1 addition & 2 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in the repo.
* @anu3990 @billfarber @rjrudin @stevebio

* @rjrudin @jonmille @ngodugu-marklogic @RitaChen609 @rjdew-progress
5 changes: 3 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def runAuditReport() {
cd node-client-api
npm ci
rm -rf $WORKSPACE/npm-audit-report.json || true
npm audit --audit-level=moderate --json > $WORKSPACE/npm-audit-report.json
npm audit --audit-level=moderate --json > $WORKSPACE/npm-audit-report.json || true
'''
}

Expand Down Expand Up @@ -125,7 +125,7 @@ pipeline {
agent none

triggers {
parameterizedCron(env.BRANCH_NAME == "develop" ? "00 02 * * * % regressions=true" : "")
parameterizedCron(env.BRANCH_NAME == "develop" ? "00 05 * * * % regressions=true" : "")
}

parameters {
Expand All @@ -151,6 +151,7 @@ pipeline {
stage('pull-request-tests') {
agent { label 'nodeclientpool' }
steps {
// npm audit is non-blocking; Harness Artifact Repository does not currently support it so failures are ignored.
runAuditReport()
runLint()
runTypeCheck()
Expand Down
34 changes: 25 additions & 9 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
Apache License
Version 2.0, January 2004
Copyright © 2015-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.



Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

Expand Down Expand Up @@ -59,14 +75,14 @@ To apply the Apache License to your work, attach the following boilerplate notic

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading
Loading