Only notable changes are documented here.
3.0.0
is essentially a culmination of2.0.0
and2.2.0
with some minor changes to the SSASy URI format.- [breaking] removes quotes from SSASy URI format to avoid issues with URI encoding caused by the quotes. This is a breaking change because it changes the format of the SSASy URI which may cause issues for users who have already stored SSASy URIs in a database, for example.
- Convert all SSASy URIs back to
RawKey
s using v2.2.x
and then convert them to SSASy URIs using v3.0.0
.
- [patch] removes
raw
param from SSASy key URI. Theraw
param was used to indicate whether the key should be deserialized to aRawKey
object or aSecureContextKey
object. Since some keys may have theraw
param while others do not, it can cause issues when searching for keys in a database, for example, since theraw
param is not part of the key's URI. To solve this minor design issue, theraw
param has been removed. - [patch] manually builds key uri instead of traveling through the
RawKey
object in theSerializerModule.serializeKey()
method. This is a minor design decision ensures that the key URI is consistent which makes it easier to query for keys in a database, for example.
- [breaking] Enforces SSASy URI format for all SSASy resources that are passed to (and returned from) the
Wallet
class. - [breaking] Renames wallet methods;
sign()
->generateSignature()
,verify()
->verifySignature()
,solveChallenge()
->generateChallengeResponse()
,verifyChallenge()
->verifyChallengeResponse()
.
- Update all SSASy resources (i.e. keys and isgnatures) to use the SSASy URI format (see
SerializerModule
for more details).
- [feature] Introduces URIs for SSASy resources (i.e. keys, ciphertexts, challenges) which are used to represent resources in a standardised way that is easy to store, share and process (see
SerializerModule
for more details). - [breaking] Refactors the
EncoderModule
into aSerializerModule
which describes, more accurately, what the module does. - [paatch] Renames
ProcessedKey
toSecureContextKey
to better describe what the type represents, which is a WebCrypto key that is used in a secure context.
- [patch] Refactor all code that uses the
EncoderModule
to use theSerializerModule
instead (seeSerializerModule
for more details)