Commit Graph

3754 Commits

Author SHA1 Message Date
Christoph Strobl
bf54054ad5 Pass on FullDocumentBeforeChange option to change stream iterable/publisher.
This commit ensures to pass on a potentially set FullDocumentBeforeChange option to the change stream iterable/publisher.
It also corrects false optional behavior within the change stream task which did some defaulting though the actual value is an optional one that must not be present.

Original pull request: #4541
Closes #4495
2023-11-02 15:31:45 +01:00
Eric Haag
69285151a0 Connect build to ge.spring.io.
This change publishes a build scan to ge.spring.io for every local build from an authenticated Spring committer and for CI where appropriate access tokens are available. The build will not fail if publishing fails.

This change also allows the build to benefit from local and remote build caching, providing faster builds for all contributors.

Additionally, the project will have access to all features of Gradle Enterprise such as:

- Dashboards to view all historical build scans, along with performance trends over time
- Build failure analytics for enhanced investigation and diagnosis of build failures
- Test failure analytics to better understand trends and causes around slow, failing, and flaky tests

See #4528
2023-10-19 16:43:18 -05:00
Greg L. Turnquist
13447e63a7 Update CI properties.
See #4532
2023-10-19 09:38:54 -05:00
Christoph Strobl
645baab77e Add AOT proxy hints for CrudMethodMetadata.
Closes: #4534
2023-10-17 09:43:06 +02:00
Greg L. Turnquist
02c6d33f21 Polishing.
See #4532
2023-10-16 13:34:08 -05:00
Greg L. Turnquist
92c00f9b15 Update CI properties.
See #4532
2023-10-16 13:28:20 -05:00
John Blum
4f6410d570 After release cleanups.
See #4507
2023-10-13 08:52:00 -07:00
John Blum
cfad366476 Prepare next development iteration.
See #4507
2023-10-13 08:51:58 -07:00
John Blum
9f6bcfd552 Release version 4.2 RC1 (2023.1.0).
See #4507
2023-10-13 08:44:25 -07:00
John Blum
69666caffd Prepare 4.2 RC1 (2023.1.0).
See #4507
2023-10-13 08:43:55 -07:00
Mark Paluch
f71a2e2dfe Update Java.next CI config.
See #4507
2023-10-13 08:30:02 +02:00
Christoph Strobl
80d20c0cbe Fix link in Javadoc.
See: #2971
2023-10-13 08:03:56 +02:00
Christoph Strobl
b5deb1bc0a Upgrade to MongoDB Driver 4.11.0.
Closes: #4527
2023-10-13 07:43:10 +02:00
Christoph Strobl
5afb8ada85 Reduce public API surface.
Limit exposure of API methods to package visibility.
Also remove fields and methods not directly required to support current feature scope.
Finally add missing since tags and provide additional tests.

See: #2971
2023-10-12 15:28:57 +02:00
Mark Paluch
5d2564588f Add CrudMethodMetadata to support ReadPreference annotations on overridden base repository methods.
See: #2971
Original Pull Request: #4503
2023-10-12 15:28:15 +02:00
Mark Paluch
74b07e5d21 Polishing.
Tweak documentation wording. Refine constructor nullability rules. Fix javadoc references.

Original Pull Request: #4503
2023-10-12 15:27:43 +02:00
Christoph Strobl
715231e9ef Detect ReadPreference for annotated aggregations and inherited find methods.
This commit reduces the API surface of the ReadPreference annotation leaving fine grained control such as Tags to the Template API.
Next to supporting read preference for annotated queries we now also make sure to apply read preferences for annotated aggregation methods as well as predefined finder methods running queries.

See: #2971
Original Pull Request: #4503
2023-10-12 15:26:29 +02:00
Jorge Rodríguez Martín
16b97a26cc Add ReadPreference annotation.
The annotation enables a declarative style of defining the ReadPreference to use for individual or all repository queries.

Closes: #2971
Original Pull Request: #4503
2023-10-12 15:25:14 +02:00
Christoph Strobl
0474f65044 Fix id value conversion when projecting result types.
Contextual information required for converting values are now passed on correctly when projecting id properties.

Closes: #4524
Original pull request: #4525
2023-10-11 15:36:34 +02:00
Mark Paluch
9c09edd594 Polishing.
Replace duplicate occurrences of _id with FieldName.ID.name(). Shorten property names to avoid repetative "field" wording. Add Javadoc
to MongoField builder.

See #4464
Original pull request: #4512
2023-10-09 15:36:43 +02:00
Christoph Strobl
691fc055ed Add support for mapping document fields with dots in the field name.
This commit introduces support for mapping (read/write) fields that contain dots in their name, preserving the name as is instead of considering the dot being a separator within a path of nested objects.
Query and Update functionality remains unaffected which means no automatic rewrite for field names containing paths will NOT take place. It's in the users responsibility to pick the appropriate query/update operator (eg. $expr) to interact with the field.

Closes #4464
Original pull request: #4512
2023-10-09 15:34:35 +02:00
Mark Paluch
661607a603 Polishing.
Use Lock utility for easier lock handling.

Original Pull Request: #4431
See also: spring-projects/spring-data-commmons#2944
2023-10-05 10:43:26 +02:00
Christoph Strobl
cc56a93ae7 Refine locking.
Closes: #4429
Original Pull Request: #4431
2023-10-05 10:39:57 +02:00
John Blum
fd96974747 Update CI properties.
See #4507
2023-10-04 17:24:10 -07:00
John Blum
17a9539bad Upgrade to Maven Wrapper 3.9.5.
See #4520
2023-10-04 16:58:02 -07:00
Mark Paluch
99891b355e Upgrade to OpenWebBeans 4.0.
Closes #4518
2023-09-29 09:28:05 +02:00
Christoph Strobl
f84a62b94d Add expression support for median aggregation.
Original Pull Request: #4515
2023-09-28 09:06:37 +02:00
Julia
d506cd026f Add support for $median aggregation operator.
Closes #4472
Original Pull Request: #4515
2023-09-28 09:06:04 +02:00
Mark Paluch
cd80c8441f After release cleanups.
See #4479
2023-09-15 14:44:46 +02:00
Mark Paluch
e1570a55c3 Prepare next development iteration.
See #4479
2023-09-15 14:44:46 +02:00
Mark Paluch
a5cc27ab17 Release version 4.2 M3 (2023.1.0).
See #4479
2023-09-15 14:44:45 +02:00
Mark Paluch
5e12b23f65 Prepare 4.2 M3 (2023.1.0).
See #4479
2023-09-15 11:29:20 +02:00
Mark Paluch
8844b3031c Remove changelog shipped with the binaries.
Closes #3737
2023-09-14 11:18:47 +02:00
Christoph Strobl
e139a31dbd Reduce number of build pipeline steps.
Remove stage with MongoDB 6.0/Java 20 in favour of the newly introduced MongoDB 7.0/Java20 stage.

See: #4501
2023-09-13 11:47:53 +02:00
Julia
9058820f6f Add CI stage for MongoDB 7.0.x
Closes #4501
Original Pull Request: #4496
2023-09-13 11:32:16 +02:00
Julia
32bd540f91 Add support for $percentile aggregation operator.
Closes #4473
Original Pull Request: #4496
2023-09-13 11:31:09 +02:00
Christoph Strobl
11b992c449 Test unwrapped.empty instantiation when used as ctor argument.
Original Pull Request: #4492
2023-09-11 12:30:48 +02:00
Mark Paluch
9429cfd9c5 Polishing.
Remove sysout from tests.

See #4491
2023-09-11 12:28:34 +02:00
Mark Paluch
7213b99824 Consistently use the same reading strategies to read associations.
Return the value to set instead of calling the accessor directly. Remove duplicate calls to resolve associations.

See #4491
2023-09-11 12:28:23 +02:00
Mark Paluch
04e80ed635 Correctly read unwrapped properties during constructor creation.
Closes: #4491
Original Pull Request: #4492
2023-09-11 12:28:13 +02:00
Christoph Strobl
b4133c03e2 Reduce method signatures in Reactive-/MongoOperations and add fluent reactive api variant.
Narrow the scope of exposed methods on MongoOperations interface. The broader replace API variant has been moved to a protected method allowing users to hook into the implementation and (if needed) expose it.

See: #4462
Original Pull Request: #4463
2023-09-11 11:00:42 +02:00
Mark Paluch
ea07e83552 Guard against potential NPE.
Original Pull Request: #4463
2023-09-11 11:00:42 +02:00
Mark Paluch
501a1cce39 Polishing.
Consistently use Document instead of record. Reformat code. Tweak documentation wording.

See: #4462
2023-09-11 11:00:42 +02:00
Christoph Strobl
49ff6f1e48 Add fluent & reactive API for replace operation.
...and update the documentation.

See: #4462
Original Pull Request: #4463
2023-09-11 11:00:42 +02:00
Jakub
f7549f739e Add support for replaceOne operation.
Add replace methods to MongoOperations and MongoTemplate that allow to replace the first matching document with a given value.

Closes: #4462
Original Pull Request: #4463
2023-09-11 11:00:42 +02:00
Christoph Strobl
66c4a3bd80 Update copyright year in documentation.
See: #4497
2023-09-11 11:00:35 +02:00
Christoph Strobl
34d27ac151 Update readme and documentation navigation.
See: #4497
2023-09-08 12:57:08 +02:00
Mark Paluch
7c50f991ed Restructure documentation.
Move examples into test source root to ensure proper compilation. Remove lingering asciidoc resources.
Merge entity callbacks into lifecycle events. Add links from MongoDB overview.

See: #4497
2023-09-08 12:29:40 +02:00
Christoph Strobl
5acb174837 Migrate Documentation to Antora.
See: #4497
2023-09-08 12:26:27 +02:00
Christoph Strobl
492f09fbdf Add isReadable method to UnwrappedMongoPersistentProperty.
Closes: #4489
2023-08-31 09:43:58 +02:00