Released on 2024-07-31
- Require at least Java 8
- Java 11 compatibility without any hidden dependencies
- Removed depracated getters in
ClientImpl
Released on 2023-02-01
- Fix multithreading issues when iterating DOM
Released on 2022-10-11
- Reduced indexes creation time by walking the DOM
Released on 2022-03-02
- Updated Maven plugins
- Updated minimal Maven version to 3.1.1
- Updated Maven Checkstyle Plugin (2.17 -> 3.0.0)
- DefaultCatalogueFetcher: closes inputSteam that is fully read
- DefaultCatalogueFetcher: possible 1 minute timeout for reading registry
- DefaultCatalogueFetcher: no need for special handle of MalformedURLException
- Made use of SLF4J template style logging
- Updated SLF4J (1.7.21 -> 1.7.32)
- Updated findbugs jsr305 (3.0.1 -> 3.0.2)
- Updated test dependencies
Released on 2021-09-22
- Updated project dependencies.
- Fixed an issue with concurrent access to Element userData field that references the original element even after calling clone().
- Created LICENSE file.
Released on 2017-12-13
-
Added support for retrieving RSA public keys for specific API entries. Two new methods:
getServerKeyCoveringApi
getServerKeysCoveringApi
-
Fixed server-key retrieval in
ClientImpl
. Previously, theisApiCoveredByServerKey
method might have incorrectly returnedfalse
, when it should have returnedtrue
.Also, explicitly stated the
apiEntry
elements retrieved from theRegistryClient
should not be cached.See this thread.
Released on 2017-10-12
-
Bugfix: Client would throw an exception if the Registry Service responded with a missing
Expires
header (it shouldn't happen in practice, but an upgrade is recommended nonetheless). -
Fixed some minor spelling mistakes in log messages.
Released on 2017-09-25
-
Added support for retrieving RSA public keys by their SHA-256 fingerprint (the
findRsaPublicKey
method). Key bodies were introduced in Registry API v1.3.0. -
Added
assertApiIsCoveredByServerKey
method. Since most otheris*
methods have theirassert*
counterparts, it seemed better to add this one too.
Released on 2017-08-22
-
Added support for new Registry API features, introduced in Registry API v1.2.0.
New methods were added to
RegistryClient
interface (and its defaultClientImpl
implementation):-
An entire "family" of methods supporting client's RSA keys. These methods have very similar signatures to the existing methods which support client certificates (and they work in the same way):
areHeisCoveredByClientKey
assertClientKeyIsKnown
assertHeiIsCoveredByClientKey
assertHeisAreCoveredByClientKey
getHeisCoveredByClientKey
isClientKeyKnown
isHeiCoveredByClientKey
-
A single new method supporting server's RSA keys:
isApiCoveredByServerKey
-
-
ClientImplOptions.getPersistentCacheProvider
was deprecated in favor of the newly introduced aliasgetPersistentCacheMap
. -
Minor spelling fixes in the documentation.
Released on 2017-04-27
-
Better behavior of most name-related
HeiEntry
methods:-
getName()
,getNameEnglish()
andgetNameNonEnglish()
will now take into account the fact thatxml:lang
attributes may contain upper-case values, and various subtags and/or extensions. -
getName(String langCode)
works as before, but a warning was added in the docs, thatlangCode
must be an exact match.
-
Released on 2017-04-27
- Added two convenience methods to
HeiEntry
interface -getNameEnglish()
andgetNameNonEnglish()
(see here).
Released on 2016-10-11
- Basic XXE prevention (see here).
Released on 2016-10-07
-
RegistryClient
interface (and its implementation) has been extended with new methods for searching and retrieving HEI attributes (as requested here).The following methods were added (details in javadocs):
HeiEntry findHei(String id)
HeiEntry findHei(String type, String value)
Collection<HeiEntry> findHeis(ApiSearchConditions conditions)
Collection<HeiEntry> getAllHeis()
-
New
HeiEntry
interface was added. -
New
setApiClassRequired(namespaceUri, localName, version)
method inApiSearchConditions
class. This is just a shorthand which allows you to callsetApiClassRequired(namespaceUri, localName)
andsetMinVersionRequired(version)
both in one call. -
ClientImplOptions#getAutoRefreshing()
method has been renamed toisAutoRefreshing()
. The previous name is kept, but deprecated.
Released on 2016-08-21
-
DefaultCatalogueFetcher
has a new constructor which allows it to use an alternate Registry Service installation (e.g.dev-registry.erasmuswithoutpaper.eu
, instead of the defaultregistry.erasmuswithoutpaper.eu
). -
Minor fixes to javadocs: Added missing
@since
tags, fixed some typos, extended some of the class and interface descriptions.
Released on 2016-08-19
First release of the library. At this time, EWP Network's architecture is still "in beta", so the structure of the library may still change substantially.