Skip to content

Commit 086dd9e

Browse files
feat: on_error local-fallback posture + AbortSignal cancellation (v1.1.0)
Syncs sdks/typescript from ValidKit/validkit (private monorepo) as of PR #3549: - on_error config posture for verifyEmail: 'throw' (default), 'fail-open', or 'local-fallback'. On ConnectionError/TimeoutError/retryable 5xx after retries are exhausted, 'local-fallback' degrades to a local check instead of blocking or blindly accepting. - Optional node-email-verifier peer dependency enables Tier 1 local MX and disposable checks (Node 20+). Never installed by default; zero added weight unless a consumer opts in. - Every full-format verifyEmail verdict now carries degraded and source, so consumers never have to branch on field absence. New isDegraded() type guard and DegradedVerificationResult type. - max_retries: 0 now honored via nullish coalescing (previously fell back to the default). - AbortSignal support: verifyEmail(email, { signal }) cancels the in-flight request and any pending retry delay. See CHANGELOG.md for the full 1.1.0 entry.
1 parent 82377c2 commit 086dd9e

12 files changed

Lines changed: 2110 additions & 139 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ All notable changes to the ValidKit TypeScript SDK will be documented in this fi
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.1.0] - 2026-06-30
9+
10+
### Added
11+
- `on_error` config posture for `verifyEmail`: `'throw'` (default, unchanged), `'fail-open'`, or `'local-fallback'`. When the API is unreachable after retries (ConnectionError, TimeoutError, or a retryable 5xx ServerError), `'local-fallback'` degrades to a local check instead of blocking or blindly accepting.
12+
- Optional `node-email-verifier` peer dependency enables Tier 1 local MX and disposable checks. It is never installed by default and adds zero runtime weight unless you opt in with `npm i node-email-verifier` (Node 20+).
13+
- Degraded verdicts are clearly labeled: `degraded: true`, `source: 'local-fallback' | 'fail-open'`, `checks_run`, and a capped `confidence`. New `isDegraded()` type guard and `DegradedVerificationResult` type.
14+
- Every full-format `verifyEmail` verdict now carries `degraded` and `source`, so consumers never branch on field absence.
15+
- `local_fallback_mx_timeout` config (default 2000 ms) bounds the Tier 1 check.
16+
817
## [1.0.1] - 2025-01-15
918

1019
### Fixed
@@ -44,5 +53,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4453
- Webhook support for async processing
4554
- Cross-platform compatibility (Node.js and browsers)
4655

56+
[1.1.0]: https://github.com/ValidKit/validkit-typescript-sdk/compare/v1.0.1...v1.1.0
4757
[1.0.1]: https://github.com/ValidKit/validkit-typescript-sdk/compare/v1.0.0...v1.0.1
4858
[1.0.0]: https://github.com/ValidKit/validkit-typescript-sdk/releases/tag/v1.0.0

0 commit comments

Comments
 (0)