From 7ecb26cc92f40e7ad0082fe2cdb994d3e0bf4fb0 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Sat, 14 Feb 2026 15:03:35 +0100 Subject: [PATCH] Release version 1.1.11 --- CHANGELOG.md | 5 +++++ flake.nix | 2 +- pyproject.toml | 2 +- src/matomo_bootstrap/installers/web.py | 9 +++++++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 776f924..ce3ce4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## [1.1.11] - 2026-02-14 + +* This release improves matomo-bootstrap installer resilience by adding robust setupSuperUser field and button detection to prevent intermittent bootstrap failures. + + ## [1.1.10] - 2026-02-14 * This release fixes a reproducible Playwright navigation race in the Matomo installer (setupSuperUser), hardens the Next/Continue flow, and adds integration tests for transient locator errors and progress detection without a visible Next button. diff --git a/flake.nix b/flake.nix index 9eca437..f1b572e 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,7 @@ rec { matomo-bootstrap = python.pkgs.buildPythonApplication { pname = "matomo-bootstrap"; - version = "1.1.10"; # keep in sync with pyproject.toml + version = "1.1.11"; # keep in sync with pyproject.toml pyproject = true; src = self; diff --git a/pyproject.toml b/pyproject.toml index 1af0d40..3ee9025 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "matomo-bootstrap" -version = "1.1.10" +version = "1.1.11" description = "Headless bootstrap tooling for Matomo (installation + API token provisioning)" readme = "README.md" requires-python = ">=3.10" diff --git a/src/matomo_bootstrap/installers/web.py b/src/matomo_bootstrap/installers/web.py index 62b63ab..df9e5f4 100644 --- a/src/matomo_bootstrap/installers/web.py +++ b/src/matomo_bootstrap/installers/web.py @@ -358,7 +358,10 @@ def _first_continue_to_matomo_locator(page, *, timeout_s: float = 0.2): text_loc = page.get_by_text("Continue to Matomo", exact=False) try: - if _count_locator(text_loc, timeout_s=timeout_s) > 0 and text_loc.first.is_visible(): + if ( + _count_locator(text_loc, timeout_s=timeout_s) > 0 + and text_loc.first.is_visible() + ): return text_loc.first, "text:Continue to Matomo*" except Exception: pass @@ -912,7 +915,9 @@ class WebInstaller(Installer): _fill_optional_input( page, FIRST_WEBSITE_NAME_SELECTORS, DEFAULT_SITE_NAME ) - _fill_optional_input(page, FIRST_WEBSITE_URL_SELECTORS, DEFAULT_SITE_URL) + _fill_optional_input( + page, FIRST_WEBSITE_URL_SELECTORS, DEFAULT_SITE_URL + ) _page_warnings(page)