Skip to content

Commit baa213d

Browse files
Version Packages (rc)
1 parent 9bf2a56 commit baa213d

23 files changed

Lines changed: 249 additions & 12 deletions

File tree

‎.changeset/pre.json‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"changesets": [
2525
"adapter-package-split",
2626
"adapter-split-skills",
27+
"cli-anonymous-telemetry",
2728
"cli-eql-v3-single-bundle",
2829
"eql-v3-adapter-type-robustness",
2930
"eql-v3-bigint-domains",
@@ -34,6 +35,7 @@
3435
"eql-v3-drizzle",
3536
"eql-v3-ffi-0-28-concrete-types",
3637
"eql-v3-ga-rebaseline",
38+
"eql-v3-json-selector",
3739
"eql-v3-json-skills",
3840
"eql-v3-json",
3941
"eql-v3-public-domains",
@@ -58,7 +60,9 @@
5860
"supabase-in-list-operands",
5961
"supabase-is-null-operands",
6062
"supabase-or-string-parser",
63+
"supabase-v3-json-querying",
6164
"supabase-v3-order-by-ope-term",
62-
"wizard-allow-env-templates"
65+
"wizard-allow-env-templates",
66+
"wizard-analytics-privacy"
6367
]
6468
}

‎e2e/CHANGELOG.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# @cipherstash/e2e
22

3+
## 0.0.3-rc.1
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [134fd43]
8+
- Updated dependencies [59b994e]
9+
- Updated dependencies [5fe9a2f]
10+
- Updated dependencies [d8e0c1d]
11+
- stash@1.0.0-rc.1
12+
- @cipherstash/stack@1.0.0-rc.1
13+
- @cipherstash/wizard@0.5.0-rc.1
14+
315
## 0.0.3-rc.0
416

517
### Patch Changes

‎e2e/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@cipherstash/e2e",
3-
"version": "0.0.3-rc.0",
3+
"version": "0.0.3-rc.1",
44
"private": true,
55
"description": "End-to-end tests that exercise built CipherStash binaries and cross-package behaviour.",
66
"type": "module",

‎examples/basic/CHANGELOG.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# @cipherstash/basic-example
22

3+
## 1.2.14-rc.1
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [59b994e]
8+
- Updated dependencies [5fe9a2f]
9+
- @cipherstash/stack-drizzle@1.0.0-rc.1
10+
- @cipherstash/stack-supabase@1.0.0-rc.1
11+
- @cipherstash/stack@1.0.0-rc.1
12+
313
## 1.2.14-rc.0
414

515
### Patch Changes

‎examples/basic/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@cipherstash/basic-example",
33
"private": true,
4-
"version": "1.2.14-rc.0",
4+
"version": "1.2.14-rc.1",
55
"type": "module",
66
"scripts": {
77
"start": "tsx index.ts"

‎examples/prisma/CHANGELOG.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# @cipherstash/prisma-next-example
22

3+
## 0.0.6-rc.1
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [5fe9a2f]
8+
- @cipherstash/stack@1.0.0-rc.1
9+
- @cipherstash/prisma-next@0.4.0-rc.1
10+
311
## 0.0.6-rc.0
412

513
### Patch Changes

‎examples/prisma/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@cipherstash/prisma-next-example",
33
"private": true,
4-
"version": "0.0.6-rc.0",
4+
"version": "0.0.6-rc.1",
55
"description": "End-to-end example of @cipherstash/prisma-next: searchable application-layer encryption for Postgres with Prisma Next, using @cipherstash/stack as the SDK.",
66
"type": "module",
77
"scripts": {

‎packages/bench/CHANGELOG.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# @cipherstash/bench
22

3+
## 0.0.5-rc.1
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [59b994e]
8+
- Updated dependencies [5fe9a2f]
9+
- @cipherstash/stack-drizzle@1.0.0-rc.1
10+
- @cipherstash/stack@1.0.0-rc.1
11+
312
## 0.0.5-rc.0
413

514
### Patch Changes

‎packages/bench/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@cipherstash/bench",
3-
"version": "0.0.5-rc.0",
3+
"version": "0.0.5-rc.1",
44
"private": true,
55
"description": "Performance / index-engagement benchmarks for stack integrations (Drizzle, encryptedSupabase, Prisma).",
66
"type": "module",

‎packages/cli/CHANGELOG.md‎

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,83 @@
11
# @cipherstash/cli
22

3+
## 1.0.0-rc.1
4+
5+
### Minor Changes
6+
7+
- 134fd43: Add anonymous, opt-out usage analytics to the `stash` CLI, plus a
8+
`stash telemetry [status|enable|disable]` command to manage it.
9+
10+
Only coarse events are collected — command name, CLI version, OS/arch, Node
11+
version, success/failure, duration, and a coarse caller class (e.g.
12+
`claude-code`, `cursor`, `interactive`) derived from environment markers so we
13+
can gauge agent- vs human-driven usage. Events carry a random install
14+
identifier (a locally generated UUID, not derived from any machine or user
15+
attribute) used only to de-duplicate events in aggregate. Plaintext, schema,
16+
table/column names,
17+
connection strings, argument values, and any session/trace identifier are never
18+
collected — enforced by a property-key allowlist at the emitter boundary plus
19+
closed-vocabulary coercion of every argv- or error-derived value (unrecognised
20+
commands, subcommands, and error class names all collapse to `<other>`). A
21+
one-time notice is shown on first run, and nothing is sent on that run.
22+
23+
Telemetry is off by default in CI and can be disabled with `DO_NOT_TRACK=1`
24+
(the cross-tool standard), `STASH_TELEMETRY_DISABLED=1`, or
25+
`stash telemetry disable` (persisted to `~/.cipherstash/telemetry.json`).
26+
27+
Events are sent via a first-party proxy and never block or slow the CLI. The
28+
feature ships dormant — no events are sent until a PostHog project key is
29+
embedded at release. Updates the `stash-cli` skill to document the command and
30+
opt-out controls.
31+
32+
### Patch Changes
33+
34+
- 59b994e: Add EQL v3 JSON **selector-with-constraint** querying to the Drizzle integration
35+
(#623). `ops.selector(col, '$.path')` returns comparison methods bound to a
36+
JSONPath into a `types.Json` column — `eq`/`ne`/`gt`/`gte`/`lt`/`lte` — emitting
37+
`col->'<selector>' <op> <value>` over the encrypted document. Its unique power
38+
over `contains` is **ordering at a path** (`col->'$.age' > 21`), which
39+
containment cannot express.
40+
41+
Complements the existing `contains` (JSONB `@>`) containment operator. Core
42+
`@cipherstash/stack` needs no change — the selector hash and comparison entry are
43+
produced by `encryptQuery`/`encrypt` on the existing `types.Json` surface. v1
44+
supports dot-notation object paths; array-index/wildcard paths are rejected with
45+
a clear error. The Supabase adapter is tracked separately.
46+
47+
The right-hand comparison operand is currently a storage-encrypted needle (its
48+
ste_vec entry carries the ordering term), pending a ciphertext-free ordering
49+
query needle from protect-ffi (cipherstash/protectjs-ffi#137); until then the
50+
value's ciphertext appears in the WHERE clause.
51+
52+
The bundled `stash-encryption` and `stash-drizzle` skills document the new
53+
`ops.selector(...)` surface (they previously said JSONPath selector queries were
54+
not yet implemented).
55+
56+
- 5fe9a2f: Encrypted-JSON querying on the v3 Supabase surface (#650). A `types.Json`
57+
column now supports exact encrypted containment — `contains(col, subDocument)`
58+
(ste_vec `@>` via PostgREST `cs`, with the sub-document storage-encrypted
59+
against the column) — and JSONPath selector predicates: `selectorEq(col, path,
60+
value)` and `selectorNe(col, path, value)` (dot-notation paths; `ne` includes
61+
rows where the path is absent, mirroring the Drizzle selector's semantics).
62+
Raw `.filter(col, 'cs', subDocument)` and `not(col, 'contains', …)` route
63+
through the same encrypted path. Selector ordering is not expressible over
64+
PostgREST yet (needs an EQL-bundle overload — see
65+
cipherstash/encrypt-query-language#407); the Drizzle integration's
66+
`ops.selector()` covers ordering today.
67+
68+
In core, `QueryTypesForColumn` gains the `searchableJson` arm (a `types.Json`
69+
column no longer resolves to `never`, so typed adapter key sets can include
70+
it), and the JSONPath selector-path helpers the Drizzle adapter introduced in
71+
#651 moved to `@cipherstash/stack/adapter-kit` so both adapters share one
72+
validation surface (`@cipherstash/stack-drizzle` re-exports them unchanged).
73+
74+
The bundled `stash-supabase` and `stash-encryption` skills are updated to
75+
document the new querying surface (including the array-leaf and SQL-NULL
76+
semantics, and the operand-exposure caveat) — skills ship inside the `stash`
77+
tarball, hence the patch.
78+
79+
- @cipherstash/migrate@1.0.0-rc.0
80+
381
## 1.0.0-rc.0
482

583
### Major Changes

0 commit comments

Comments
 (0)