Skip to content

Releases: polywrap/wrap-cli

Polywrap Origin (0.9.2)

13 Oct 22:33
eabe310
Compare
Choose a tag to compare

Polywrap Origin (0.9.2)

Bugs

  • PR-1327 @polywrap/schema-bind: Added missing serialization bindings for module method arguments & return values.

Polywrap Origin (0.9.1)

12 Oct 22:28
d32bbe9
Compare
Choose a tag to compare

Polywrap Origin (0.9.1)

Bugs

  • PR-1320 @polywrap/ethereum-plugin-js: Proper view method result parsing.
  • PR-1317 @polywrap/core-js, @polywrap/uri-resolvers-extensions-js: Properly check for null when using UriResolverExtensionFileReader to read wasm module.
  • PR-1318 polywrap CLI: The codegen command properly applies the -g, --codegen-dir option.
  • PR-1318 @polywrap/templates: Fix several issues within the wasm template projects.
  • PR-1316 polywrap CLI: Fix an issue where the CLI process would hang after the command had completed.
  • PR-1315 polywrap CLI: Minor cleanup post logging refactor.
  • PR-1310 polywrap CLI: Use base images from the "polywrap" Docker Hub organization.

Polywrap Origin (0.9.0)

10 Oct 09:38
d0662d9
Compare
Choose a tag to compare

Polywrap Origin (0.9.0)

Features

  • PR-1306 polywrap CLI: Console logging has been improved, and all commands now support -q, --quiet and -v, --verbose options.
  • PR-1204 polywrap CLI: Build times are faster for wasm wrappers!!! The build command has been updated to include the concept of "build strategies". The existing way of building (via Dockerfile image layers) is available through the polywrap build --strategy image command. Building without Docker (if all build-time dependencies are installed locally) can be performed using --strategy local. And lastly, the new default build strategy is --strategy vm, which runs all build steps in a pre-built base image, allowing for near-local speeds (once the image has been downloaded).
    • NOTE: --strategy image is useful for source-code verification, something we'll be better supporting in the future.
  • PR-1297 @polywrap/schema-bind: wasm/rust now has support for println!(...) and print!(...) macros. They have been redefined to use the polywrap_wasm_rs::wrap_debug_log(...) function.
  • PR-1192 @polywrap/client-js: PolywrapClient.invoke(...) now supports invoke-time environment variables, passed in via the env property.
  • PR-1270 polywrap CLI: The manifest command has been added:
Usage: polywrap manifest|m [options] [command]
Inspect & Migrade Polywrap Manifests
Options:
  -h, --help                  display help for command
Commands:
  schema|s [options] [type]   Prints out the schema for the current manifest format.
  migrate|m [options] [type]  Migrates the polywrap project manifest to the latest version.
  help [command]              display help for command
  • PR-1301 Added a --format option to the migrate command, enabling the targeting of specific format versions when migrating manifests (ex: polywrap manifest migrate -f 0.2.0).
  • PR-1218 polywrap CLI, @polywrap/tracing-js: The tracing infrastructure module (i.e. polywrap infra up --modules tracing) now uses version 0.11.0 of the SizNoz tracing service. Additionally the underlying @polywrap/tracing-js library has been updated to support this, and also now has named traces via the traceName configuration property.

Bugs

  • PR-1304 polywrap CLI: Generated build files from the vm strategy now have proper file-system permissions.
  • PR-1305 @polywrap/ipfs-plugin-js: Fallback providers are now properly being used.
  • PR-1296 polywrap CLI: The polywrap.app.yaml and polywrap.plugin.yaml project manifest file names are being deprecated in favor of a unified polywrap.yaml file for all types of projects (wasm, interface, plugin, app). They will still silently work now, but in the future will no longer be recognized defaults.
  • PR-1303 @polywrap/core-js: The Uri class now properly formats itself when being JSON.stringify(...)'d.
  • PR-1288 @polywrap/core-js: Correctly handle errors in the getImplementations algorithm.
  • PR-1298 @polywrap/ipfs-plugin-js, @polywrap/ipfs-resolver-plugin-js: Remove the use of require(...) statements.
  • PR-1286 @polywrap/polywrap-manifest-types-js: Manifest migration logic has been upgraded to use a strategy that finds a "shortest path" between the from and to format versions, using predefined migration functions.

Breaking Changes

  • PR-1284 @polywrap/core-js: Wrapper.getFile(...) and Wrapper.getManifest(...) no longer require a Client instance as a second function argument.
  • PR-1291 @polywrap/core-js, @polywrap/client-js: All ClientConfig properties are now readonly.
  • PR-1287 @polywrap/core-js: executeMaybeAsyncFunction has been removed.
  • PR-1277 @polywrap/client-js: The following methods now return the Result<T, E> type, and will not throw exceptions: getManifest(...), getFile(...), getImplementations(...), query(...), invokeWrapper(...), invoke(...), loadWrapper(...).
  • PR-1192 @polywrap/client-js: PolywrapClient.invoke(...) no longer accepts invoke-time reconfiguration via the config property. Users who wish to reconfigure the client can do so by calling client.getConfig(), modifying it via the ClientConfigBuilder, and constructing a new PolywrapClient instance.

Polywrap Origin (0.8.0)

24 Sep 18:24
b95c714
Compare
Choose a tag to compare

Polywrap Origin (0.8.0)

Features

  • PR-1083 @polywrap/client-config-builder-js: The default client config now has the ability to resolve http URIs (ex: wrap://http/domain.com/path) via the @polywrap/http-resolver-plugin-js.
  • PR-1083 polywrap CLI: Hosting & deploying wrappers via HTTP is now possible with the new http deploy & infra modules.
  • PR-1097 & PR-1272 polywrap CLI, @polywrap/polywrap-manifest-schemas, @polywrap/polywrap-manifest-types-js: polywrap.deploy.yaml format version 0.2.0 has been added, making the schema similar to the polywrap.test.yaml schema, where users define a series of jobs to be performed.
  • PR-1097 polywrap CLI: Recursive ENS domain name registration is now supported via the ens-recursive-name-register deploy module.
  • PR-1060 @polywrap/ipfs-interface: Added fallbackProviders: [String!] to type Options.
  • PR-1169 @polywrap/core-js, @polywrap/client-js: URI resolution has been refactored. Resolution is now implemented in a single IUriResolver instance.
  • PR-1169 @polywrap/client-js: invokeWrapper(...) has been added to the PolywrapClient class.
  • PR-1169 @polywrap/client-config-builder-js: setResolver(...) has been added, enabling users to set the IUriResolver instance on the builder's ClientConfig.
  • PR-1133 @polywrap/core-js, @polywrap/client-js: getPluginByUri(...) has been added to the Client interface, and PolywrapClient class.
  • PR-1231 polywrap CLI: build command now supports the --no-codegen option, which disables the automatic codegen step when compiling projects.

Bugs

  • PR-1244 polywrap CLI: Workflows can now properly access nested properties of previous job step output.
  • PR-1243 @polywrap/schema-compose: Multi-line imports are now properly supported within block comments.
  • PR-1097 polywrap CLI: ENS deployment URIs generated via the deploy command now properly contain the network's name in the URI.
  • PR-1234 polywrap CLI: The run command and underlying Workflow system has had multiple bug fixes added.
    • Workflow validation always printed "SUCCESS" and errors were never printed.
    • Workflow manifest was not being validated.
    • The stderr messages were not being output (previously unnoticed because errors were not printed).
  • PR-1220 @polywrap/schema-bind: wasm/rust bindings handle the serialization of reserved words via serde, so that the original name of properties is reserved during encoding.
  • PR-1219 @polywrap/schema-bind: wasm/rust bindings now properly handle imported interface modules.
  • PR-1229 polywrap CLI: run command now properly resolves the validation: ... property within the polywrap.test.yaml manifest relative to the manifest's directory, instead of the user's cwd.

Breaking Changes

  • PR-1097 polywrap CLI: The local-dev-ens deploy module has been removed.
  • PR-1060 @polywrap/ipfs-plugin-js: IpfsPluginConfig has been removed, and all properties (provider, fallbackProviders) have been moved into the wrapper's Env.
  • PR-1169 @polywrap/client-js: loadUriResolvers(...) has been removed from the PolywrapClient class.
  • PR-1169 @polywrap/client-js: resolveUri(...) has been renamed to tryResolveUri(...) on the PolywrapClient class.
  • PR-1169 @polywrap/core-js, @polywrap/client-js: getUriResolvers(...) has been renamed to getUriResolver(...) on the Client interface and PolywrapClient class.
  • PR-1169 @polywrap/client-config-builder-js: addUriResolver(...) and setUriResolvers(...) have been removed from the ClientConfigBuilder class.
  • PR-1169 @polywrap/core-js, @polywrap/wasm-js: Moved the WasmWrapper class and all related types into their own package named @polywrap/wasm-js.
  • PR-1235 @polywrap/core-js: Uri.from(...) has been added, and toUri(...) has been removed.

Polywrap Origin (0.7.0)

08 Sep 16:25
d7b1762
Compare
Choose a tag to compare

Polywrap Origin (0.7.0)

Bugs

  • PR-1158 @polywrap/client-config-builder-js: The following plugins have been removed from the default config, and replaced with their WebAssembly wrapper equivalents available at the same URIs:
    • wrap://ens/uts46.polywrap.eth
    • wrap://ens/sha3.polywrap.eth
    • wrap://ens/graph-node.polywrap.eth
  • PR-1213 @polywrap/schema-bind: Nested map types (i.e. Map<K, Map<K, V>>) are now properly supported for wasm/rust and wasm/assemblyscript.
  • PR-1213 @polywrap/wasm-as: Nested map types (i.e. Map<K, Map<K, V>>) are now properly msgpack encoded.
  • PR-1212 polywrap CLI: wasm/rust build image now uses the build-deps cargo extension to properly build dependencies in a seperate Dockerfile layer, enabling the caching of compiled artifacts.

Breaking Changes

  • PR-1217 @polywrap/schema-bind: plugin/typescript and app/typescript bindings have been updated to improve type safety, and no longer accept generic properties for all method argument types.
  • PR-1051 polywrap CLI: polywrap plugin codegen and polywrap app codegen commands have been moved into the polywrap codegen, which can now generate types for any Polywrap project (wasm, plugin, app).
  • PR-1154 @polywrap/schema-bind: The wasm/assemblyscript bindings have been updated to use Box<T> | null for all optional scalar types, instead of the Option<T> class used before.
  • PR-1154 @polywrap/ws-plugin-js: The WebSocket plugin's schema has been updated to use UInt32 for socket IDs, instead of Int32.

Polywrap Origin (0.6.0)

02 Sep 15:58
d2464c4
Compare
Choose a tag to compare

Polywrap Origin (0.6.0)

Features

  • PR-1100 polywrap CLI: A new manifest named polywrap.test.yaml has been added, which encapsulates workflows and validation scripts.
  • PR-1100 @polywrap/polywrap-manifest-types-js: polywrap.test manifest types have been added.
  • PR-1100 @polywrap/polywrap-manifest-schemas: polywrap.test manifest schema has been added.

Bugs

  • PR-1205 polywrap CLI: The run command's output now has deterministic ordering for text emitted from both workflow & validation steps.
  • PR-1194 @polywrap/msgpack-js: Nested Map<K, V> serialization is now supported.
  • PR-1199 @polywrap/core-js @polywrap/client-js: Runtime type inference has been improved to be compatible with JavaScript minimization optimizations where the Class.name static property is removed.
  • PR-1196 @polywrap/core-js: All WrapperCache interface methods have been updated to return MaybeAsync promises, allowing developers to implement async logic.

Breaking Changes

  • PR-1100 polywrap CLI: run command no longer accepts the <workflow> argument, and instead uses the new polywrap.test.yaml manifest.
  • PR-1100 @polywrap/client-js: The run method has been removed.
  • PR-1100 @polywrap/core-js: All Workflow related types have been removed, and migrated into the manifest packages and the CLI.

Polywrap Origin (0.5.0)

26 Aug 22:43
0c12092
Compare
Choose a tag to compare

Polywrap Origin (0.5.0)

Features

  • PR-1042 @polywrap/client-js: The PolywrapClientConfig now has a tracerConfig: Partial<TracerConfig> property, allowing users to easily configure the tracing level, and various toggles related to tracing.
  • PR-1042 polywrap CLI: Added the tracer infra module, allowing developers to easily spin up an OpenTelemetry compatible tracing server. This can be used to gather runtime tracelog events from the PolywrapClient.
  • PR-1042 @polywrap/tracing-js: The @Tracer.traceMethod() function decorator now has an optional TracingLevel argument.
  • PR-1143 @polywrap/ethereum-plugin-js: The EthereumPluginConfig now has a connections property, which takes an instance of the Connections class. This new implementation makes configuring new network connections at runtime easier and more application developer friendly.
  • PR-1045 @polywrap/client-config-builder-js: The ClientConfigBuilder has been added to make building & customizing PolywrapClientConfigs easier than before with a simple user friendly interface.
  • PR-1036 @polywrap/client-js: Added the wrapperCache: WrapperCache property to the PolywrapClientConfig interface.
  • PR-1036 @polywrap/core-js: Added the WrapperCache core type, along with a SimpleCache implementation that persists wrappers within a map.

Bugs

  • PR-1186 @polywrap/schema-bind: Using a Map<K, V> type within the Map's value (V) template argument has been fixed.
  • PR-1179 polywrap CLI: Improved the readability of the polywrap build -v command's output from the Docker child process.

Breaking Changes

  • PR-1042 @polywrap/client-js: The PolywrapClientConfig's tracingEnabled property has been removed, and replaced by tracerConfig.
  • PR-1143 @polywrap/ethereum-plugin-js: The EthereumPluginConfig's networks property has been removed, and replaced by connections.
  • PR-1045 @polywrap/client-js: The getDefaultClientConfig() & defaultIpfsProviders exports have been moved to the @polywrap/client-config-builder-js package.

Polywrap Origin (0.4.1)

22 Aug 18:55
9a3aca8
Compare
Choose a tag to compare

Polywrap Origin (0.4.1)

Features

  • PR-1171 @polywrap/schema-bind: Handle reserve words (keywords) for object, enum, and method names.

Bugs

  • PR-1168 @polywrap/schema-bind: Fix imported optional map issue in Rust bindings.
  • PR-1167 Remove all wrap-man folders, that were published to solve the plugin's circular dependency issue.

Polywrap Origin (0.4.0)

20 Aug 09:12
8414c46
Compare
Choose a tag to compare

Polywrap Origin (0.4.0)

Features

  • PR-1091 @polywrap/polywrap-manifest-schemas: Polywrap project manifests (polywrap.yaml, polywrap.app.yaml, polywrap.plugin.yaml) have a new format 0.2.0, which restructures the manifest into 3 top level properties: project, source, and extensions. Additionally all project manifests can be given the polywrap.yaml file name.
  • PR-1092 @polywrap/ws-plugin-js: Added a WebSocket plugin.
  • PR-1096 @polywrap/client-js: Expose the noValidate option for the client.getManifest(...) method.
  • PR-820 polywrap CLI: docgen command added, allowing wrapper developers to easily generate documentation. Supported formats: schema, docusaurus, jsdoc.
  • PR-1068 @polywrap/ethereum-plugin-js: requestAccounts method added, which utilizes the eth_requestAccounts RPC method on the configured provider.

Bugs

  • PR-1142 wasm/rust: Map<K, V> bugs have been fixed.
  • PR-1140 polywrap CLI: Added a check to make sure the Docker daemon is running, and provides an informative error if it is not.
  • PR-1090 polywrap/wrap-manifest-types-js: Remove runtime schema bundling, which required file system access.
  • PR-1050 polywrap CLI: Errors encounted in child processes now output both stdtypesout and stderr, allowing easier end-user debugging.

Breaking Changes

  • PR-1046 polywrap CLI: schema.graphql has been removed from wrapper build artifacts. polywrap.plugin.yaml has been removed from plugin build artifacts.
  • PR-1046 @polywrap/schema-bind: schema.ts has been removed from typescript bindings.
  • PR-1046 @polywrap/schema-bind @polywrap/schema-compose: WrapAbi is now used in all places, instead of schema documents.
  • PR-1095 @polywrap/http-plugin-js: Use Map<String, String> for headers & urlParams.
  • PR-1073 @polywrap/schema-compose: The ComposerOptions property schemas: SchemaFile[] has been replaced with schema: SchemaFile. Additionally the function argument schemas: SchemaFile[] on the resolveImports function has bee replaced with schema: SchemaFile.
  • PR-1073 @polywrap/wrap-manifest-types-js: In WrapAbi format 0.1, properties no longer accept null and instead use undefined.
  • PR-1073 @polywrap/schema-parse: Abi export renamed to WrapAbi.

Polywrap Origin (0.3.0)

24 Jul 20:04
42f7e07
Compare
Choose a tag to compare

Polywrap Origin (0.3.0)

Features

  • PR-1034 @polywrap/wrap-manifest-schemas, @polywrap/wrap-manifest-types-js: Added a JSON-schema for the wrap.info's abi field.
  • PR-1058 polywrap CLI: Deploy results can now be output to a file using the -o, --output-file <path> option of the deploy command.

Bugs

  • PR-1034 @polywrap/wrap-manifest-schemas, @polywrap/polywrap-manifest-schemas: Version numbers for the manifest's format: ... field have been changed to only include <major>.<minor> (ex: 0.1.0 is now 0.1). This is because there cannot be a change to a pure interface that is a <patch>.
  • PR-1034 @polywrap/package-validation: The wrap.info.abi field is no longer being validated via schema rendering, and is instead utilizing the newly added JSON-schema.
  • PR-1054 polywrap CLI: Improved wasm/rust build times by refactoring the build image's Dockerfile, helping reduce cache invalidations.
  • PR-1053 @polywrap/wasm-as: Increased minor version of as-bignumber. The new version has a bug fix for the toFixed method, which was incorrectly printing numbers when a decimal number was rounded to an integer.

Breaking Changes

  • PR-1034 @polywrap/wrap-manifest-types-js: deserializeWrapManifest is now async.