All notable changes to this project will be documented in this file.
Note: all versions before 1.0 might include breaking API changes. After 1.0, this project will adhere to Semantic Versioning.
- Moved scheduled refreshes to happen continuously, avoiding "refresh pauses" #68.
- Bug that required nodes to be manually refreshed on startup #67.
0.2.2 - 2016-05-17
- Optionally run an nrepl server.
- Added a simple management interface to for sessions and nodes. Currently sessions can be reserved, unreserved, and destroyed.
- Upgraded to Clojure 1.7.
- Refactored to manage lifecycle with component.
- Soft delete sessions so they don't hang.
- Use the
reserve
param to reserve sessions (instead ofreserve_after_create
)
0.2.1 - 2015-09-20
- Optionally accept a URL root for all shale client functions.
0.2.0 - 2015-09-17
- Session logging #22
- Improved test coverage beyond integration tests.
- Added the
nodes
endpoint to the Clojure client. - Clients can optionally specify host nodes by ID at session creation.
- Refresh sessions in parallel, minimizing lag #26
- Use Prismatic's schema for data validation.
- Separate "webdriver" and "session" IDs. Clients should use session IDs to refer to shale sessions, but webdriver IDs to actually construct and interact with remote webdrivers.
- Initial implementation of a more complete session get-or-create [#24][predicate logic]. While the details of this ongoing effort are worked out, the old get-or-create will still be supported.
- Extracted shared internal Redis model logic between nodes and sessions.
- The broken test suite #25
- A bug in session reservation logic #24
- A bug executing JS from the Clojure client JS-bug
- MalformedURLException when node lists were empty [#23]
- Recover when a webdriver dies #21
- Kill any unknown sessions on nodes to prevent "session leak" resource exhaustion issues. #44,#47
- Nasty race condition initializing and refreshing the node pool.
0.1.1 - 2014-10-14
- SCM details to Clojars.
- Improved documentation.
0.1.0 - 2014-10-14
- A Clojure client.
- Rewrote Shale in Clojure.
- Extracted the Python client to its own repo.
- A number of performance issues related to poor Python's lackluster concurrency story.