Liking cljdoc? Tell your friends :D

Changelog

A release with an intentional breaking changes is marked with:

  • [breaking] you probably need to change your code

  • [minor breaking] you likely don’t need to change your code

v1.0.40

  • #524: fix failure in bb related to Thread/sleep interop in JDK19

v1.0.39

  • #503: Address Clojure interop issue introduced by new Thread/sleep signature in JDK 19

  • #513: Fix rendering of exception when used from REPL

  • bumped Etaoin dependencies

  • docs:

    • #447: Describe testing without a display in the user guide, including a new requirement for a windows manager when using a virtual display on Linux

    • #507: The current version of babashka, which is the only one we support, no longer requires the a dependency to the babashka spec.alpha fork to use the Etaoin ide feature. Tests and docs updated accordingly.

v1.0.38 [minor breaking]

Minor Breaking Changes

  • #412: Rename etaoin.keys/num-. to etaoin.keys/num-dot.
    The symbol num-. is technically an invalid Clojure symbol and can confuse tooling.
    A grep.app for num-. found Etaoin itself as the only user of this var. If your code uses etaoin.keys/num-., you’ll need to rename it to etaoin.keys/num-dot.

  • #471: etaoin.api/defaults keyword :path renamed to :path-driver to match keyword used in driver options.

  • #430: Declare the public API. We made what we think is a good guess at what the public Etaoin API is. The following namespaces are now considered internal and subject to change:

    old namespacenew internal namespace

    etaoin.client

    etaoin.impl.client

    etaoin.driver

    etaoin.impl.driver

    etaoin.proc

    etaoin.impl.proc

    etaoin.util

    etaoin.impl.util

    etaoin.xpath

    etaoin.impl.xpath

    etaoin.ide.api

    etaoin.ide.impl.api

    etaoin.ide.spec

    etaoin.ide.impl.spec

    The following vars are now considered internal and subject to change:

    namespacevar

    etaoin.api

    default-locator

    dispatch-driver

    find-elements*

    format-date

    get-pwd

    join-path

    locator-css

    locator-xpath

    make-url

    make-screenshot-file-path

    postmortem-handler

    process-log

    proxy-env

    use-locator

    with-exception

    with-locator

    etaoin.dev

    build-request

    group-requests

    log→request

    parse-json

    parse-method

    process-log

    request?

    try-parse-int

    etaoin.ide.flow

    all except for: run-ide-script

    etaoin.ide.main

    all except for: -main

    If we got this wrong your code will fail, you will tell us, and we can discuss.

Other Changes

  • #380: Etaoin is now Babashka compatible!

  • #413: Etaoin now exports a clj-kondo config to help with the linting of its many handy macros

  • #357: Add support for connecting to a remote WebDriver via :webdriver-url (thanks @verma for the PR and @mjmeintjes for the example usage!)

  • #355: Add support for W3C WebDriver print to PDF feature

  • #466: WebDriver process output can now also be directed to console

  • #468: Failed WebDriver process launch can now be automatically retried

  • #453: The etaoin.api/with-<browser> macros no longer require opts to be specified. This makes the advantage of newer etaoin.api2/with-<browser> macros maybe less obvious. That said, for Etaoin users who have adopted and prefer the api2 versions, they are still there, but no longer documented in the user guide.

  • #383: Drop testing for Safari on Windows, Apple no longer releases Safari for Windows

  • #388: Drop testing for PhantomJS, development has long ago stopped for PhantomJS

  • #387: No longer testing multiple key modifiers for a single webdriver send keys request

  • #384: Look for safaridriver on PATH by default

  • #402: Only send body for webdriver POST requests to appease safaridriver

  • #403: The select fn now clicks on the select element before clicking the option element to appease safaridriver

  • #408: Fix switch-window for msedgedriver

  • #432: Switched from project.clj to deps.edn. This will allow for easier testing of unreleased versions of Etaoin via git deps. It also unconvered that our minimum Clojure version was 1.10, instead of the advertised v1.9. Fixed.

  • #455: Automatically create specified parent dirs for screenshots

  • #469: Include WebDriver process liveness in http client exception

  • #446: Bump Etaoin dependencies to current releases

  • Docs

    • #399: We now have an Etaoin logo! (a very nice parting gift from Etaoin’s founder @igrishaev)

    • Reviewed and updated API docstrings

    • #393: Add changelog

    • #426: Reorganize into separate guides

    • #396: Move from Markdown to AsciiDoc

    • User guide

  • Internal quality

    • #382: Fix process fork testing on Windows

    • #391: Identify browser name on failed ide tests

    • #390: Add internal clj-kondo config

    • #381: In addition to ubuntu, now also testing on macOS and Windows (using GitHub Actions #392 with parallelization #420)

    • #422: Automate release workflow

v0.4.6

  • #367: Use actions to fix double-click

v0.4.5

  • #365: Improve status messages when waiting

v0.4.4

  • Add v2 api

v0.4.3

  • Fix user-agent functions

v0.4.2

  • Add user-agent functions to api

v0.4.1

  • #347: Add support for mltiple clicks

  • #349: Fix typo for duration within add-action

v0.4.0 [breaking]

Breaking Changes

  • #111: the driver instance is now a map instead of an atom.

    Breaking changes are never embarked on lightly but we felt it important to transition to more a more idiomatic use of Clojure.

    All the internal functions that used to modify the driver atom now just return a new version of a map. If you have swap! or something similar in your code for the driver, please refactor your code before you update.

Other Changes

  • #44: Add with-screenshots macro

  • #196: Add support for running Selenium IDE files

  • #103: Add w3c webdriver action support

v0.3.10

  • #317: Add a description of the trouble with chromedriver

  • #316: Add with-tmp-dir for tests

  • #307: update examples for docker and remote connection

  • #315: Add :fn/has-string && return old version has-text

  • #314: Fix quit fn for remote driver

  • #311: Fix typos - headless

  • #309: Add test prevent process fork

  • #308: Fix check $HOST

  • #306: Make service functions private

  • #304: Add default port for remote connection

  • #303: Refactoring remote connection capabilities

  • #302: Add fns for connecting to remote drivers

  • #300: Add x11 for tests

  • #298: Make tests run in display mode

  • bump version in readme

  • Version 0.3.10-SNAPSHOT

v0.3.9

  • Fix test ignorance

  • #297: Freeze chrome profile test

  • #293: Fix chrome profile test && reflect warn

  • #292: Add a description of the trouble

  • #291: Add log level for driver

  • #289: Fix chrome profile

  • #288: Fix get-performance-logs

  • #287: Fix tests

  • #286: Fix example for docker

  • #285: Add example for query-all

  • #284: Fix :fn/text && :fn/has-text

  • #281: Move session opts from run- to connect- driver

  • #279: Add click on field to fill-human

  • #277: Add fill human multi

  • #276: Add :fn/link

  • #275: Decrease default timeout

  • #274: Add shortcut wait-has-text-everywhere

  • #273: Add examples of query functions

  • #271: Add wrap-default-timeout && wrap-default-interval

  • #270: Add fn select decription && some fix

  • #269: Add query-tree fn

  • #268: Make some declarations private for :use

  • Fix creating dirs in postmortem handler

  • #267: Fix creating dirs in postmortem handler

  • #266: Fix get-inner-html for phantomjs

  • #265: Add phantomjs to docker && circleci

  • #264: Fix switch-window with PhantomJS

  • #262: Add pre checks for query fns

  • #263: Fix test-cookies for newest firefox

v0.3.8

  • #261: Fix geckodriver install

  • #259: Add setting of env

  • #258: Fix installation geckodriver in docker

  • #257: Add logging to files

  • #256: Add opts for human input

  • #255: Add driver installation check

  • #254: Add http proxy settings

  • #253: Add edge support

  • #252: Add docker examle

  • #251: Add test examples

  • #248: Add fixture example

  • #249: Fix headless? && save capabilities

  • #247: Fix reflection warning && indent project.clj

  • #246: Aggressive indent

  • #245: Better free port discovery

  • #244: Auto release

  • Readme updated

  • #241: Add select fn

  • #238: Better legacy code

  • #237: Bump clj-http && cheshire

  • #236: Add example remote connection

  • Add Dockerfile && fix test

  • #233: Fix tests & circleci config

  • #231: Move safari from jwp to w3c protocol

  • #223: Use dir-img and dir-log if passed

  • #230: Move driver installation part and typo fix

  • #228: Fix syntax error in docs

  • Switch to codox for generating docs

v0.3.7

  • #242: Add release tasks

  • Readme updated

  • #241: Add select fn

  • #238: Better legacy code

  • #237: Bump clj-http && cheshire

  • #236: Add example remote connection

  • Add Dockerfile && fix test

  • #233: Fix tests & circleci config

  • #231: Move safari from jwp to w3c protocol

  • #223: Use dir-img and dir-log if passed

  • #230: Move driver installation part and typo fix

  • #228: Fix syntax error in docs

  • Switch to codox for generating docs

Can you improve this documentation? These fine people already did:
Lee Read, lread, github-actions[bot], Michiel Borkent & Uday Verma
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close