Releases: dantro86/bookwright
Releases · dantro86/bookwright
Release list
bookwright v1.4.0
Added
- Explicit target/domain API and steps boundaries enforced by architecture self-tests and ADR 0011.
- Typed Sauce Demo, local-user, and database fixtures with source-level ownership checks and ADR 0012.
- Typed, owner-local JUnit state contracts with architecture checks and ADR 0013.
- A minimal Java booking application backed by the same private MySQL service used by database tests.
- An API → DB-over-SSH verification → API cleanup scenario with deterministic data and LIFO fallback cleanup.
- An independent integration quality gate whose results are merged into the published Allure report.
NEWandEXISTINGuser fixtures with typed, secret-safe credentials, profiles, and API sessions.- Local user registration, PBKDF2 password storage, hashed session tokens, authenticated cleanup, and a protected UI page.
- Playwright session-cookie injection and concurrent integration scenarios for new, existing, missing, and rejected sessions.
- A changelog style gate that prevents release-note bullets from repeating their section heading.
Changed
- Split restful-booker health, auth, and bookings from local auth, users, and bookings, with compact target facades for API and UI tests.
- Replaced the monolithic UI steps class with focused Sauce Demo login, inventory, and checkout domains plus local booking UI steps.
- Moved scenario selection out of steps and product tests into immutable fixtures or reproducible per-test data.
- Reduced
NamespaceRegistryto scope creation, made generic test-store access internal, and established@WithAuthSessionas the single restful-booker auth fixture. - The isolated local launcher now supports an opt-in
integratedCompose profile and dynamically discovers the application port. - Unrelated local-application scenarios no longer submit a login form; Sauce Demo examples retain it because the public target exposes no supported authentication API.
bookwright v1.3.0
Added
- A documented framework verification matrix and self-tests for configuration, preconditions, JUnit Store isolation, waits, UI artifact isolation, and browser resource closure.
- Concurrent isolation tests for JUnit Store, Guice facades, auth data, teardown queues, generated data, and Playwright contexts.
- Deterministic MockWebServer coverage for disconnects, timeouts, malformed JSON, explicit polling, and unexpected responses.
- ADR 0004 documenting the explicit retry policy.
- Digest-pinned local services with explicit MySQL, SSH, and API health checks.
- A dynamic-port local test launcher with isolated Compose projects and guaranteed cleanup.
- Validated local-password and strict private-key SSH profiles, documented in ADR 0005.
- Independent static, framework, API, UI, and DB-over-SSH CI quality gates with one required aggregate status.
- A history-enabled merged Allure report published through GitHub Pages.
- Spotless formatting, a 60% JaCoCo framework-core coverage gate, Gradle dependency verification, Dependabot, dependency review, and CodeQL.
- ADRs for thin Retrofit/Playwright clients with Guice, JUnit-owned lifecycle and LIFO cleanup, and explicit wait boundaries.
- A CI guide covering gate contracts, branch protection, local commands, and checksum maintenance.
Changed
- Disabled shared OkHttp connection retries so every Retrofit call executes once unless a step explicitly polls a transient state.
- Registered class-scoped browser cleanup per worker thread to support concurrent test methods without leaking sessions.
- Removed fixed API, SSH, and JDBC tunnel ports from the local execution path.
- Removed demo DB and SSH credentials from the public
prodstand. - Upgraded GitHub Actions to Node.js 24-based major versions where available.
- Established Google Java Format as the repository-wide source baseline.
bookwright v1.2.0
Added
- Safe HTTP request/response reporting with redaction tests and an architecture decision record.
- Playwright traces and bounded browser-event diagnostics for failed UI tests.
- UI diagnostics self-tests and an architecture decision record for artifact lifecycle and security.
- A UI scenario proving that products with punctuation are selected by their visible name.
- Deterministic per-test data generation with configurable run seeds, Allure replay metadata, parallel-isolation tests, and ADR 0003.
Changed
- Expanded the author profile to document the production, leadership, and AI-first quality engineering experience behind bookwright.
- Replaced raw OkHttp body logging and
AllureOkHttp3attachments with sanitized diagnostics. - Protected authentication values in Allure step parameters, API exceptions, and object string representations.
- Replaced screenshot-only UI failure handling with independent screenshot, HTML, diagnostics, and trace capture.
- Replaced derived product selector slugs with product-card scoped locators.
- Strengthened login, sorting, cart, checkout overview, and order completion assertions.
- Replaced global UUID, thread-local random, and current-date test data with explicit per-test
TestDatasequences.
bookwright v1.1.0
Added
- An explicit
AuthSessionvalue object for authorized API operations. - Configurable teardown failure handling through
teardown.failOnError. - Focused API transport and response-contract exceptions with deterministic MockWebServer tests.
- Framework self-tests for authentication sessions and teardown order/error policy.
Changed
- The README now displays a dynamic GitHub Release badge, and the initial release milestone is complete.
- Moved teardown ownership from
ThreadLocalstate to the method-scoped JUnit Store. - Closed browser sessions through class-scoped JUnit resources while preserving per-test browser contexts.
- Restricted Awaitility retries to transport-level
ApiCallExceptionfailures. - Replaced generic Retrofit execution helpers with focused
body,response, andexpectStatusoperations.
bookwright v1.0.0
Added
- Retrofit/OkHttp API tests against restful-booker with CRUD, negative, search, PATCH, and health scenarios.
- Playwright UI tests against Sauce Demo with isolated browser contexts and failure screenshots/HTML in Allure.
- JDBI/HikariCP database tests through a real JSch SSH tunnel to a Dockerized MySQL instance.
- Declarative
@Preconditions,@WithAuthSession, method-scopedTestStore, and auto-registered JUnit 5 extensions. - Per-test LIFO teardown actions for API and database entities.
- Owner configuration with system property, environment variable, and stand-file precedence.
- Awaitility presets with named waits for infrastructure warm-up and eventual consistency.
- Guice-wired
ApiSteps,UiSteps, andDbStepsfacades. - Allure request/response reporting, owner labels, tags, parallel execution, and GitHub Actions CI.
- Reproducible local Docker stand with restful-booker, an SSH bastion, and MySQL seed data.
- MIT license, project documentation, and author/contact information.
- Semantic Versioning, a validated single version source, Keep a Changelog, and tag-driven GitHub Releases.