Releases: Cyphrme/Coze
Releases · Cyphrme/Coze
v0.0.7
Migrate from concurrency unsafe MapSlice to concurrency safe OrderedMap.
Other minor changes:
- Consistently name hash alg related variables to "hsh" to conform to three letter
sig
andenc
. Hash functions are still named "hash". - Formally require in in the spec that Coze errors on duplicates. For the Go implementation this applies to structures Pay, Coze, Key, and OrderedMap.
- ErrJSONDuplicate is now a type instead of a (constant) variable.
Alpha Coze
Coze v0.0.1 Release Notes
Major changes
- Added
alg
Ed25519
- Like ECDSA, in CozeEd25519
only ever signs digests,
not unhashed messages. Ed25519's digest forcad
is SHA-512.- Waiting on Go for
Ed25519ph
support.
- Waiting on Go for
- Coze now uses base64 and not Hex.
- Defined Coze Standard and Coze Core. - Coze Core is the minimal spec for Coze.
- Coze Standard is additional useful functions, but not essential for Core
Coze.
- Coze Standard is additional useful functions, but not essential for Core
- Normal (In Coze Standard and not Coze Core) - Normal is allowed to be
variadic. Normal is the generalization of Canon.- The following are valid Normals: [Canon, Only, Option, Need, Extra]
- For Go, using Generics where it makes sense.
- ECDSA x and y have been consolidated to x. - All serialize all private
components are ind
, and all public components are inx
. pay
takes the place ofhead
pay
no longer needs to be UTF-8 sorted and fields can appear in any order. -
cad
is still the hash over the compactified JSON representation.- Specific applications can still require specific order of fields.
coze
fields, exceptsig
, are all "meta" fields.coze.can
is no longer an input variable for creating a canonical pay, but
rather is only used to describe the existing canon of pay.
- Moved 'alg.go' to package
coze
, movedcryptokey
to its own package, and
removedcoze
's dependency oncryptokey
. - All
pay
fields are optional. An emptypay
is valid. - Removed redundant tests.
- Various bug fixes.
- Go Coze changes "Cy" struct to "Coze", removed the JSON encapsulator. Added an
example to show Coze embedded in another struct. - Explicitly disallow duplicate JSON field names in Coze.
- Change rvk rules where revoke is denoted by a valid integer value other than
0.
Additional Explicit design decisions:
- Coze follows the underlying algorithm's standard or explicit endianness.
ECDSA is big endian and EdDSA is little endian.