Skip to content

v1.4.0

Compare
Choose a tag to compare
@AlCutter AlCutter released this 21 Sep 11:06
· 866 commits to master since this release

v1.4.0

  • Recommended go version for development: 1.17
    This is the version used by the cloudbuild presubmits. Using a different version can lead to presubmits failing due to unexpected diffs.
  • GCP terraform script updated. GKE 1.19 and updated CPU type to E2

Dependency updates

Many dep updates, including:

  • Upgraded to etcd v3 in order to allow grpc to be upgraded (#2195)
  • etcd was v0.5.0-alpha.5, now v3.5.0
  • grpc upgraded from v1.29.1 to v1.40.0
  • certificate-transparency-go from v1.0.21 to v1.1.2-0.20210512142713-bed466244fa6
  • protobuf upgraded from v1 to v2
  • MySQL driver from 1.5.0 to 1.6.0

Cleanup

  • Removed signatures from LogRoot and EntryTimestamps returned by RPCs (reflecting that there should not be a trust boundary between Trillian and the personality.)
  • Removed the deprecated crypto.NewSHA256Signer function.
  • Finish removing the LogMetadata.GetUnsequencedCounts() method.
  • Removed the following APIs:
    • TrillianLog.GetLeavesByHash
    • TrillianLog.GetLeavesByIndex
    • TrillianLog.QueueLeaves
  • Removed the incomplete Postgres storage backend (#1298).
  • Deprecated LogRootV1.Revision field.
  • Moved rfc6962 hasher one directory up to eliminate empty leftover package.
  • Removed unused log_client tool.
  • Various tidyups and improvements to merke & proof generation code.
  • Remove some remnants of experimental map.

Storage refactoring

  • NodeReader.GetMerkleNodes does not accept revisions anymore. The implementations must use the transaction's ReadRevision
    instead.
  • TreeStorage migrated to using compact.NodeID type suitable for logs.
  • Removed the tree storage ReadRevision and WriteRevision methods.
    Revisions are now an implementation detail of the current storages. The change allows log implementations which don't need revisions.
  • Removed Rollback methods from storage interfaces, as Close is enough to cover the use-case.
  • Removed the unused IsOpen and IsClosed methods from transaction interfaces.
  • Removed the ReadOnlyLogTX interface, and put its only used GetActiveLogIDs method to LogStorage.
  • Inlined the LogMetadata interface to ReadOnlyLogStorage.
  • Inlined the TreeStorage interfaces to LogStorage.
  • Removed the need for the storage layer to return ephemeral node hashes. The application layer always requests for complete subtree nodes comprising the compact ranges corresponding to the requests.
  • Removed the single-tile callback from SubtreeCache, it uses only GetSubtreesFunc now.
  • Removed SetSubtreesFunc callback from SubtreeCache. The tiles should be written by the caller now, i.e. the caller must invoke the callback.