diff --git a/CHANGELOG.md b/CHANGELOG.md index d7e8f58..553f21d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/). --- +### v3.3.0 — 2026-08-15 + +- **`execution.parallel` now validates against TestNG's own parallel modes, not a hand-written allowlist that had drifted from them** — `tests` and `instances` are legitimate TestNG modes that flow straight through to `XmlSuite.setParallel()` and work exactly like `methods`/`classes` downstream, but Selenium Boot's bootstrap validator rejected them anyway, and did so with a "Parallel execution configuration missing" message — telling users their config was absent when it was present but simply not on the list. Validation now delegates to TestNG's `XmlSuite.ParallelMode` enum directly, so anything TestNG accepts, Selenium Boot accepts, and an unrecognised value's error message names both the rejected value and the full valid set instead of going stale again. (Fixes #35) + ### v3.2.0 — 2026-07-18 - **Three new `WaitEngine` conditions**, consistent with the existing `waitFor*` naming: diff --git a/README.md b/README.md index 59e85e2..da69e1d 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Three files. Copy them as-is and `mvn test` goes green against a real Chrome. io.github.seleniumboot selenium-boot - 3.2.0 + 3.3.0 @@ -168,7 +168,7 @@ Add to your `pom.xml`: io.github.seleniumboot selenium-boot - 3.2.0 + 3.3.0 ``` @@ -749,7 +749,7 @@ ci: ## Project Status -**Current release: v3.2.0** — three new `WaitEngine` conditions: `waitForAttribute` (exact-match attribute), `waitForUrlMatches`, and `waitForTextMatches` (regex). +**Current release: v3.3.0** — `execution.parallel` is now validated against TestNG's own parallel modes, so `tests` and `instances` are accepted alongside `none`, `methods`, and `classes`. See the full version history in **[CHANGELOG.md](CHANGELOG.md)**. diff --git a/docs-site/docs/changelog.md b/docs-site/docs/changelog.md index 89699a2..d0e3d29 100644 --- a/docs-site/docs/changelog.md +++ b/docs-site/docs/changelog.md @@ -11,6 +11,13 @@ All notable changes to Selenium Boot are documented here. --- +## [3.3.0] — 2026-08-15 + +### Fixed +- **`execution.parallel` validation now matches TestNG's own parallel modes** — `tests` and `instances` are legitimate TestNG modes that flow straight through to `XmlSuite.setParallel()` and behave exactly like `methods`/`classes` downstream, but Selenium Boot's bootstrap validator rejected both, reporting a misleading "Parallel execution configuration missing" for a value that was present but not on a hand-written allowlist. Validation now delegates to TestNG's `XmlSuite.ParallelMode` enum directly, so `none`, `methods`, `classes`, `tests`, and `instances` are all accepted, and an unrecognised value's error message names both the rejected value and the full valid set. (Fixes #35) + +--- + ## [3.2.0] — 2026-07-18 ### Added diff --git a/docs-site/docs/configuration.md b/docs-site/docs/configuration.md index 0145743..4567d06 100644 --- a/docs-site/docs/configuration.md +++ b/docs-site/docs/configuration.md @@ -191,10 +191,6 @@ Maps directly to TestNG parallel execution mode. Thread count is set via `thread | `tests` | Each `` in the suite XML runs in its own thread | | `instances` | Each test class instance runs in its own thread | -:::note Version -`tests` and `instances` are accepted from the next release onwards. **v3.2.0, the current release on Maven Central, accepts only `none`, `methods` and `classes`.** -::: - ### `maxActiveSessions` Maximum concurrent browser instances. Tests wait (up to 30s) for a slot rather than failing immediately. Prevents resource exhaustion in parallel runs. diff --git a/docs-site/docs/getting-started.md b/docs-site/docs/getting-started.md index 11ccf3c..e990069 100644 --- a/docs-site/docs/getting-started.md +++ b/docs-site/docs/getting-started.md @@ -35,7 +35,7 @@ No WebDriver binaries required — Selenium Manager handles browser driver downl io.github.seleniumboot selenium-boot - 3.2.0 + 3.3.0 ``` @@ -44,7 +44,7 @@ No WebDriver binaries required — Selenium Manager handles browser driver downl ```groovy title="build.gradle" dependencies { - testImplementation 'io.github.seleniumboot:selenium-boot:3.2.0' + testImplementation 'io.github.seleniumboot:selenium-boot:3.3.0' } test { @@ -58,7 +58,7 @@ test { ```kotlin title="build.gradle.kts" dependencies { - testImplementation("io.github.seleniumboot:selenium-boot:3.2.0") + testImplementation("io.github.seleniumboot:selenium-boot:3.3.0") } tasks.test { diff --git a/docs-site/docs/guides/parallel.md b/docs-site/docs/guides/parallel.md index 85b8363..03b181d 100644 --- a/docs-site/docs/guides/parallel.md +++ b/docs-site/docs/guides/parallel.md @@ -95,10 +95,6 @@ You do not need to do anything special in your tests. `getDriver()` always retur | `tests` | Each `` in the suite XML runs in a thread | Use to isolate suite-level groupings | | `instances` | Each test class instance runs in a thread | Rarely needed — factory-driven suites | -:::note Version -`tests` and `instances` are accepted from the next release onwards. **v3.2.0, the current release on Maven Central, accepts only `none`, `methods` and `classes`** and rejects the other two at bootstrap. -::: - --- ## Parallel + per-suite lifecycle diff --git a/docs-site/docs/junit5.md b/docs-site/docs/junit5.md index f0f6330..f67877b 100644 --- a/docs-site/docs/junit5.md +++ b/docs-site/docs/junit5.md @@ -17,7 +17,7 @@ Selenium Boot supports both **TestNG** (built-in) and **JUnit 5** (opt-in). The io.github.seleniumboot selenium-boot - 3.2.0 + 3.3.0 diff --git a/docs-site/docs/migration/from-selenium-testng.md b/docs-site/docs/migration/from-selenium-testng.md index 9bd83a9..998ac9f 100644 --- a/docs-site/docs/migration/from-selenium-testng.md +++ b/docs-site/docs/migration/from-selenium-testng.md @@ -26,7 +26,7 @@ Remove your Selenium, WebDriverManager, and reporting dependencies and add one: io.github.seleniumboot selenium-boot - 3.2.0 + 3.3.0 ``` diff --git a/docs-site/src/pages/index.js b/docs-site/src/pages/index.js index 94a8214..e043d83 100644 --- a/docs-site/src/pages/index.js +++ b/docs-site/src/pages/index.js @@ -241,7 +241,7 @@ export default function Home() { code={` io.github.seleniumboot selenium-boot - 3.2.0 + 3.3.0 `} /> diff --git a/pom.xml b/pom.xml index 1b15645..013db91 100644 --- a/pom.xml +++ b/pom.xml @@ -6,12 +6,12 @@ io.github.seleniumboot selenium-boot - 3.2.0 + 3.3.0 jar Selenium Boot Opinionated Selenium framework inspired by Spring Boot - https://github.com/seleniumboot/selenium-boot + https://seleniumboot.com