github.com/mavryk-network/mvgo@v1.19.9/CHANGELOG.md (about)

     1  # Changelog
     2  
     3  ## v1.19.2
     4  * Update Parisnet hash
     5  * Update protocol history of ghostnet
     6  
     7  ## v1.19.1
     8  * Update Paris protocol to [ParisB2](https://research-development.nomadic-labs.com/parisB2-announcement.html)
     9  
    10  ## v1.19.0
    11  
    12  * BREAKING CHANGE: The cannonical import part has been changed from `blockwatch.cc` to `github.com/trilitech`
    13  * Paris protocol support
    14  * tezos: replaced `PreservedCycles` with `ConsensusRightsDelay` in params
    15  * tezos: added attestation-style versions of op types
    16  * tezos: default to attestation-style versions, using new op tags v3
    17  * tezos: add new PVM version tags
    18  * micheline: added D_TICKET opcode
    19  * rpc: decode endorsement-style and attestation-style ops into Endorsement
    20  * rpc: fetch attestation rights for proto v19+
    21  * rpc: add DalPublishCommitment op
    22  * rpc: add DalAttestation field to block metadata
    23  * rpc: add DalResult to operation metadata
    24  * rpc: extend Delegate struct with new v19 fields
    25  
    26  ## v1.18.4
    27  
    28  * 2dc9fa0 | rpc: add missing balance update fields
    29  
    30  ## v1.18.3
    31  
    32  * 291607c | Simplify micheline json decoder
    33  * 586f1bc | Add json tags to proposal model
    34  * 2205ca9 | Fix links to dev tools
    35  * b82e574 | rpc: handle empty block metadata level
    36  
    37  ## v1.18.2
    38  
    39  * 82d9374 | Fix genesis info struct
    40  
    41  ## v1.18.1 (broken)
    42  
    43  * 56291ca | Add genesis block helper
    44  
    45  ## v1.18.0
    46  
    47  * Oxford protocol support
    48  * rpc: add adaptive issuance vote to block models
    49  * rpc: extend balance updates with staker info
    50  * rpc: add issuance rpc
    51  * tezos: add oxfordnet hashes and setup
    52  * codec: add staking operation codecs
    53  * codec: fix block encoding
    54  * codec: support block signing and block hash calculation
    55  * tzcompose: add oxford staking tasks
    56  * tzcompose: add double bake task
    57  
    58  ## v1.17.4
    59  
    60  * rpc: fix reading API key from config URL
    61  * micheline: accept new opcodes as valid
    62  
    63  ## v1.17.3
    64  
    65  * cmd: add tzcompose alpha release
    66  * rpc: dedicated logger instance per client
    67  * rpc observer: return full BlockHeaderLogEntry in callback
    68  * rpc observer: multiple subscriptions for the same op hash
    69  * rpc observer: support block subscriptions (use zero op hash)
    70  * micheline: new prim marshaler (type + Go map[string]any -> prim tree)
    71  * micheline: new builder helpers for key hash, union, sorted map elements
    72  * micheline: new prim compare, unpack ascii strings, yaml marshaler
    73  * tezos: fix for sandbox deployments
    74  
    75  ## v1.17.2
    76  
    77  * accept non-manager ops as successful
    78  * decode block monitor protocol data
    79  * fix endorsement encoding
    80  * add methods to page through bigmap values
    81  * add Micheline path setters
    82  * skip empty annotations on variadic prims in JSON output
    83  * extend Micheline typedef with path info
    84  * add TzGen tech preview (a contract interface code generator for Tezos)
    85  * remove Mumbainet hashes, config and references
    86  
    87  ## v1.17.1
    88  
    89  * change gas simulation to `/helpers/scripts/simulate_operation` for better future estimates
    90  * new `CallOptions.ExtraGasMargin` arg for manual override of the default (100)
    91  * new `CallOptions.SimulationOffset` arg to control future block offset
    92  * new `Client.SimulateOperation()` method to simulate execution at a future block
    93  
    94  ## v1.17.0
    95  
    96  * add Nairobi and Nairobinet constants
    97  * update smart_rollup_cement parameters to Nairobi changes
    98  * fix accounting for internal origination allocation burn
    99  * update secp256k1 package
   100  * add storage limit safety margin (100 byte)
   101  * fix some Micheline translation bugs for nested list/comb-pair ambiguities
   102  * fix decoding for some single-value entrypoints
   103  * support MVGO_API_KEY env variable
   104  
   105  ## v1.16.6
   106  
   107  * sanitize params handling to prevent uninitialized values
   108  * fix vote result decoding which changed in new protocol releases
   109  * remove token address IsValid() function as token identity is always valid now (including zero contract hash, zero token id which apps may use for special meaning, e.g. representing tez)
   110  
   111  ## v1.16.5
   112  
   113  * fix deployment database scan required for static param init
   114  
   115  ## v1.16.4
   116  
   117  * backport params helpers for block/cycle calculations
   118  * add a refactored version of a hard-coded protocol activation database
   119  
   120  ## v1.16.3
   121  
   122  * fix Micheline type compare for nested optional structs
   123  * fix watermarks for block and consensus op signing
   124  
   125  ## v1.16.2
   126  
   127  * working fix for crashes when decoding illegally typed Micheline values
   128  
   129  ## v1.16.1
   130  
   131  * incomplete fix for crashes when decoding illegally typed Micheline values
   132  
   133  ## v1.16.0
   134  
   135  Refactoring and Mumbai support
   136  
   137  BREAKING: Note that due to a new internal address encoding data written by binary marshalers from earlier versions of MvGo is incompatible.
   138  
   139  * Changed memory layout and interface for all hash types and `mavryk.Address` to save 24 bytes per address/hash that was previously required for a byte slice header
   140    - hashes and addresses directly comparable now and can thus be used as Golang Map keys
   141    - renamed `Address.Bytes()` to `Encode()`
   142    - renamed `Address.Bytes22()` to `EncodePadded()`
   143    - use `Address.Decode(buf []byte)` instead of `UnmarshalBinary()` for reading binary encoded addresses
   144  * Simplified `mavryk.Params` removing unused fields and protocol deployment handling
   145  * Added smart rollup support to rpc and codec packages
   146  * Added binary encoders for new operations since Lima
   147    - `drain_delegate`
   148    - `increase_paid_storage`
   149    - `set_deposits_limit`
   150    - `update_consensus_key`
   151    - `transfer_ticket`
   152    - `smart_rollup_add_messages`
   153    - `smart_rollup_cement`
   154    - `smart_rollup_originate`
   155    - `smart_rollup_execute_outbox_message`
   156    - `smart_rollup_publish`
   157    - `smart_rollup_recover_bond`
   158    - `smart_rollup_refute` (incomplete)
   159    - `smart_rollup_timeout`
   160    - `dal_attestation`
   161    - `dal_publish`
   162  
   163  ## v1.15.0
   164  
   165  Lima support
   166  
   167  * Separate transfer_ticket op from rollup
   168  * Add new delegate fields
   169  * Add new block metadata fields
   170  * Add ticket receipts
   171  * Add Lima opcodes
   172  * Add deposit entrypoint
   173  * Add Lima constants and update params
   174  * Update block header to Lima convention
   175  * Add Lima op types, tags and op handlers for `drain_delegate` and `update_consensus_key`
   176  
   177  Other changes
   178  
   179  * Don't clone primitive trees when used in Micheline Value
   180  * Export Micheline typdef match
   181  * Fix setting amount in TxArgs.Encode
   182  * Cache head block ops in observer to avoid race conditions
   183  * improve base58 performance
   184  * Disable balance_of type check for tz12
   185  * Allow setting metadata mode as client config
   186  * Add token address type
   187  * Add bigmap event filter
   188  * Fix observer hashval reset
   189  
   190  ## v1.14.2
   191  
   192  * Add Micheline map builder helpers
   193  * Add Zarith number arithmetics functions
   194  * Improve FA1 and FA2 token helpers
   195  
   196  ## v1.14.1
   197  
   198  * Fix costs calculation for internal gas
   199  
   200  ## v1.14.0
   201  
   202  * Simplify protocol constants (drop constants not required for indexing or to send txs)
   203  * Add Kathmandu EMIT opcode
   204  * Add parsing for Kathmandu events
   205  * Add parsing for Kathmandu ops `vdf_revelation` and `increase_paid_storage`
   206  * Add op type enums and tags for Kathmandu TORU, SCORU and DAL ops
   207  * Fix block offset calculations (regression from 1.13.2)
   208  * Improve Micheline type handling (nested lists)
   209  * Fix fee estimation
   210  * Add Zarith helpers
   211  * Improve bigmap detection from Micheline value
   212  * Add simple Micheline type checker
   213  
   214  ## v1.13.2
   215  
   216  * Don't use zero address for contract deployments
   217  * Fix transaction burn accounting
   218  * Fix origination burn accounting
   219  * Remove unnecessary start block offsets from recent testnet configs
   220  * Fix RPC execution receipt error handling
   221  * Add simple Zarith arithmetic funcs
   222  * Add log to contract package
   223  * Fix negative block offset in RPC
   224  * Add Deku contract address support
   225  * Harden address set against hash collisions
   226  * Read more token metadata
   227  * Improve decoding Go structs from Micheline primitives
   228  * Improve bigmap detection
   229  * Fix ghostnet start cycle
   230  
   231  ## v1.13.1
   232  
   233  * Add Ghostnet support
   234  * Clear old code after constants have been expanded
   235  * Handle top-level constant in script code
   236  * Update value render testdata
   237  * Skip hashing invalid prims
   238  * Add jakarta to list of mainnet protocols
   239  
   240  
   241  ## v1.13.0
   242  
   243  * Add method to expose token uri
   244  * Support gas/milligas selection
   245  * Rollup data decoding
   246  * Rename nft ledger types
   247  * Add IPFS url helper
   248  * Improve typedefs
   249  * Calculate block in cycle position
   250  * Fix marshal empty primitive
   251  * Fix Jakarta voting power change
   252  * Add noview token type
   253  * Add fa2 balance helper
   254  * Make call args chainable
   255  * Add mumav prim helper
   256  * Support address add/list for remote signer
   257  * Fix merging params
   258  * Fix min fee, add min-fee helper
   259  * Client function to read contract balance
   260  * Expose contract errors
   261  * Fix RPC run call
   262  * Add call option to select BlockID when simulating operations
   263  * Fix writing binary block header
   264  * Simple rollup RPC support
   265  * Add cycles per vote period constant
   266  * Add ticket value wrapper
   267  * Add LB toggle vote
   268  * Fix bootstrap protocol identification
   269  * Add Jakarta support (params, hashes, opcodes, op types)
   270  * Fetch chain id if not yet set
   271  * Refactor lazy bigmap updates
   272  * Fix initializing chain params in RPC client
   273  * Preserve API key privacy
   274  * Fix BSON protocol data decode and encode
   275  
   276  ## v1.12.3
   277  
   278  * Add quipuswap pool example
   279  * Add remote signer example
   280  * Fix remote signer package name
   281  * Improve path extraction from raw Micheline
   282  * Fix getting integers from Value
   283  * Add decimal string export to Zarith numbers
   284  * Improve contract and token handling
   285  * Fix generic signature bytes output
   286  * Decode contract and token metadata
   287  * Support run_code execution
   288  * Add IPFS Url and allow access to http client
   289  
   290  ## v1.12.2
   291  
   292  * Add method to create TxArgs
   293  * Add default testnet params
   294  * Allow custom contract calls via TxArgs
   295  * Read contract address after origination
   296  * Avoid double fee estimation during Send()
   297  * Add a remote signer client
   298  * Refactor signer interface for compatibility with remote signers
   299  
   300  ## v1.12.1
   301  
   302  * Add simple transfer example
   303  * Refactor tx and contract call sending
   304  * Add FA examples and convenience methods
   305  * Add in-memory signer
   306  * Support more tenderbake op type changes, add tests
   307  * Refactor params loading to avoid uninitialized chain id
   308  * Add base tests
   309  * Optimize primitive JSON encoding
   310  * Add prim size counter
   311  * Add optimized script decoder
   312  * Default to Ithaca
   313  * Improve encoding performance
   314  * Fix vesting contract test case
   315  * Fix translating embedded Elts in bigmap origination data
   316  * Fix comparing zero length annots
   317  * Cleanup old protocol settings
   318  * Update entrypoint testcases
   319  * Update testcases to new bigmap ptr type
   320  
   321  ## v1.12.0
   322  
   323  * Rename entrypoint call to name
   324  * Use uint64 for script and storage hashes
   325  * Use int64 as bigmap pointers
   326  * Add schema decode helper
   327  * Update rights RPC call
   328  * Add known burn address
   329  * Fix imports
   330  * Add initial NFT ledger unmarshalling support
   331  * Add type checked prim path getters
   332  * Remove deprecated hashes and flags
   333  * Support Ithaca snapshot RPC, cleanup params
   334  * Support pre-Carthage contract flags
   335  * Add helper functions to hashes
   336  * Remove v002 bug handling, support Ithaca snapshot offset change
   337  * Remove indexer-centric operation types
   338  * Fix set deposits limit encoding
   339  
   340  ## v1.12-rc1
   341  
   342  - Refactored wallet functionality into rpc package
   343  - Refactored op construction
   344  - Refactored cost and limit types
   345  - Initial contract and token support
   346  - Added Ithaca constants, hashes, types and RPC updates
   347  
   348  ## v1.11-rc0
   349  
   350  This is the first release of MvGo that allows sending transactions. All types and interfaces are engineered to be easily composable. We start with essential low level types/functions for public and private key handling, operation encoding/signing/broadcast and mempool/block monitoring. This feature set is already fully sufficient to build end-user applications including the possibility to send smart contract calls, but may at times be less convenient. To simplify complex use cases we will introduce higher order functionality in the next release candidate.
   351  
   352  **Package `tezos`**
   353  
   354  - New: parse, generate, sign, verify operations Ed25519, Secp256k1 and P256 private and public keys
   355  - New: reading and writing of encrypted keys
   356  - New: explicit EndorsementWithSlot support
   357  - Refactored Zarith encoder, added unsigned Zarith type
   358  
   359  **Package `micheline`**
   360  
   361  - Refactored transaction parameter encoding
   362  
   363  **Package `rpc`**
   364  
   365  - New: POST requests to forge, simulate and broadcast operations
   366  - New: calls accept interface type `BlockID` which can be
   367      - `BlockAlias` (genesis or head)
   368      - `BlockLevel` an int64
   369      - `mavryk.BlockHash` for named blocks
   370      - `BlockOffset` for offsets from a BlockID
   371  - New: `MempoolMonitor` to monitor new mempool transactions
   372  - Refactored `Mempool` type to return the same Operation type like block calls
   373  - Refactored contract, rights and vote calls for consistent naming and parameters
   374  - Refactored operations
   375    - renamed `OpKind()` into `Kind()`
   376    - renamed `RevelationOp` into `Reveal` and removed `..Op` suffix from all types
   377    - renamed `Origination.Manager()` into `Origination.ManagerAddress()`
   378    - unified operation metadata and results
   379    - added helpers to extract metadata, result and costs from typed interface
   380  
   381  **Package `encoding`**
   382  
   383  - New package for operation construction and serialization
   384  
   385  **Package `wallet`**
   386  
   387  - New package for account and operation management
   388  - New types `Result`, `FutureResult ` and `Cost` to work with forge/simulate/broadcast results
   389  - New `Monitor` to observe transaction completion
   390  
   391  ### Breaking changes
   392  
   393  - RPC functions now use `BlockID` (BlockLevel, BlockHash, BlockOffset) to reference a block, all related functions that used to take a block height or hash now take a BlockID
   394  
   395  ## v0.11
   396  
   397  Micheline
   398  - renamed `SearchEntrypointName()` to `ResolveEntrypointPath()`
   399  - support on-chain views in script
   400  - support global constant detection and injection into script
   401  - support timelock detection and types
   402  - add new type `View` and related helper functions