- Added TypeScript typings for core client/document/connection APIs, with better autocomplete and compile-time checks to catch mistakes earlier.
- Added support for transform parameters when writing transforms.
- Performed dependency/security maintenance (including lodash and qs updates).
This major release does not impact any client functionality, but rather raises the minimum required version of Node.js to 22 or higher. It also updates all dependencies to their latest version and removes unnecessary dependencies that were included in previous releases.
- Can now encode and decode vectors through the
base64Encodeandbase64Decodefunctions in the new lib/vector-util.js library. Encoding vectors before writing them to documents in MarkLogic 12 helps reduce the amount of disk space and memory consumed by vectors. - MarkLogic 12 users can now use
minVersionandmaxVersionto change default TLS version from 1.3 to a different version.
-
Fix for security vulnerabilities - https://github.com/advisories/GHSA-fjxv-7rqg-78g4 https://github.com/advisories/GHSA-8cj5-5rvv-wf4v https://github.com/advisories/GHSA-c2qf-rxjj-qqgw https://github.com/advisories/GHSA-3XGQ-45JJ-V275
- MarkLogic 12 users can now use the
shortestPathandannTopKmethods in the Optic plan builder. - MarkLogic 12 users can now use the
bm25,zero, andrandomscore methods in the Optic plan builder.
- Fix for security vulnerabilities - https://github.com/advisories/GHSA-3xgq-45jj-v275 https://github.com/advisories/GHSA-952p-6rrq-rcjv https://github.com/advisories/GHSA-mwcw-c2x4-8c55 https://github.com/advisories/GHSA-76p7-773f-r4q5
- Can now use BM25 scoring method for searches. (MarkLogic Server version 12.0.0-EA or higher needed).
- Can now use vector functionality including Cosine Similarity and others. (MarkLogic Server version 12.0.0-EA or higher needed).
- Fix for security vulnerabilities - https://nvd.nist.gov/vuln/detail/CVE-2024-4068 and https://github.com/advisories/GHSA-7fh5-64p2-3v2j
- #669 - DatabaseClient.eval() always return true when the result is a boolean
- Can now connect to MarkLogic using OAuth token (MarkLogic Server version 11.2.0 or higher needed).
- Optic Update plans, including DSL queries that perform updates, now require
update: trueto be included in the options sent to therows.execute()function. (MarkLogic Server version 11.2.0 or higher needed). - Can now perform partial updates on documents via Optic using the new
patchBuilderoperator. (MarkLogic Server version 11.2.0 or higher needed). - Can now capture errors from executing an Optic plan by including the new
onErroroperator. (MarkLogic Server version 11.2.0 or higher needed).
- Can now send bindings to Optic Server functions in the form of text.
- Fix for security vulnerabilities - https://github.com/advisories/GHSA-4gmj-3p3h-gm8h and https://github.com/advisories/GHSA-cgfm-xwp7-2cvr
- Fixed a bug where a database property caused a problem when creating a URL path for querying ML.
- Can now request MarkLogic to compress the response for better performance using enableGzippedResponses (MarkLogic Server version 11.0.0 or higher needed).
- Can now send string input to cts.point and cts.polygon server functions (MarkLogic Server version 11.1.0 or higher needed).
- Can now set expiration duration for MarkLogic Cloud access-token.
- Fix for security vulnerabilities - https://github.com/advisories/GHSA-4q6p-r6v2-jvc5, https://github.com/advisories/GHSA-c2qf-rxjj-qqgw and https://github.com/advisories/GHSA-7fh5-64p2-3v2j
- Can now perform update operations in Optic.
- Can now submit GraphQL queries.
- Auto-refresh expired token when using MarkLogic Cloud authentication.
- Fix for security vulnerabilities.
- #614 - Exporting Rows - queryAll api.
- #644 - Reprocessing documents - transformAll and queryToTransformAll apis.
- #665 - Deleting Documents - removeAllUris and queryToRemoveAll api.
- Connect to MarkLogic Cloud using apiKey.
- Fix for Dicer and other security vulnerabilities.
- #540 - Expose total on all responses to documents.query.
- #592 - Expose op:sample-by in Node Client API.
- #694 - MarkLogic module v 2.9.1 for Node.js at Windows OS does not work.
- Fix for security vulnerabilities (except Dicer).
- #620 - Exporting Documents - readAll and queryToReadAll apis.
- #622 - Collecting Document URIs - queryAll api.
- #629 - Add a category option for reading only the contents of document(s).
- #599 - Optic fromSPARQL method support options parameter - Server release 10.0-8 or above required.
- #638 - (Documentation Fix) - Parameters "start" and "length" for graphs.sparql are renamed to "begin" and "end".
- #647 - QueryToReadAll on a Query with no results produces no response.
- #621 - Data Movement in Node.js API - Ingesting Documents using writeAll api.
- #270 - Calling methods on resources with arg list throws error.
- #601 - Regenerate Optic expression functions.
- #543 - Node-client-api now prefers ipv4 over ipv6.
- #562 - CtsQueryBuilder is available.
- #567 - Dynamic interface to Data Service endpoints.
- #569 - Optic enhancements in 10.0-7 - Server release 10.0-7 or above required.
- #485 - Throw error when complexValues is set with a chunked stream.
- #559 - Throw error on requests with a released client.
- #565 - Node-client-api now uses Node - 14.
- #568 - RejectUnauthorized option ignored in webpacked typescript (impacts mlxprs extension in latest VSCode on Mac).
- #570 - (Documentation Fix) - Changed “testConnection” on DatabaseClient to “checkConnection”.