Changelog

0.3.0

Topic Page object model implementation revamp & other major changes

Release date 2026-06-07

Warning

Even if it’s a minor release, this version represents a major change for the project; the package has been mostly rewritten in order to implement the page object model design pattern in a more efficient way (using type annotation).

Besides, some functionalities have been removed with the aim of limiting the number of features during the beta phase.

Changed

  • page_object_model has been completely rewritten around type annotations. Pages are described by annotating attributes with native Python types (str, int, float, date, datetime, bool, list, …) instead of the former Element subclasses. The public API is now split into three submodules:

    • manen.page_object_model.component: Page, Component (replacing WebArea) and Form (replacing Action).

    • manen.page_object_model.config: selectors and modifiers CSS, XPath, LinkText, PartialLinkText, Attribute, Wait, Default, DateFormat and DatetimeFormat.

    • manen.page_object_model.types: type aliases such as href, src, inner_html, outer_html, input_value and checkbox.

  • is_browser_compatible_with_driver replaces the former are_versions_compatible.

  • find() is now fully typed through overloads.

  • Manen no longer has optional dependencies, and selenium is now its only runtime dependency.

  • The minimal supported version of Python is now 3.10.

  • Most of the documentation has been rewritten and improved.

Added

Removed

  • The module manen.resource and everything related (including the manen CLI) have been removed. The official Selenium manager now provides the same functionalities.

  • manen.browser.BraveBrowser has been removed; it depended on manen.resource and was not tested enough to be exposed publicly.

  • The selector-as-string elements (Element, TextElement, LinkElement, IntegerElement, DateTimeElement, …) as well as Region/Regions and the YAML page loaders have been dropped in favour of the new type-annotation based API.


0.2.0

Topic Rename some classes in page_object_model and improve CLI

Release date 2022-02-19

Added

  • Specify link to changelog in documentation in package metadata.

  • Introduce new options in manen driver download to set the specifications of the drivers to be downloaded directly from the command line.

  • Add exhaustibility in documentation of page_object_model to describe private/special methods and classes other than the ones in __all__.

Changed

  • Improve CLI command to download drivers executable (now launched with manen driver download).

  • Rename DateTimeElement (previously DatetimeElement).

  • Rename DOMAccessor (previously DomAccessor).

Fixed

  • Fix link to notebooks in the info section of User Guide


0.1.2

Topic Fix bug in the download workflow of the CLI

Release date 2022-02-19

Fixed

  • Fix a TypeError in the download workflow (variable wrongly named).


0.1.1

Topic Mainly documentation improvements

Release date 2022-02-12

Changed

  • Make documentation publicly available under kodaho.github.io/manen.

  • Complete README page.

  • Add the section About the project in the documentation (moved from home page).

  • Complete user guides.

  • Rewording and reformatting of several sections.


0.1.0

Topic First release of the package

Release date 2022-01-31

Added

  • find() allows to easily get element(s) in a WebDriver page. This function support several very different use cases, thanks to several arguments that can be passed to the function.

  • resource is a module to easily interact with all the assets needed by Selenium. It allows for example to download the drivers, executable required to launch a WebDriver.

  • browser defined ChromeBrowser and BraveBrowser, an enhanced Selenium WebDriver.

  • page_object_model is the implementation of page object model described in Selenium documentation. Thanks to that, you can describe and interact with the DOM structure through Python classes.

  • A cli is shipped with the initial release in order to download drivers files.