Java's build-in support for reading X.509 certificates does not deal
well with PIV certificates containing the username as a "serialNumber"
attribute. Rather than exposing the string value of that attribute, the
Java implementation exposes a byte array that does not fully match the
string value shown by a tool like OpenSSL.
BouncyCastle, on the other hand, _does_ match the output of OpenSSL, and
provides a predictable means of decoding the certificate.
NOTE: Several WebPack plugins could not be updated as all plugins within
WebPack's "webpack-contrib" have dropped support for WebPack v4
entirely, but Closure Compiler only supports WebPack v4.
Previously, the angular-touch library provided by AngularJS was used to
allow click interactions with UI components to work on touch devices
without an uncomfortable ~300ms delay. From AngularJS 1.7.x onward, this
feature of angular-touch is no longer present:
https://docs.angularjs.org/guide/migration#ngtouch
This should be OK - modern browsers will now recognize applications
aimed at touch support via the use of the "viewport" meta tag (which we
use), removing our original need for angular-touch. The same goes for
IE10+.
This is particularly important for AngularJS 1.8.x and jQuery 3.5.0+,
which will no longer correct this automatically with their HTML
prefilters, resulting in unexpected nesting of tags when the browser
interprets something like "<div/>" as "<div>" (older versions of jQuery
would have corrected "<div/>" to "<div></div>").
See:
* https://docs.angularjs.org/guide/migration#migrating-from-1-7-to-1-8
* https://jquery.com/upgrade-guide/3.5/
From https://infra.apache.org/licensing-howto.html#bundle-asf-product:
>
> Modifications to NOTICE
> -----------------------
>
> The NOTICE file is reserved for a certain subset of legally required
> notifications which are not satisfied by either the text of LICENSE or
> the presence of licensing information embedded within the bundled
> dependency. Aside from Apache-licensed dependencies which supply NOTICE
> files of their own, it is uncommon for a dependency to require additions
> to NOTICE.
>
> Copyright notifications which have been relocated, rather than
> removed, from source files must be preserved in NOTICE. However,
> elements such as the copyright notifications embedded within BSD and MIT
> licenses do not need to be duplicated in NOTICE. You can leave those
> notices in their original locations.
>
> It is important to keep NOTICE as brief and simple as possible, as each
> addition places a burden on downstream consumers.
>
> *Do not* add anything to NOTICE which is not legally required.
>