Skip to content

Releases: trustbloc/sidetree-core-go

Release v1.0.0

14 Jul 13:26
a1b968a
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.0-rc5...v1.0.0

Release v1.0.0-rc5

24 Apr 14:13
1beaf08
Compare
Choose a tag to compare

What's Changed

  • chore(deps): Bump golang.org/x/sys from 0.0.0-20210630005230-0f9fa26af87c to 0.1.0 by @dependabot in #693
  • chore(deps): Bump golang.org/x/crypto from 0.0.0-20210616213533-5ff15b29337e to 0.1.0 by @dependabot in #694
  • chore: Use logutil-go for logging by @bstasyszyn in #695

New Contributors

Full Changelog: v1.0.0-rc4...v1.0.0-rc5

Release v1.0.0-rc4

09 Nov 07:13
8d44bd1
Compare
Choose a tag to compare

What's Changed

  • fix: Change context in resolution result from string to interface by @sandrask in #684
  • chore: Remove dependency on edge-core by @bstasyszyn in #686
  • chore: Use structured logging by @bstasyszyn in #688
  • chore: Upgrade Go version to 1.19 and golangci-lint to v1.50.0 by @bstasyszyn in #690
  • chore: Fill-in controller when base is present by @sandrask in #692

Full Changelog: v1.0.0-rc3...v1.0.0-rc4

Release v1.0.0-rc3

23 Aug 12:29
6cda4ce
Compare
Choose a tag to compare

What's Changed

  • chore: Add support for alsoKnownAs during did transformation by @sandrask in #678
  • feat: Add custom patches for also known as by @sandrask in #680
  • chore: Rename "also known as" sidetree patch by @sandrask in #682

Full Changelog: v1.0.0-rc2...v1.0.0-rc3

Release v1.0.0-rc2

23 Jun 08:24
bdd5338
Compare
Choose a tag to compare

What's Changed

  • feat: Service endpoint object should accept list of strings and list of objects by @sandrask in #675
  • chore: Add CAS write size metric by @bstasyszyn in #676

Full Changelog: v1.0.0-rc.1...v1.0.0-rc2

Release v1.0.0-rc.1

12 Apr 15:37
6eb6023
Compare
Choose a tag to compare

What's Changed

  • feat: Add did operations to document metadata by @sandrask in #613
  • feat: Add additional operations to Resolver and Operation Processor by @sandrask in #615
  • chore: Organize published/unpublished operations in metadata by @sandrask in #617
  • chore: Add operation decorator to document handler by @sandrask in #619
  • chore: Use batch flag during operation commitment assembling by @sandrask in #621
  • chore: Make functions for getting document transformation info public by @sandrask in #623
  • feat: Process additional operations for suffix in the next batch by @sandrask in #625
  • chore: Add support for multiple operations in unpublished store by @sandrask in #627
  • chore: Add metrics to ProcessOperation by @sandrask in #629
  • fix: Adding new operations don't wait for batch to be cut by @bstasyszyn in #630
  • chore: add metrics for create and resolve rest call by @fqutishat in #631
  • chore: change log msg from info to debug by @fqutishat in #632
  • chore: Do not accept DID operations after successful deactivate opera… by @sandrask in #634
  • feat: Allow update without published create operation by @sandrask in #636
  • feat: Add alternate sources for CAS files during Observer processing by @bstasyszyn in #638
  • chore: Add logging for alternate CAS sources by @bstasyszyn in #639
  • fix: Potential race condition in operation resolver by @bstasyszyn in #641
  • fix: Fix race condition in resolve by @bstasyszyn in #643
  • feat: Return the number of operations processed by @bstasyszyn in #644
  • feat: Resolve DID based on versionId by @sandrask in #646
  • feat: Resolve DID based on versionTime by @sandrask in #648
  • fix: Filter document metadata operations based on resolution options by @sandrask in #650
  • fix: Should not be able to specify both versionId and versionTime by @sandrask in #652
  • fix: Fix published operations in document metadata by @sandrask in #654
  • feat: add support for ed25519signature2020 by @fqutishat in #655
  • chore: support ed25519VerificationKey2020 by @fqutishat in #656
  • chore: add sonarcloud github action step by @fqutishat in #657
  • chore: fix upload code cov by @fqutishat in #658
  • chore: provide SONAR_TOKEN by @fqutishat in #659
  • chore: use SONAR_TOKEN by @fqutishat in #660
  • chore: remove sonar build name by @fqutishat in #661
  • chore: change sonar build name by @fqutishat in #662
  • chore: fix sonar name by @fqutishat in #663
  • feat: Add created and updated to document metadata during resolution by @sandrask in #665
  • chore: Fix propagating created by @sandrask in #667
  • chore: Remove "updated" for deactivated document by @sandrask in #669
  • chore: Return deactivate operation anchoring time in "updated" by @sandrask in #671
  • chore: Rename operationRequest to operation by @sandrask in #673

Full Changelog: v0.7.0...v1.0.0-rc.1

Release v0.7.0

14 Sep 17:44
a2e8795
Compare
Choose a tag to compare
Merge pull request #611 from sandrask/issue-610

feat: Add unpublished operation store option

Release v0.6.0

04 Mar 16:47
eae12c7
Compare
Choose a tag to compare

sidetree-core-go Release Notes - Mar 4, 2021

What's new in sidetree-core-go v0.6.0

Complete SIP-1:

-- Add reveal value to update, recover, deactivate request #521
-- Support multiple hashing algorithms (an array) in protocol parameters
-- Remove proof size from parameters

Align resolution object with did core spec

Align deactivated document resolution with did core spec

  • return "deactivate" flag in document metadata and an empty document
  • return HTTP 200 instead of HTTP 410

Support for anchorOrigin property #546

Support for anchorFrom and anchorUntil properties #547 #554 #555

Rename BlockchainClient to AnchorWriter #548

Implement support for JWK nonce #558

Implement max memory decompression factor #532

Release v0.1.5

04 Dec 21:00
bad37e2
Compare
Choose a tag to compare

sidetree-core-go Release Notes - Dec 4, 2020

What's new in sidetree-core-go v0.1.5

SIP-1: Efficient Operation Mapping

For details see: decentralized-identity/sidetree#766

SIP-2: Eliminate Base64URL Storage Bloat

For details see: decentralized-identity/sidetree#781

Version Manager

The protocol version manager returns the protocol version implementation associated with a transaction time (block number). One protocol version is currently implemented: 0.1. As new protocol versions are implemented, documents created with older versions may still be resolved.

During resolution advance commitment as soon as it becomes revealed for create, update and recovery

Hash canonicalized public key to produce public key commitment

Resolve next operation when multihashing algorithm changes

Long form resolution with JCS

Deprecate initial-state parameter

Add canonicalId to document metadata

Generic form for enabling/disabling patches

New protocol parameters: max delta, max uri, max hash, max proof

Refactor according to latest renaming and transformation rules

Add support for base context

Rename anchor/map file to core/provisional index file plus related protocol params

Add support for service endpoint as object

Release v0.1.4

27 Aug 16:03
94243b4
Compare
Choose a tag to compare

sidetree-core-go Release Notes - Aug 27, 2020

What's new in sidetree-core-go v0.1.4

Add ability to configure method context(s)

If required method context(s) can be passed in as parameter

Validation of supported signing algorithms

Add new parameter to protocol parameters called signature algorithms that will allow configuring supported algorithms.

Validation of supported key algorithms

Add new parameter to protocol parameters called key algorithms that will allow configuring supported key algorithms.

Updated protocol parameters

Add/rename protocol parameter as per latest spec

Add support for JsonWebKey2020

JsonWebKey2020 is added to the list of supported key types

Add initial state to method metadata

When attempting resolution with initial state add initial state to method metadata

Preserve the order of public keys and services during resolution

When patches are applied during resolution preserve the order of public keys and services

Add ability to enable 'replace' patch

Add protocol parameter to enable 'replace' patch (by default this patch is disabled; it is used for interop testing)

Implement latest protected header validation rules

  • kid MUST be present in the protected header (deviation due to failing interop tests)
  • alg MUST be present in the protected header, its value MUST NOT be none
  • no additional members may be present in the protected header

Update ID size limit to 50

Applies to public key ids and service ids

Get protocol parameters by transaction number

Added to protocol interface get function for retrieving protocol parameters by transaction number (block number)

Create anchored operation model

Create the smallest subset of operation data that will be stored into operation store as anchored operation.

Operation Hash Map

Create operation hash map (calculate operation commitment value) during resolution and use it to determine next operation to be applied.

Add common validations for batch files

Add following check when creating anchor, map, chunk files for Sidetree transaction:

  • there can be only one operation per suffix in all batch files combined per transaction (deviation - log subsequent operations as warning and ignore them)

Switch logrus logging to edge-core logging

Replace logging provider

Add support for 'replace' action

Added support for 'replace' action

Generate commitment from public JWK

  • generate recovery and update commitments from corresponding public JWK during create
  • add update key to update request
  • add recovery key for deactivate and recover requests
  • validate keys against previously provided commitments
  • validate signature against passed in keys
  • return update and recovery commitments in resolution result metadata (remove recovery key and operation keys)

Add compression for batch files

-- compress batch files before storing them to CAS (batch writer)
-- decompress batch files upon retrieving them from CAS (observer)
-- add compression algorithm and maximum batch sizes (protocol)

Add compression registry

Add compression registry with gzip algorithm implementation

Create Anchor String

Record anchor string (num of transactions + anchor address) on blockchain.

Add chunk, map, anchor files

  • batch writer creates chunk, map, anchor file from batch operations
  • observer parses batch files (chunk, map, anchor) into anchored operation

Outstanding Sidetree protocol specification issues:

Not implemented

-- method versioning (required)
-- all fee related requirements (optional)
-- verification methods: operation and recovery (optional)

Known deviations

  1. kid MUST be present in the protected header
    deviation is due to failing interop tests; reference application doesn't accept kid in protected header (#365)

  2. an Anchor File MUST NOT include multiple operations in the operations section of the Anchor File for the same DID Suffix - if any duplicates are found, cease processing, discard the file data, and retain a reference that the file is to be ignored.

Reference implementation/spec assumes that there is only one batch writer in the system. That assumption is not valid with fabric deployment so we can have multiple batch writers, After discussion with the team it was decided that cease processing is not an option. Instead, we log subsequent operations as warning and ignore them.