All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.13.5 (2024-10-28)
- Added
tz4
address support.
- Octez binaries updated to v20.3-1
3.13.4 - 2024-08-19
- Fixed testcontainers version constraint.
3.13.3 - 2024-07-12
- Fixed Python 3.12 compatibility on .deb-based systems.
secp256k1
dependency replaced withcoincurve
.
3.13.2 - 2024-06-27
- Fixed Parisnet operation injections.
3.13.1 - 2024-06-24
- Fixed Google Colab installation
3.13.0 - 2024-06-24
- ParisCnet protocol support
- Octez binaries updated to v20.1-1
- Fixed Python 3.8 compatibility
3.12.1 - 2024-06-11
- Octez binaries updated to v20.0-3
3.12.0 - 2024-05-27
- Parisnet protocol support
- Compatibility with Python 3.12
- Octez binaries updated to v20.0-rc1
3.11.3 - 2024-02-23
- Updated cryptographic libraries
3.11.2 - 2024-02-22
- Fixed protocol parameters for sandboxed node
3.11.1 - 2024-02-07
- Forging/encoding for Smart Rollup State hash
3.11.0 - 2024-02-05
- Compatibility with Oxfordnet protocol
- Octez binaries updated to v19.0
3.10.3 - 2023-11-27
- Smart rollup address validation
3.10.2 - 2023-07-05
- Missing validation pass info for sr operation kinds
3.10.1 - 2023-07-04
- Sending/forging new operation kinds:
transfer_ticket
,smart_rollup_add_messages
, andsmart_rollup_execute_outbox_message
3.10.0 - 2023-06-13
- Compatibility with Nairobi protocol
3.9.0 - 2023-03-29
- Quickstart tutorial
NAT
,BYTES
opcodes support- Minimal support for
tz4
andsr1
addresses
INT
opcode semantics changed- Block time and dependent variables are changed according to the proto
- Sandbox node binaries updated to v16
3.8.0 - 2023-02-21
- Conflicting
bson
module is replaced by an alternative
- Compatibility with Python 3.11
- Docker images are significantly smaller (231MB -> 107MB for
pytezos
, 834MB -> 234MB formichelson-kernel
3.7.4 - 2023-01-12
TICKET
binary tag and semantics was changed in accordance with Lima
LAMBDA_REC
instruction support- Optional custom headers for node RPC requests
3.7.3 - 2022-12-20
- Added new reserved entrypoint
deposit
which changes the way forging works - Update test container version
- Fixed error message formatting in
wait_operations
helper (@owen9825
3.7.2 - 2022-11-22
ContractView.run_view
helper that allows to execute on-chain view via special RPC endpoint
3.7.1 - 2022-10-15
- Fixed lazy storage diff parsing in
OperationResult
helper class UNPAIR n
is now actually counting leaves (by @konchunas
3.7.0 - 2022-09-17
EMIT
instruction support added
consumed_milligas
is used instead of deprecatedconsumed_gas
fieldghostnet
is now a default network in pytezos client (as it is permanent
3.6.1 - 2022-08-04
- one can supply initial storage when executing a callback view
- Fixed PLY & -OO mode incompatibility
- Fixed
pytezos sandbox
command crash. - Fixed setting default logging config.
- Large batches do not hit gas per block exhausted anymore, fee is specified for the first operation only.
3.6.0 - 2022-06-28
- Added Jakarta primitives support:
tx_rollup_l2_address
,MIN_BLOCK_TIME
,sapling_transaction_deprecated
.
- Fixed
gas_exhausted.block
error when sending multiple operations in a single batch.
- Protocols older than 13.0 (Jakatra) are no longer supported.
3.5.1 - 2022-05-18
- Unforging for
pair
with 3 args and annots was working incorrectly (@konchunas
3.5.0 - 2022-04-29
- Wait helper edge case: operations can be both included in chain and present in mempool
- Batch operation build was accompanied by many useless RPC requests
minimal_block_delay
constant might be absent, defaults to 0 (by @jpic
- Minimum Python version is now 3.8, Python 3.10 support is added
- Blocks observer now handles reorgs and waits for N levels instead of N blocks
- time_between_blocks no longer exists, minimum_block_delay used instead
- sandbox tests -> re-create node container per each case (cannot rollback in Tenderbake
- REPL:
CREATE_CONTRACT
is now able to originate contracts with views (by @konchunas
SUB_MUTEZ
instruction support in REPL- Implementations of
Operation_list_hash
,Operation_list_list_hash
, andBlock_payload_hash
- Issue with
lazy_storage_diff
run_code
does not merge lazy storage diffs correctly
- Default protocol is Ithaca
- Sandbox node version is updated to v12
- Logging configuration is not overwritten by pytezos
- Installation hints for M1 (credits to @konchunas
- Metadata big map can be located in a nested structure, not necessarily on the top-level (as per TZIP-16
- New testnet faucet is handled properly (the json format has slightly changed
- Incorrect wrapping of static methods while injecting jupyter docs (py3.10
- Unable to call intermediate entrypoints from the contract interfaceE
- Sandboxed node wasn't exposed at localhost causing connection issues on MacOS and Windows
- Big map key of nested or/pair type wasn't handled correctly
Key.verify
returnsTrue
if the signature is valid (it wasNone
before
- Always try to fetch the latest storage in off-chain or on-chain views
- Fixed case with
GET
instruction returningNone
with wrong type (key type instead of value type
- explicit handling of the 401 to return a more meaningful response [@kaellis]
- Regression in offline view behavior for storage with bigmaps
- Ability to patch VIEW results when using
interpret()
oronchain_view()
- Results returned from the callback views are now fully-annotated (based on the callback contract type
- Changelog π
- Support for on-chain views:
- Multiple
view
sections are correctly parsed/unparsed - in REPL
VIEW
instruction works both with self-recursive calls and on-chain contracts (if shell is attached ContractInterface
provides a seamless interface to views (works pretty much the same as with off-chain views
- Multiple
- Partial support for global constants:
- added new operation kind
register_global_constant
ExecutionContext
allows to register constants as wellContractInterface
resolves all the constants using the context upon creation- Since there is no RPC for retrieving on-chain global constants proper resolving cannot be implemented
- It is not possible to use constants in transaction parameters and origination script with high-level entities
- added new operation kind
- Minimal support for timelock feature:
chest
,chest_key
, andCHEST
primitives are supported in parser, but not in the REPL- There are currenty no way to construct a timelock
- Hangzhou (PtHangz2) RPC endpoint (
hangzhou
is the default shell now), sandbox image (v11.0-1
pytezos sandbox
CLI command now works properly and provides almost flextesa-like experience at lesser cost- Operation branch was calculated incorrectly based on the TTL (before
head~{60-ttl}
, afterhead~{120-ttl}