# 12.29.0

## New Features

* **Batched outbox publishing** — Messages are now fetched and published in configurable batches, improving throughput.
* **Outbox circuit breaker** — Automatically stops polling when the message broker is unavailable and resumes once connectivity is restored.
* **Outbox health indicator** — Exposes outbox publisher status via `/actuator/health`.
* **Suppress outbox for Object Management** — A `suppressOutbox` property can be set on object management configurations to skip outbox writes for read-heavy integrations.
* **Pipelined RabbitMQ confirms** — The RabbitMQ publisher now sends all confirmations in parallel instead of one-by-one.

## Enhancements

* **New enhancement title**

  New enhancement explanation.

## Bugfixes

* Fixed MySQL outbox message query missing ordering.
* Fixed RabbitMQ outbox publisher null safety on confirmation result.

## Deprecations

The following will be removed in 14.0:

* `OutboxMessageRepository.findOutboxMessage()` — use `findOutboxMessages(batchSize)`
* `ValtimoOutboxService.getOldestMessage()` — use `getOldestMessages(batchSize)`
* `ValtimoOutboxService.deleteMessage(id)` — use `deleteMessages(ids)`

## Known issues

This version has the following known issues:

* **Outbox circuit breaker never recovers from OPEN state**
  * Discovered in version 12.29.0
  * Fixed in 12.30.0. Workaround: Disable the circuit breaker using the `valtimo.outbox.publisher.polling.circuit-breaker.enabled` property.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.valtimo.nl/v12/release-notes/12.x.x/12.29.0.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
