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
Minor Breaking Changes
-
#412: Rename
etaoin.keys/num-.
toetaoin.keys/num-dot
.
The symbolnum-.
is technically an invalid Clojure symbol and can confuse tooling.
A grep.app fornum-.
found Etaoin itself as the only user of this var. If your code usesetaoin.keys/num-.
, you’ll need to rename it toetaoin.keys/num-dot
. -
#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 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
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!
-
#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 appeasesafaridriver
-
#403: The
select
fn now clicks on theselect
element before clicking theoption
element to appeasesafaridriver
-
#408: Fix
switch-window
formsedgedriver
-
#432: Switched from
project.clj
todeps.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. -
Docs
-
Internal quality
-
#367: Use actions to fix double-click
-
#365: Improve status messages when waiting
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