Skip to content

Version Packages - #429

Merged
coderdan merged 1 commit into
mainfrom
changeset-release/main
Jul 28, 2026
Merged

Version Packages#429
coderdan merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@cipherstash/eql@3.0.4

Patch Changes

  • c8ee10f: The generated API reference was missing eql_v3.grouped_value and eql_v3.lints() entirely, and described public.eql_v3_text_match as storage-only. Four extraction bugs, all silent — each one dropped or misdescribed a symbol without failing the docs build.

    • @example deleted the symbol it documented. Doxygen's \example takes a filename; used as an inline snippet marker it pulled the block out of the member's documentation. The two symbols in the tree that used it were the two missing from the manifest — eql_v3.grouped_value lost its whole memberdef, eql_v3.lints() was left with an empty description and dropped by the no-documentation guard. Both now use @code{.sql} / @endcode.
    • CREATE AGGREGATE bodies broke the C++ parse. The trailing (sfunc = …, stype = …) is a second parenthesised group, which C++ has no form for, so Doxygen misread the declaration: with a bare argument type it named the member after the type (grouped_value(jsonb) was extracted as a function called jsonb), and with a schema-qualified one it truncated the argument list mid-body. The input filter now strips aggregate bodies, as it already did for dollar-quoted function bodies, and the extractor reads an aggregate's argument types from its declaration and its return type from @return. min/max signatures are now schema-qualified (min(public.eql_v3_bigint_ord), previously min(eql_v3_bigint_ord)) and no longer report a parameter named public. or a return type of CREATE AGGREGATE eql_v3.
    • The match capability was computed from the pre-3.0.1 operator spelling. Fuzzy match became @@ in 3.0.1, but the manifest still tested @> / <@, so no domain could be assigned match at all: public.eql_v3_text_match matched no branch and fell through to the storage-only default, and text_search silently lost match. Containment on encrypted JSON keeps @> / <@ and is now reported as its own containment capability rather than conflated with fuzzy match.
    • public.eql_v3_json was in no list at all. The catalog dump filtered the json family's bare storage domain out of stevec as scalar, while types iterates scalar_families(), which excludes the mixed json family wholesale — so the domain the SQL materializer creates appeared in neither, and never reached the manifest. It is now carried in the json-family inventory with a scalar flag, so consumers do not describe it with the SteVec query surface.

    Why: the manifest is the machine-readable contract the documentation and downstream agents build against, and every one of these failed open — a missing symbol or a wrong capability reads exactly like a symbol that does not exist or a domain that cannot be searched.

@coderdan
coderdan enabled auto-merge July 28, 2026 04:48
@coderdan
coderdan added this pull request to the merge queue Jul 28, 2026
Merged via the queue into main with commit f878f9a Jul 28, 2026
19 checks passed
@coderdan
coderdan deleted the changeset-release/main branch July 28, 2026 05:27
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.

1 participant