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
21 changes: 14 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.15.0] - 2026-09-01

### Added

- **`keys` and `expires_at` on `hotdata_create_managed_database`.** Both were available on the
Expand Down Expand Up @@ -42,6 +44,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- **The load tool now says what each keyed mode does to a matched row**, rather than naming
`upsert`, `update` and `delete` together under one clause about matching by key. `delete`
removes matched rows and inserts nothing, and the previous wording left it open to reading as
delete-then-insert by key — a misreading that destroys rows and reports success. Each mode now
states its effect on a matched row and on one that matches nothing.

- **A `keys` entry naming a table the same call is not declaring is refused.** It would
otherwise create a keyless table and report success, and since a key can only be set at
creation, the only fix is to create another database.
Comment on lines +47 to +55

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: move both entries into ### Added, or restore the earlier ### Notes placement (not blocking).

Neither entry describes a fix relative to a released version. mode and key on the load tool arrive in this release, per the ### Added entry at line 22, which states the load hardcoded mode="replace" and that the keyed modes were unreachable. keys on the create tool arrives in this release too, per line 14. So no released version carried the ambiguous mode wording, and no released version accepted a keys entry for an undeclared table.

Keep a Changelog reserves Fixed for bug fixes. A reader upgrading from 0.14.0 reads these two entries as regressions in 0.14.0 and finds nothing to have been affected by.


- **Building the tools raised on `langchain-core` 1.0.0**, the version this package declares as
its floor. Its docstring parser reads a colon in a wrapped `Args:` continuation line as the
start of a new argument, so `Arg one by key in docstring not found in function signature`
Expand All @@ -57,7 +69,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
support for — which is how the `langchain-core` break above reached a release, and how the
framework floor drifted three minor versions behind what the package was developed against.

- **`hotdata-framework>=0.13.0`** (from `>=0.10.0`). 0.13.0 is where an `append` load became
- **`hotdata-framework>=0.13.0`** (from `>=0.10.0`), which tightens what an existing installation
may resolve. 0.13.0 is where an `append` load became
Comment on lines +72 to +73

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

super nit: reflow the paragraph (not blocking). The inserted clause leaves line 73 at 54 characters while the rest of the file fills to the 100-character margin.

Suggested change
- **`hotdata-framework>=0.13.0`** (from `>=0.10.0`), which tightens what an existing installation
may resolve. 0.13.0 is where an `append` load became
- **`hotdata-framework>=0.13.0`** (from `>=0.10.0`), which tightens what an existing
installation may resolve. 0.13.0 is where an `append` load became

retryable — before it, `append` was excluded from retries, so a load that hit
`409 RESOURCE_LOCKED` failed whatever `max_retries` was set to. This release makes `append`
reachable from a tool, so the floor moves with it. It also brings terminal-vs-transient 409
Expand All @@ -72,12 +85,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
framework client, which hardcodes the fields it forwards — so they need an upstream change
rather than a wider signature in this package.

- The load tool now states what each keyed mode does to a matched row rather than naming the
three together. `delete` removes matched rows and inserts nothing, which the previous wording
left open to reading as delete-then-insert by key — a misreading that destroys rows and
reports success. A `keys` entry naming an undeclared table is now refused rather than
silently creating a keyless table, which cannot be corrected afterwards.

- Retrying a failed `append` from an agent still duplicates rows, and no version fixes that.
Re-sending the same upload replays the server's receipt, but a tool call has no memory across
turns, so a repeat stages a fresh upload with no receipt to replay. The load tool's
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "hotdata-langchain"
version = "0.14.0"
version = "0.15.0"
description = "LangChain tools for Hotdata runtime"
readme = "README.md"
requires-python = ">=3.10"
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading