@objectstack/service-sms 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 +1099 -0
  2. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,1104 @@
1
1
  # @objectstack/service-sms
2
2
 
3
+ ## 17.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - de770bf: fix(cli,service-sms)!: `OS_SMS_PROVIDER=twilo` now fails the boot instead of silently becoming the log transport (#5713)
8
+
9
+ **BREAKING for one configuration: a provider tag no SMS transport can build.**
10
+ `os serve` used to hand `OS_SMS_PROVIDER` (or `config.sms.provider`) straight to
11
+ `SmsServicePlugin` with nothing to compare it against. The plugin then caught the
12
+ `makeSmsTransport: unknown provider 'twilo'` throw, substituted `LogSmsTransport`,
13
+ and booted normally — measured, not inferred:
14
+
15
+ ```
16
+ new SmsServicePlugin({ provider: 'twilo' }).init(ctx)
17
+ booted_without_throw: true transport_class: 'LogSmsTransport'
18
+ isConfigured(): false logger.warn × 1, logger.error × 0
19
+ service.send(…) → { status: 'sent', messageId: 'dev-sms-…' }
20
+ ```
21
+
22
+ So a phone-OTP sign-in answered "code sent", the user waited for an SMS that was
23
+ never dispatched, and the one `warn` line scrolled past in the boot log. That is
24
+ the declared-but-not-delivered shape of Prime Directive #10, and the same one
25
+ #5132 closed for **mail** in the neighbouring arm of the very same capability
26
+ loop.
27
+
28
+ Three gates already guard the `sms` provider value and none of them could see
29
+ this path: the `sms` settings namespace declares `provider` as a `select` with an
30
+ options table, #5131 enforces that table on the write path, and #5204 closed the
31
+ `SettingsService` env-override branch. All three live behind `SettingsService` —
32
+ this read happens while the kernel is being assembled, _before_ a settings
33
+ service exists.
34
+
35
+ **`resolveSmsCapabilityArg` now refuses a provider tag outside
36
+ `log` / `aliyun` / `twilio`**, the way its neighbouring `resolveEmailCapabilityArg`
37
+ already did, and the capability loop turns that into the loud failure it should
38
+ be — a hard boot error when the app declared `requires: ['sms']`, otherwise a
39
+ `console.error` and no SMS service.
40
+
41
+ **What it deliberately does NOT do:** demand credentials. Unlike mail, SMS
42
+ provider credentials are not a boot-time input — the `sms` settings namespace
43
+ binds them at `kernel:ready`, and that is their documented home. A bare
44
+ `OS_SMS_PROVIDER=twilio` on a host whose Twilio keys live in Settings is a
45
+ complete configuration and passes through untouched. `SmsServicePlugin`'s own
46
+ fallback is likewise untouched: for a _known_ provider with incomplete
47
+ constructor credentials it is correct (the settings bind can still swap in a
48
+ working transport), and it remains the last line of defence for hosts that
49
+ construct the plugin themselves. `os serve` simply stops feeding it input it can
50
+ never use.
51
+
52
+ **Who is affected:** deployments that set `OS_SMS_PROVIDER` (or
53
+ `config.sms.provider`) to a value outside the supported three — in practice a
54
+ typo, or a provider that was never implemented — and relied on the fallback to
55
+ boot. An unset `OS_SMS_PROVIDER` still defaults to `log`; every supported tag
56
+ still boots with or without credentials.
57
+
58
+ **Migration — one line, either direction:**
59
+
60
+ - the environment is _not_ meant to send SMS → `OS_SMS_PROVIDER=log` (that
61
+ explicit value is the supported way to say so, and why refusing the others is
62
+ fair);
63
+ - the environment _is_ meant to send SMS → fix the tag to `aliyun` or `twilio`
64
+ and put the credentials in Settings → SMS Delivery (or
65
+ `config.sms.providerOptions`).
66
+
67
+ The error names the consequence and both fixes, per AGENTS.md's
68
+ degradation-log-level rule.
69
+
70
+ `@objectstack/service-sms` gains the vocabulary the CLI reads instead of
71
+ restating: `SMS_TRANSPORT_PROVIDERS` and `isSmsTransportProvider()`, with
72
+ `SmsProviderTag` now derived from the array rather than declared beside it. One
73
+ vocabulary, two consumers — a second literal list in the CLI is how the mail
74
+ settings dropdown and the mail transports drifted apart in the first place
75
+ (#5094).
76
+
77
+ - 9c90ea0: feat(sms): 短信全局日发送配额 —— 成本总量闸 (#2814)
78
+
79
+ #2780 给 OTP 端点落了**按号码**的防滥用(60s 冷却 + 每号码 5 条/小时)。那挡住的是「一个号码花多少钱」,挡不住「这套部署一天花多少钱」:攻击者轮换上万个不同号码时,每个号码都稳稳待在自己的预算里,而日累计账单没有任何上限——这正是 SMS pumping / toll fraud 的典型打法。更要紧的是,按号码那道闸住在 better-auth 的 `hooks.before` 里,只看得见 auth 端点:`notify(channels:['sms'])` 与邀请短信从旁边直接走过去,一条都不计数。
80
+
81
+ 本次新增一道**总量**闸,扣减点放在所有出站短信本来就必经的那一处 —— `SmsService.send()`。OTP、邀请、messaging `sms` channel 三条路无论从哪扇门进来,都记在同一本账上。
82
+
83
+ ## 新增设置项
84
+
85
+ `sms` 命名空间新增 `daily_quota`(Daily send limit,number,默认 `0` = 不限):这套部署每个 **UTC 自然日**允许发出的短信总条数。超出后拒发,直到 00:00 UTC。env 覆盖沿用既有的每键机制,无需额外接线:`OS_SMS_DAILY_QUOTA=2500`。
86
+
87
+ `0` 是出厂姿态,所以升级本身不改变任何现有部署的发送行为——闸门要由运营者显式配置才会闭合。
88
+
89
+ ## Observable behaviour change
90
+
91
+ **配置配额后,发送可能被拒**,两条路径的表现分别是:
92
+
93
+ - OTP / 邀请路径 —— `SendSmsResult.status='failed'`,`error` 为 `TOO_MANY_REQUESTS: daily SMS quota exhausted`。刻意与按号码闸抛出的 `TOO_MANY_REQUESTS` 用同一个码,且**不带任何剩余额度细节**:从外面看,两道墙必须长得一样,攻击者不该能试探出自己撞的是哪一道。
94
+ ⚠️ 但这个码**目前到不了 HTTP 调用方**:`AuthManager.deliverPhoneOtp` 把它重抛成普通 `Error`,而 better-call 对非 `APIError` 一律回 500(实测,见 #6039)。也就是说 OTP 端点上,按号码闸回 429、总量闸回 500。补齐要动 plugin-auth,已单独立案。
95
+ - messaging `sms` channel —— `SendResult.ok=false`,且 `classifyError` 返回 `'rate_limited'`(此前一律 `'retryable'`)。投递落进 outbox 走退避重试 / 死信,不会被静默丢弃;`rate_limited` 与 `retryable` 走同一条重试阶梯,但把「额度用尽」与「网关抖动」在投递记录上区分开。
96
+
97
+ ## 计数落在哪里
98
+
99
+ 复用仓内唯一那份定窗计数(`incrementFixedWindow`)与它的惰性存储解析(`createLazyCounterStore`,#4772/#4790),不写第三份:
100
+
101
+ - 有 kernel `cache` 服务时计在共享 cache(集群共享与否取决于 cache 本身);
102
+ - 解析不到时降级为有界的进程内计数,并由解析器**点名**打一条 warn,说明降级的代价(N 节点部署最多可花 N× 配额);
103
+ - 解析在**计数被消费时**发生,而非插件 init —— 后注册的 cache 也能在下一次发送时被接上(#4772 的坑)。
104
+
105
+ 窗口是 UTC 自然日,且由两个机制同时保证:计数键带 UTC 日期(`sms-daily-sends:2026-08-06`),窗口开启时的 TTL 恰为距下一个 UTC 午夜的秒数。任一机制单独也能翻窗,合起来则不可能互相矛盾。
106
+
107
+ ## 两条刻意的姿态
108
+
109
+ - **fail-open**:计数存储读不到时,闸门**放行**并打一次 warn。短信成本闸不能把登录拖下水(#2814 诉求 4)。
110
+ - **配额值的钳制在消费侧**:manifest 上的 `min: 0` 今天并不被 `validatePatch` 执行(#5932),所以负值 / `NaN` / `Infinity` / 非数字都会原样抵达读取方。这些一律降级为 `0`(不限)并**点名**打 warn,而不是拒发、也不是替运营者编一个别的默认值——一个设置表单里的手误不该变成手机登录的全站故障,而编一个没人声明过的上限只会把手误藏进看似合理的行为里。
111
+
112
+ ## 不在本次范围
113
+
114
+ 诉求中的**每租户日配额**(`daily_quota_per_tenant`)未实现:`SendSmsInput`(`@objectstack/spec/contracts`)不携带任何租户标识,而在 service 侧另造一个只此一家的拼法就是 Prime Directive #12 明令禁止的影子契约。租户维度要么落在 spec 契约上,要么不落——详见 #2814 上的讨论。
115
+
116
+ ### Patch Changes
117
+
118
+ - 2e836de: chore(packaging): CHANGELOG.md ships in every npm tarball (#4261)
119
+
120
+ The AGENTS.md post-task checklist requires breaking changesets to carry their
121
+ FROM → TO migration because "this text ships to consumers as `CHANGELOG.md`
122
+ inside the npm package and is what an upgrading agent greps after the tombstone
123
+ error." That delivery path was severed for 68 of the 69 publishable packages:
124
+ npm packs `package.json` / `README*` / `LICENSE*` unconditionally but — unlike
125
+ older npm versions — not `CHANGELOG.md`, and the canonical
126
+ `"files": ["dist", "README.md"]` whitelist never named it. Measured on npm
127
+ 10.9.7: `npm pack --dry-run` on `@objectstack/types` shipped 3 files while its
128
+ 70KB `CHANGELOG.md` stayed behind. Only `@objectstack/spec` listed it
129
+ explicitly.
130
+
131
+ The tombstone-error scenario is precisely the one where the repo is out of
132
+ reach — the upgrading agent has `node_modules` and nothing else — so the
133
+ migration text has to ride in the tarball. Every publishable package now
134
+ declares `CHANGELOG.md` in `files`, and the canonical whitelist is
135
+ `["dist", "README.md", "CHANGELOG.md"]`.
136
+
137
+ The other half is the gate: `check:published-files` gains a fifth invariant,
138
+ COMPLETE — a whitelist that fails to cover `CHANGELOG.md` fails the
139
+ always-required lint job, so the next package cannot silently sever the path
140
+ again. `@objectstack/spec`'s per-package EXTRA_ENTRIES exemption dissolves
141
+ into the canonical set.
142
+
143
+ Consumer-visible change: one more file per install (the package's changelog,
144
+ e.g. 70.8KB for `@objectstack/types`), and `grep -r "removed key"
145
+ node_modules/@objectstack/*/CHANGELOG.md` now finds the migration it was
146
+ promised.
147
+
148
+ - be7360c: chore(plugins,services): declare `providesServices` on the 20 remaining init-time service providers (ADR-0116 follow-up, #4131)
149
+
150
+ ADR-0116 gave the kernel a declared ordering contract, but only
151
+ `ObjectQLPlugin` and `MetadataPlugin` had declared what their `init()`
152
+ registers. The pre-Phase-1 ordering check can only _name a provider_ for
153
+ services someone declared, so its coverage was two plugins wide.
154
+
155
+ An audit of every plugin's `init()` body (brace-matched, comments stripped,
156
+ each call classified by whether it sits inside a `try`/`if`) found 20 plugins
157
+ that register a service on every path without declaring it. All 20 now
158
+ declare `providesServices`. Purely additive: no ordering changes, no new
159
+ failure modes — a `providesServices` entry only lets the kernel say _who_
160
+ provides a service when it reports a misordering, and enriches the Phase-1
161
+ `getService` miss diagnostic.
162
+
163
+ Three needed a closer read before declaring, because they register the same
164
+ service from several branches (`cache`, `queue`, `job`): each early-return
165
+ branch plus the fallback registers it, so every path does — the declaration
166
+ is honest. ADR-0116's rule that a _conditionally_ registered service must
167
+ never be declared is unchanged and was applied throughout.
168
+
169
+ The same audit found 12 plugins that hard-resolve a service during `init()`
170
+ (11 of them `manifest`) without declaring `requiresServices`. None is a live
171
+ exposure — every one already declares a hard `dependencies` entry on the
172
+ provider, so the kernel orders them correctly today. Those are tracked
173
+ separately: with a hard dependency in place, `requiresServices` mostly
174
+ restates what the kernel already enforces, and its real value is on
175
+ _soft_-dependency consumers, of which `AppPlugin` is currently the only one.
176
+
177
+ - cc2de0e: chore(packaging): 20 packages stop publishing their sources, tests and build tooling (#4248)
178
+
179
+ These 20 packages declared no `files` field, so npm fell back to packing the
180
+ whole package directory. `npm pack --dry-run` on `@objectstack/plugin-webhooks`
181
+ listed **21 files** — 15 under `src/`, three of them unit tests
182
+ (`auto-enqueuer.test.ts`, `bootstrap-declared-webhooks.test.ts`, …), plus the
183
+ build-time `scripts/i18n-extract.config.ts`. `dist/` lands on top of that at
184
+ publish time rather than instead of it, so consumers were installing the
185
+ TypeScript sources and the test suite alongside the artifact they asked for.
186
+
187
+ Each now declares `"files": ["dist", "README.md"]`, matching the 29 packages
188
+ that already did. Nothing a consumer imports moves: every `main` / `types` /
189
+ `exports` target in all 20 already resolved inside `dist/`, which the new
190
+ `check:published-files` guard verifies rather than assumes. The visible change
191
+ is a smaller install and a smaller dependency-scanning surface — `npm pack` on
192
+ `@objectstack/plugin-webhooks` now yields 2 files plus `dist/`.
193
+
194
+ The other half of the fix is the gate. Half the packages declaring `files` and
195
+ half not was the #3786 shape — a hand-copied convention with nothing enforcing
196
+ it, where whoever forgets the line gets no signal at all. `check:published-files`
197
+ (new, wired into the always-required `lint` job) holds every non-private
198
+ workspace package to four invariants: `files` is **declared**; it is
199
+ **sufficient** (covers every entry point, so tightening a whitelist cannot ship
200
+ a package that fails to resolve); it is **minimal** (admits no test, test-harness
201
+ config or build script); and anything beyond `dist` + `README.md` is
202
+ **registered** with a reason, reconciled in both directions so a stale exemption
203
+ is an error rather than dead text. `@objectstack/spec` is the one package with
204
+ registered extras — its `.zod.ts` sources, JSON Schemas, liveness ledgers and
205
+ `CHANGELOG.md` are product, not build input.
206
+
207
+ This also closes an assumption #4206 was resting on. Excluding `<pkg>/scripts/**`
208
+ from the docs-drift implementation test is sound only while no package publishes
209
+ `scripts/` as runtime code; that held, but it held because someone read all three
210
+ offenders by hand. It is now checked on every PR.
211
+
212
+ - 1fa224a: feat(plugin-auth): the fixed-window counter gets its own `./rate-limit-storage` entry (#6040)
213
+
214
+ `rate-limit-storage.ts` is the repo's ONE fixed-window counter —
215
+ `incrementFixedWindow` / `createLazyCounterStore` / `InProcessCounterStore`,
216
+ ADR-0069 D2 — and #4790's cross-reference asks later arrivals to reuse it
217
+ rather than write a third copy. They did, and from outside auth:
218
+ `@objectstack/runtime` counts inbound requests and endpoint policy through it,
219
+ and `@objectstack/service-sms` counts its daily SMS budget through it (#2814).
220
+
221
+ `@objectstack/plugin-auth` published exactly one entry, `"."`, whose `export *`
222
+ chain takes **value** imports on `better-auth/adapters`
223
+ (`objectql-adapter.ts`) and `@better-auth/core/db` (`backfill-account-issuer.ts`).
224
+ Value imports are evaluated eagerly, so reaching those ~90 lines of counting
225
+ loaded `better-auth` + `@better-auth/{core,oauth-provider,scim,sso}` + `jose` +
226
+ `@noble/hashes` + `@objectstack/rest` + `@objectstack/platform-objects` first.
227
+ Measured against the built package: `require('@objectstack/plugin-auth')` puts
228
+ 109 modules in `require.cache`; the counter needs one.
229
+
230
+ So the counter is now published on its own:
231
+
232
+ ```ts
233
+ // before — 109 modules, the whole better-auth family
234
+ import { incrementFixedWindow } from "@objectstack/plugin-auth";
235
+ // after — 1 module, 3.7 KB
236
+ import { incrementFixedWindow } from "@objectstack/plugin-auth/rate-limit-storage";
237
+ ```
238
+
239
+ `tsup` emits the second entry with `splitting: false`, so it is a self-contained
240
+ bundle rather than a nominal split: `dist/rate-limit-storage.mjs` is 3.71 KB
241
+ against `dist/index.mjs`'s 330.28 KB, contains zero top-level imports and zero
242
+ occurrences of the string `better-auth`. The one better-auth reference that
243
+ survives is `import type { BetterAuthRateLimitStorage }`, which is erased at
244
+ build and costs a consumer nothing at runtime.
245
+
246
+ **Nothing is removed.** The root still re-exports every one of these symbols, so
247
+ existing `@objectstack/plugin-auth` imports keep working unchanged — this is a
248
+ new entry point, which is why it is `minor` rather than breaking. The `patch` on
249
+ `runtime` and `service-sms` is the import-specifier switch in those packages;
250
+ their behaviour is identical.
251
+
252
+ `src/rate-limit-storage-isolation.test.ts` pins the invariant from both sides,
253
+ in the shape `packages/types/src/node-isolation.test.ts` (#4700) established for
254
+ the `./node` split: it walks the real import graph from the subpath entry and
255
+ fails on any better-auth **value** import or any undeclared external package,
256
+ it fails if a consumer reaches the counter through the package root again, and
257
+ it fails if the root ever _stops_ pulling better-auth eagerly — because at that
258
+ point the split stopped buying anything and deserves re-measuring rather than a
259
+ suite that passes for the wrong reason.
260
+
261
+ - Updated dependencies [c9c2d92]
262
+ - Updated dependencies [50616d9]
263
+ - Updated dependencies [430dcc2]
264
+ - Updated dependencies [690ccf2]
265
+ - Updated dependencies [6a67d7a]
266
+ - Updated dependencies [333a374]
267
+ - Updated dependencies [9fe9c1d]
268
+ - Updated dependencies [3d5c090]
269
+ - Updated dependencies [e5bd768]
270
+ - Updated dependencies [08b5a3d]
271
+ - Updated dependencies [e027b3e]
272
+ - Updated dependencies [e6ac4bd]
273
+ - Updated dependencies [c2429b0]
274
+ - Updated dependencies [445a0c2]
275
+ - Updated dependencies [d99aeb3]
276
+ - Updated dependencies [f6609e6]
277
+ - Updated dependencies [4727eb8]
278
+ - Updated dependencies [a70358a]
279
+ - Updated dependencies [0ecc656]
280
+ - Updated dependencies [06772eb]
281
+ - Updated dependencies [d4e0809]
282
+ - Updated dependencies [80334c7]
283
+ - Updated dependencies [f63cd09]
284
+ - Updated dependencies [97e7e3c]
285
+ - Updated dependencies [ce5242c]
286
+ - Updated dependencies [a7163ea]
287
+ - Updated dependencies [e6e9379]
288
+ - Updated dependencies [5823d59]
289
+ - Updated dependencies [3140f9c]
290
+ - Updated dependencies [9500ba4]
291
+ - Updated dependencies [fa3d0cf]
292
+ - Updated dependencies [af5a224]
293
+ - Updated dependencies [71f76e1]
294
+ - Updated dependencies [37b1346]
295
+ - Updated dependencies [99736a0]
296
+ - Updated dependencies [fe67e34]
297
+ - Updated dependencies [fdb4f50]
298
+ - Updated dependencies [270650f]
299
+ - Updated dependencies [3aef718]
300
+ - Updated dependencies [1bd5652]
301
+ - Updated dependencies [735f850]
302
+ - Updated dependencies [14252d3]
303
+ - Updated dependencies [7fb436c]
304
+ - Updated dependencies [879ea13]
305
+ - Updated dependencies [8828b9e]
306
+ - Updated dependencies [1ea6bce]
307
+ - Updated dependencies [c1dcacd]
308
+ - Updated dependencies [ad303ed]
309
+ - Updated dependencies [32ccb23]
310
+ - Updated dependencies [f5a4ef0]
311
+ - Updated dependencies [2d3e255]
312
+ - Updated dependencies [a8940e4]
313
+ - Updated dependencies [7d7521f]
314
+ - Updated dependencies [5dc4d02]
315
+ - Updated dependencies [bb1ce2e]
316
+ - Updated dependencies [f724f69]
317
+ - Updated dependencies [98877c9]
318
+ - Updated dependencies [98877c9]
319
+ - Updated dependencies [53068c1]
320
+ - Updated dependencies [ee58392]
321
+ - Updated dependencies [f16e54e]
322
+ - Updated dependencies [06be54e]
323
+ - Updated dependencies [28ad90e]
324
+ - Updated dependencies [76d74ec]
325
+ - Updated dependencies [201b31f]
326
+ - Updated dependencies [e6b1b69]
327
+ - Updated dependencies [259459d]
328
+ - Updated dependencies [3f7f14e]
329
+ - Updated dependencies [e2616e0]
330
+ - Updated dependencies [6fdc5c6]
331
+ - Updated dependencies [8b9d71e]
332
+ - Updated dependencies [05154a1]
333
+ - Updated dependencies [33f5e23]
334
+ - Updated dependencies [259af21]
335
+ - Updated dependencies [f8644c7]
336
+ - Updated dependencies [306ca50]
337
+ - Updated dependencies [978fed2]
338
+ - Updated dependencies [cfc293f]
339
+ - Updated dependencies [587fc91]
340
+ - Updated dependencies [de70b42]
341
+ - Updated dependencies [9b6fe7c]
342
+ - Updated dependencies [fb3d99b]
343
+ - Updated dependencies [1986594]
344
+ - Updated dependencies [6968885]
345
+ - Updated dependencies [eaed61f]
346
+ - Updated dependencies [52200b4]
347
+ - Updated dependencies [cdfbee2]
348
+ - Updated dependencies [ad4af62]
349
+ - Updated dependencies [debe2f6]
350
+ - Updated dependencies [d44dbfa]
351
+ - Updated dependencies [29c6c9d]
352
+ - Updated dependencies [d21c001]
353
+ - Updated dependencies [ad047d2]
354
+ - Updated dependencies [8c711fb]
355
+ - Updated dependencies [f1cc3a3]
356
+ - Updated dependencies [09e4547]
357
+ - Updated dependencies [97b0798]
358
+ - Updated dependencies [474fe39]
359
+ - Updated dependencies [0bc685a]
360
+ - Updated dependencies [b949059]
361
+ - Updated dependencies [2826d1e]
362
+ - Updated dependencies [be1c52c]
363
+ - Updated dependencies [c5ff96d]
364
+ - Updated dependencies [5a84d41]
365
+ - Updated dependencies [84e7be9]
366
+ - Updated dependencies [91f4c78]
367
+ - Updated dependencies [ddc2527]
368
+ - Updated dependencies [820eff9]
369
+ - Updated dependencies [a6c3f38]
370
+ - Updated dependencies [debc23a]
371
+ - Updated dependencies [0f8ad09]
372
+ - Updated dependencies [553a47f]
373
+ - Updated dependencies [43a7a8d]
374
+ - Updated dependencies [a98085f]
375
+ - Updated dependencies [20b1a9e]
376
+ - Updated dependencies [344a22a]
377
+ - Updated dependencies [4827e91]
378
+ - Updated dependencies [fec2f0e]
379
+ - Updated dependencies [8d895ff]
380
+ - Updated dependencies [ea24593]
381
+ - Updated dependencies [86f7a20]
382
+ - Updated dependencies [7a40b7a]
383
+ - Updated dependencies [7cf1531]
384
+ - Updated dependencies [f2eb850]
385
+ - Updated dependencies [586d6f7]
386
+ - Updated dependencies [8bd437f]
387
+ - Updated dependencies [5046afe]
388
+ - Updated dependencies [984396b]
389
+ - Updated dependencies [d0fea33]
390
+ - Updated dependencies [2d14b35]
391
+ - Updated dependencies [a3a884d]
392
+ - Updated dependencies [cfed092]
393
+ - Updated dependencies [203a449]
394
+ - Updated dependencies [8f9689f]
395
+ - Updated dependencies [73f69dc]
396
+ - Updated dependencies [04c56aa]
397
+ - Updated dependencies [f6472d7]
398
+ - Updated dependencies [57a3bb3]
399
+ - Updated dependencies [b3efeb7]
400
+ - Updated dependencies [ddd075a]
401
+ - Updated dependencies [88154be]
402
+ - Updated dependencies [e8dc61e]
403
+ - Updated dependencies [9c82146]
404
+ - Updated dependencies [5f9a987]
405
+ - Updated dependencies [744b8f5]
406
+ - Updated dependencies [ac37fc6]
407
+ - Updated dependencies [36c2f00]
408
+ - Updated dependencies [9f060e5]
409
+ - Updated dependencies [bc17d39]
410
+ - Updated dependencies [2f3e793]
411
+ - Updated dependencies [4820f55]
412
+ - Updated dependencies [462d9c4]
413
+ - Updated dependencies [78caf51]
414
+ - Updated dependencies [7d21581]
415
+ - Updated dependencies [93929c2]
416
+ - Updated dependencies [37785ed]
417
+ - Updated dependencies [62a789b]
418
+ - Updated dependencies [2e284b2]
419
+ - Updated dependencies [d8e8d9c]
420
+ - Updated dependencies [789ad63]
421
+ - Updated dependencies [f2445c9]
422
+ - Updated dependencies [94e749b]
423
+ - Updated dependencies [ea1d916]
424
+ - Updated dependencies [2af1988]
425
+ - Updated dependencies [0af50a3]
426
+ - Updated dependencies [1b49eaf]
427
+ - Updated dependencies [ae31a19]
428
+ - Updated dependencies [a0a206f]
429
+ - Updated dependencies [6df5135]
430
+ - Updated dependencies [2e836de]
431
+ - Updated dependencies [e0f300b]
432
+ - Updated dependencies [0161c7f]
433
+ - Updated dependencies [e900015]
434
+ - Updated dependencies [db02d47]
435
+ - Updated dependencies [b5bdf48]
436
+ - Updated dependencies [23338c3]
437
+ - Updated dependencies [12a19a8]
438
+ - Updated dependencies [5b843fb]
439
+ - Updated dependencies [62b6a2f]
440
+ - Updated dependencies [7e5af5c]
441
+ - Updated dependencies [5b4780b]
442
+ - Updated dependencies [a933452]
443
+ - Updated dependencies [9d1d9c7]
444
+ - Updated dependencies [8140915]
445
+ - Updated dependencies [a019e52]
446
+ - Updated dependencies [e8f8f6c]
447
+ - Updated dependencies [41dcda3]
448
+ - Updated dependencies [7b48cf9]
449
+ - Updated dependencies [b5404f4]
450
+ - Updated dependencies [64fc6d5]
451
+ - Updated dependencies [b746aa0]
452
+ - Updated dependencies [b4487aa]
453
+ - Updated dependencies [1007379]
454
+ - Updated dependencies [65ca83a]
455
+ - Updated dependencies [0bfdf46]
456
+ - Updated dependencies [947d4f9]
457
+ - Updated dependencies [f764691]
458
+ - Updated dependencies [e120a5a]
459
+ - Updated dependencies [e5bd2f6]
460
+ - Updated dependencies [e650d67]
461
+ - Updated dependencies [04476e7]
462
+ - Updated dependencies [67bf2e2]
463
+ - Updated dependencies [eaaf03c]
464
+ - Updated dependencies [d17df80]
465
+ - Updated dependencies [7d0e7b5]
466
+ - Updated dependencies [c6d1cb4]
467
+ - Updated dependencies [6513c17]
468
+ - Updated dependencies [36030ff]
469
+ - Updated dependencies [79228cd]
470
+ - Updated dependencies [6117f7b]
471
+ - Updated dependencies [e533b0b]
472
+ - Updated dependencies [cdf4d9a]
473
+ - Updated dependencies [aee1806]
474
+ - Updated dependencies [c13350b]
475
+ - Updated dependencies [c13350b]
476
+ - Updated dependencies [2c1988c]
477
+ - Updated dependencies [9ca2d85]
478
+ - Updated dependencies [c13350b]
479
+ - Updated dependencies [891d345]
480
+ - Updated dependencies [c8124e5]
481
+ - Updated dependencies [a52e2ef]
482
+ - Updated dependencies [5293114]
483
+ - Updated dependencies [376a061]
484
+ - Updated dependencies [c142ced]
485
+ - Updated dependencies [211abdb]
486
+ - Updated dependencies [b3363e9]
487
+ - Updated dependencies [eda599e]
488
+ - Updated dependencies [a1a4140]
489
+ - Updated dependencies [7c7e246]
490
+ - Updated dependencies [2ef1807]
491
+ - Updated dependencies [f35cdc5]
492
+ - Updated dependencies [d03fe25]
493
+ - Updated dependencies [217e2e6]
494
+ - Updated dependencies [2672f85]
495
+ - Updated dependencies [20bc357]
496
+ - Updated dependencies [11066f6]
497
+ - Updated dependencies [916af17]
498
+ - Updated dependencies [84c86fb]
499
+ - Updated dependencies [2a2a9fb]
500
+ - Updated dependencies [86a71d1]
501
+ - Updated dependencies [c001422]
502
+ - Updated dependencies [77022a9]
503
+ - Updated dependencies [d5c75e2]
504
+ - Updated dependencies [03d26f7]
505
+ - Updated dependencies [5966c2a]
506
+ - Updated dependencies [2382580]
507
+ - Updated dependencies [9ea2bc5]
508
+ - Updated dependencies [a2e157c]
509
+ - Updated dependencies [95c4227]
510
+ - Updated dependencies [2a61116]
511
+ - Updated dependencies [52760bf]
512
+ - Updated dependencies [5543020]
513
+ - Updated dependencies [880d343]
514
+ - Updated dependencies [6e82972]
515
+ - Updated dependencies [d4df105]
516
+ - Updated dependencies [4615a18]
517
+ - Updated dependencies [f505689]
518
+ - Updated dependencies [d9fa683]
519
+ - Updated dependencies [606d577]
520
+ - Updated dependencies [4384921]
521
+ - Updated dependencies [e2798fa]
522
+ - Updated dependencies [3c628ce]
523
+ - Updated dependencies [c2d9098]
524
+ - Updated dependencies [0fd8556]
525
+ - Updated dependencies [3c7bcc0]
526
+ - Updated dependencies [4b6cac7]
527
+ - Updated dependencies [7631964]
528
+ - Updated dependencies [ac471a0]
529
+ - Updated dependencies [60ae58e]
530
+ - Updated dependencies [7f62706]
531
+ - Updated dependencies [667fa44]
532
+ - Updated dependencies [37e38d1]
533
+ - Updated dependencies [e906126]
534
+ - Updated dependencies [ce92674]
535
+ - Updated dependencies [08363a0]
536
+ - Updated dependencies [444de5b]
537
+ - Updated dependencies [a227ed7]
538
+ - Updated dependencies [7cb922e]
539
+ - Updated dependencies [1d22114]
540
+ - Updated dependencies [1eb13a0]
541
+ - Updated dependencies [c52e608]
542
+ - Updated dependencies [9613396]
543
+ - Updated dependencies [3f7b4ff]
544
+ - Updated dependencies [74155c7]
545
+ - Updated dependencies [b5f9397]
546
+ - Updated dependencies [ed77493]
547
+ - Updated dependencies [6908830]
548
+ - Updated dependencies [8b06bba]
549
+ - Updated dependencies [58a03d2]
550
+ - Updated dependencies [2bacd1a]
551
+ - Updated dependencies [e47b342]
552
+ - Updated dependencies [4c54037]
553
+ - Updated dependencies [dc530b4]
554
+ - Updated dependencies [9f601e8]
555
+ - Updated dependencies [6a9dec6]
556
+ - Updated dependencies [0f7157b]
557
+ - Updated dependencies [4dc1c7d]
558
+ - Updated dependencies [d9bef45]
559
+ - Updated dependencies [4dfd002]
560
+ - Updated dependencies [f549a0d]
561
+ - Updated dependencies [51c5227]
562
+ - Updated dependencies [82da264]
563
+ - Updated dependencies [f586f1a]
564
+ - Updated dependencies [77be690]
565
+ - Updated dependencies [4ed7ed4]
566
+ - Updated dependencies [9b9b70f]
567
+ - Updated dependencies [f5a9bc2]
568
+ - Updated dependencies [e59786e]
569
+ - Updated dependencies [2fa4ca1]
570
+ - Updated dependencies [bcf1112]
571
+ - Updated dependencies [baeb4f0]
572
+ - Updated dependencies [29488cc]
573
+ - Updated dependencies [881a3cc]
574
+ - Updated dependencies [f5a2320]
575
+ - Updated dependencies [ad6317b]
576
+ - Updated dependencies [811c30c]
577
+ - Updated dependencies [a4a85c8]
578
+ - Updated dependencies [859cb83]
579
+ - Updated dependencies [07a4e26]
580
+ - Updated dependencies [9774b78]
581
+ - Updated dependencies [8a88885]
582
+ - Updated dependencies [deb538f]
583
+ - Updated dependencies [b49ccfd]
584
+ - Updated dependencies [5b89711]
585
+ - Updated dependencies [85d95e7]
586
+ - Updated dependencies [08cd163]
587
+ - Updated dependencies [0c8a22f]
588
+ - Updated dependencies [5f7669e]
589
+ - Updated dependencies [becbe53]
590
+ - Updated dependencies [b127c8b]
591
+ - Updated dependencies [763931e]
592
+ - Updated dependencies [ec975f1]
593
+ - Updated dependencies [c892829]
594
+ - Updated dependencies [168f60f]
595
+ - Updated dependencies [b07d829]
596
+ - Updated dependencies [de9af8a]
597
+ - Updated dependencies [eb4204b]
598
+ - Updated dependencies [a80302a]
599
+ - Updated dependencies [a648e96]
600
+ - Updated dependencies [a47ac06]
601
+ - Updated dependencies [e4c61a7]
602
+ - Updated dependencies [cc60165]
603
+ - Updated dependencies [474f131]
604
+ - Updated dependencies [081aa6f]
605
+ - Updated dependencies [91f4c78]
606
+ - Updated dependencies [050cd82]
607
+ - Updated dependencies [4d552af]
608
+ - Updated dependencies [44d677c]
609
+ - Updated dependencies [c32944d]
610
+ - Updated dependencies [1dd780f]
611
+ - Updated dependencies [e8d0c21]
612
+ - Updated dependencies [244ca86]
613
+ - Updated dependencies [546ab3c]
614
+ - Updated dependencies [c4df271]
615
+ - Updated dependencies [c8d6f6e]
616
+ - Updated dependencies [0b51bb6]
617
+ - Updated dependencies [08f93bc]
618
+ - Updated dependencies [d9971d3]
619
+ - Updated dependencies [7dc1067]
620
+ - Updated dependencies [4f13be2]
621
+ - Updated dependencies [a41ba5c]
622
+ - Updated dependencies [189854c]
623
+ - Updated dependencies [0e3a226]
624
+ - Updated dependencies [92a67f2]
625
+ - Updated dependencies [9136327]
626
+ - Updated dependencies [bf0ae99]
627
+ - Updated dependencies [eb3e650]
628
+ - Updated dependencies [abeb375]
629
+ - Updated dependencies [cb3b6cd]
630
+ - Updated dependencies [73b7234]
631
+ - Updated dependencies [d2b97c3]
632
+ - Updated dependencies [61cc079]
633
+ - Updated dependencies [45dc446]
634
+ - Updated dependencies [0e96e46]
635
+ - Updated dependencies [c1d44f7]
636
+ - Updated dependencies [59b794f]
637
+ - Updated dependencies [ef4efa8]
638
+ - Updated dependencies [cbb6a5c]
639
+ - Updated dependencies [fc3a36a]
640
+ - Updated dependencies [ab9fb5c]
641
+ - Updated dependencies [69787f0]
642
+ - Updated dependencies [5d022a1]
643
+ - Updated dependencies [042b9ee]
644
+ - Updated dependencies [f985b3f]
645
+ - Updated dependencies [795b6e1]
646
+ - Updated dependencies [d52d4fe]
647
+ - Updated dependencies [742cebb]
648
+ - Updated dependencies [175d789]
649
+ - Updated dependencies [f549a0d]
650
+ - Updated dependencies [427344c]
651
+ - Updated dependencies [8af76ae]
652
+ - Updated dependencies [1d4756e]
653
+ - Updated dependencies [720c5ad]
654
+ - Updated dependencies [a8d1e24]
655
+ - Updated dependencies [b85cc54]
656
+ - Updated dependencies [a36db28]
657
+ - Updated dependencies [7a8476f]
658
+ - Updated dependencies [518ca7a]
659
+ - Updated dependencies [41642b0]
660
+ - Updated dependencies [4cca74c]
661
+ - Updated dependencies [88ef03e]
662
+ - Updated dependencies [9a4932a]
663
+ - Updated dependencies [3f8817a]
664
+ - Updated dependencies [a2443e3]
665
+ - Updated dependencies [e1554b1]
666
+ - Updated dependencies [9e2caf3]
667
+ - Updated dependencies [889d1b9]
668
+ - Updated dependencies [4856789]
669
+ - Updated dependencies [81ce41a]
670
+ - Updated dependencies [85e1e4e]
671
+ - Updated dependencies [c3f4916]
672
+ - Updated dependencies [65ac468]
673
+ - Updated dependencies [55dbbba]
674
+ - Updated dependencies [33e0385]
675
+ - Updated dependencies [dac6a08]
676
+ - Updated dependencies [72c3c86]
677
+ - Updated dependencies [2d8dba3]
678
+ - Updated dependencies [7f1a635]
679
+ - Updated dependencies [2205363]
680
+ - Updated dependencies [09fe58d]
681
+ - Updated dependencies [f9fc874]
682
+ - Updated dependencies [d62f8eb]
683
+ - Updated dependencies [d0a5ceb]
684
+ - Updated dependencies [a7586cd]
685
+ - Updated dependencies [4c5e80e]
686
+ - Updated dependencies [313d7be]
687
+ - Updated dependencies [4b5702a]
688
+ - Updated dependencies [011b386]
689
+ - Updated dependencies [5faeac6]
690
+ - Updated dependencies [e18a162]
691
+ - Updated dependencies [394b7a1]
692
+ - Updated dependencies [ce92674]
693
+ - Updated dependencies [9fa6bab]
694
+ - Updated dependencies [0f2fdcd]
695
+ - Updated dependencies [d6d1a50]
696
+ - Updated dependencies [cf2c9b7]
697
+ - Updated dependencies [8ffa8b9]
698
+ - Updated dependencies [d127ff0]
699
+ - Updated dependencies [674ac99]
700
+ - Updated dependencies [833b512]
701
+ - Updated dependencies [61dc08e]
702
+ - Updated dependencies [8dcf607]
703
+ - Updated dependencies [ea1d916]
704
+ - Updated dependencies [b691ba9]
705
+ - Updated dependencies [36d90fc]
706
+ - Updated dependencies [7777e8f]
707
+ - Updated dependencies [9b86cf6]
708
+ - Updated dependencies [d063a96]
709
+ - Updated dependencies [8825a06]
710
+ - Updated dependencies [5087ac6]
711
+ - Updated dependencies [677b591]
712
+ - Updated dependencies [cf7c694]
713
+ - Updated dependencies [ddd0f06]
714
+ - Updated dependencies [d77d1b7]
715
+ - Updated dependencies [0f9faa2]
716
+ - Updated dependencies [2d1ddf0]
717
+ - Updated dependencies [354b00f]
718
+ - Updated dependencies [3de535b]
719
+ - Updated dependencies [fe2e15a]
720
+ - Updated dependencies [5b79a34]
721
+ - Updated dependencies [502564d]
722
+ - Updated dependencies [603cab8]
723
+ - Updated dependencies [c757854]
724
+ - Updated dependencies [471839d]
725
+ - Updated dependencies [507b92a]
726
+ - Updated dependencies [46365ab]
727
+ - Updated dependencies [b508244]
728
+ - Updated dependencies [df95346]
729
+ - Updated dependencies [3dede58]
730
+ - Updated dependencies [c6b6bb4]
731
+ - Updated dependencies [594508e]
732
+ - Updated dependencies [7cf42fe]
733
+ - Updated dependencies [5966c2a]
734
+ - Updated dependencies [73dc89b]
735
+ - Updated dependencies [0045682]
736
+ - Updated dependencies [7309c81]
737
+ - Updated dependencies [2f59da0]
738
+ - Updated dependencies [d56012f]
739
+ - Updated dependencies [f78dd83]
740
+ - Updated dependencies [a2cd18a]
741
+ - Updated dependencies [9051802]
742
+ - Updated dependencies [20bc1ec]
743
+ - Updated dependencies [1c625ca]
744
+ - Updated dependencies [2f8328c]
745
+ - Updated dependencies [2a6c279]
746
+ - Updated dependencies [9319586]
747
+ - Updated dependencies [8c8f0df]
748
+ - Updated dependencies [8ad609c]
749
+ - Updated dependencies [bbee302]
750
+ - Updated dependencies [90c2b15]
751
+ - Updated dependencies [4638aaa]
752
+ - Updated dependencies [0222d3c]
753
+ - Updated dependencies [08863dd]
754
+ - Updated dependencies [071d0dc]
755
+ - Updated dependencies [f293d45]
756
+ - Updated dependencies [56664f5]
757
+ - Updated dependencies [71f205d]
758
+ - Updated dependencies [f067930]
759
+ - Updated dependencies [414395b]
760
+ - Updated dependencies [42eeb7d]
761
+ - Updated dependencies [31cbe90]
762
+ - Updated dependencies [6b7129a]
763
+ - Updated dependencies [c5adfe1]
764
+ - Updated dependencies [97ace2a]
765
+ - Updated dependencies [26e1029]
766
+ - Updated dependencies [0a936ea]
767
+ - Updated dependencies [90bbf25]
768
+ - Updated dependencies [023c00b]
769
+ - Updated dependencies [eb91eba]
770
+ - Updated dependencies [42da73d]
771
+ - Updated dependencies [01e124d]
772
+ - Updated dependencies [4addd9d]
773
+ - Updated dependencies [ef7b5ef]
774
+ - Updated dependencies [9514767]
775
+ - Updated dependencies [8f20201]
776
+ - Updated dependencies [155507e]
777
+ - Updated dependencies [643b7c7]
778
+ - Updated dependencies [7bba90b]
779
+ - Updated dependencies [8813b90]
780
+ - Updated dependencies [108ba8d]
781
+ - Updated dependencies [2a5f04a]
782
+ - Updated dependencies [4f740b0]
783
+ - Updated dependencies [7ce02eb]
784
+ - Updated dependencies [29308ba]
785
+ - Updated dependencies [759a53a]
786
+ - Updated dependencies [b4ad984]
787
+ - Updated dependencies [e7a7506]
788
+ - Updated dependencies [a9f32df]
789
+ - Updated dependencies [aeb9b27]
790
+ - Updated dependencies [7d27da0]
791
+ - Updated dependencies [d0d5205]
792
+ - Updated dependencies [de113a4]
793
+ - Updated dependencies [db8c285]
794
+ - Updated dependencies [1a15893]
795
+ - Updated dependencies [b70e534]
796
+ - Updated dependencies [7e05d8e]
797
+ - Updated dependencies [8f1851e]
798
+ - Updated dependencies [61ea810]
799
+ - Updated dependencies [2233a85]
800
+ - Updated dependencies [67452d1]
801
+ - Updated dependencies [089767f]
802
+ - Updated dependencies [a13827e]
803
+ - Updated dependencies [66d99ec]
804
+ - Updated dependencies [cb43296]
805
+ - Updated dependencies [b61afc1]
806
+ - Updated dependencies [2c81b92]
807
+ - Updated dependencies [79021fc]
808
+ - Updated dependencies [7733604]
809
+ - Updated dependencies [40e420f]
810
+ - Updated dependencies [62dd69a]
811
+ - Updated dependencies [d13004a]
812
+ - Updated dependencies [be7360c]
813
+ - Updated dependencies [e15e679]
814
+ - Updated dependencies [2ab1257]
815
+ - Updated dependencies [0fc6219]
816
+ - Updated dependencies [061406d]
817
+ - Updated dependencies [e4c8b6c]
818
+ - Updated dependencies [acb10f6]
819
+ - Updated dependencies [605e190]
820
+ - Updated dependencies [c6c59f1]
821
+ - Updated dependencies [b0e78a8]
822
+ - Updated dependencies [f31cc8d]
823
+ - Updated dependencies [f343dc4]
824
+ - Updated dependencies [8269e32]
825
+ - Updated dependencies [74f7339]
826
+ - Updated dependencies [a6c35a2]
827
+ - Updated dependencies [c2f1002]
828
+ - Updated dependencies [4cc4fb7]
829
+ - Updated dependencies [97b6658]
830
+ - Updated dependencies [28d1eb7]
831
+ - Updated dependencies [06770c0]
832
+ - Updated dependencies [2c26040]
833
+ - Updated dependencies [f758cec]
834
+ - Updated dependencies [5b47ab5]
835
+ - Updated dependencies [b09d8d9]
836
+ - Updated dependencies [b09d8d9]
837
+ - Updated dependencies [8675db6]
838
+ - Updated dependencies [b09d8d9]
839
+ - Updated dependencies [27358d5]
840
+ - Updated dependencies [1c3da1f]
841
+ - Updated dependencies [c1f344b]
842
+ - Updated dependencies [1fa224a]
843
+ - Updated dependencies [3eb1b2b]
844
+ - Updated dependencies [9c93465]
845
+ - Updated dependencies [a34fd2e]
846
+ - Updated dependencies [ebb209c]
847
+ - Updated dependencies [76bcb83]
848
+ - Updated dependencies [59b85c0]
849
+ - Updated dependencies [889ae47]
850
+ - Updated dependencies [4f4c3fb]
851
+ - Updated dependencies [78f0be8]
852
+ - Updated dependencies [6e357ed]
853
+ - Updated dependencies [d6938bf]
854
+ - Updated dependencies [35f7fb4]
855
+ - Updated dependencies [0410522]
856
+ - Updated dependencies [63b33e6]
857
+ - Updated dependencies [f163028]
858
+ - Updated dependencies [814db6d]
859
+ - Updated dependencies [a5302c7]
860
+ - Updated dependencies [31e0be9]
861
+ - Updated dependencies [4bfd455]
862
+ - Updated dependencies [ffd2ce2]
863
+ - Updated dependencies [2a44c1d]
864
+ - Updated dependencies [7084313]
865
+ - Updated dependencies [f07808c]
866
+ - Updated dependencies [7ffc3d3]
867
+ - Updated dependencies [88346ba]
868
+ - Updated dependencies [4631592]
869
+ - Updated dependencies [62f8017]
870
+ - Updated dependencies [32ff033]
871
+ - Updated dependencies [a831df1]
872
+ - Updated dependencies [f752ee3]
873
+ - Updated dependencies [a1b61e0]
874
+ - Updated dependencies [cd6b9f2]
875
+ - Updated dependencies [2cb6d3c]
876
+ - Updated dependencies [af2a095]
877
+ - Updated dependencies [5ac93d4]
878
+ - Updated dependencies [695cfbd]
879
+ - Updated dependencies [0e043d8]
880
+ - Updated dependencies [93f267f]
881
+ - Updated dependencies [7445149]
882
+ - Updated dependencies [ec796d5]
883
+ - Updated dependencies [071d0dc]
884
+ - Updated dependencies [0024abf]
885
+ - Updated dependencies [8dd98bf]
886
+ - Updated dependencies [e87fea1]
887
+ - Updated dependencies [c65e529]
888
+ - Updated dependencies [0848bea]
889
+ - Updated dependencies [d51bed2]
890
+ - Updated dependencies [dadd1ad]
891
+ - Updated dependencies [acbf364]
892
+ - Updated dependencies [3ca34c1]
893
+ - Updated dependencies [7adc841]
894
+ - Updated dependencies [239c3a3]
895
+ - Updated dependencies [b8b3c64]
896
+ - Updated dependencies [2f2e63c]
897
+ - Updated dependencies [4845f85]
898
+ - Updated dependencies [486d526]
899
+ - Updated dependencies [94a0bbc]
900
+ - Updated dependencies [d6bfb3d]
901
+ - Updated dependencies [8a9c079]
902
+ - Updated dependencies [7b005b4]
903
+ - Updated dependencies [cc3555e]
904
+ - Updated dependencies [f8fe47e]
905
+ - Updated dependencies [a2266a6]
906
+ - Updated dependencies [d25a0ec]
907
+ - Updated dependencies [89d7b35]
908
+ - Updated dependencies [94f7b6a]
909
+ - Updated dependencies [5c94f83]
910
+ - Updated dependencies [ea936f3]
911
+ - Updated dependencies [0c0fbd9]
912
+ - Updated dependencies [667b83e]
913
+ - Updated dependencies [f3141d8]
914
+ - Updated dependencies [e5fd28c]
915
+ - Updated dependencies [aa8b847]
916
+ - Updated dependencies [7687f7b]
917
+ - Updated dependencies [5a84d41]
918
+ - Updated dependencies [fd3013a]
919
+ - Updated dependencies [85ec26d]
920
+ - Updated dependencies [73e576f]
921
+ - Updated dependencies [f6476fc]
922
+ - Updated dependencies [69ac82c]
923
+ - Updated dependencies [4ac12ef]
924
+ - Updated dependencies [833ed84]
925
+ - Updated dependencies [a18abf3]
926
+ - Updated dependencies [c6a4eeb]
927
+ - Updated dependencies [1659072]
928
+ - Updated dependencies [f450ae7]
929
+ - Updated dependencies [abceb0d]
930
+ - Updated dependencies [627b188]
931
+ - Updated dependencies [8d4eae7]
932
+ - Updated dependencies [c5a5996]
933
+ - Updated dependencies [0c302a7]
934
+ - Updated dependencies [b88f5e8]
935
+ - Updated dependencies [857a6cf]
936
+ - Updated dependencies [65a3a84]
937
+ - Updated dependencies [6633337]
938
+ - Updated dependencies [21676eb]
939
+ - Updated dependencies [3f296bf]
940
+ - Updated dependencies [b40f81c]
941
+ - Updated dependencies [e474853]
942
+ - Updated dependencies [e9cb9ab]
943
+ - Updated dependencies [42cc219]
944
+ - Updated dependencies [d7e0b42]
945
+ - Updated dependencies [3510e4a]
946
+ - Updated dependencies [f00d8d4]
947
+ - Updated dependencies [5326b36]
948
+ - Updated dependencies [aa4b90d]
949
+ - Updated dependencies [ccd9397]
950
+ - Updated dependencies [503be86]
951
+ - Updated dependencies [54299ca]
952
+ - Updated dependencies [ae490ef]
953
+ - Updated dependencies [e124711]
954
+ - Updated dependencies [dc61def]
955
+ - Updated dependencies [bca935b]
956
+ - Updated dependencies [d92c72d]
957
+ - Updated dependencies [c54c822]
958
+ - Updated dependencies [8dcc0f5]
959
+ - Updated dependencies [75b9e51]
960
+ - Updated dependencies [f61c8cf]
961
+ - Updated dependencies [e3ef52b]
962
+ - Updated dependencies [0a2f233]
963
+ - Updated dependencies [8621cdd]
964
+ - Updated dependencies [251e888]
965
+ - Updated dependencies [07f1822]
966
+ - Updated dependencies [e336549]
967
+ - Updated dependencies [3bb9340]
968
+ - Updated dependencies [1e604c4]
969
+ - Updated dependencies [04fab5e]
970
+ - Updated dependencies [183b4c4]
971
+ - Updated dependencies [7f713b6]
972
+ - Updated dependencies [d40f43a]
973
+ - Updated dependencies [2fdb36e]
974
+ - Updated dependencies [b41f51a]
975
+ - Updated dependencies [ef8b1ff]
976
+ - Updated dependencies [6f23667]
977
+ - Updated dependencies [cde1975]
978
+ - Updated dependencies [0bc685a]
979
+ - Updated dependencies [20526f5]
980
+ - Updated dependencies [efedd28]
981
+ - Updated dependencies [5d21a48]
982
+ - Updated dependencies [5278e11]
983
+ - Updated dependencies [c5eef1d]
984
+ - Updated dependencies [e5e7ee0]
985
+ - Updated dependencies [23dba62]
986
+ - Updated dependencies [e0f300b]
987
+ - Updated dependencies [761a0ba]
988
+ - Updated dependencies [c960170]
989
+ - Updated dependencies [19365b7]
990
+ - Updated dependencies [ba98e26]
991
+ - Updated dependencies [b7ed26d]
992
+ - Updated dependencies [a2ebea2]
993
+ - Updated dependencies [800bdb0]
994
+ - Updated dependencies [9d4dfc4]
995
+ - Updated dependencies [1059965]
996
+ - Updated dependencies [def5919]
997
+ - Updated dependencies [ee264b2]
998
+ - Updated dependencies [60b672e]
999
+ - Updated dependencies [6b441a8]
1000
+ - Updated dependencies [ce0cfe9]
1001
+ - Updated dependencies [04f1182]
1002
+ - Updated dependencies [be87153]
1003
+ - Updated dependencies [dd0f681]
1004
+ - Updated dependencies [60f0dd8]
1005
+ - Updated dependencies [a87c5cd]
1006
+ - Updated dependencies [a47f338]
1007
+ - Updated dependencies [b3a3d83]
1008
+ - Updated dependencies [7a55913]
1009
+ - Updated dependencies [35accbf]
1010
+ - Updated dependencies [6038de7]
1011
+ - Updated dependencies [c03108c]
1012
+ - Updated dependencies [fc5f536]
1013
+ - Updated dependencies [5647006]
1014
+ - Updated dependencies [e654bfd]
1015
+ - Updated dependencies [01a7337]
1016
+ - Updated dependencies [b45c71e]
1017
+ - Updated dependencies [f8cfbb4]
1018
+ - Updated dependencies [414083c]
1019
+ - Updated dependencies [6e6c872]
1020
+ - Updated dependencies [c797473]
1021
+ - Updated dependencies [2598216]
1022
+ - Updated dependencies [11949fc]
1023
+ - Updated dependencies [2c7e62d]
1024
+ - Updated dependencies [eb95d97]
1025
+ - Updated dependencies [b098b0e]
1026
+ - Updated dependencies [4d00b13]
1027
+ - Updated dependencies [1363084]
1028
+ - Updated dependencies [fa5758e]
1029
+ - Updated dependencies [38f7e4f]
1030
+ - Updated dependencies [eb7613c]
1031
+ - Updated dependencies [c57f3cf]
1032
+ - Updated dependencies [ecc9110]
1033
+ - Updated dependencies [a629074]
1034
+ - Updated dependencies [e4c2dc8]
1035
+ - Updated dependencies [97faca3]
1036
+ - Updated dependencies [57bab76]
1037
+ - Updated dependencies [c89d18c]
1038
+ - Updated dependencies [1bd2795]
1039
+ - Updated dependencies [f7bd4e2]
1040
+ - Updated dependencies [361bd5b]
1041
+ - Updated dependencies [aac90a5]
1042
+ - Updated dependencies [3da3da5]
1043
+ - Updated dependencies [1e6ab15]
1044
+ - Updated dependencies [b90086a]
1045
+ - Updated dependencies [8186a70]
1046
+ - Updated dependencies [a329cca]
1047
+ - Updated dependencies [c87ef70]
1048
+ - Updated dependencies [3cb0618]
1049
+ - Updated dependencies [32a0874]
1050
+ - Updated dependencies [6eec18c]
1051
+ - Updated dependencies [4d7bebf]
1052
+ - Updated dependencies [821ac7a]
1053
+ - Updated dependencies [8f81731]
1054
+ - Updated dependencies [7055c22]
1055
+ - Updated dependencies [785a748]
1056
+ - Updated dependencies [3af0354]
1057
+ - Updated dependencies [866ff16]
1058
+ - Updated dependencies [5a85e67]
1059
+ - Updated dependencies [8b50cb3]
1060
+ - Updated dependencies [a0fdc56]
1061
+ - Updated dependencies [b95577a]
1062
+ - Updated dependencies [0dcbc11]
1063
+ - Updated dependencies [d88f3e9]
1064
+ - Updated dependencies [ad5fe25]
1065
+ - Updated dependencies [c183a12]
1066
+ - Updated dependencies [83c161f]
1067
+ - Updated dependencies [d8c4957]
1068
+ - Updated dependencies [b9f930b]
1069
+ - Updated dependencies [f24cb83]
1070
+ - Updated dependencies [5dbbb92]
1071
+ - Updated dependencies [ea90179]
1072
+ - Updated dependencies [1818998]
1073
+ - Updated dependencies [ce92674]
1074
+ - Updated dependencies [5ef0b5b]
1075
+ - Updated dependencies [8c2db68]
1076
+ - Updated dependencies [22b5e54]
1077
+ - Updated dependencies [0166bd5]
1078
+ - Updated dependencies [8064b07]
1079
+ - Updated dependencies [09ee21c]
1080
+ - Updated dependencies [4a56dbd]
1081
+ - Updated dependencies [289d04a]
1082
+ - Updated dependencies [f549a0d]
1083
+ - Updated dependencies [48fbacb]
1084
+ - Updated dependencies [06df4fa]
1085
+ - Updated dependencies [3fc2e48]
1086
+ - Updated dependencies [c9b809f]
1087
+ - Updated dependencies [e8f435c]
1088
+ - Updated dependencies [32386f8]
1089
+ - Updated dependencies [9b702dc]
1090
+ - Updated dependencies [ab16331]
1091
+ - Updated dependencies [41610f6]
1092
+ - Updated dependencies [69f1dfd]
1093
+ - Updated dependencies [bbe05de]
1094
+ - Updated dependencies [355e951]
1095
+ - Updated dependencies [a1dd1e4]
1096
+ - Updated dependencies [dadb43f]
1097
+ - Updated dependencies [3556b67]
1098
+ - @objectstack/plugin-auth@17.0.0
1099
+ - @objectstack/spec@17.0.0
1100
+ - @objectstack/core@17.0.0
1101
+
3
1102
  ## 17.0.0-rc.6
4
1103
 
5
1104
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@objectstack/service-sms",
3
- "version": "17.0.0-rc.6",
3
+ "version": "17.0.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "SMS service for ObjectStack — ISmsService + transport-pluggable outbound delivery (Aliyun / Twilio / log).",
6
6
  "main": "dist/index.js",
@@ -13,15 +13,15 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "@objectstack/core": "17.0.0-rc.6",
17
- "@objectstack/spec": "17.0.0-rc.6",
18
- "@objectstack/plugin-auth": "17.0.0-rc.6"
16
+ "@objectstack/plugin-auth": "17.0.0",
17
+ "@objectstack/spec": "17.0.0",
18
+ "@objectstack/core": "17.0.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/node": "^26.1.2",
22
22
  "typescript": "^6.0.3",
23
23
  "vitest": "^4.1.10",
24
- "@objectstack/service-settings": "17.0.0-rc.6"
24
+ "@objectstack/service-settings": "17.0.0"
25
25
  },
26
26
  "keywords": [
27
27
  "objectstack",