@objectstack/plugin-pinyin-search 17.0.0-rc.6 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +476 -0
  2. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,481 @@
1
1
  # @objectstack/plugin-pinyin-search
2
2
 
3
+ ## 17.0.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 9f060e5: chore(deps)!: better-auth 1.7.0-rc.2 (account identity restructuring) + the
8
+ production-dependency batch from #3517
9
+
10
+ **better-auth 1.7.0-rc.1 → 1.7.0-rc.2** across the family (`better-auth`,
11
+ `@better-auth/core`, `@better-auth/oauth-provider`, `@better-auth/sso`, and the
12
+ adapter/telemetry overrides). `@better-auth/scim` deliberately stays on
13
+ 1.7.0-rc.1 — rc.2 replaces its whole model (code-defined connections; the
14
+ `scimProvider` model and the generate-token endpoint are gone), which is a
15
+ feature migration, not a version bump. Its peer range accepts rc.2 core, and the
16
+ advisory that forced the original pin (GHSA-j8v8-g9cx-5qf4) is still fixed.
17
+
18
+ **BREAKING — account identity.** better-auth renamed `account.accountId` to
19
+ `account.providerAccountId` and added a REQUIRED `account.issuer`; sign-in now
20
+ resolves accounts by `(issuer, providerAccountId)`.
21
+
22
+ - FROM `fields: { accountId: 'account_id' }` → TO
23
+ `fields: { issuer: 'issuer', providerAccountId: 'account_id' }`. The provider
24
+ account id keeps its `account_id` column — only the better-auth-side name
25
+ moved — and `sys_account` gains an `issuer` column.
26
+ - FROM `internalAdapter.createAccount({ providerId, accountId, … })` → TO
27
+ `createAccount({ providerId, issuer, providerAccountId, … })`. A local
28
+ password account carries the issuer better-auth mints for itself,
29
+ `local:credential`.
30
+ - FROM `client.auth.accounts.unlink({ providerId, accountId })` → TO
31
+ `unlink({ accountId })`, where `accountId` is now the account ROW id (the `id`
32
+ from `accounts.list()`), matching better-auth's narrowed body.
33
+ `accounts.list()` returns `issuer` + `providerAccountId` in place of
34
+ `accountId`.
35
+
36
+ **Existing deployments:** rows written before 1.7 have no issuer and are
37
+ invisible to sign-in until stamped. The auth plugin now runs an idempotent
38
+ boot-time backfill that stamps what it can derive — `local:credential` for
39
+ password accounts, `local:oauth:<providerId>` for configured social providers,
40
+ and the registered IdP's real `iss` from `sys_sso_provider` for federated ones.
41
+ Accounts from a federated IdP that is no longer registered cannot be derived;
42
+ they are logged with their provider id and row count rather than guessed, and
43
+ those users cannot sign in through that provider until the row is stamped with
44
+ the IdP's issuer or removed so a fresh login re-links it.
45
+
46
+ **Also required by 1.7:** `SecondaryStorage` gained two mandatory methods, both
47
+ now implemented over the kernel cache service — `getAndDelete` (single-use
48
+ verification values) and `increment` (fixed-window rate-limit counter;
49
+ `rateLimit.storage: 'secondary-storage'` throws at boot without it).
50
+
51
+ The rest of #3517's production-dependency batch rides along: `@oclif/core`
52
+ 4.13.0, `@hono/node-server` 2.0.12, `hono` 4.12.32, `tar` 7.5.22, `jose` 6.2.4,
53
+ `pinyin-pro` 3.28.2, plus the private docs app's fumadocs/next/react bumps.
54
+
55
+ - 2e836de: chore(packaging): CHANGELOG.md ships in every npm tarball (#4261)
56
+
57
+ The AGENTS.md post-task checklist requires breaking changesets to carry their
58
+ FROM → TO migration because "this text ships to consumers as `CHANGELOG.md`
59
+ inside the npm package and is what an upgrading agent greps after the tombstone
60
+ error." That delivery path was severed for 68 of the 69 publishable packages:
61
+ npm packs `package.json` / `README*` / `LICENSE*` unconditionally but — unlike
62
+ older npm versions — not `CHANGELOG.md`, and the canonical
63
+ `"files": ["dist", "README.md"]` whitelist never named it. Measured on npm
64
+ 10.9.7: `npm pack --dry-run` on `@objectstack/types` shipped 3 files while its
65
+ 70KB `CHANGELOG.md` stayed behind. Only `@objectstack/spec` listed it
66
+ explicitly.
67
+
68
+ The tombstone-error scenario is precisely the one where the repo is out of
69
+ reach — the upgrading agent has `node_modules` and nothing else — so the
70
+ migration text has to ride in the tarball. Every publishable package now
71
+ declares `CHANGELOG.md` in `files`, and the canonical whitelist is
72
+ `["dist", "README.md", "CHANGELOG.md"]`.
73
+
74
+ The other half is the gate: `check:published-files` gains a fifth invariant,
75
+ COMPLETE — a whitelist that fails to cover `CHANGELOG.md` fails the
76
+ always-required lint job, so the next package cannot silently sever the path
77
+ again. `@objectstack/spec`'s per-package EXTRA_ENTRIES exemption dissolves
78
+ into the canonical set.
79
+
80
+ Consumer-visible change: one more file per install (the package's changelog,
81
+ e.g. 70.8KB for `@objectstack/types`), and `grep -r "removed key"
82
+ node_modules/@objectstack/*/CHANGELOG.md` now finds the migration it was
83
+ promised.
84
+
85
+ - 9881074: fix(batch): the background walks seek instead of counting, so they stop skipping rows (#4363)
86
+
87
+ #4363 made a single paged read a partition of its result set. It could not make
88
+ a _walk_ one: seven background scans paged with a growing `offset` while writing
89
+ to the very rows they were reading, and an offset counts into a set those writes
90
+ are changing. Rows slide past the cursor and are never visited.
91
+
92
+ That is not a slow page in any of these — it is a wrong answer wearing the shape
93
+ of a clean run:
94
+
95
+ - **`rebuildApproverIndex`** built its desired state by walking
96
+ `sys_approval_request WHERE status = 'pending'` with no `orderBy` at all, then
97
+ **deleted** every index row that state did not explain. A skipped request
98
+ meant an approver silently dropped from someone's queue. (The loop beside it
99
+ ordered by `created_at` — not unique, so its pages were never a partition
100
+ either.)
101
+ - **`verifyFileReferences`** decides which files nothing references. A record it
102
+ never visits is reported as an unreferenced file.
103
+ - **`backfillFileReferences`** and the **pinyin companion backfill** rewrite
104
+ each row they read, so their own writes were shifting the set out from under
105
+ the cursor. Records were left unconverted and unsearchable by a run that
106
+ reported success.
107
+ - **`scanValueShapes`** exists to vouch that no stored value is off-shape, and
108
+ it opens a migration gate on that evidence.
109
+
110
+ All of them now go through `keysetWalk` (`@objectstack/types`): order by a
111
+ unique key, and seek past the last one instead of counting from the start. A
112
+ row's key does not move when the row is updated, and cannot be shifted when
113
+ another is deleted, so the walk is stable under exactly the mutation these
114
+ functions perform. It is also O(n) rather than O(n²/page) — measured on
115
+ Postgres over 2M rows, deep pages cost ~1.1 s by offset against ~0.09 s by seek.
116
+
117
+ One deliberate non-conversion: the REST **export** stream keeps its offset. It
118
+ honors a caller-chosen sort, and a keyset walk would have to re-order the export
119
+ by `id` to seek — changing what the user asked for to fix a cost. Its pages are
120
+ already a partition since #4363; only the depth cost remains.
121
+
122
+ `keysetWalk` merges the cursor with `$and` rather than spreading it into the
123
+ caller's filter, so a walk whose own `where` constrains the key column
124
+ (`{ id: { $in: [...] } }`) keeps that constraint instead of having it silently
125
+ overwritten. When a `max` cap is set it reads one row beyond the cap to tell
126
+ "the cap stopped us" from "the source ended exactly there" — without that, a
127
+ walk that read everything still reports `truncated`, and a caller acting on it
128
+ goes looking for rows that were never withheld.
129
+
130
+ The storage suites' fake engines now **throw** on an `offset` instead of serving
131
+ one, so the conversion is pinned rather than merely passing.
132
+
133
+ - cc2de0e: chore(packaging): 20 packages stop publishing their sources, tests and build tooling (#4248)
134
+
135
+ These 20 packages declared no `files` field, so npm fell back to packing the
136
+ whole package directory. `npm pack --dry-run` on `@objectstack/plugin-webhooks`
137
+ listed **21 files** — 15 under `src/`, three of them unit tests
138
+ (`auto-enqueuer.test.ts`, `bootstrap-declared-webhooks.test.ts`, …), plus the
139
+ build-time `scripts/i18n-extract.config.ts`. `dist/` lands on top of that at
140
+ publish time rather than instead of it, so consumers were installing the
141
+ TypeScript sources and the test suite alongside the artifact they asked for.
142
+
143
+ Each now declares `"files": ["dist", "README.md"]`, matching the 29 packages
144
+ that already did. Nothing a consumer imports moves: every `main` / `types` /
145
+ `exports` target in all 20 already resolved inside `dist/`, which the new
146
+ `check:published-files` guard verifies rather than assumes. The visible change
147
+ is a smaller install and a smaller dependency-scanning surface — `npm pack` on
148
+ `@objectstack/plugin-webhooks` now yields 2 files plus `dist/`.
149
+
150
+ The other half of the fix is the gate. Half the packages declaring `files` and
151
+ half not was the #3786 shape — a hand-copied convention with nothing enforcing
152
+ it, where whoever forgets the line gets no signal at all. `check:published-files`
153
+ (new, wired into the always-required `lint` job) holds every non-private
154
+ workspace package to four invariants: `files` is **declared**; it is
155
+ **sufficient** (covers every entry point, so tightening a whitelist cannot ship
156
+ a package that fails to resolve); it is **minimal** (admits no test, test-harness
157
+ config or build script); and anything beyond `dist` + `README.md` is
158
+ **registered** with a reason, reconciled in both directions so a stale exemption
159
+ is an error rather than dead text. `@objectstack/spec` is the one package with
160
+ registered extras — its `.zod.ts` sources, JSON Schemas, liveness ledgers and
161
+ `CHANGELOG.md` are product, not build input.
162
+
163
+ This also closes an assumption #4206 was resting on. Excluding `<pkg>/scripts/**`
164
+ from the docs-drift implementation test is sound only while no package publishes
165
+ `scripts/` as runtime code; that held, but it held because someone read all three
166
+ offenders by hand. It is now checked on every PR.
167
+
168
+ - 2465133: fix(plugins): sweep the service-lookup erasures out of the plugin composition roots, and fix the two alias-only HTTP reads it exposed (#4251 B5)
169
+
170
+ Batch B5 of the #4251 sweep: the seven remaining `packages/plugins/*` composition
171
+ roots. 35 lookup sites that had been erased to `any` now carry the slot's
172
+ contract, so the compiler checks what each plugin actually calls on the service
173
+ it resolved. The ratchet drops 143 sites / 32 files to 108 / 25.
174
+
175
+ **Two real defects, both of the shape this sweep exists to find.** Approvals'
176
+ actionable-link pages (ADR-0043) and sharing's public share-link REST routes each
177
+ read the HTTP server under `http-server` _only_ — the deprecated alias. The
178
+ ledger records `http.server` as canonical and as the only name present on every
179
+ provider path: `runtime.ts`'s `config.server` path registers no alias at all. On
180
+ that path both lookups threw, the surrounding `catch` swallowed it, and the
181
+ routes silently never mounted — approval e-mail action links 404'd and the
182
+ share-link surface was absent, with nothing in the log to say so. Both reads are
183
+ now canonical-first with the alias as fallback, each name in its own `try`
184
+ because `getService` throws on an empty slot (so `a() ?? b()` inside one `try`
185
+ never reaches `b` — the same correction #4393 made in metadata and
186
+ cloud-connection).
187
+
188
+ Typing choices follow the batch method: pure data-plane consumers take the
189
+ narrow contract (`IDataEngine` in reports), consumers that bind hook or
190
+ middleware seams take the engine seen whole (`IObjectQLEngine` in approvals,
191
+ sharing and pinyin-search), and slots with no contract get a **named** local
192
+ surface rather than `any` — plugin-email's `MailSettingsSurface`, and the
193
+ surfaces the consuming packages already declared (`ApprovalMessagingSurface`,
194
+ `SharingSecurityProbe`, `ReportEmail`). A named surface that omits a member
195
+ still makes the compiler name every call site; `any` says nothing.
196
+
197
+ No behaviour change beyond the two alias reads. No contract changes.
198
+
199
+ - Updated dependencies [690ccf2]
200
+ - Updated dependencies [48fcf70]
201
+ - Updated dependencies [ce5242c]
202
+ - Updated dependencies [257d97a]
203
+ - Updated dependencies [3ec8186]
204
+ - Updated dependencies [6169615]
205
+ - Updated dependencies [fa3d0cf]
206
+ - Updated dependencies [a749273]
207
+ - Updated dependencies [b1863a5]
208
+ - Updated dependencies [fdb4f50]
209
+ - Updated dependencies [270650f]
210
+ - Updated dependencies [956e7f9]
211
+ - Updated dependencies [3aef718]
212
+ - Updated dependencies [879ea13]
213
+ - Updated dependencies [ffb003c]
214
+ - Updated dependencies [32ccb23]
215
+ - Updated dependencies [2d3e255]
216
+ - Updated dependencies [a8940e4]
217
+ - Updated dependencies [7d7521f]
218
+ - Updated dependencies [98877c9]
219
+ - Updated dependencies [f16e54e]
220
+ - Updated dependencies [c44dd5e]
221
+ - Updated dependencies [06be54e]
222
+ - Updated dependencies [28ad90e]
223
+ - Updated dependencies [76d74ec]
224
+ - Updated dependencies [259459d]
225
+ - Updated dependencies [3f7f14e]
226
+ - Updated dependencies [840ee4b]
227
+ - Updated dependencies [64cd010]
228
+ - Updated dependencies [ad4af62]
229
+ - Updated dependencies [debe2f6]
230
+ - Updated dependencies [d44dbfa]
231
+ - Updated dependencies [29c6c9d]
232
+ - Updated dependencies [b949059]
233
+ - Updated dependencies [c5ff96d]
234
+ - Updated dependencies [ad878e7]
235
+ - Updated dependencies [20b1a9e]
236
+ - Updated dependencies [8d895ff]
237
+ - Updated dependencies [3028326]
238
+ - Updated dependencies [ddd075a]
239
+ - Updated dependencies [fe2dfa1]
240
+ - Updated dependencies [c497d26]
241
+ - Updated dependencies [6f6fec7]
242
+ - Updated dependencies [9f5cc79]
243
+ - Updated dependencies [bbdbf28]
244
+ - Updated dependencies [f2445c9]
245
+ - Updated dependencies [ea1d916]
246
+ - Updated dependencies [3905c00]
247
+ - Updated dependencies [4335497]
248
+ - Updated dependencies [2af1988]
249
+ - Updated dependencies [0af50a3]
250
+ - Updated dependencies [1b49eaf]
251
+ - Updated dependencies [db31402]
252
+ - Updated dependencies [2e836de]
253
+ - Updated dependencies [10c4ea9]
254
+ - Updated dependencies [7e5af5c]
255
+ - Updated dependencies [b746aa0]
256
+ - Updated dependencies [d8f65fe]
257
+ - Updated dependencies [58ffcab]
258
+ - Updated dependencies [462b713]
259
+ - Updated dependencies [48c110e]
260
+ - Updated dependencies [87aca93]
261
+ - Updated dependencies [63b33e6]
262
+ - Updated dependencies [a52e2ef]
263
+ - Updated dependencies [eda599e]
264
+ - Updated dependencies [c20b875]
265
+ - Updated dependencies [8e17759]
266
+ - Updated dependencies [2ef1807]
267
+ - Updated dependencies [c519533]
268
+ - Updated dependencies [2a37694]
269
+ - Updated dependencies [b3de0dd]
270
+ - Updated dependencies [32d3800]
271
+ - Updated dependencies [2b63a00]
272
+ - Updated dependencies [55da611]
273
+ - Updated dependencies [3c628ce]
274
+ - Updated dependencies [0fd8556]
275
+ - Updated dependencies [4c45be1]
276
+ - Updated dependencies [6fde910]
277
+ - Updated dependencies [9c82b89]
278
+ - Updated dependencies [60cbf9d]
279
+ - Updated dependencies [ce92674]
280
+ - Updated dependencies [a227ed7]
281
+ - Updated dependencies [74155c7]
282
+ - Updated dependencies [742a6a5]
283
+ - Updated dependencies [1b2eb1b]
284
+ - Updated dependencies [afa6aa5]
285
+ - Updated dependencies [ed77493]
286
+ - Updated dependencies [6908830]
287
+ - Updated dependencies [58a03d2]
288
+ - Updated dependencies [c39d713]
289
+ - Updated dependencies [b7d3be4]
290
+ - Updated dependencies [afb83d3]
291
+ - Updated dependencies [2a0d65e]
292
+ - Updated dependencies [2bacd1a]
293
+ - Updated dependencies [f598aa8]
294
+ - Updated dependencies [82da264]
295
+ - Updated dependencies [f586f1a]
296
+ - Updated dependencies [245d1dc]
297
+ - Updated dependencies [2ad1eba]
298
+ - Updated dependencies [199ec47]
299
+ - Updated dependencies [c7406b0]
300
+ - Updated dependencies [edff010]
301
+ - Updated dependencies [b127c8b]
302
+ - Updated dependencies [763931e]
303
+ - Updated dependencies [ec975f1]
304
+ - Updated dependencies [de9af8a]
305
+ - Updated dependencies [eb4204b]
306
+ - Updated dependencies [91f4c78]
307
+ - Updated dependencies [08f93bc]
308
+ - Updated dependencies [5d4de37]
309
+ - Updated dependencies [0e3a226]
310
+ - Updated dependencies [92a67f2]
311
+ - Updated dependencies [edb4af0]
312
+ - Updated dependencies [f09a2e7]
313
+ - Updated dependencies [eb3e650]
314
+ - Updated dependencies [45dc446]
315
+ - Updated dependencies [cb5a75e]
316
+ - Updated dependencies [84b6e58]
317
+ - Updated dependencies [f160ba4]
318
+ - Updated dependencies [fc3a36a]
319
+ - Updated dependencies [ab9fb5c]
320
+ - Updated dependencies [69787f0]
321
+ - Updated dependencies [5d022a1]
322
+ - Updated dependencies [290d944]
323
+ - Updated dependencies [55011af]
324
+ - Updated dependencies [b25a116]
325
+ - Updated dependencies [02dc076]
326
+ - Updated dependencies [f985b3f]
327
+ - Updated dependencies [127f091]
328
+ - Updated dependencies [518ca7a]
329
+ - Updated dependencies [4cca74c]
330
+ - Updated dependencies [3f8817a]
331
+ - Updated dependencies [53ef057]
332
+ - Updated dependencies [81ce41a]
333
+ - Updated dependencies [85e1e4e]
334
+ - Updated dependencies [3670cf9]
335
+ - Updated dependencies [7f1a635]
336
+ - Updated dependencies [4c5e80e]
337
+ - Updated dependencies [fce8e49]
338
+ - Updated dependencies [5d3ced9]
339
+ - Updated dependencies [0f2fdcd]
340
+ - Updated dependencies [d6d1a50]
341
+ - Updated dependencies [8ffa8b9]
342
+ - Updated dependencies [674ac99]
343
+ - Updated dependencies [833b512]
344
+ - Updated dependencies [9881074]
345
+ - Updated dependencies [1eadac0]
346
+ - Updated dependencies [7777e8f]
347
+ - Updated dependencies [c804f19]
348
+ - Updated dependencies [7c2f7dd]
349
+ - Updated dependencies [9b26699]
350
+ - Updated dependencies [507b92a]
351
+ - Updated dependencies [46365ab]
352
+ - Updated dependencies [dbe92a7]
353
+ - Updated dependencies [df95346]
354
+ - Updated dependencies [e1fa8d5]
355
+ - Updated dependencies [402f534]
356
+ - Updated dependencies [114e727]
357
+ - Updated dependencies [7372d46]
358
+ - Updated dependencies [5e247fd]
359
+ - Updated dependencies [a6cd2c1]
360
+ - Updated dependencies [fc3a819]
361
+ - Updated dependencies [1a53a02]
362
+ - Updated dependencies [75fd301]
363
+ - Updated dependencies [fdca3a1]
364
+ - Updated dependencies [1507ba3]
365
+ - Updated dependencies [9051802]
366
+ - Updated dependencies [1c625ca]
367
+ - Updated dependencies [9319586]
368
+ - Updated dependencies [39eb01b]
369
+ - Updated dependencies [071d0dc]
370
+ - Updated dependencies [bf42e76]
371
+ - Updated dependencies [edbf873]
372
+ - Updated dependencies [c5adfe1]
373
+ - Updated dependencies [1cae606]
374
+ - Updated dependencies [9514767]
375
+ - Updated dependencies [e3c8ed0]
376
+ - Updated dependencies [fa6dd59]
377
+ - Updated dependencies [55bbefc]
378
+ - Updated dependencies [030125b]
379
+ - Updated dependencies [7ce02eb]
380
+ - Updated dependencies [f1da948]
381
+ - Updated dependencies [b9cc17d]
382
+ - Updated dependencies [255f2d7]
383
+ - Updated dependencies [bfe689b]
384
+ - Updated dependencies [d0d5205]
385
+ - Updated dependencies [0d24078]
386
+ - Updated dependencies [8f1851e]
387
+ - Updated dependencies [b4b2c7d]
388
+ - Updated dependencies [de43f94]
389
+ - Updated dependencies [5b8f95b]
390
+ - Updated dependencies [d13004a]
391
+ - Updated dependencies [be7360c]
392
+ - Updated dependencies [2ddba89]
393
+ - Updated dependencies [4b0ebdb]
394
+ - Updated dependencies [28d1eb7]
395
+ - Updated dependencies [06770c0]
396
+ - Updated dependencies [8675db6]
397
+ - Updated dependencies [b09d8d9]
398
+ - Updated dependencies [37a8f2b]
399
+ - Updated dependencies [e50e479]
400
+ - Updated dependencies [c41828d]
401
+ - Updated dependencies [3fb42d2]
402
+ - Updated dependencies [8e08bc3]
403
+ - Updated dependencies [441d79f]
404
+ - Updated dependencies [82397b6]
405
+ - Updated dependencies [4df747c]
406
+ - Updated dependencies [7084313]
407
+ - Updated dependencies [31fb03d]
408
+ - Updated dependencies [47a4e67]
409
+ - Updated dependencies [91cefb8]
410
+ - Updated dependencies [9bc846b]
411
+ - Updated dependencies [af2a095]
412
+ - Updated dependencies [bf478e1]
413
+ - Updated dependencies [77fadbf]
414
+ - Updated dependencies [8dd98bf]
415
+ - Updated dependencies [4fedb11]
416
+ - Updated dependencies [5c13368]
417
+ - Updated dependencies [1ee48bc]
418
+ - Updated dependencies [d13f627]
419
+ - Updated dependencies [a841151]
420
+ - Updated dependencies [4e74c18]
421
+ - Updated dependencies [8b90d68]
422
+ - Updated dependencies [478f1fd]
423
+ - Updated dependencies [833ed84]
424
+ - Updated dependencies [2680cd3]
425
+ - Updated dependencies [0c302a7]
426
+ - Updated dependencies [1788e19]
427
+ - Updated dependencies [857a6cf]
428
+ - Updated dependencies [e474853]
429
+ - Updated dependencies [d5749d7]
430
+ - Updated dependencies [1f6ed16]
431
+ - Updated dependencies [db2ea82]
432
+ - Updated dependencies [51a587d]
433
+ - Updated dependencies [d92c72d]
434
+ - Updated dependencies [5f0852f]
435
+ - Updated dependencies [cde1975]
436
+ - Updated dependencies [20cb232]
437
+ - Updated dependencies [e231abb]
438
+ - Updated dependencies [5d21a48]
439
+ - Updated dependencies [23dba62]
440
+ - Updated dependencies [ee264b2]
441
+ - Updated dependencies [d56bcdb]
442
+ - Updated dependencies [26bb053]
443
+ - Updated dependencies [ee3bde1]
444
+ - Updated dependencies [098b629]
445
+ - Updated dependencies [d86815e]
446
+ - Updated dependencies [0a5dc29]
447
+ - Updated dependencies [e13fd91]
448
+ - Updated dependencies [01a7337]
449
+ - Updated dependencies [50185a8]
450
+ - Updated dependencies [d6bd5a1]
451
+ - Updated dependencies [2bd4e5e]
452
+ - Updated dependencies [1363084]
453
+ - Updated dependencies [488b66c]
454
+ - Updated dependencies [148d451]
455
+ - Updated dependencies [e4c2dc8]
456
+ - Updated dependencies [694c350]
457
+ - Updated dependencies [6ad13bb]
458
+ - Updated dependencies [129b378]
459
+ - Updated dependencies [88f9d94]
460
+ - Updated dependencies [551f899]
461
+ - Updated dependencies [a0fdc56]
462
+ - Updated dependencies [946a131]
463
+ - Updated dependencies [909895d]
464
+ - Updated dependencies [b95577a]
465
+ - Updated dependencies [54f479a]
466
+ - Updated dependencies [ad5fe25]
467
+ - Updated dependencies [1818998]
468
+ - Updated dependencies [89be40c]
469
+ - Updated dependencies [f46e987]
470
+ - Updated dependencies [e3a6f6e]
471
+ - Updated dependencies [c9bf940]
472
+ - Updated dependencies [a682670]
473
+ - Updated dependencies [2b52bc8]
474
+ - Updated dependencies [3556b67]
475
+ - @objectstack/objectql@17.0.0
476
+ - @objectstack/core@17.0.0
477
+ - @objectstack/types@17.0.0
478
+
3
479
  ## 17.0.0-rc.6
4
480
 
5
481
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@objectstack/plugin-pinyin-search",
3
- "version": "17.0.0-rc.6",
3
+ "version": "17.0.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Pinyin search recall for ObjectStack — populates the hidden `__search` companion column (full pinyin + initials of the display/name field) so `$search` hits CJK names typed as pinyin. Locale-gated via OS_SEARCH_PINYIN_ENABLED (#2486).",
6
6
  "main": "dist/index.js",
@@ -14,9 +14,9 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "pinyin-pro": "^3.28.2",
17
- "@objectstack/core": "17.0.0-rc.6",
18
- "@objectstack/objectql": "17.0.0-rc.6",
19
- "@objectstack/types": "17.0.0-rc.6"
17
+ "@objectstack/core": "17.0.0",
18
+ "@objectstack/objectql": "17.0.0",
19
+ "@objectstack/types": "17.0.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/node": "^26.1.2",