chore: release hotdata-langchain v0.15.0 - #96
Conversation
`delete` removing matched rows and inserting nothing is the most consequential change in this release — the previous wording invited a reading that destroys rows and reports success. It belongs under Fixed, next to the `keys` validation, rather than as a footnote. The floor bump now says outright that it tightens what an existing installation may resolve.
There was a problem hiding this comment.
Release metadata is consistent. pyproject.toml, uv.lock and the new ## [0.15.0] heading agree on 0.15.0. The previously unreleased entries now sit under the version heading, and no stale 0.14.0 reference remains in the tree. CHANGELOG.md uses no link reference definitions, so no compare link is needed.
CI checks other than the release metadata check were still queued at review time.
| - **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. |
There was a problem hiding this comment.
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.
| - **`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 |
There was a problem hiding this comment.
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.
| - **`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 |
There was a problem hiding this comment.
Release metadata is consistent: pyproject.toml and uv.lock both read 0.15.0, and CHANGELOG.md carries a ## [0.15.0] heading under ## [Unreleased]. scripts/extract-changelog.py reads the whole section, so the release notes will include every subsection.
The change since the last review is CHANGELOG text only. Two non-blocking comments are inline.
Only Check release metadata reported a result at review time. The test matrix, lint and floor jobs were still queued or in progress, so this approval makes no claim about them.
Summary
Release hotdata-langchain v0.15.0.
Checklist
pyproject.tomlCHANGELOG.mdupdatedAfter merge, run
./scripts/release.sh publishfrom a cleanmaincheckout.