Skip to content

Releases: Cyphrme/Coze

v0.0.7

10 Jul 18:09
76f019b
Compare
Choose a tag to compare

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 and enc. 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

31 Aug 21:32
Compare
Choose a tag to compare
Alpha Coze Pre-release
Pre-release

Coze v0.0.1 Release Notes

Major changes

  • Added alg Ed25519 - Like ECDSA, in Coze Ed25519 only ever signs digests,
    not unhashed messages. Ed25519's digest for cad is SHA-512.
    • Waiting on Go for Ed25519ph support.
  • 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.
  • 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 in d, and all public components are in x.
  • pay takes the place of head
  • 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, except sig, 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, moved cryptokey to its own package, and
    removed coze's dependency on cryptokey.
  • All pay fields are optional. An empty pay 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.