github.com/vchain-us/vcn@v0.9.11-0.20210921212052-a2484d23c0b3/CHANGELOG.md (about)

     1  # CHANGELOG
     2  All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     3  <a name="unreleased"></a>
     4  ## [Unreleased]
     5  
     6  
     7  <a name="v0.9.10"></a>
     8  ## [v0.9.10] - 2021-09-16
     9  ### Bug Fixes
    10  - **pkg/api:** login is aborted is --enforce-signature-verify is on and server is not signing messages, improved error messages
    11  - **pkg/bom/node:** handling malformed json on dependencies extraction
    12  - **pkg/cmd:** cnc client from context is overrided by the one created from local flag
    13  - **pkg/cmd/sign:** cascade --bom-force terminal confirmation fix
    14  - **pkg/signature:** terminal signature confirmation fix
    15  
    16  ### Changes
    17  - bumb CNL sdk version
    18  - remove skip-signature-verify-flag
    19  - add enforce-signature-verify flag
    20  - **pkg/bom/node:** suppress warning if output is JSON or YAML
    21  - **pkg/signature:** switch to openssh fingerprint
    22  - **pkg/signature:** fix typo
    23  - **pkg/signature:** fix typo
    24  
    25  ### Features
    26  - in BoM tell static and dynamic dependencies apart ([#195](https://github.com/vchain-us/vcn/issues/195))
    27  - Send data to server in batches during BoM dependencies authentication and notarization
    28  - **pkg/cmd/verify:** allow public authentication (without api-key)
    29  
    30  
    31  <a name="v0.9.9"></a>
    32  ## [v0.9.9] - 2021-08-23
    33  ### Bug Fixes
    34  - fix doc leftovers
    35  - **pkg/signature:** fix public key unmarshal
    36  
    37  ### Changes
    38  - remove docs copy action
    39  - fix go.mod
    40  - disable signature verification on CICD
    41  - add signature verification doc and --skip-signature-verify flag
    42  - add singing pub key flag
    43  - improve signature handling UI
    44  - **pkg/signature:** replace key comparison with a legacy solution
    45  
    46  ### Features
    47  - add status signature handling
    48  - add notarization attribute "allowdownload=user1,user1"
    49  
    50  
    51  <a name="v0.9.8"></a>
    52  ## [v0.9.8] - 2021-08-09
    53  ### Bug Fixes
    54  - support both relative and absolute paths for .Net project files
    55  - changed trust level abbreviations in CLI
    56  - **pkg/cmd/sign:** fix progress bar when there are only 1 dep on bom project
    57  - **pkg/cmd/verify:** fix authenticate bom exit codes
    58  
    59  ### Changes
    60  - add attachment label to attachment description
    61  - use bom local packages
    62  - fix leftover in a comment
    63  - **pkg/bom:** add missing path method
    64  - **pkg/bom/java:** support java bom git combo, add support for java folder bom
    65  - **pkg/bom/java:** handling 404 when resolving dependencies on java mvn resolver
    66  - **pkg/bom/node:** improve bom node error handling
    67  - **pkg/bom/node:** fix node bom extractor
    68  - **pkg/bom/node:** handle npm error while extracting dependencies
    69  - **pkg/bom_package:** remove wrong integration test
    70  - **pkg/java_bom:** speed up sha1 hashes generation with the worker pool
    71  
    72  ### Features
    73  - Added command 'bom' to vcn
    74  - Added initial BoM packages, only for Go binaries
    75  - add node bom generator and extractor
    76  - add vcn-command gRPC metadata entry
    77  - **pkg/bom_java:** add maven java package parser
    78  - **pkg/cmd:** add verify and sign bom command check feature availability guard
    79  - **pkg/extractor/javacom:** add java maven jar and pom extractor
    80  - **ui:** BoM lrust level CLI option changed from numeric to text
    81  
    82  
    83  <a name="v0.9.7"></a>
    84  ## [v0.9.7] - 2021-06-30
    85  ### Bug Fixes
    86  - attachments internal map is iterated with a side sorted string slice. Add some cleanup
    87  - **pkg/cmd/verify:** fix attachments download with multiple version
    88  - **pkg/cmd/verify:** attachments can be used only on CNIL context. On blockchain error is returned
    89  - **pkg/cmd/verify:** fix attachments printing when artifact is not notarized
    90  
    91  ### Changes
    92  - fix attachments download and add friendly print of attachments when downloading
    93  - attach-full-download flag is removed and full download is default behaviour
    94  - **pkg/api:** fix uid friendly label extraction from key
    95  - **pkg/meta:** fix sign attachment flag description
    96  - **pkg/meta:** fix friendly label sign command desc
    97  
    98  ### Features
    99  - add verbose flag to add extra data to the UI
   100  - add --force flag to silently overwrite files
   101  - add attach-full-download flag to download all attachments for a label
   102  - add notarize and verify friendly labels
   103  
   104  
   105  <a name="v0.9.6"></a>
   106  ## [v0.9.6] - 2021-06-01
   107  ### Bug Fixes
   108  - Make test file content unique to avoid parallel notarization
   109  - **cmd/sign:** fix missing alert sign nil pointer error
   110  
   111  ### Changes
   112  - rename CNLC to CNIL
   113  - fix badge url
   114  - upgrade cnil sdk
   115  - upgrade cnil sdk in order to fix file lock issue
   116  - remove circleCI
   117  - **pkg/api:** handle parallel requests with same hash on blockchain
   118  
   119  
   120  <a name="v0.9.5"></a>
   121  ## [v0.9.5] - 2021-05-07
   122  ### Bug Fixes
   123  - unsuccessful status code
   124  - fix return error codes on cn.io
   125  - **pkg:** add version metadata header and fix signer ID extraction from API key to support email addresses as signer IDs
   126  - **pkg/api:** handle JSON marshal error when creating artifact
   127  - **pkg/api/verify:** fix pkg api verify
   128  - **pkg/cicontext:** remove sensitive data
   129  - **pkg/cmd/login:** fix env var on login
   130  - **pkg/cmd/sign:** improve attachment container structure
   131  
   132  ### Changes
   133  - vcn context ux improvements. closes [#134](https://github.com/vchain-us/vcn/issues/134)
   134  - fix missing apikey error
   135  - remove unused import
   136  - add artifact print date method
   137  - add proper error handling on notFound or notVerified
   138  - add lcLedger and signerID parameters on PublicCNLCVerify
   139  - expose lc verify api and explicit environment vars
   140  - increase pipeline timeout
   141  - update ledger-compliance-go dependency to fix missing metadata bug
   142  - remove 'blockchain' from login message
   143  - **cmd/verify:** if api-key is revoked status will be shown as revoked in authenticate
   144  - **pkg/cicontext:** add context probes and minor improvements
   145  - **pkg/cmd/sign:** add '-' char to enforce pipe mode
   146  
   147  ### Features
   148  - add support for ledger compliance env vars. Closes [#628](https://github.com/vchain-us/vcn/issues/628)
   149  - add ci-attr flag. It permits to save ci context env as metadata
   150  - add --lc-ledger flag for authenticate and inspect commands when used with cross-ledgers API keys
   151  - when apikey is revoked authenticate exits with revokedApikey status - 4
   152  - vcn handle new apikey format{friendlySignerID}.{secret} CNCL
   153  - revokation infos on signed artifact are returned
   154  - vcn handles multi attachment to the notarized item. closes [#133](https://github.com/vchain-us/vcn/issues/133)
   155  - enable file upload
   156  - add multi files support in pipe
   157  - **pkg/api:** lc artifact contains uid
   158  - **pkg/cmd:** authenticate command can download all linked attachments
   159  - **pkg/cmd/sign:** notarization accepts pipe. closes [#579](https://github.com/vchain-us/vcn/issues/579)
   160  - **pkg/cmd/verify:** verify accepts uid to specify an artifact in time
   161  
   162  
   163  <a name="v0.9.4"></a>
   164  ## [v0.9.4] - 2021-02-17
   165  ### Bug Fixes
   166  - apikey is removed from userlist when logout
   167  - vcn docker notarization readme.md section
   168  - restore info when no user is logged
   169  - **pkg/api:** return vcn lc apikey error missing only in lc context
   170  - **pkg/cmd:** version check is enabled only for codenotary.io context
   171  - **pkg/cmd/sign:** fix cnlc hash signing
   172  - **pkg/store:** fix api keys clean on load config
   173  
   174  ### Changes
   175  - update immudb dependency to latest 0.9.2 version and ledger-compliance-go to latest master
   176  - bump sdk version, it fixes notarization on empty cnlc ledger
   177  - improve logout message
   178  - no action on logout if there is no user logged
   179  - authenticate return 2 exit code if hash is not found
   180  - if --lc-no-tls is provided default port is 80
   181  - new no api key configured error message
   182  - renaming flag config in vcnpath and set default vcnpath in os.tmp folder
   183  - bump lc sdk
   184  - bump lc sdk
   185  - verify if config is present in context check
   186  - clean configuration file by removing api keys
   187  - user saving removed on lc login
   188  - disable version check in lc context
   189  
   190  ### Code Refactoring
   191  - vcn lc mode uses as default env var for apikey
   192  
   193  ### Features
   194  - add vcn exit codes
   195  - **pkg:** move exit-code flag to authenticate command
   196  
   197  
   198  <a name="v0.9.3"></a>
   199  ## [v0.9.3] - 2021-02-01
   200  ### Changes
   201  - adjust colors settings with fgreen
   202  - adjust colors settings
   203  - handle blue screen colors
   204  - minor changes on releasing guide, makefile and minor dependencies updates
   205  
   206  ### Features
   207  - add manifest management for dir artifacts
   208  
   209  
   210  <a name="v0.9.2"></a>
   211  ## [v0.9.2] - 2021-01-28
   212  ### Bug Fixes
   213  - fix autodiscover dir artifact
   214  - **pkg/cmd/internal/cli:** return an error if empty api key is provided
   215  
   216  ### Changes
   217  - update lc-sdk dependency
   218  - list of signers is not supported in CNLC
   219  - wildcard instructions in their own section
   220  - add a separated CNLC jumpstart
   221  - fix login help message
   222  
   223  ### Features
   224  - **pkg/cmd:** add lc info and list method
   225  - **pkg/cmd:** improve lc login method in order to check if connection and api key are valid
   226  
   227  
   228  <a name="v0.9.1"></a>
   229  ## [v0.9.1] - 2021-01-18
   230  ### Bug Fixes
   231  - load artifact wait for immudb set to be indexed
   232  - fix state service and verified methods
   233  - **pkg:** fix vcn blockchain login
   234  - **pkg/cmd/serve:** improving error if no content is submitted while signing
   235  - **pkg/cmd/sign:** sign error handler fix
   236  - **pkg/cmd/verify:** load artifact error handler fix
   237  
   238  ### Changes
   239  - bump lc sdk version
   240  - bump lc sdk version
   241  - bumb lc sdk version
   242  - restore lc inspect capabilities
   243  - enable InsecureSkipVerify when tls-skip-verify is active
   244  - disable verified set in lc artifact creation
   245  - **pkg/api:** artifact load uses getAt
   246  - **pkg/cmd/login:** fix typo in example
   247  
   248  ### Features
   249  - add metadatas in lc sign
   250  - add lc sdk file lock
   251  - add no-tls mode
   252  - add support for tls insecure connections
   253  - align to new immudb implementation
   254  
   255  
   256  <a name="v0.9.0"></a>
   257  ## [v0.9.0] - 2020-12-14
   258  ### Bug Fixes
   259  - restore verification with the highest level available when not logged
   260  - fix integration tests and add circleci job for go 1.15
   261  - fix dist release go1.15.6
   262  - fix ledger-compliance-go dependency
   263  - **pkg/api:** swap signerID position with the hash in the vcn lc key format
   264  - **pkg/api:** fix artifact status json unmarshall
   265  - **pkg/cmd:** don't track untrusted verification
   266  - **pkg/cmd/inspect:** fix inspect ux, examples and errors
   267  - **pkg/cmd/verify:** fix empty signerid handling
   268  - **pkg/meta:** add apikey env var
   269  
   270  ### Changes
   271  - bump sdk version, remove useless package
   272  - bump lc sdk version
   273  - add swagger.json
   274  - bumb version of go-ethereum and smart contracts
   275  - fix inspect full history message
   276  - upgrade go version to 1.15 and sdk
   277  - remove all whitespaces from otp
   278  - **pkg/cmd:** show status unknown if tamper is detected
   279  - **pkg/cmd/serve:** handle missing api key error
   280  - **pkg/extractor:** fix typo
   281  - **pkg/extractor/wildcard:** remove max notarization limit
   282  - **pkg/extractor/wildcard:** improve max notarized files number with wildcard
   283  
   284  ### Code Refactoring
   285  - change api in order to make atomic indexing of notarized items in lc
   286  - **pkg/extractor:** handle array of artifacts instead of a single one in extractor
   287  
   288  ### Features
   289  - vcn accepts a certificate to setup a tls connection
   290  - if no limit or filter are submitted inspect return last 100 items
   291  - add multiple notarizations capability with wildcard
   292  - add wildcard extractor
   293  - add serve lc inspect
   294  - improve inspect result with timestamp for each element
   295  - add verify filter by LC signerID. fix [#104](https://github.com/vchain-us/vcn/issues/104)
   296  - add vcn lc login. fix [#103](https://github.com/vchain-us/vcn/issues/103)
   297  - partial parallel notarizations support
   298  - add inspect for ledger compliance
   299  - add otp_empty environment var
   300  - add lc operations for vcn server
   301  - add verify asset on ledger compliance
   302  - add ledger compliance authentication and notarization
   303  - Add otp support. close [#87](https://github.com/vchain-us/vcn/issues/87) close [#88](https://github.com/vchain-us/vcn/issues/88)
   304  - **pkg/cmd:** add inspect api
   305  - **pkg/cmd/inspect:** improve inspect in lc
   306  - **pkg/cmd/verify:** manage verify by hash in lc mode
   307  
   308  
   309  <a name="v0.8.3"></a>
   310  ## [v0.8.3] - 2020-02-19
   311  ### Changes
   312  - distinct event for alert verification
   313  - **cmd/sign:** allow notarization when no dir with write access by default
   314  - **cmd/verify:** do not show "diff unavailable" when no manifest is found
   315  - **extractor/dir:** option to skip ignore file creation
   316  
   317  
   318  <a name="v0.8.2"></a>
   319  ## [v0.8.2] - 2020-02-11
   320  ### Changes
   321  - **cmd/verify:** manifest lookup from storage, fallback to target dir
   322  - **meta:** add StaticBool()
   323  
   324  ### Features
   325  - **cmd/sign:** added --read-only flag for dir notarization
   326  - **store:** manifests centralized storage
   327  
   328  
   329  <a name="v0.8.1"></a>
   330  ## [v0.8.1] - 2020-02-03
   331  ### Bug Fixes
   332  - **cmd/sign:** cleanup unused arg to make --hash work again
   333  
   334  
   335  <a name="v0.8.0"></a>
   336  ## [v0.8.0] - 2020-01-27
   337  ### Bug Fixes
   338  - Pull latest xgo (go cross compilation tools) when creating the full stack
   339  - **api:** correct alert error message
   340  - **api:** correct alert config JSON name
   341  - **cmd/verify:** show error when alert fails
   342  
   343  ### Changes
   344  - improve "your assets will not be uploaded" notice
   345  - update copyright year
   346  - **api:** add name to alert struct
   347  - **api:** improve alert error messages
   348  - **api:** more fields for Error struct
   349  - **cmd/internal/cli:** reader and writer for YAML files
   350  - **cmd/verify:** trigger alert on asset error, if any
   351  - **store:** read alerts
   352  
   353  ### Code Refactoring
   354  - **cmd/sign:** move alert handling to another function
   355  
   356  ### Features
   357  - added --alert-email option
   358  - add ARM build
   359  - **api:** added get alert API
   360  - **api:** public AlertConfig struct
   361  - **api:** platform alerting system APIs
   362  - **cmd:** augmenting alerts metadata (full path and diff)
   363  - **cmd:** alerts list command
   364  - **cmd:** use stderr for errors and show warning instead when notarization is committed
   365  - **cmd/sign:** add `--create-alert` for notarization
   366  - **cmd/sign:** add hostname to alert's metadata by default
   367  - **cmd/verify:** add `--alert-config` for authentication
   368  - **cmd/verify:** added --alerts to authenticate configured alerts
   369  - **sign:** alert creation
   370  - **store:** alert configuration storage
   371  
   372  
   373  <a name="v0.7.4"></a>
   374  ## [v0.7.4] - 2019-12-19
   375  ### Bug Fixes
   376  - **build/makensis:** correct debian image version for NSIS
   377  - **cmd:** correct flags collision
   378  - **cmd/sign:** do not track events when errored
   379  
   380  ### Changes
   381  - **build:** enforce xgo image digest
   382  
   383  ### Features
   384  - Add builds for linux/s390x and linux/ppc64le architectures It is required to refresh the techknowlogick/xgo docker images before this can work as a specific patch has been applied for s390x and ppc64le support
   385  - **cmd:** added --silent flag
   386  
   387  
   388  <a name="v0.7.3"></a>
   389  ## [v0.7.3] - 2019-10-30
   390  ### Bug Fixes
   391  - **cmd:** enforce lowercase hash string (fixes [#67](https://github.com/vchain-us/vcn/issues/67))
   392  - **cmd/inspect:** enforce lowercase hash string
   393  - **cmd/serve:** enforce lowercase hash string
   394  - **cmd/sign:** try again when notarization password is wrong
   395  
   396  ### Changes
   397  - **cmd:** no echo when asking for confirmation before quitting
   398  
   399  
   400  <a name="v0.7.2"></a>
   401  ## [v0.7.2] - 2019-10-24
   402  ### Bug Fixes
   403  - **cmd/serve:** add missing event tracking
   404  
   405  ### Changes
   406  - **ci:** add verify-commit action
   407  - **ci:** github action for docs
   408  - **cmd/sign:** return full output when notarizing
   409  
   410  ### Features
   411  - store TX hash
   412  - **cmd/inspect:** add ability to print only locally extracted info
   413  
   414  
   415  <a name="v0.7.1"></a>
   416  ## [v0.7.1] - 2019-10-08
   417  ### Bug Fixes
   418  - added ability to do not write on read only dir (fixes [#45](https://github.com/vchain-us/vcn/issues/45))
   419  - **cmd:** typo and language improvement
   420  - **cmd/serve:** CORS preflight (fixes [#60](https://github.com/vchain-us/vcn/issues/60))
   421  
   422  
   423  <a name="v0.7.0"></a>
   424  ## [v0.7.0] - 2019-10-04
   425  ### Bug Fixes
   426  - simplied error message when wrong notarization password is provided
   427  - correct cross compile deps
   428  - trust level was not shown when equals to DISABLED
   429  - contentType was not shown when `ArtifactResponse` was not present
   430  - make fields name consistent across output formats (json, yaml)
   431  - **api:** correct tracing log label for `VerifyMatchingSignerIDWithFallback`
   432  - **cmd/sign:** command must accept exactly one arg
   433  
   434  ### Changes
   435  - update messages
   436  - update dependencies
   437  - platform managed secret is not stored locally anymore
   438  - remove onboarding message (closes [#52](https://github.com/vchain-us/vcn/issues/52))
   439  - use go v1.13 for the building system
   440  - promote artifact fields to root
   441  - move tracking call outside api pkg
   442  - **api:** removed `BlockchainVerification.LevelName()` method
   443  - **api:** add `BlockchainVerification.UnmarshalYAML`
   444  - **api:** omit empy field in `ArtifactResponse`
   445  - **cmd:** gracefully print error message if artifact is nil (fixes [#57](https://github.com/vchain-us/vcn/issues/57))
   446  - **cmd:** added ability to use empty notarization password
   447  - **cmd/info:** improved message for expired tokens
   448  - **cmd/serve:** notarization API will allow only registered schemes for the kind field (closes [#51](https://github.com/vchain-us/vcn/issues/51))
   449  - **extractor:** do not store version in metadata when empty
   450  - **extractor/dir:** do not create `.vcnignore` on directory authentication (refs [#45](https://github.com/vchain-us/vcn/issues/45))
   451  - **meta:** use Stringer interface for stage environment
   452  - **meta:** use Stringer interface for status, level, and visibility
   453  
   454  ### Code Refactoring
   455  - functional options for signing method
   456  - improve secret handling API
   457  - **api:** always check for user existence when login
   458  - **cmd:** simplify cobra commands naming
   459  
   460  ### Features
   461  - **api:** add `SignerID()` method
   462  - **api:** added ability to upload the secret to the platform
   463  - **api:** add functional options for signing
   464  - **cmd:** improved help messages
   465  - **cmd:** added `vcn info` command
   466  - **cmd:** add `vcn serve` command
   467  - **cmd:** added command for setting a custom notarization password (closes [#53](https://github.com/vchain-us/vcn/issues/53))
   468  - **cmd/serve:** TLS support (closes [#48](https://github.com/vchain-us/vcn/issues/48))
   469  - **cmd/serve:** print environment info at startup
   470  - **cmd/serve:** allow to pass credentials via HTTP
   471  - **extractor:** add functional options
   472  
   473  ### BREAKING CHANGE
   474  
   475  `api.Sign` method signature has been changed.
   476  
   477  `meta.StageName` has been removed; please use the `.String()` on value instead.
   478  
   479  All command's factory methods have been renamed.
   480  
   481  `BlockchainVerification.LevelName()` has been removed, please use `BlockchainVerification.Level.String()` instead.
   482  
   483  `meta.StatusName`, `meta.LevelName`, `meta.VisibilityName` have been removed; please use the `.String()` on values instead.
   484  
   485  `artifact` field is not present anymore in json/yaml results.
   486  
   487  Extractors method signature have changed to accomodate functional options.
   488  
   489  Secret storage is not used anymore for platform managed secrets.
   490  `store.PublicAddress()` has been renamed to `store.SignerIDFromSecret()`, and will return a value only when a local secret is available
   491  
   492  
   493  <a name="v0.6.3"></a>
   494  ## [v0.6.3] - 2019-09-25
   495  ### Bug Fixes
   496  - **extractor/dir:** runtime error when passing a regular file instead of a directory (fixes [#56](https://github.com/vchain-us/vcn/issues/56))
   497  
   498  
   499  <a name="v0.6.2"></a>
   500  ## [v0.6.2] - 2019-09-17
   501  ### Changes
   502  - new AssetsRelay smart contract
   503  
   504  ### Code Refactoring
   505  - use new smart contract functions
   506  
   507  
   508  <a name="v0.6.1"></a>
   509  ## [v0.6.1] - 2019-09-10
   510  ### Bug Fixes
   511  - correct error msg when entering empty email (fixes [#43](https://github.com/vchain-us/vcn/issues/43))
   512  
   513  ### Features
   514  - enable git repo notarization and authentication
   515  - **extractor:** add scheme for git repository
   516  
   517  
   518  <a name="v0.6.0"></a>
   519  ## [v0.6.0] - 2019-09-04
   520  ### Bug Fixes
   521  - correct `Signer` field semantic
   522  - **api:** correct secret download content format
   523  - **verify:** switch to single key for current user
   524  
   525  ### Changes
   526  - update Smart Contract addresses to latest version
   527  - removed profile migration from v0.3.x
   528  - deprecate `KEYSTORE_PASSWORD` env var in favour of `VCN_NOTARIZATION_PASSWORD`
   529  - add "your assets will not be uploaded" message
   530  - deprecate `--key` in favor of `--signerID`
   531  - improve API and user messages to reflect the new terminology
   532  - correct typos
   533  - **api:** refactor to single address and code cleanup
   534  - **help:** add info about assets and env vars
   535  - **meta:** removed event tracking for keystore creation
   536  - **sign:** dropping support for multiple keys
   537  - **store:** switch from multi-key to single secret config
   538  - **terminology:** switch to `notarize` and `authenticate`
   539  
   540  ### Code Refactoring
   541  - gofmt and golint
   542  - reduce artifact API surface
   543  - **meta:** rationalize config functions
   544  
   545  ### Features
   546  - add trial expiration message
   547  - automatically get secret from platform at login
   548  - add automatic checking for newer versions
   549  
   550  ### BREAKING CHANGE
   551  
   552  Env variable `KEYSTORE_PASSWORD` has been renamed to `VCN_NOTARIZATION_PASSWORD`.
   553  
   554  All `api.BlockChainVerify*()` funcs have been renamed to `Verify*()`
   555  
   556  `api.BlockchainVerification.Key()` has been renamed to `SignerID()`
   557  `api.BlockChainOrganisation.MembersKeys()` has been renamed to `MembersIDs()`
   558  `api.BlockChainGetOrganisation()` has been renamed to `GetBlockChainOrganisation()`
   559  
   560  `meta`'s endpoint funcs has been removed in favour of single `meta.APIEndpoint()`. `meta.MainNetEndpoint()` has been renamed to `meta.MainNet()`.
   561  
   562  Artifact field `Signer` will not contain the user pub key anymore.
   563  
   564  `api.LoadArtifactForHash` has been renamed to `api.LoadArtifact`.
   565  `api.ArtifactRequest` has been privatized. Artifact shall be created only thru the notarization process.
   566  
   567  `--key` has been removed from `vcn sign`
   568  
   569  Dropping `LoadAllArtifacts` and `LoadArtifacts` and wallets/keys/keystore related functions from `api.User`.
   570  `api.Sign` won't accept anymore a pub key as parameter.
   571  
   572  support for multiple keystores in config file and related APIs within the `store` have been removed.
   573  
   574  
   575  <a name="v0.5.4"></a>
   576  ## [v0.5.4] - 2019-07-30
   577  ### Features
   578  - **extractor:** add support for podman
   579  
   580  
   581  <a name="v0.5.3"></a>
   582  ## [v0.5.3] - 2019-07-19
   583  ### Bug Fixes
   584  - **build:** correct NSIS installation directory
   585  
   586  
   587  <a name="v0.5.2"></a>
   588  ## [v0.5.2] - 2019-07-17
   589  ### Bug Fixes
   590  - update go.sum for xgo
   591  - **bundle:** use uint64 for size
   592  - **dir:** OS agnostic paths
   593  - **list:** show all assets with pagination (fixes [#28](https://github.com/vchain-us/vcn/issues/28))
   594  
   595  ### Changes
   596  - **api:** add Artifact.Copy()
   597  - **bundle:** return error if distinct sizes are found for the same digest
   598  - **bundle:** descriptor test
   599  - **bundle:** rework diff
   600  - **cmd:** always show local extracted metadata
   601  - **dir/extractor:** ignore irregular files
   602  
   603  ### Features
   604  - directory signing and verify with manifest
   605  - **api:** list assets grouped by hash with pagination
   606  - **bundle:** enforce manifest specs
   607  - **bundle:** arrange multiple items in a Merkle Directed Acyclic Graph
   608  - **bundle:** diff
   609  - **extractor:** scheme for directories
   610  - **extractor/dir:** default ignore file
   611  - **extractor/dir:** .vcnignore file support
   612  - **verify/dir:** automatically check manifest integrity
   613  
   614  
   615  <a name="v0.5.1"></a>
   616  ## [v0.5.1] - 2019-07-02
   617  ### Bug Fixes
   618  - `BlockchainVerification` json unmarshalling
   619  
   620  ### Changes
   621  - **cmd:** update cobra to 0.5.0
   622  - **verify:** add explanatory output messages
   623  - **verify:** minor cmd usage improvements
   624  
   625  ### Features
   626  - **inspect:** add new `vcn inspect` command
   627  - **sign:** `VCN_KEY` env variable for signing
   628  
   629  
   630  <a name="0.5.0"></a>
   631  ## [0.5.0] - 2019-06-25
   632  
   633  <a name="v0.5.0"></a>
   634  ## [v0.5.0] - 2019-06-25
   635  ### Bug Fixes
   636  - ca-certificates for Dockerfile
   637  - clean other context when user logs in
   638  - **cmd:** show config file path if not default one
   639  - **docker:** accept images but not other objects
   640  - **extractor:** correct empty files handling
   641  
   642  ### Changes
   643  - reduce public api surface
   644  - code cleanup and fix comments
   645  - bump version
   646  - **api:** move type Error to its own source file
   647  - **api:** deprecate public publisher APIs
   648  - **api:** deprecate publisher fields
   649  - **api:** allow empty size
   650  - **cmd:** internal types
   651  - **env:** remove VERIFY_ prefix
   652  - **internal:** move cli package
   653  - **output:** silence printing when formatted output
   654  - **verify:** improve error labels
   655  
   656  ### Features
   657  - autogenerated changelog
   658  - vcn user agent
   659  - promote --output to global flag and return formatted errors accordingly
   660  - json and yaml output for sign
   661  - **api:** add blockchain organisation support
   662  - **list:** support for --output json/yaml
   663  - **sign:** signing by --hash
   664  - **verify:** add --org for verify
   665  
   666  ### BREAKING CHANGE
   667  
   668  some methods are now private, tracking functions are now deprecated.
   669  
   670  Some publisher and auth related methods and structs have been privatized and will removed in future
   671  
   672  ArtifactResponse fields (related to the publisher) as been renamed as following:
   673  ```
   674  Publisher -> Signer
   675  PublisherCompany -> Company
   676  PublisherWebsiteUrl -> Website
   677  PublisherCount -> SignerCount
   678  ```
   679  ArtifactRequest's `Url` has been fixed to `URL` too.
   680  
   681  meta.VcnClientName() has been removed in favor of meta.UserAgent()
   682  
   683  `VCN_VERIFY_KEYS` has been removed in favour of `VCN_KEY` with the same functionality.
   684  
   685  
   686  <a name="0.4.3"></a>
   687  ## [0.4.3] - 2019-05-21
   688  ### Bug Fixes
   689  - **api:** nil pointer dereference
   690  - **extractor:** nil pointer dereference
   691  - **sign:** flag accessed but not defined: hash
   692  - **sign:** cross platform loading spinner
   693  
   694  ### Changes
   695  - minor refactoring of login/logout
   696  - generate markdown docs for commands
   697  - **api:** load user's artifact by hash only
   698  - **api:** size must be valid, name can be empty
   699  - **sign:** prompt login if needed when started by explorer
   700  
   701  ### Features
   702  - profile dir per stage
   703  - add test env
   704  - **sign:** untrust/unsupport by --hash flag
   705  
   706  
   707  <a name="0.4.2"></a>
   708  ## [0.4.2] - 2019-05-14
   709  ### Bug Fixes
   710  - print correct config file name
   711  - do not read in env var for config
   712  - **sign:** remove ownership disclaimer
   713  - **verify:** cross platform coloured printing
   714  - **verify:** only print size when available
   715  
   716  ### Changes
   717  - disable config file message
   718  - reorg publisher fields
   719  - minor printing and marshaling improvements
   720  - **api:** fine-tune blockchain verify funcs
   721  - **build:** make makefile more resilient
   722  - **log:** improve metahash tracing
   723  - **output:** correct WriteTo interface
   724  
   725  ### Code Refactoring
   726  - **sign:** printing
   727  
   728  ### Features
   729  - improve printing and add yaml output format
   730  - static build and docker cli support in dockerfile
   731  - **verify:** with multiple key by VCN_VERIFY_KEYS env var
   732  - **verify:** allow multiple --key flags
   733  - **verify:** show asset visibility
   734  
   735  
   736  <a name="0.4.1"></a>
   737  ## [0.4.1] - 2019-05-08
   738  ### Bug Fixes
   739  - correct err msg when token has expired
   740  - do not print verification error message if --output=json
   741  - verify fallback
   742  - clear context when logging out
   743  - if logged in always show user own signature
   744  - remove test-resources from dockerignore
   745  - return proper error by checking quota before
   746  
   747  ### Changes
   748  - executable file sniffer
   749  - go mod tidy
   750  - change metadata naming
   751  - add Platform and Architecture fields
   752  - **build:** minor improvements
   753  - **ci:** initial circleci setup
   754  - **cmd:** use extractors
   755  - **meta:** increse signing timeout
   756  - **meta:** increase tx verification rounds
   757  
   758  ### Code Refactoring
   759  - asset and metadata fields naming
   760  
   761  ### Features
   762  - user defined attributes for assets
   763  - json output format (--output=json)
   764  - infer asset version
   765  - get metadata from docker image
   766  - add --hash for verify
   767  - improve mime and metadata extractor for executables
   768  - new kind and mimeType attributes for assets
   769  - modularize metadata extractors
   770  - URI parser for assets
   771  - subscription limit enforcement
   772  - **build:** improved build system
   773  
   774  
   775  <a name="0.4.0"></a>
   776  ## [0.4.0] - 2019-04-30
   777  ### Bug Fixes
   778  - dashboard cmd has no args
   779  - prefix for docker assets
   780  - find home dir in the right way
   781  - do not exit early when login is required
   782  - do not quit when executed by Win context menu
   783  - ensure default keystore before looking for keys
   784  - remove log.Fatal in favour of returing errors
   785  - gitignore
   786  - ask for confirmation before quitting
   787  - token deletion when already logged out
   788  - improve err msgs when auth is required
   789  - add missing header comments
   790  - temporary dirs creation at startup
   791  - **login:** silence usage message when errored
   792  - **migrate:** do not create a new key if it already exists
   793  - **store:** correct key funcs and tests
   794  - **tracking:** send events at right place in time
   795  
   796  ### Changes
   797  - use two-stage build
   798  - make createArtifact private
   799  - printing stuff
   800  - no race test for make install
   801  - add dev stage
   802  - move cli package to internal
   803  - improve naming
   804  - code cleanup and minor improvements
   805  - add store context and key utils
   806  - introduce store package
   807  - move logs to internal
   808  - improve wallet not synced message
   809  - correct printing func
   810  - update gitignore
   811  - switch main to cobra
   812  - partial api logging refactor
   813  - code clean up
   814  - introducing Cobra
   815  - move file hashing func to internal
   816  - use make install for Dockerfile
   817  - **build:** improve makefile
   818  - **cli:** spinner changed and code cleaned up
   819  - **dist:** omit symbol table and debug info
   820  - **internal:** correct errors funcs and tests
   821  
   822  ### Code Refactoring
   823  - login cmd
   824  - list cmd
   825  - untrust and unsupport cmds
   826  - sign, dashboard cmds and APIs
   827  - docker compose
   828  - package oriented design
   829  
   830  ### Features
   831  - key flag for sign and verify
   832  - profile migration from v0.3.x
   833  - config file and multi-keys support
   834  - logout command
   835  - upgrade to latest assetsrelay sc
   836  - provide Dockerfile
   837  - **build:** build system with Makefile
   838  - **cli:** improved column printing
   839  
   840  ### BREAKING CHANGE
   841  
   842  this commit changes the usage of verify and sign methods
   843  
   844  this commit introduce the config file with multi-keys support, and a huge refactoring of vcn code.
   845  
   846  
   847  <a name="0.3.6"></a>
   848  ## [0.3.6] - 2019-04-08
   849  
   850  <a name="0.3.5"></a>
   851  ## [0.3.5] - 2019-03-28
   852  
   853  <a name="0.3.4"></a>
   854  ## [0.3.4] - 2019-03-20
   855  
   856  <a name="0.3.3"></a>
   857  ## [0.3.3] - 2019-03-13
   858  
   859  <a name="0.3.2"></a>
   860  ## [0.3.2] - 2019-03-11
   861  
   862  <a name="0.3.1"></a>
   863  ## [0.3.1] - 2019-03-11
   864  
   865  <a name="0.3.0"></a>
   866  ## [0.3.0] - 2019-03-08
   867  
   868  <a name="0.2.2"></a>
   869  ## [0.2.2] - 2019-03-07
   870  
   871  <a name="v.0.2-beta.0"></a>
   872  ## [v.0.2-beta.0] - 2019-02-25
   873  
   874  <a name="v.0.1-beta.2"></a>
   875  ## v.0.1-beta.2 - 2019-02-19
   876  
   877  [Unreleased]: https://github.com/vchain-us/vcn/compare/v0.9.10...HEAD
   878  [v0.9.10]: https://github.com/vchain-us/vcn/compare/v0.9.9...v0.9.10
   879  [v0.9.9]: https://github.com/vchain-us/vcn/compare/v0.9.8...v0.9.9
   880  [v0.9.8]: https://github.com/vchain-us/vcn/compare/v0.9.7...v0.9.8
   881  [v0.9.7]: https://github.com/vchain-us/vcn/compare/v0.9.6...v0.9.7
   882  [v0.9.6]: https://github.com/vchain-us/vcn/compare/v0.9.5...v0.9.6
   883  [v0.9.5]: https://github.com/vchain-us/vcn/compare/v0.9.4...v0.9.5
   884  [v0.9.4]: https://github.com/vchain-us/vcn/compare/v0.9.3...v0.9.4
   885  [v0.9.3]: https://github.com/vchain-us/vcn/compare/v0.9.2...v0.9.3
   886  [v0.9.2]: https://github.com/vchain-us/vcn/compare/v0.9.1...v0.9.2
   887  [v0.9.1]: https://github.com/vchain-us/vcn/compare/v0.9.0...v0.9.1
   888  [v0.9.0]: https://github.com/vchain-us/vcn/compare/v0.8.3...v0.9.0
   889  [v0.8.3]: https://github.com/vchain-us/vcn/compare/v0.8.2...v0.8.3
   890  [v0.8.2]: https://github.com/vchain-us/vcn/compare/v0.8.1...v0.8.2
   891  [v0.8.1]: https://github.com/vchain-us/vcn/compare/v0.8.0...v0.8.1
   892  [v0.8.0]: https://github.com/vchain-us/vcn/compare/v0.7.4...v0.8.0
   893  [v0.7.4]: https://github.com/vchain-us/vcn/compare/v0.7.3...v0.7.4
   894  [v0.7.3]: https://github.com/vchain-us/vcn/compare/v0.7.2...v0.7.3
   895  [v0.7.2]: https://github.com/vchain-us/vcn/compare/v0.7.1...v0.7.2
   896  [v0.7.1]: https://github.com/vchain-us/vcn/compare/v0.7.0...v0.7.1
   897  [v0.7.0]: https://github.com/vchain-us/vcn/compare/v0.6.3...v0.7.0
   898  [v0.6.3]: https://github.com/vchain-us/vcn/compare/v0.6.2...v0.6.3
   899  [v0.6.2]: https://github.com/vchain-us/vcn/compare/v0.6.1...v0.6.2
   900  [v0.6.1]: https://github.com/vchain-us/vcn/compare/v0.6.0...v0.6.1
   901  [v0.6.0]: https://github.com/vchain-us/vcn/compare/v0.5.4...v0.6.0
   902  [v0.5.4]: https://github.com/vchain-us/vcn/compare/v0.5.3...v0.5.4
   903  [v0.5.3]: https://github.com/vchain-us/vcn/compare/v0.5.2...v0.5.3
   904  [v0.5.2]: https://github.com/vchain-us/vcn/compare/v0.5.1...v0.5.2
   905  [v0.5.1]: https://github.com/vchain-us/vcn/compare/0.5.0...v0.5.1
   906  [0.5.0]: https://github.com/vchain-us/vcn/compare/v0.5.0...0.5.0
   907  [v0.5.0]: https://github.com/vchain-us/vcn/compare/0.4.3...v0.5.0
   908  [0.4.3]: https://github.com/vchain-us/vcn/compare/0.4.2...0.4.3
   909  [0.4.2]: https://github.com/vchain-us/vcn/compare/0.4.1...0.4.2
   910  [0.4.1]: https://github.com/vchain-us/vcn/compare/0.4.0...0.4.1
   911  [0.4.0]: https://github.com/vchain-us/vcn/compare/0.3.6...0.4.0
   912  [0.3.6]: https://github.com/vchain-us/vcn/compare/0.3.5...0.3.6
   913  [0.3.5]: https://github.com/vchain-us/vcn/compare/0.3.4...0.3.5
   914  [0.3.4]: https://github.com/vchain-us/vcn/compare/0.3.3...0.3.4
   915  [0.3.3]: https://github.com/vchain-us/vcn/compare/0.3.2...0.3.3
   916  [0.3.2]: https://github.com/vchain-us/vcn/compare/0.3.1...0.3.2
   917  [0.3.1]: https://github.com/vchain-us/vcn/compare/0.3.0...0.3.1
   918  [0.3.0]: https://github.com/vchain-us/vcn/compare/0.2.2...0.3.0
   919  [0.2.2]: https://github.com/vchain-us/vcn/compare/v.0.2-beta.0...0.2.2
   920  [v.0.2-beta.0]: https://github.com/vchain-us/vcn/compare/v.0.1-beta.2...v.0.2-beta.0