Skip to content

Commit 42f6155

Browse files
committed
fix #546 - release notes
(cherry picked from commit 7c4086c)
1 parent dac1aac commit 42f6155

File tree

2 files changed

+95
-2
lines changed

2 files changed

+95
-2
lines changed

README.md

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,54 @@
33
The API makes it easy to write, read, delete, and find documents
44
in a [MarkLogic](http://developer.marklogic.com/) database.
55

6+
For example:
7+
8+
// write a text, binary, XML, or JSON document from any source with ACID guarantees
9+
documentManager.write(uri, new FileHandle()
10+
.with(new File("file1234.json"))
11+
.withFormat(JSON));
12+
13+
// read and directly parse to your preferred type, even your own POJOs!
14+
JsonNode jsonDocContents = documentManager.readAs(uri, JsonNode.class);
15+
16+
// get matches super-fast using full-featured search
17+
JsonNode results = queryManager.search(
18+
new StructuredQueryBuilder().term("quick", "brown", "fox"),
19+
new JacksonHandle()).get();
20+
621
The Java API supports the following core features of the MarkLogic database:
722

823
* Write and read binary, JSON, text, and XML documents.
924
* Query data structure trees, marked-up text, and all the hybrids in between those extremes.
10-
* Project values and tuples from hierarchical documents and aggregate over them.
25+
* Project values, tuples, and triples from hierarchical documents and aggregate over them.
1126
* Patch documents with partial updates.
12-
* Match documents against alerting rules expressed as queries.
27+
* Match documents against alerting rules expressed as queries.
1328
* Use Optimistic Locking to detect contention without creating locks on the server.
1429
* Execute ACID modifications so the change either succeeds or throws an exception.
1530
* Execute multi-statement transactions so changes to multiple documents succeed or fail together.
1631

32+
### What's New in Java Client API 4.0.0
33+
34+
* Optic API - blends relational with NoSQL by providing joins and aggregates over documents
35+
* is powered by the new row index and query optimizer
36+
* uses row, triple, and/or lexicon lenses
37+
* matches the functionality of the Optic API for XQuery and Javascript, but idiomatic for Java
38+
developers
39+
* Data Movement SDK - move large amounts of data into, out of, or within a MarkLogic cluster
40+
* WriteBatcher distributes writes across many threads and across the entire MarkLogic cluster
41+
* QueryBatcher enables bulk processing or export of matches to a query by distributing the query
42+
across many threads and batch processing to listeners
43+
* Comes with ApplyTransformListener, DeleteListener, ExportListener, ExportToWriterListener, and
44+
UrisToWriterListener
45+
* With custom listeners you can easily and efficiently apply your business logic to batches of query
46+
matches
47+
* Kerberos and Client Certificate Authentication
48+
* Geospatial double precision and queries on region indexes
49+
* Temporal document enhancements
50+
* protect and wipe
51+
* more control over version uris
52+
* Support for document metadata values
53+
1754
### What's New in Java Client API 3.0.1
1855

1956
* Pojo Façade - persist POJOs as JSON objects and use a simple API to query them with all the power

release_notes/release_4.0.0.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
NOTES FOR RELEASE 4.0.0
2+
3+
Adds Optic API, Data Movement SDK, Kerberos, Client Certificate Authentication, Geospatial enhancements,
4+
Temporal documen enhancements, support for metadata values.
5+
6+
New Functionality
7+
392 - add shortcut addAs methods to DocumentWriteSet
8+
400 - Optic API
9+
402 - geo double precision and geo polygon search
10+
404 - add Kerberos support
11+
413 - add support for document metadata values
12+
406 - certificate-based authentication
13+
414 - Bitemporal ML9 features - version URI, Wipe, Protect, document patch
14+
465 - Data Movement SDK
15+
466 - add StructuredQueryBuilder.coordSystem to set Geo coordinate system
16+
473 - send header "ML-Agent-ID: java" with every HTTP request so REST layer can track which calls come
17+
from Java Client API
18+
550 - add Capability NODE_UPDATE
19+
20+
Improvements and Bug Fixes
21+
- many javadoc improvements
22+
210 - fail fast when library module path doesn't begin with /ext
23+
234 - offer a way to close the input source for XMLStreamReaderHandle
24+
241 - fix misleading WARN warning message from values call
25+
249 - fixes DocumentPatchBuilder.replaceValue with numbers or booleans
26+
256 - be explicit about desired format of QBE response
27+
262 - update SearchHandle to support search:extracted elements
28+
288 - support changes made in server-generated metadata for binary docs
29+
292 - support changes made in search:search response with extracted results
30+
294 - DocumentPage.size was including metadata in counts but should not have
31+
365 - reduce duplicate code in JerseyServices
32+
371 - JAXBContext should be cached for improved performance
33+
380 - setOptimzeLevel should have been setOptimizeLevel
34+
385 - improve javadocs for RuleManager.readAs
35+
421 - Some of the read handlers do not populate properly formats and mime-types when used with
36+
ResourceServices
37+
423 - add support for extract-resolution time
38+
424 - remove logback dependency so slf4j works as it should
39+
434 - imporove error response processing
40+
436 - rename java-client-api-M.m.p.jar JAR to marklogic-client-api-M.m.p.jar
41+
437 - fix support for date range queries
42+
448 - Efficiencies: avoid Object construction, auto-boxing, etc.
43+
Commit ca96e23- expose PojoRepository.getId
44+
467 - connections are left in CLOSE_WAIT after DatabaseClient.release is called
45+
472 - remove unnecessary INFO logging from RuleDefinition
46+
486 - PojoRepository.count(query) does not scope count with the query
47+
524 - add support for markdown javadocs
48+
560 - support new 428 status code for missing content version
49+
582 - NullPointerException thrown while doing eval() with client object created with incorrect credentials
50+
587 - rename GeoSpatialOperator to GeospatialOperator
51+
Commit 484d15 - avoid errors by only parsing non-blank entityResolutionTime
52+
592, 594, 598 - chunked HTTP broke certain XML parsers unless we set XMLInputFactory.isCoalescing to true
53+
610 - remove support for deprecated keyvalue endpoint
54+
621 - remove deprecated APIs
55+
651 - don't set the handle format from the descriptor if it's null
56+
687 - clean up indenting across the project

0 commit comments

Comments
 (0)