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
#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.
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 namespace | new internal namespace |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following vars are now considered internal and subject to change:
namespace | var |
---|---|
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |
| all except for: |
| all except for: |
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
Add v2 api
Fix user-agent functions
Add user-agent functions to api
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
#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
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
#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
#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] & Uday VermaEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close