diff --git a/CHANGELOG.md b/CHANGELOG.md index b5fbc7fe..34dad8f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,39 @@ # ChangeLog +## Publication (Generic) + +- [Documentation](https://hsc.aim42.org) +- [Maven Central](https://central.sonatype.com/namespace/org.aim42.htmlSanityCheck) +- [Gradle Plugin Portal](https://plugins.gradle.org/search?term=org.aim42.htmlSanityCheck) + +## 2.0.0-rc2 + +### Changes (2.0.0-rc2) + +#### Improvements (2.0.0-rc2) + +- [#330](https://github.com/aim42/htmlSanityCheck/issues/330) - Replace incorporated `net.ricecode` components +- [#331](https://github.com/aim42/htmlSanityCheck/issues/331) - Use mocks for remote/integration testing + +#### Version Bumps (2.0.0-rc2) + +- Gradle Wrapper +- Junit5 +- WireMock and TestContainers +- JReleaser + +#### Misc. Changes (2.0.0-rc2) + +- Drop ignored (flaky) tests (thanks again to RC) +- Refer to Apache license directly from ASF site (due to flaky HSC checks of former location) +- Fix typos, simplify the language, and align with technical writer conventions of the ChangeLog and other documentation +- Fix generating the ChangeLog.md file (header) for the documentation + +### New Contributors (2.0.0-rc2) + +- [Rehan Chalana](https://github.com/RehanChalana) (RC) +- [Prankur Tiwari](https://github.com/Prankurtiwari) (PT) + ## 2.0.0-rc1 ### Publication (2.0.0-rc1) @@ -19,15 +53,15 @@ - Misc. dependency/plugin version bumps - Execute the full integration test with misc. Gradle version only on CI (to improve local build/test speed) - Reduce empty lines from console reporting -- Move Gradle classes to gradle subdirectory and improve type safety in plugin implementation -- Ensure that self-check always uses latest build +- Move Gradle classes to Gradle subdirectory and improve type safety in plugin implementation +- Ensure that self-check always uses the latest build - Enable upload to Gradle Plugin Portal - [#258](https://github.com/aim42/htmlSanityCheck/issues/258) - Change to new (replaced) hsc.aim42.org documentation page - Add Mastodon announcement (incl. credentials) via JReleaser -- Consequently rename 'HTML Sanity Checker' -> 'HTML Sanity Check' +- Consequently, rename 'HTML Sanity Checker' → 'HTML Sanity Check' - Set GitHub specific admonition icons in README files - [#332](https://github.com/aim42/htmlSanityCheck/issues/332) - Update and fix documentation -- Derive Groovy version from implicit (Gradle) dependency +- Derive the Groovy version from implicit (Gradle) dependency - Add GPG agent configuration - Release to Maven Central via JReleaser - Unify utility classes (and tests) for Web and URLs @@ -35,7 +69,7 @@ #### BugFixes (2.0.0-rc1) - Avoid NPE in config initialization -- Replace outdated/missing link from [#185](https://github.com/aim42/htmlSanityCheck/issues/185) +- Replace an outdated/missing link from [#185](https://github.com/aim42/htmlSanityCheck/issues/185) - Fix/Update badges and contained links - Search MavenCentral first for dependencies to avoid strange Gradle errors with Maven local repository - [#153](https://github.com/aim42/htmlSanityCheck/issues/153) - Rollback HTTP redirect codes to bbc210fb and ignore 'javascript:' URLs @@ -45,6 +79,7 @@ - Avoid JPMS warnings for AsciiDoctor task ### New Contributors (2.0.0-rc1) + - [Sandra Parsick](https://github.com/sparsick) (SP) ## 2.0.0-rc0 @@ -62,7 +97,7 @@ - [#320](https://github.com/aim42/htmlSanityCheck/issues/320) - Add SonarQube (SonarCloud) analysis - [#317](https://github.com/aim42/htmlSanityCheck/issues/317) - Add test coverage reports (aka. JaCoCo) - [#315](https://github.com/aim42/htmlSanityCheck/issues/315) - Introduce dependabot to become aware of dependency updates -- [#312](https://github.com/aim42/htmlSanityCheck/issues/312) - Port HSC from Groovy to Java (in order to prepare [#314](https://github.com/aim42/htmlSanityCheck/issues/314), the proposed Maven plugin) +- [#312](https://github.com/aim42/htmlSanityCheck/issues/312) - Port HSC from Groovy to Java (to prepare [#314](https://github.com/aim42/htmlSanityCheck/issues/314), the proposed Maven plugin) - [#309](https://github.com/aim42/htmlSanityCheck/issues/309) - Modularize htmlSanityChecker → gradle plugin + core (GA/BK/JT) #### BugFixes (2.0.0-rc0) @@ -110,7 +145,7 @@ April 8th 2016: Add JUnit XML reporting to support automated tools. ## 0.9.3 June 14th 2015: published on Gradle Plugin Repository -May 14th 2015: reverted subproject structure, as it led to numerous build problems. +May 14th 2015: reverted subproject structure, as it led to many build problems. ## 0.8.0 It could not be published on Bintray due to these issues. diff --git a/src/docs/arc42/chapters/_config.adoc b/src/docs/arc42/chapters/_config.adoc index b3bf41e6..958a4c80 100644 --- a/src/docs/arc42/chapters/_config.adoc +++ b/src/docs/arc42/chapters/_config.adoc @@ -10,7 +10,7 @@ // Align the version with // - ../../../../gradle.properties file // - ../../../../asciidoctor-config.ad -:hsc-version: 2.0.0-rc1 +:hsc-version: 2.0.0-rc2 :project: htmlsanitycheck diff --git a/src/docs/arc42/chapters/chap-09-Decisions.adoc b/src/docs/arc42/chapters/chap-09-Decisions.adoc index 0db0ac90..6591846e 100644 --- a/src/docs/arc42/chapters/chap-09-Decisions.adoc +++ b/src/docs/arc42/chapters/chap-09-Decisions.adoc @@ -12,38 +12,34 @@ include::_config.adoc[] === HTML Parsing with jsoup -To check HTML we parse it into an internal (DOM-like) representation. -For this task we use {jsoup-url}, an open-source parser without -external dependencies. + +To check HTML, we parse it into an internal (DOM-like) representation. +For this task we use {jsoup-url}, an open-source parser without external dependencies. To quote from the jsoup website: [quote] -jsoup is a Java library for working with real-world HTML. -It provides a very convenient API for extracting and manipulating data, -using the best of DOM, CSS, and jQuery-like methods. - +`jsoup` is a Java library for working with real-world HTML. +It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jQuery-like methods. Goals of this decision:: -Check HTML programmatically by using an existing API that provides access and finder -methods to the DOM-tree of the file(s) to be checked. +Check HTML programmatically by using an existing API that provides access and finder methods to the DOM tree of the file(s) to be checked. Decision Criteria:: -* few dependencies, so the HSC binary stays as small as possible. -* accessor and finder methods to find images, links and link-targets within the DOM tree. +* Few dependencies, so the HSC binary stays as small as possible. +* Accessor and finder methods to find images, links and link-targets within the DOM tree. Alternatives:: -* HTTPUnit: a testing framework for web applications and -sites. Its main focus is web testing and it suffers from a large number of dependencies. -* jsoup: a plain HTML parser without any dependencies (!) and a rich API to access all HTML elements in DOM-like syntax. - +* `HTTPUnit`: a testing framework for web applications and sites. +Its main focus is web testing, and it suffers from a large number of dependencies. +* `jsoup`: a plain HTML parser without any dependencies (!) and a rich API to access all HTML elements in DOM-like syntax. Find details on how HSC implements HTML parsing in the {xrefConceptHtmlEncapsulation}. - === String Similarity Checking with https://wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance[Jaro-Winkler-Distance] The small https://github.com/rrice/java-string-similarity[java-string-similarity] library (by Ralph Allen Rice) contains implementations of several similarity-calculation algorithms. -As it is public binary, available at central https://central.sonatype.com/artifact/net.ricecode/string-similarity[maven repository] we have used it as external library dependencies. -Primarily we have used Jaro-Winkler strategy to find similarity. +As it is a public binary, available at https://central.sonatype.com/artifact/net.ricecode/string-similarity[Maven Central], we have used it as external library dependencies. +Primarily, we have used Jaro-Winkler strategy to find similarity. diff --git a/src/docs/index.adoc b/src/docs/index.adoc index dbc3f7d4..a7e097b1 100644 --- a/src/docs/index.adoc +++ b/src/docs/index.adoc @@ -14,16 +14,15 @@ v0.9, 2014-09-02 image::{improveDocImage}[link={repositoryDocsDir}index.adoc, float=right] -*The Problem*: Languages like AsciiDoc or Markdown allow for easy writing and -hyperlinking. When they are transformed to HTML the _sanity_ of links -and images is not checked - that's where HSC comes into play... +*The Problem*: Languages like AsciiDoc or Markdown allow for easy writing and hyperlinking. +When they are transformed to HTML, the _sanity_ of links and images is not checked - that's where HSC comes into play... *The Solution*: image::htmlsanitycheck-overview.png["Overview", title="Overview"] HSC can perform various content and semantic checks on HTML files, -e.g. check for missing images, broken internal links, duplicate targets etc. +e.g., check for missing images, broken internal links, duplicate targets, etc. It is open source software and provides documentation for the following types of stakeholders: @@ -34,13 +33,13 @@ types of stakeholders: | Documentation | Content -| Asciidoc, Markdown etc. author +| AsciiDoc, Markdown etc. author | User Guide | (planned) intended for writers and authors, explains - how to check your (generated) html + how to check your (generated) HTML | link:development/development-intro.adoc[Development Guide] -| software developers, +| Software developers, | Describes development environment, building HSC and its documentation. @@ -54,7 +53,7 @@ types of stakeholders: |=== -The {project-url}[repository is located on Github]. +The {project-url}[repository is located on GitHub]. ifdef::backend-html5[] *Status*: