Skip to content

chore(deps): bump es-entity to 0.13.0 - #158

Draft
woodjd12 wants to merge 1 commit into
mainfrom
chore/bump-es-entity-0.13.0
Draft

woodjd12 wants to merge 1 commit into
mainfrom
chore/bump-es-entity-0.13.0

Conversation

@woodjd12

Copy link
Copy Markdown

Bumps the workspace es-entity pin 0.12.14 → 0.13.0 (release notes), with Cargo.lock picking up es-entity-macros 0.13.0. This is the obix step of the rollout chain (es-entity → job → obix → cala → lana-bank).

Draft: blocked on a job release built against es-entity 0.13. See below.

Breaking change does not touch this crate

0.13.0 is a breaking 0.x release: PaginatedQueryRet loses its public entities field and can no longer be built by struct literal — callers now use PaginatedQueryRet::new(...), .entities(), .into_parts(), .map_entities(), .try_map_entities() and .map_end_cursor(). No source in this repo constructs that struct by literal or reads the field, so no code changes are needed for the breaking change itself.

Why this is a draft

job 0.14.0 (the current crates.io release, still pinned here) depends on es-entity 0.12, so with this bump cargo resolves two es-entity versions side by side — 0.12.21 for job and 0.13.0 for obix — and the crate no longer compiles across the obix/job boundary. cargo check --all-features fails with 25 errors, all of the same shape:

  • 9 × E0277DbOp<'_>: es_entity::operation::AtomicOperation not satisfied
  • 6 × E0277impl es_entity::AtomicOperation: es_entity::operation::AtomicOperation not satisfied
  • 3 × E0277ctx::FlushOp<'_>: es_entity::operation::AtomicOperation not satisfied
  • 7 × E0308 — mismatched types, e.g. job::JobCompletion::CompleteWithOp expects es-entity-0.12.21's DbOp<'static> but gets es-entity-0.13.0's DbOp<'_>

with rustc noting there are multiple different versions of crate es_entity in the dependency graph on every one. These are purely the two-version split, not real API breakage.

What unblocks it

GaloyMoney/job#218 bumps job to es-entity 0.13.0. Once that merges and a job release is cut, the job pin here (job = { version = "0.14.0", features = ["es-entity"] }) must be bumped to that release; the lock then collapses back to a single es-entity 0.13.0 and this should compile clean. I deliberately left the job pin untouched rather than guessing an unreleased version number. This PR should be re-checked and taken out of draft at that point — do not merge it before then.

Local validation

Run in nix develop, with SQLX_OFFLINE=true:

  • cargo fmt --check — clean
  • cargo clippy --all-features --all-targets — fails with the 25 two-version errors above; nothing else
  • cargo update -p es-entity -p es-entity-macros produced a lock diff touching only es-entity, es-entity-macros and convert_case
  • fuzz/ needs no change: unlike job's fuzz crate, it does not pin es-entity directly

Integration tests were not run locally (no Postgres in this environment).

🤖 Generated with Claude Code

Bumps the workspace `es-entity` pin 0.12.14 -> 0.13.0. The 0.13.0
breaking change (`PaginatedQueryRet` gated behind constructor and
accessor methods) does not touch this crate's source.

Blocked on the `job` release: `job` 0.14.0 is still built against
es-entity 0.12, so the lock now resolves both 0.12.21 and 0.13.0 and
the crate does not compile across the obix/job boundary. The `job`
pin must move to the next job release (built on es-entity 0.13)
before this can merge.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants