All noteable API changes may affect client (breaking, non-breaking changes) should be documented in this file.
Please add the API change in the following format:
## <date> (add "breaking change" to title following the date if a change will break client
- <describle one change of API>, please <PR link> if this log is added after the PR is merged.
- <describle another change of the API>
## 2020-01-08 Removing known_version from verifying APIs
Since the servers are pruning old ledger info states, it is easy for any call with a given known_version value to fail, unless that version is the last one of an epoch, since then it is preserved to provide epoch change proofs.
To use the verifying API, people are expected to do batch calls with a get_state_proof
call to make sure they get a matching response from the server.
This allows to verify events since transactions and their proofs are not covering all events.
2020-12-07 Add a X-Diem-Chain-Id
, X-Diem-Ledger-Version
and X-Diem-Ledger-TimestampUsec
to http response header
The added headers are same with JSON-RPC response json same name fields. They are added for client to know chain id and server's latest block version and timestamp without decoding body json.
X-Diem-Chain-Id
: chain id of serverX-Diem-Ledger-Version
: the latest ledger version when the request hit server.X-Diem-Ledger-TimestampUsec
: the latest ledger version's timestamp in usec when the request hit server.
All values are string type.
This allows to create verifying clients that do not need to blindly trust the fullnode they connect to.
- Changed the name and structure for
upgradeevent
- See PR #6449
- Transaction Script is fulfilled with known script name as type, code, arguments and type_arguments. Similar with on-chain transaction Script type.
- Renamed type
peer_to_peer_transaction
topeer_to_peer_with_metadata
, which is consistent with stdlib transaction script name. - Removed
mint_transaction
, it is never rendered because of a bug, and the script does not exist anymore. - See PR #6453
diem_version
number of diem onchain version
See doc for more details.
unknown_transaction
may cause user think the transaction is invalid. Change tounknown
which is align with other unknown types.
This is breaking change if a client used unknown_transaction
to handle result.
See doc for more details.
2020-10-06 Add script_hash_allow_list
and module_publishing_allowed
fields to get_metadata
method response
script_hash_allow_list
returns list of allowed scripts hash.module_publishing_allowed
returns bool value indicates whether publishing customized scripts are allowed
See doc for more details.
created_address
is the address created account.role_id
is the role id of the created account.
- New event data type createaccount.
- In
KeptVMStatus
,VerificationError
andDeserializationError
were merged intoMiscellaneousError
- This merger was reflected in
VMStatusView
- See PR #5798
- Adding address field to get_account response.
- Added two new event types, one is emitted when the public key used for dual attestation on chain is rotated, and the other is emitted when the base url used for dual attestation off-chain communication is changed.
- added "chain_id" field to
get_metadata
response so it is available outside of the root JSON-RPC Response object
- adding "type" tag for values in "vm_status" field returned in transction object in method get_transcations, get_account_transcation etc.
- adding "type" tag for values in "role" field returned in account object in method get_account.
- Adds an optional human-readable category, reason, and explanations for each
Move abort code in the
MoveAbortExplanationView
.
Please refer to JSON-RPC SPEC before 2020-08-05 document for the API spec snapshot.