Skip to content
CAI
Software that uses CAICheck a score

spring-projects/spring-data-couchbase

56.9

Adequate · 21 September 2026

34.5k

lines of production code

Java

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Spring Data integration library for Couchbase, providing a comprehensive framework for persisting and querying Java objects in a Couchbase cluster. It supports both synchronous and reactive programming models, offering features such as scope and collection targeting, N1QL and analytics querying, full-text search, and transactional integrity. The library also includes advanced capabilities like document mapping, caching with custom serialization, auditing, and integration with CDI and Querydsl.

How it got here

2012–2013 — Spring Data Couchbase 6.0 migration

18 changes.

This period focused on migrating the Spring Data Couchbase module to version 6.0, aligning it with Spring Data Commons 4.2 and the Couchbase Java SDK 3.12.3. The work involved a comprehensive architectural overhaul, including the introduction of a fluent executable API, new mapping infrastructure with JSR-310 support, and enhanced repository capabilities for scopes, collections, and Querydsl. Legacy caching implementations and JUnit 4 tests were removed to streamline the codebase and adopt modern Jakarta EE namespaces and testing frameworks.

2014–2020 — SDK 3 migration and advanced query features

16 changes.

This period focused on migrating the integration to the Couchbase Java SDK 3, introducing support for scopes and collections. It also expanded the framework with advanced querying capabilities, including N1QL joins, geospatial support, and composite indexes, alongside comprehensive auditing and CDI integration.

2022–2024 — Transaction and Querydsl integration

5 changes.

This period focused on introducing Spring @Transactional support for Couchbase, enabling standard transaction management for both blocking and reactive methods. It also added a new Querydsl integration layer to provide type-safe, composable document queries. The work was supported by comprehensive integration tests and build infrastructure updates.

Features

Add Querydsl support for Couchbase repositories

This change introduces Querydsl integration for Spring Data Couchbase repositories. It adds a new \BasicQuery\ class to handle Querydsl-specific query construction, including projection fields and sorting. A \CouchbaseAnnotationProcessor\ is added to generate Querydsl query types at compile time for entities annotated with \@Document\ and other Querydsl annotations. The \QuerydslCouchbasePredicateExecutor\ provides the implementation for executing Querydsl \Predicate\s against Couchbase, enabling type-safe queries. Additionally, \CouchbaseRepositoryFactory\ and \CouchbaseRepositoryFactoryBean\ are updated to support the Querydsl lookup strategy, and \DynamicInvocationHandler\ is enhanced to handle Querydsl-related method invocations.

src/main/java/org/springframework/data/couchbase/repository/support · high confidence

Add Spring and CDI service registrations for Couchbase support

The library now registers its Couchbase integration components via standard Java service loader and Spring configuration files. This includes adding the \CouchbaseRepositoryExtension\ for CDI environments, registering the \CouchbaseRepositoryFactory\ in \spring.factories\ for automatic repository detection, and defining the \spring-couchbase\ namespace handler, schemas (supporting versions 1.0 and 2.0 over both HTTP and HTTPS), and tooling metadata to enable XML-based configuration and IDE support.

src/main/resources/META-INF · high confidence

Add geospatial query support and case-insensitive string matching

This change introduces support for geospatial queries in Couchbase repository derivation, adding utility classes (GeoUtils, PointInShapeEvaluator, AwtPointInShapeEvaluator) to handle bounding box calculations and false-positive elimination for points within circles and polygons. It also enhances query derivation (N1qlQueryCreatorUtils) to support case-insensitive string comparisons by applying lower-case transformations to both field values and parameters when appropriate.

src/main/java/org/springframework/data/couchbase/repository/query/support · high confidence

CDI support for Spring Data Couchbase repositories

Users can now inject Spring Data Couchbase repositories directly into CDI-managed beans. This change introduces a portable CDI extension that automatically detects Spring Data repository interfaces and registers them as CDI beans, allowing them to be injected using standard CDI qualifiers. The extension resolves the appropriate CouchbaseOperations instance based on qualifiers, enabling seamless integration of Couchbase data access layers into CDI environments.

src/main/java/org/springframework/data/couchbase/repository/cdi · high confidence

Couchbase Cache now supports custom key prefixes and value transcoders

The Couchbase cache implementation now allows users to customize how cache keys are stored in Couchbase and how values are serialized. You can define custom key prefixes using the new CacheKeyPrefix interface (e.g., to prepend a namespace like 'cb-' to cache names) via CouchbaseCacheConfiguration, and specify custom value transcoders for reads and writes. This provides finer control over key naming conventions and serialization strategies for cached data.

src/main/java/org/springframework/data/couchbase/cache · high confidence

Enable annotation-based auditing for Couchbase repositories

Users can now enable automatic auditing (creation and modification dates, auditor identity) for Couchbase entities by adding the new @EnableCouchbaseAuditing annotation to their configuration classes. This change introduces the CouchbaseAuditingRegistrar and supporting beans (such as AuditingEntityCallback and AuditingEventListener) to wire the auditing infrastructure, and also adds @EnableReactiveCouchbaseAuditing for reactive applications. Configuration options allow customizing the auditor provider, date provider, and behavior regarding modification timestamps on creation.

src/main/java/org/springframework/data/couchbase/repository/auditing · high confidence

Introduce Spring @Transactional support for Couchbase

This change adds a new transaction management layer for Couchbase within Spring Data, enabling developers to use the standard Spring \@Transactional\ annotation on both blocking and reactive (Mono/Flux) methods. The implementation introduces a \CouchbaseCallbackTransactionManager\ and a custom \CouchbaseTransactionInterceptor\ to bridge Spring's transaction infrastructure with the Couchbase Java SDK's transaction capabilities. It also includes a \CouchbaseTransactionalOperator\ for programmatic reactive transaction handling and a set of specific exception classes (such as \TransactionSystemAmbiguousException\ and \TransactionRollbackRequestedException\) to map Couchbase transaction outcomes to Spring's transaction semantics.

src/main/java/org/springframework/data/couchbase/transaction · high confidence

Introduce new Couchbase mapping infrastructure and annotations

This change introduces the core mapping layer for Spring Data Couchbase, adding new classes and annotations that define how Java objects are persisted to Couchbase. It includes the \@Document\ annotation for configuring document-level settings such as expiry, durability, and scan consistency, alongside dedicated \@Expiry\ and \@Durability\ annotations. The \@Field\ annotation allows customizing field names within the stored JSON, while \@Expiration\ marks fields for query substitution. The implementation provides \BasicCouchbasePersistentEntity\ and \BasicCouchbasePersistentProperty\ to handle metadata resolution, including support for SDK \@Id\ annotations and custom field naming strategies. Additionally, it introduces \CouchbaseDocument\ and \CouchbaseList\ as internal representations for nested JSON structures and \CouchbaseMappingContext\ to manage entity creation and auto-indexing.

src/main/java/org/springframework/data/couchbase/core/mapping · high confidence

Introduction of executable, fluent API for Couchbase operations

The core template now exposes a new fluent, executable API for data operations, allowing users to chain methods like \inScope()\, \inCollection()\, and \withOptions()\ on operations such as \findById\, \findByQuery\, \findByAnalytics\, and \existsById\. This replaces or supplements the previous imperative style, providing a more consistent and type-safe way to construct queries and key-value operations within the \org.springframework.data.couchbase.core\ package.

src/main/java/org/springframework/data/couchbase/core · high confidence

New Jackson-based translation service for Couchbase document encoding and decoding

The translation layer in the Couchbase core module now includes a new Jackson-based implementation (JacksonTranslationService) that handles encoding and decoding of Couchbase documents to and from JSON. This service supports both String and byte-array inputs, with the byte-array path avoiding intermediate String allocation for improved performance. It recursively processes nested CouchbaseDocument and CouchbaseList structures, handles simple types via a SimpleTypeHolder, and delegates complex types (including Enums and Class fields) to the configured ObjectMapper. The package also defines the TranslationService interface and its decodeFragment method for ad-hoc JSON-to-object conversion, providing a pluggable translation contract for the mapping subsystem.

src/main/java/org/springframework/data/couchbase/core/convert/translation · high confidence

New Querydsl integration for Couchbase document queries

This change introduces a new Querydsl integration layer for Couchbase document stores, adding \AbstractCouchbaseQueryDSL\ and \CouchbaseDocumentSerializer\ to the \org.springframework.data.couchbase.querydsl.document\ package. These classes enable users to construct type-safe, composable queries using the Querydsl API, which are then serialized into Couchbase-specific \QueryCriteria\ definitions. The implementation supports standard operations such as equality, inequality, logical conjunctions/disjunctions, string matching (starts/ends with, contains), and sorting, allowing for a more robust and compile-time checked query experience compared to manual criteria construction.

src/main/java/org/springframework/data/couchbase/querydsl · high confidence

New entity lifecycle event callbacks and auditing support

This location introduces a comprehensive set of event listeners and callbacks for the Couchbase mapping layer, enabling users to intercept and modify domain objects at key lifecycle stages. The new \AbstractCouchbaseEventListener\ and specific event classes (\BeforeConvertEvent\, \BeforeSaveEvent\, \AfterSaveEvent\, \BeforeDeleteEvent\, \AfterDeleteEvent\) allow for custom logic before and after save/delete operations. Additionally, \AuditingEventListener\ and \AuditingEntityCallback\ integrate with Spring Data's auditing framework to automatically populate auditing fields (like \createdBy\, \lastModifiedBy\) on entities before they are persisted. Reactive counterparts (\ReactiveAuditingEntityCallback\, \ReactiveBeforeConvertCallback\, \ReactiveAfterConvertCallback\) are also provided for reactive applications. A \ValidatingCouchbaseEventListener\ is added to support JSR 303 validation before saves, and a \LoggingEventListener\ is included for debugging purposes.

src/main/java/org/springframework/data/couchbase/core/mapping/event · high confidence

New fluent option interfaces for Couchbase operations

The core support package now exposes a comprehensive set of new interfaces (such as WithDurability, WithExpiry, WithLock, WithMutateInPaths, WithDistinct, and WithProjecting) that enable a fluent API for configuring fine-grained options on data operations. Users can now chain method calls to specify details like durability levels, document expiry, sub-document mutation paths, and query projections directly on the operation builders, providing a more expressive and type-safe way to control Couchbase interactions.

src/main/java/org/springframework/data/couchbase/core/support · high confidence

New query model classes and annotations for Couchbase N1QL and Analytics queries

The query package now includes a comprehensive set of new classes and annotations to support advanced querying capabilities. This introduces \AnalyticsQuery\ for handling pagination and sorting in analytics contexts, and \N1QLQuery\ for executing raw N1QL statements with specific options. A new \N1QLExpression\ class provides a fluent API for building N1QL expressions, including identifiers, strings, and boolean constants. The \Query\ class has been enhanced with support for distinct queries and typed property paths. Additionally, new annotations such as \N1qlJoin\ for ANSI joins across entities, \Dimensional\ for spatial views, and \Meta\ for query metadata (like scan consistency and scope/collection) are now available to configure query behavior directly on repository methods and entities.

src/main/java/org/springframework/data/couchbase/core/query · high confidence

New repository annotations and interfaces for scopes, collections, and full-text search

This change introduces new repository-level annotations and interfaces to the Couchbase module. Users can now target specific scopes and collections using the new @Scope and @Collection annotations, and apply query options like scan consistency, projections, and timeouts via the @Options annotation. Full-Text Search (FTS) is now supported through the @Search and @SearchIndex annotations, allowing FTS queries to be defined directly on repository methods. Additionally, the new DynamicProxyable interface enables runtime configuration of options, scopes, and collections on repository proxies, while the CouchbaseRepository and ReactiveCouchbaseRepository interfaces have been updated to support these capabilities.

src/main/java/org/springframework/data/couchbase/repository · high confidence

Support for N1QL Joins across entities

Added the N1qlJoinResolver component, which enables joining data across different Couchbase entities using N1QL. This implementation handles the construction of join queries, including support for specific indexes, hash sides, and key-based lookups, while correctly resolving keyspaces for both default and non-default collections and scopes.

src/main/java/org/springframework/data/couchbase/core/convert/join · high confidence

Support for composite query indexes

The index module now supports defining composite query indexes via the new @CompositeQueryIndex and @CompositeQueryIndexes annotations on entity classes. The index resolver and creator have been updated to detect these annotations and automatically generate the corresponding N1QL CREATE INDEX statements for multiple fields, in addition to the existing single-field @QueryIndexed support.

src/main/java/org/springframework/data/couchbase/core/index · high confidence

Support for multiple Couchbase templates in repository configuration

Users can now configure repositories to use different Couchbase templates (or operations) instead of relying on a single default. This is achieved through new \RepositoryOperationsMapping\ and \ReactiveRepositoryOperationsMapping\ classes that allow mapping specific repository interfaces or entity types to distinct operations beans, with a fallback default. The \EnableCouchbaseRepositories\ and \EnableReactiveCouchbaseRepositories\ annotations, along with their corresponding configuration extensions and registrars, have been updated to support this multi-template setup via XML attributes (\couchbase-template-ref\, \reactive-couchbase-template-ref\) and programmatic configuration.

src/main/java/org/springframework/data/couchbase/repository/config · high confidence

Removals

Removal of legacy Couchbase Spring Cache implementation

The legacy \CouchbaseCache\ and \CouchbaseCacheManager\ classes, which implemented the Spring \Cache\ interface using the deprecated \CouchbaseClient\, have been removed from the codebase. This change eliminates the old caching mechanism that relied on direct client instances for cache operations.

src/main/java/com · high confidence

Behavioural changes

Introduce Couchbase SDK 3 client factory with scope and collection support

The Couchbase integration now uses the Couchbase Java SDK 3, replacing the previous client implementation. This change introduces a new client factory interface and its default implementation, enabling access to specific Scopes and Collections rather than just Buckets. Users can now target specific scopes via the new \withScope\ method and access collections by name, aligning the driver with modern Couchbase architecture.

src/main/java/org/springframework/data/couchbase · high confidence

Migrate build to Spring Develocity Conventions and update JVM configuration

The Maven build now uses the Spring Develocity Conventions extension (version 0.0.26) to connect to ge.spring.io for build performance insights, replacing previous CI properties. Additionally, the JVM configuration has been updated to include specific module exports and opens for the JDK compiler and base libraries, ensuring compatibility with the new build tooling.

.mvn · high confidence

Refactored conversion layer with new converter interfaces and JSR-310 support

The mapping and conversion subsystem has been restructured to align with Spring Data Commons changes. This introduces a new \AbstractCouchbaseConverter\ base class and a \CouchbaseConverter\ interface that standardize how entities are read and written. The \CouchbaseCustomConversions\ class now registers a comprehensive set of built-in converters, including full support for Java 8 date/time types (JSR-310) via \CouchbaseJsr310Converters\, as well as specialized converters for enums and property values. Additionally, the \CryptoConverter\ is now integrated into this pipeline to handle field-level encryption, ensuring that encrypted properties are correctly serialized and deserialized using the new conversion context.

src/main/java/org/springframework/data/couchbase/core/convert · high confidence

Reintroduction of AbstractCouchbaseConfiguration for Java-based setup

The configuration package now includes AbstractCouchbaseConfiguration, a base class that simplifies Java-based setup by providing default bean definitions for the Couchbase cluster, environment, client factory, and template. This change restores the ability to extend this abstract class for configuration, alongside the BeanNames constants that standardize the names of core beans like the template and client factory.

src/main/java/org/springframework/data/couchbase/config · high confidence

Repository queries now use the Executable API with scope and collection support

The query execution layer for Couchbase repositories has been refactored to use the new Executable API (ExecutableFindByQuery and ExecutableRemoveByQuery) instead of the legacy N1QL builder. This change ensures that all repository queries automatically respect the configured scope and collection, removing the need for manual query construction for these parameters. The new architecture introduces separate execution paths for synchronous and reactive operations, supporting pagination, slicing, counting, and deletion through dedicated execution strategies.

src/main/java/org/springframework/data/couchbase/repository/query · high confidence

Repository standardization with Spring Data build conventions

The repository has been restructured to align with the standard Spring Data project setup. This includes replacing the legacy README with a new README.adoc, CONTRIBUTING.adoc, and SUPPORT.adoc, adding a SECURITY.md for private vulnerability reporting, and introducing a CI.adoc for local CI execution. The project now uses the Maven Wrapper (mvnw/mvnw.cmd) for consistent builds, enforces JDK 17 or above, and updates the OSGi manifest template to reflect the new package structure and dependencies.

(repo-wide) · high confidence

Test coverage

Added integration and unit tests for Couchbase core template operations; Added integration tests for Couchbase cache operations; Added integration tests for SDK transaction support; Added test resource configuration files for integration testing; Added tests for JacksonTranslationService encoding and decoding; Added tests for repository query capabilities; Added unit and integration tests for query criteria and type-safe property references; Added unit tests for document mapping, expiry, and custom converters; Expanded test domain model and repository fixtures; Integration tests for Couchbase transaction support; New test infrastructure for managing Couchbase cluster environments; Removed legacy JUnit 4 integration tests for Couchbase cache components.

Dependencies

Upgrade Maven Wrapper to version 3.9.16

The Maven Wrapper configuration has been updated to use Apache Maven 3.9.16. This ensures that builds are executed with a consistent, specific version of Maven, improving reproducibility and potentially providing access to the latest features and bug fixes available in the 3.9.x release line.

.mvn/wrapper · high confidence

Upgrade to Spring Data Couchbase 6.2.0 and Couchbase Java SDK 3.12.3

The project has been upgraded to version 6.2.0-SNAPSHOT, aligning with Spring Data Commons 4.2.0-SNAPSHOT and the Couchbase Java SDK 3.12.3. This update migrates the build to the Spring Data parent POM, adopts Jakarta EE namespaces (e.g., \jakarta.validation\, \jakarta.el\), and includes dependencies for Hibernate Validator 9.1.3, Joda Time, and QueryDSL. Additionally, a \package.json\ file was added to manage Antora documentation dependencies (Antora 3.2.0-alpha.6 and related extensions).

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 63 → 57 (-6.4)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 83 → 90 (+6.3)
  • Architecture 100 → 65 (-34.9)
  • Maturity 50 → 44 (-5.4)
  • Readiness 65 → 68 (+2.9)
  • Security 82 → 68 (-14.7)

Resolved (59)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (10 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/ReactiveSearchBasedCouchbaseQuery.java)
  • Duplicated block (10 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/StringBasedN1qlQueryParser.java)
  • Duplicated block (10 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/support/AwtPointInShapeEvaluator.java)
  • Duplicated block (10 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/support/PointInShapeEvaluator.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperationSupport.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperationSupport.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperationSupport.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/core/query/AnalyticsQuery.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/core/query/OptionsBuilder.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/ReactiveSearchBasedCouchbaseQuery.java)
  • Duplicated block (11 lines × 4) (src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperationSupport.java)
  • Duplicated block (11 lines × 6) (src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java)
  • Duplicated block (11 lines × 7) (src/main/java/org/springframework/data/couchbase/core/ExecutableFindBySearchOperationSupport.java)
  • Duplicated block (12 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/config/ReactiveRepositoryOperationsMapping.java)
  • Duplicated block (13 lines × 2) (src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java)
  • Duplicated block (13 lines × 2) (src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperationSupport.java)
  • Duplicated block (13 lines × 2) (src/main/java/org/springframework/data/couchbase/core/query/OptionsBuilder.java)
  • …and 39 more

New (263)

  • Change coupling clique: ReactiveInsertByIdOperationSupport.java, ReactiveRemoveByIdOperationSupport.java, ReactiveReplaceByIdOperationSupport.java (src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperationSupport.java)
  • ClassTooLong: MappingCouchbaseConverter (src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java)
  • ClassTooLong: QueryCriteria (src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java)
  • Coverage not measured — no coverage collector is wired up
  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Duplicated block (10 lines × 2) (src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java)
  • Duplicated block (10 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreator.java)
  • Duplicated block (10 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/ReactiveSearchBasedCouchbaseQuery.java)
  • Duplicated block (10 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/support/PointInShapeEvaluator.java)
  • Duplicated block (10 lines × 4) (src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperationSupport.java)
  • Duplicated block (10 lines × 4) (src/main/java/org/springframework/data/couchbase/core/query/OptionsBuilder.java)
  • Duplicated block (10–11 lines × 2) (src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperationSupport.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/config/ReactiveRepositoryOperationsMapping.java)
  • Duplicated block (11 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/ReactiveStringBasedCouchbaseQuery.java)
  • Duplicated block (12 lines × 2) (src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperationSupport.java)
  • Duplicated block (12 lines × 2) (src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperationSupport.java)
  • Duplicated block (12 lines × 2) (src/main/java/org/springframework/data/couchbase/core/query/OptionsBuilder.java)
  • Duplicated block (12 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/support/AwtPointInShapeEvaluator.java)
  • Duplicated block (12–13 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlBasedQuery.java)
  • Duplicated block (13 lines × 2) (src/main/java/org/springframework/data/couchbase/repository/query/ReactiveSearchBasedCouchbaseQuery.java)
  • …and 243 more

Changes since last survey

  • 11 commits — 11 feature/other, 0 fixes

By area

  • (root) — 5 commits
  • (repo) — 2 commits
  • .github/actions — 1 commit
  • .github/workflows — 1 commit
  • .mvn/extensions.xml — 1 commit
  • src/main — 1 commit

Notable commits

  • change: Add release train automation.
  • change: Enter rampdown phase for 6.2.0-M1.
  • change: Enter rampdown phase for 6.2.0-M2.
  • change: Prepare next development iteration.
  • change: Release version 6.2.0-M1 (2026.1.0).
  • change: Update Maven extensions.
  • change: Update build config for correct notice and license.txt inclusion.
  • change: Update release train automation.
  • change: Upgrade Couchbase Java SDK to 3.12.2 (#2147)
  • change: Upgrade to Couchbase Client 3.12.3.
  • change: Upgrade to Hibernate Validator 9.1.3.Final.

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

spring-projects/spring-data-couchbase was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 208aa989ac1be17f43f9fb44aae614670c2864ed — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.