Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 25 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,31 @@ jobs:
# path: "**/jacoco-unit.exec"
# retention-days: 1

tests-spring-data-41:
runs-on: ubuntu-22.04
timeout-minutes: 40
steps:
- uses: actions/checkout@v6

- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
cache: 'maven'

# the reactor installs testcontainers-autogen before the testcontainers module
# loads it as a jsonschema2pojo plugin dependency
- name: Build dependencies
run: >
./mvnw -B -pl tarantool-spring-data/tarantool-spring-data-4 -am install -DskipTests
-Dspring.boot.version=4.1.2 -Dspring-data-keyvalue.version=4.1.2

- name: Run Spring Data tests against Spring Boot 4.1.x
run: >
./mvnw -B -pl tarantool-spring-data/tarantool-spring-data-4 test
-Dspring.boot.version=4.1.2 -Dspring-data-keyvalue.version=4.1.2

tests-box-integration:
runs-on: ubuntu-22.04
strategy:
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,16 @@
exit code, stdout and stderr are logged and included in the error. Before, the error carried
only the empty stdout ("Failed to change the app topology via cartridge CLI: ").

### Spring Data

- **Breaking:** only Spring Boot 4.x is supported. The `tarantool-spring-data-27`,
`tarantool-spring-data-31`, `-32`, `-33`, `-34` and `-35` modules are removed.
`tarantool-spring-data-40` is renamed to `tarantool-spring-data-4`, now the single artifact.
- **Breaking:** packages are renamed from `io.tarantool.spring.data40.*` to
`io.tarantool.spring4.data.*`. Update imports after upgrading.
- `tarantool-spring-data-4` is built against Spring Boot 4.0.x and unit-tested with 4.0.x and 4.1.x.
- Users staying on Spring Boot 2.7.x or 3.x should keep using tarantool-spring-data 1.7.x.

## [1.7.3] - 2026-10-30

### Pool
Expand Down
6 changes: 2 additions & 4 deletions CONTRIBUTE.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,8 @@ tarantool-java-sdk (parent POM)
├── tarantool-balancer
├── tarantool-schema
├── tarantool-spring-data
├── tarantool-spring-data-core
├── tarantool-spring-data-27
├── ...
├── tarantool-spring-data-35
├── tarantool-spring-data-core
└── tarantool-spring-data-4
├── testcontainers
└── jacoco-coverage-aggregate-report
```
Expand Down
4 changes: 2 additions & 2 deletions documentation/doc-src/pages/spring-data/configuration.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ necessary settings:
```java
import io.tarantool.client.factory.TarantoolCrudClientBuilder;
import io.tarantool.client.factory.TarantoolFactory;
import io.tarantool.spring.data.repository.config.EnableTarantoolRepositories;
import io.tarantool.spring4.data.repository.config.EnableTarantoolRepositories;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand Down Expand Up @@ -53,7 +53,7 @@ To configure the client through a configuration file (for example, via

```java

import io.tarantool.spring.data.repository.config.EnableTarantoolRepositories;
import io.tarantool.spring4.data.repository.config.EnableTarantoolRepositories;
import org.springframework.context.annotation.Configuration;

@Configuration
Expand Down
4 changes: 2 additions & 2 deletions documentation/doc-src/pages/spring-data/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ title: Конфигурация клиентов
```java
import io.tarantool.client.factory.TarantoolCrudClientBuilder;
import io.tarantool.client.factory.TarantoolFactory;
import io.tarantool.spring.data.repository.config.EnableTarantoolRepositories;
import io.tarantool.spring4.data.repository.config.EnableTarantoolRepositories;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand Down Expand Up @@ -53,7 +53,7 @@ public class Config {

```java

import io.tarantool.spring.data.repository.config.EnableTarantoolRepositories;
import io.tarantool.spring4.data.repository.config.EnableTarantoolRepositories;
import org.springframework.context.annotation.Configuration;

@Configuration
Expand Down
21 changes: 8 additions & 13 deletions documentation/doc-src/pages/spring-data/index.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,15 @@ using [Tarantool](https://www.tarantool.io) as a data store.
| 1.5.x | 1.5.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.11 |
| 1.6.x | 1.6.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.13 / 3.5.8 |
| 1.7.x | 1.7.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.13 / 3.5.16 / 4.0.9 |
| 2.0.x | 2.0.x | 4.0.x / 4.1.x |

Choose the module by the Spring Boot minor line of your application. The table above lists the
Spring Boot versions each module is built and tested with; other patch versions of the same line are
not tested in CI, and newer minor lines are not tested at all.
The `tarantool-spring-data-4` module supports Spring Boot 4.x. CI builds it against 4.0.x and
runs unit tests with 4.0.x and 4.1.x. Its packages carry the Spring major version
(`io.tarantool.spring4.data`), so future Spring Data majors can be supported alongside.

| Spring Boot line | Module |
|:----------------:|:---------------------------:|
| 2.7.x | `tarantool-spring-data-27` |
| 3.1.x | `tarantool-spring-data-31` |
| 3.2.x | `tarantool-spring-data-32` |
| 3.3.x | `tarantool-spring-data-33` |
| 3.4.x | `tarantool-spring-data-34` |
| 3.5.x | `tarantool-spring-data-35` |
| 4.0.x | `tarantool-spring-data-40` |
| Spring Boot line | Module |
|:----------------:|:--------------------------:|
| 4.0.x / 4.1.x | `tarantool-spring-data-4` |

### Tarantool Version and Supported Client Modules

Expand Down Expand Up @@ -119,7 +114,7 @@ Include the module in your project as follows:
</dependency>
<dependency>
<groupId>io.tarantool</groupId>
<artifactId>tarantool-spring-data-40</artifactId>
<artifactId>tarantool-spring-data-4</artifactId>
<version>${tarantool-spring-data.version}</version>
</dependency>
</dependencies>
Expand Down
18 changes: 7 additions & 11 deletions documentation/doc-src/pages/spring-data/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,16 @@ hide:
| 1.5.x | 1.5.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.11 |
| 1.6.x | 1.6.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.13 / 3.5.8 |
| 1.7.x | 1.7.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.13 / 3.5.16 / 4.0.9 |
| 2.0.x | 2.0.x | 4.0.x / 4.1.x |

Модуль выбирается по минорной линии Spring Boot приложения. В таблице выше — версии Spring Boot, с
которыми модули собраны и протестированы; другие патч-версии той же линии в CI не проверяются, более
новые минорные линии не проверяются вовсе.
Модуль `tarantool-spring-data-4` поддерживает Spring Boot 4.x. В CI он собирается против 4.0.x и
прогоняет unit-тесты с 4.0.x и 4.1.x. Пакеты содержат мажорную версию Spring
(`io.tarantool.spring4.data`), поэтому будущие мажорные версии Spring Data можно поддерживать
параллельно.

| Линия Spring Boot | Модуль |
|:-----------------:|:---------------------------:|
| 2.7.x | `tarantool-spring-data-27` |
| 3.1.x | `tarantool-spring-data-31` |
| 3.2.x | `tarantool-spring-data-32` |
| 3.3.x | `tarantool-spring-data-33` |
| 3.4.x | `tarantool-spring-data-34` |
| 3.5.x | `tarantool-spring-data-35` |
| 4.0.x | `tarantool-spring-data-40` |
| 4.0.x / 4.1.x | `tarantool-spring-data-4` |

### Версия Tarantool и поддерживаемые модули-клиенты

Expand Down Expand Up @@ -119,7 +115,7 @@ Tarantool можно найти
</dependency>
<dependency>
<groupId>io.tarantool</groupId>
<artifactId>tarantool-spring-data-40</artifactId>
<artifactId>tarantool-spring-data-4</artifactId>
<version>${tarantool-spring-data.version}</version>
</dependency>
</dependencies>
Expand Down
5 changes: 5 additions & 0 deletions tarantool-java-sdk-bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,11 @@
<artifactId>tarantool-spring-data-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.tarantool</groupId>
<artifactId>tarantool-spring-data-4</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.tarantool</groupId>
<artifactId>testcontainers</artifactId>
Expand Down
28 changes: 11 additions & 17 deletions tarantool-spring-data/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,13 @@ data storage.
| 1.5.x | 1.5.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.11 |
| 1.6.x | 1.6.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.13 / 3.5.8 |
| 1.7.x | 1.7.x | 2.7.18 / 3.1.12 / 3.2.12 / 3.3.13 / 3.4.13 / 3.5.16 / 4.0.9 |
| 2.0.x | 2.0.x | 4.0.x / 4.1.x |

Choose the module by the Spring Boot minor line of your application. The table above lists the
Spring Boot versions each module is built and tested with; other patch versions of the same line are
not tested in CI, and newer minor lines are not tested at all.
The `tarantool-spring-data-4` module supports Spring Boot 4.x.

| Spring Boot line | Module |
|:----------------:|:---------------------------:|
| 2.7.x | `tarantool-spring-data-27` |
| 3.1.x | `tarantool-spring-data-31` |
| 3.2.x | `tarantool-spring-data-32` |
| 3.3.x | `tarantool-spring-data-33` |
| 3.4.x | `tarantool-spring-data-34` |
| 3.5.x | `tarantool-spring-data-35` |
| 4.0.x | `tarantool-spring-data-40` |
| Spring Boot line | Module |
|:----------------:|:--------------------------:|
| 4.0.x / 4.1.x | `tarantool-spring-data-4` |

### Tarantool Version and Supported Client Modules

Expand Down Expand Up @@ -96,11 +89,12 @@ CRUD operations of the
> which are not available in TDG. Using a `Repository` with a TDG connection fails with
> `BoxError{code=33, message='Procedure 'crud.select' is not defined'}`.

> [!IMPORTANT]
> #### Spring Data 3.4.x
> Verified operation of
> [repository fragments SPI](https://github.com/spring-projects/spring-data-commons/wiki/Spring-Data-2024.1-Release-Notes#repository-fragments-spi).
> Additional information [here](https://github.com/spring-projects/spring-data-commons/pull/3093).
> [!IMPORTANT]
> #### Repository fragments
> The
> [repository fragments SPI](https://github.com/spring-projects/spring-data-commons/wiki/Spring-Data-2024.1-Release-Notes#repository-fragments-spi)
> is supported. Additional information
> [here](https://github.com/spring-projects/spring-data-commons/pull/3093).

## Getting Started with Spring Data Tarantool

Expand Down
16 changes: 6 additions & 10 deletions tarantool-spring-data/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,18 @@

<modules>
<module>tarantool-spring-data-core</module>
<module>tarantool-spring-data-27</module>
<module>tarantool-spring-data-31</module>
<module>tarantool-spring-data-32</module>
<module>tarantool-spring-data-33</module>
<module>tarantool-spring-data-34</module>
<module>tarantool-spring-data-35</module>
<module>tarantool-spring-data-40</module>
<module>tarantool-spring-data-4</module>
</modules>

<properties>
<!--require Java 8+-->
<slf4j.version>2.0.20</slf4j.version>
<logback.version>1.5.32</logback.version>
<junit.version>5.14.4</junit.version>
<!--set minimum version for parent property value-->
<spring.boot.version>2.7.18</spring.boot.version>
<!-- Spring Boot 4.x baseline. spring-data-keyvalue has no 4.0.9 release,
so it is pinned to the latest matching artifact. -->
<spring.boot.version>4.0.9</spring.boot.version>
<spring-data-keyvalue.version>4.0.8</spring-data-keyvalue.version>
<license.header.file>${project.parent.basedir}/LICENSE_HEADER.txt</license.header.file>
</properties>

Expand Down Expand Up @@ -74,7 +70,7 @@
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-keyvalue</artifactId>
<version>${spring.boot.version}</version>
<version>${spring-data-keyvalue.version}</version>
</dependency>

<!-- application.properties processor -->
Expand Down
55 changes: 0 additions & 55 deletions tarantool-spring-data/tarantool-spring-data-27/pom.xml

This file was deleted.

This file was deleted.

Loading
Loading