Skip to content

Commit 13175c2

Browse files
authored
Merge pull request #19 from braintrustdata/release/0.4.0
Release 0.4.0
2 parents abbabcb + 638e51c commit 13175c2

5 files changed

Lines changed: 21 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,23 @@ The format is based on Keep a Changelog and this project follows Semantic Versio
1818

1919
- N/A
2020

21+
## [0.4.0] - 2026-06-08
22+
23+
### Added
24+
25+
- Automatic spilling of oversized event fields into JSON attachments: when a row exceeds the ~20MB per-span logging upload limit, the largest of `input`, `output`, `metadata`, `expected`, `error`, and `span_attributes` are uploaded to the destination as `braintrust_attachment` references so the span migrates successfully instead of failing on `/logs3/overflow`. Applies to logs, experiment events, and dataset events; always on, no configuration required.
26+
- End-to-end and unit coverage for oversize-field spilling, including a full `LogsMigrator` run over a >20MB event.
27+
28+
### Changed
29+
30+
- Folded per-event size measurement into a single pass in the streaming insert path, reusing the result for both oversize detection and byte accounting (removes a redundant serialization).
31+
- Tracked spilled-field counts in streaming checkpoint state and migration reports.
32+
33+
### Fixed
34+
35+
- Experiment migration now remaps `parameters_id` (a foreign key to the prompts table) to the destination prompt id, or drops it together with `parameters_version` when the prompt was not migrated, preventing foreign-key violations introduced by recent OpenAPI schema additions.
36+
- Migrated `tags` for datasets, now that it is part of the dataset create schema.
37+
2138
## [0.3.0] - 2026-04-07
2239

2340
### Added

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ This tool provides migration capabilities for Braintrust organizations, handling
5555
This project is not yet published on PyPI. Install a pinned release from GitHub:
5656

5757
```bash
58-
pip install "git+https://github.com/braintrustdata/braintrust-migrate.git@v0.3.0"
58+
pip install "git+https://github.com/braintrustdata/braintrust-migrate.git@v0.4.0"
5959
```
6060

6161
> Avoid installing directly from `main` in production workflows.

braintrust_migrate/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
A Python CLI & library for migrating Braintrust organizations with maximum fidelity.
44
"""
55

6-
__version__ = "0.3.0"
6+
__version__ = "0.4.0"
77
__author__ = "Braintrust Migration Tool"
88
__email__ = "support@braintrust.dev"
99

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "braintrust-migrate"
7-
version = "0.3.0"
7+
version = "0.4.0"
88
description = "CLI & library for migrating Braintrust organizations with maximum fidelity"
99
readme = "README.md"
1010
requires-python = ">=3.12"

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)