Releases: dfinity/pocketic
Releases · dfinity/pocketic
Version 4.0.0
4.0.0 - 2024-04-30
Added
- New endpoints
/instances/<instance_id>/auto_progress
and/instances/<instance_id>/stop_progress
to make IC instances
progress (updating time and executing rounds) automatically. - New endpoints
/instances/<instance_id>/api/v2/...
supporting the HTTP interface of the IC as described
by the Interface Specification. - Breaking: New subnet specification allowing to set very high instruction limits for (asymptotic) benchmarking canister code.
- New endpoint
/read_graph/:state_label/:op_id
for polling on a long-running operation. Thestate_label
andop_id
are returned byApiResponse::Started{state_label, op_id}
. - New CLI option
--port-file
to specify a file to which the PocketIC server port should be written. - New endpoints
/http_gateway
and/http_gateway/:id/stop
to start and stop an HTTP gateway. - Breaking: DTS is enabled on a subnet based on a new field
dts_flag
inSubnetSpec
. - New endpoints
submit_ingress_message
(submit an ingress message without executing it) andawait_ingress_message
(execute rounds on the PocketIc instance until the message is executed).
Fixed
- Potentially breaking: Subnet IDs are derived from the subnets' public keys by default.
- Potentially breaking: The time of every subnet advances by 1ns before every round execution to make sure the subnet time is strictly increasing in every round.
Full changelog: CHANGELOG.md
Commit hash: bb76748d1d225c08d88037e99ca9a066f97de496
Version 3.0.1
3.0.1 - 2024-02-14
Fixed
- traps in tECDSA calls
- server rejects jsons containing unimplemented variants of SubnetSpec
- inspect_message no longer panics when call is rejected
Full changelog: CHANGELOG.md
Commit hash: 0e49fd1a2944bbd7aa4aab3d9381aa0676dcb97f
3.0.0
3.0.0 - 2024-02-06
Added
- New endpoint
/api.json
that serves an OpenAPI documentation of the PocketIC server. - Instances can be created from existing NNS state.
Changed
- Breaking: The create_instance endpoint accepts an ExtendedSubnetConfigSet, which allows more options.
Fixed
- Canister inspect message errors when executing ingress messages are returned as canister execution results rather than request errors.
- Subnets agree on which subnet id is the NNS subnet id. Fixes the problem where a canister installation via CMC directly would fail.
Full changelog: CHANGELOG.md
Commit hash: 6b7b236790c1fd4e2aeaf3444244b270c7378b02
2.0.1
Fixed
- Fixed a bug where
get_subnet()
would return results for non-existent canisters, causingcanister_exists()
to returntrue
for non-existent canisters in client libraries - Fixed a bug related to
PocketIc
s internal time being set to the current time, which lead to non-deterministic behavior
Changed
- Cycles consumption is now more appropriately scaled according to the size of the subnet
Full changelog: CHANGELOG.md
Commit hash: 69e1408347723dbaa7a6cd2faa9b65c42abbe861
2.0.0
Added
- Support for multiple subnets
- Support for cross-subnet canister calls
- Improved support to start the PocketIC server from the command line:
- Ability to start the server without any flags
- Use
-p or --port
to specify a port where the server should listen - Use
--ttl
to specify for how long the server should be running before it shuts down --pid
flag is no longer required and discouraged to use from the command line
- Improved logging support:
- Use the
POCKET_IC_LOG_DIR
environment varible to specify where to store logs - Use the environment variable
POCKET_IC_LOG_DIR_LEVELS=trace
to specify the log level of the logs that are written to the log file
- Use the
read/pub_key
endpoint to retrieve the public key of a subnetread/get_subnet
endpoint to retrieve the subnet id of a canister
Changed
- POST
instances/
endpoint requires a subnet config - POST
instances/
endpoint returns a toplogy of the instance /read/query
and/update/execute_ingress_message
require aneffective_principal
field
Removed
- Checkpointing
read/canister_exists
endpoint (superseded byread/get_subnet
)read/root_key
endpoint (superseded byread/pub_key
)
Full changelog: CHANGELOG.md
Commit hash: 29ec86dc9f9ca4691d4d4386c8b2aa41e14d9d16
1.0.0
Added
- Blocking REST-API: Encode IC-call in endpoint, not in body.
Full changelog: CHANGELOG.md
Commit hash: 307d5847c1d2fe1f5e19181c7d0fcec23f4658b3
0.1.0
Added
- Blocking API to make IC-calls to a PocketIC server.
Full changelog: CHANGELOG.md
Commit hash: 865a816108b31956bd449282e5803ce40007789f