From 340c2f326ec9a96ed1da7c8ecdcc356e14009fc1 Mon Sep 17 00:00:00 2001 From: David Barri Date: Tue, 30 Oct 2018 16:47:14 +1100 Subject: [PATCH] Reformat changelog --- doc/changelog/2.3.0.md | 88 ++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/doc/changelog/2.3.0.md b/doc/changelog/2.3.0.md index ca8317b8..35eb5f70 100644 --- a/doc/changelog/2.3.0.md +++ b/doc/changelog/2.3.0.md @@ -1,65 +1,69 @@ # 2.3.0 -* Changes affecting all `DomZipper` implementations: +### Changes affecting all `DomZipper` implementations: - * Greatly simply the `DomZipper` base abstractions. - * `DomZipper` is now the minimal interface - * `DomZipperBase` is the helper abstract class that most implementations can extend for more out-of-the-box functionality. +* Greatly simply the `DomZipper` base abstractions. + * `DomZipper` is now the minimal interface + * `DomZipperBase` is the helper abstract class that most implementations can extend for more out-of-the-box functionality. - * Add to all `DomZipper`s - * Methods to ensure that DOM doesn't change in the middle of an observation: - * `def startConsistencyCheck(): () => F[Unit]` - * `def ensureConsistency[A](f: this.type => A): F[A]` - * `def prepare[B](f: Self[F, A] => B): () => B` for eagerly validating the DOM path then extracting effectful functions +* Add to all `DomZipper`s + * Methods to ensure that DOM doesn't change in the middle of an observation: + * `def startConsistencyCheck(): () => F[Unit]` + * `def ensureConsistency[A](f: this.type => A): F[A]` + * `def prepare[B](f: Self[F, A] => B): () => B` for eagerly validating the DOM path then extracting effectful functions - * `DomZipper`s are now comonads, meaning the following methods now exist: - * `def extract: A` - * `def map[B](f: A => B): Self[F, B]` - * `def extend[B](f: Self[F, A] => B): Self[F, B]` - * `def duplicate: Self[F, Self[F, A]]` - * `def unmap: Self[F, Dom]` -- not part of comonad but related; it undoes all `.map` and `.extend` application +* `DomZipper`s are now comonads, meaning the following methods now exist: + * `def extract: A` + * `def map[B](f: A => B): Self[F, B]` + * `def extend[B](f: Self[F, A] => B): Self[F, B]` + * `def duplicate: Self[F, Self[F, A]]` + * `def unmap: Self[F, Dom]` -- not part of comonad but related; it undoes all `.map` and `.extend` application - * When `.collect` and `.children` queries fail, they now include path & html info in the error msg (like descent failures). +* When `.collect` and `.children` queries fail, they now include path & html info in the error msg (like descent failures). -* Add a `dom-zipper-jsoup` module to use Jsoup for in-memory HTML in the JVM +### New `DomZipper` implementations -* Add a `DomZippersFastAndSlow` for fusing two different zippers over identical content; - one as a slow source-of-truth zipper with real DOM, - and another as a fast inspection-only zipper. + * Add a `dom-zipper-jsoup` module to use Jsoup for in-memory HTML in the JVM -* Selenium + * Add a `DomZippersFastAndSlow` for fusing two different zippers over identical content; + one as a slow source-of-truth zipper with real DOM, + and another as a fast inspection-only zipper. - * Add `FastDomZipperSelenium` as a Jsoup-backed fast alternative to using Selenium for observation. - This typically results in a speedup between 5-50x! +### Selenium - * Add extension methods to Selenium `WebDriver`: - * `def addStyleTag(content: String): Unit` - * `def disableCssAnimation(...): Unit` - * `def onShutdownQuit(): Unit` +* Add `FastDomZipperSelenium` as a Jsoup-backed fast alternative to using Selenium for observation. + This typically results in a speedup between 5-50x! - * `.dom` is now `.dom()` +* Add extension methods to Selenium `WebDriver`: + * `def addStyleTag(content: String): Unit` + * `def disableCssAnimation(...): Unit` + * `def onShutdownQuit(): Unit` - * Add to `MultiBrowser`: - * `def onShutdownClose(quit: Boolean = true): Unit` - * `def onShutdownCloseRoot(): Unit` +* `.dom` is now `.dom()` +* Add to `MultiBrowser`: + * `def onShutdownClose(quit: Boolean = true): Unit` + * `def onShutdownCloseRoot(): Unit` -* JavaScript +### JavaScript - * Revise the JS `DomZipper` implementations: - * The `{,Html}DomZipper{,At,Root}` set of types have all been replaced by a single, simple `DomZipperJs` - * You no longer specify the DOM type of the focus and children at the zipper level, - but as you extract the DOM - (eg. instead of `.asHtml.dom` use `.domAsHtml`) +* Revise the JS `DomZipper` implementations: + * The `{,Html}DomZipper{,At,Root}` set of types have all been replaced by a single, simple `DomZipperJs` + * You no longer specify the DOM type of the focus and children at the zipper level, + but as you extract the DOM + (eg. instead of `.asHtml.dom` use `.domAsHtml`) - * Add extension methods to `dom.Document`: - * `def addStyleTag(content: String): Unit` - * `def disableCssAnimation(...): Unit` +* Add extension methods to `dom.Document`: + * `def addStyleTag(content: String): Unit` + * `def disableCssAnimation(...): Unit` -* Add to core `Dsl` instances: `.withPreActionAssertion` to perform an assertion just before executing any actions. +### Changes to core +* Add `.withPreActionAssertion` to `Dsl` instances to perform an assertion just before executing any actions. -### Migration +
+ +## Migration ```sh find . -type f -name '*.scala' -exec perl -pi -e '