Skip to content
Merged
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 20 additions & 11 deletions buildSrc/src/main/kotlin/docling-release.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
plugins {
id("docling-sbom")
`maven-publish`
}

val isJavaPlatform = pluginManager.hasPlugin("java-platform")

if (!isJavaPlatform) {
apply(plugin = "docling-sbom")
}

publishing {
repositories {
maven {
Expand All @@ -12,18 +17,22 @@ publishing {

publications {
create<MavenPublication>("maven") {
from(components["java"])

// Attach SBOM artifacts to publication
val cyclonedxTask = tasks.named<org.cyclonedx.gradle.CyclonedxDirectTask>("cyclonedxDirectBom").get()
artifact(cyclonedxTask.jsonOutput) {
classifier = "cyclonedx"
extension = "json"
if (isJavaPlatform) {
from(components["javaPlatform"])
}
else {
from(components["java"])

artifact(cyclonedxTask.xmlOutput) {
classifier = "cyclonedx"
extension = "xml"
val cyclonedxTask = tasks.named<org.cyclonedx.gradle.CyclonedxDirectTask>("cyclonedxDirectBom").get()
artifact(cyclonedxTask.jsonOutput) {
classifier = "cyclonedx"
extension = "json"
}

artifact(cyclonedxTask.xmlOutput) {
classifier = "cyclonedx"
extension = "xml"
}
}

pom {
Expand Down
16 changes: 16 additions & 0 deletions docling-bom/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
plugins {
`java-platform`
id("docling-shared")
id("docling-release")
}

description = "Docling Java BOM"

dependencies {
constraints {
api(project(":docling-core"))
api(project(":docling-serve-api"))
api(project(":docling-serve-client"))
api(project(":docling-testcontainers"))
}
}
35 changes: 34 additions & 1 deletion docs/src/doc/docs/whats-new.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,28 @@

Docling Java {{ gradle.project_version }} includes important breaking changes, along with new features, enhancements, and bug fixes. This page includes the highlights of the release, but you can also check out the full [release notes](https://github.com/docling-project/docling-java/releases) for more details about each change.

## General

### {{ gradle.project_version }}

* **New `docling-bom` module** — A Maven BOM (`ai.docling:docling-bom`) is now published, allowing consumers to align all Docling Java module versions with a single import.

### 0.5.1

* Include `furniture` field in `DoclingDocument`.
* CycloneDX SBOM artifacts are now published alongside each module.

### 0.1.5

* New `docling-core` module with `DoclingDocument` API mirroring the [docling-core](https://github.com/docling-project/docling-core) Python library's document representation model.

## Docling Serve

### {{ gradle.project_version }}


### 0.5.0

#### Breaking Changes

* **`ConvertDocumentResponse` is now an abstract class** with three concrete implementations:
Expand All @@ -26,11 +44,26 @@ Docling Java {{ gradle.project_version }} includes important breaking changes, a
* Target is `S3Target` or `PutTarget`
* **Migration guide:** Use `getResponseType()` to determine the concrete type and cast accordingly, or use pattern matching (Java 16+) or instanceof checks to handle different response types.

### 0.4.8
### 0.4.7

* Support configuring timeouts in `DoclingServeApi.Builder` via `connectTimeout(Duration)` and `requestTimeout(Duration)`.
* Fix incorrect values in `OcrEngine` enum.

### 0.4.4

* Fix: path component in `baseUrl` is now correctly preserved when building API request URIs.

### 0.4.3

* Add S3-based source and target support with enhanced extensibility.
* Introduce API extension point and enhance builder usage.

### 0.4.2

* Migrate from `java.util.logging` to SLF4J for logging.
* Fix custom `Duration` serializers with `ChronoUnit` support.
* Fix JSON property name from `options` to `convert_options` in chunk document requests.

### 0.4.1

* Handle validation errors returned by Docling Serve (i.e. `422` responses).
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {
}

rootProject.name = "docling-java"
include("docling-core", "docling-serve-api", "docling-serve-client", "docs", "docling-testcontainers", "docling-version-tests", "test-report-aggregation")
include("docling-bom", "docling-core", "docling-serve-api", "docling-serve-client", "docs", "docling-testcontainers", "docling-version-tests", "test-report-aggregation")

project(":docling-serve-api").projectDir = file("docling-serve/docling-serve-api")
project(":docling-serve-client").projectDir = file("docling-serve/docling-serve-client")
Expand Down