From 4f3784037490d92d48f89e7cc1e5ed499e8aa59f Mon Sep 17 00:00:00 2001 From: Francisc Balint <7178547+franciscbalint@users.noreply.github.com> Date: Sun, 25 Oct 2026 16:27:24 +0400 Subject: [PATCH] Release 3.0.0 npm's latest is 2.1.11, published 2026-08-14, and package.json still carried that same version -- so the 27 commits since then had nothing to publish from. The released tag contains only index.js, utils.js and zero-bounce.js: the Inbox Placement Tester, the SFTP bulk jobs, the Warmup client, listS3files and verify_plus have all been unreleased since August. Major rather than minor, because the error contract changed. In 2.1.11 notInitialized, parameterIsMissing and parameterIsInvalid called console.error and the method resolved to undefined; they now throw, so every public method rejects on a missing or invalid argument. A caller without a catch goes from a silent undefined to an unhandled rejection, which is not something to ship under a caret range. init rejecting a non-https apiBaseURL is breaking in the same way. Both are marked BREAKING in the changelog and summarised under the 3.0.0 heading. The changelog also gains the three published releases it never recorded: 2.1.9, 2.1.10 and 2.1.11, dated from their tags. 2.1.9 is dated 2026-06-18 to match its tag rather than the npm timestamp, which is the same moment in UTC and would otherwise sort it above 2.1.8. Verified at 3.0.0: webpack build, 143 jest tests, tsc --noEmit on the type consumer, and the dist smoke test. Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 36 +++++++++++++++++++++++++++++++++--- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7367839..88d0709 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.0.0] - 2026-10-25 + +This release is a major version because the error contract changed: every public +method that is given a missing or invalid argument now rejects, where 2.1.11 +logged with `console.error` and resolved to `undefined`. Code that relied on the +old silent behaviour needs a `catch` before upgrading. See **Changed** below. + ### Added - `validateEmail` accepts `activityData`, `verifyPlus`, and `method: "POST"` (form-encoded `POST /v2/validate`). `timeout` is still optional and must be from 3 to 60 seconds. @@ -27,9 +34,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - List evaluator requests use their own base URL (`https://bulkapi.zerobounce.net/v2/listevaluator`) instead of building the path from the bulk base, and the file id is URL-encoded as one path segment. `sendEvaluatedFile` stays on the bulk base. -- `init` rejects an `apiBaseURL` that is not `https://`. +- **BREAKING:** `init` rejects an `apiBaseURL` that is not `https://`. - API requests abort after 120 seconds and do not follow redirects. -- Missing or invalid arguments reject the promise. They no longer log with `console.error` and return `undefined`. +- **BREAKING:** Missing or invalid arguments reject the promise. They no longer log with `console.error` and return `undefined`. ### Fixed @@ -48,6 +55,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - A custom API base URL cannot be `http://`. - Rejected errors no longer include the raw HTML access-denied page. +## [2.1.11] - 2026-08-14 + +### Fixed + +- `npm audit` advisories for `fast-uri` and `js-yaml`, and tsconfig updates for TypeScript 7. + +## [2.1.10] - 2026-07-27 + +### Fixed + +- `npm audit` advisories in the development dependencies. + +## [2.1.9] - 2026-06-18 + +### Fixed + +- `validatebatch` goes to `api.zerobounce.net`, not the bulk host. +- `npm audit` advisories in the development dependencies. + ## [2.1.8] - 2026-06-18 ### Fixed @@ -99,7 +125,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `guessFormat`. Use the email-finder or domain-search methods instead. -[Unreleased]: https://github.com/zerobounce/zero-bounce-javascript/compare/v2.1.11...HEAD +[Unreleased]: https://github.com/zerobounce/zero-bounce-javascript/compare/v3.0.0...HEAD +[3.0.0]: https://github.com/zerobounce/zero-bounce-javascript/compare/v2.1.11...v3.0.0 +[2.1.11]: https://github.com/zerobounce/zero-bounce-javascript/compare/v2.1.10...v2.1.11 +[2.1.10]: https://github.com/zerobounce/zero-bounce-javascript/compare/v2.1.9...v2.1.10 +[2.1.9]: https://github.com/zerobounce/zero-bounce-javascript/compare/v2.1.8...v2.1.9 [2.1.8]: https://github.com/zerobounce/zero-bounce-javascript/compare/v2.1.6...v2.1.8 [2.1.6]: https://github.com/zerobounce/zero-bounce-javascript/compare/v2.1.5...v2.1.6 [2.1.5]: https://github.com/zerobounce/zero-bounce-javascript/compare/v2.1.0...v2.1.5 diff --git a/package-lock.json b/package-lock.json index 5e7ec3c..fe1b450 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@zerobounce/zero-bounce-sdk", - "version": "2.1.11", + "version": "3.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@zerobounce/zero-bounce-sdk", - "version": "2.1.11", + "version": "3.0.0", "license": "MIT", "devDependencies": { "@babel/core": "^8.0.1", diff --git a/package.json b/package.json index 2a3f008..b2123d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@zerobounce/zero-bounce-sdk", - "version": "2.1.11", + "version": "3.0.0", "description": "This SDK contains methods for interacting easily with ZeroBounce API. More information about ZeroBounce you can find in the official documentation.", "main": "dist/zeroBounceSDK.js", "types": "zeroBounceSDK.d.ts",