Skip to content

Releases: dfinity/pocketic

Version 4.0.0

02 May 08:17
ccf649b
Compare
Choose a tag to compare

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. The state_label and op_id are returned by ApiResponse::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 in SubnetSpec.
  • New endpoints submit_ingress_message (submit an ingress message without executing it) and await_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

14 Feb 17:14
f6ec3bb
Compare
Choose a tag to compare

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

07 Feb 16:24
e76359b
Compare
Choose a tag to compare

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

29 Jan 14:30
Compare
Choose a tag to compare

Fixed

  • Fixed a bug where get_subnet() would return results for non-existent canisters, causing canister_exists() to return true for non-existent canisters in client libraries
  • Fixed a bug related to PocketIcs 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

29 Jan 14:28
Compare
Choose a tag to compare

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
  • read/pub_key endpoint to retrieve the public key of a subnet
  • read/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 an effective_principal field

Removed

  • Checkpointing
  • read/canister_exists endpoint (superseded by read/get_subnet)
  • read/root_key endpoint (superseded by read/pub_key)

Full changelog: CHANGELOG.md
Commit hash: 29ec86dc9f9ca4691d4d4386c8b2aa41e14d9d16

1.0.0

29 Jan 14:26
Compare
Choose a tag to compare

Added

  • Blocking REST-API: Encode IC-call in endpoint, not in body.

Full changelog: CHANGELOG.md
Commit hash: 307d5847c1d2fe1f5e19181c7d0fcec23f4658b3

0.1.0

29 Jan 14:24
Compare
Choose a tag to compare

Added

  • Blocking API to make IC-calls to a PocketIC server.

Full changelog: CHANGELOG.md
Commit hash: 865a816108b31956bd449282e5803ce40007789f