Releases: polywrap/wrap-cli
Releases · polywrap/wrap-cli
Polywrap Origin (0.9.2)
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)
Polywrap Origin (0.9.1)
Bugs
- PR-1320
@polywrap/ethereum-plugin-js
: Properview
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: Thecodegen
command properly applies the-g, --codegen-dir
option. - PR-1318
@polywrap/templates
: Fix several issues within thewasm
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)
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!!! Thebuild
command has been updated to include the concept of "build strategies". The existing way of building (viaDockerfile
image layers) is available through thepolywrap 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.
- NOTE:
- PR-1297
@polywrap/schema-bind
:wasm/rust
now has support forprintln!(...)
andprint!(...)
macros. They have been redefined to use thepolywrap_wasm_rs::wrap_debug_log(...)
function. - PR-1192
@polywrap/client-js
:PolywrapClient.invoke(...)
now supports invoke-time environment variables, passed in via theenv
property. - PR-1270
polywrap
CLI: Themanifest
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 themigrate
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
: Thetracing
infrastructure module (i.e.polywrap infra up --modules tracing
) now uses version0.11.0
of theSizNoz
tracing service. Additionally the underlying@polywrap/tracing-js
library has been updated to support this, and also now has named traces via thetraceName
configuration property.
Bugs
- PR-1304
polywrap
CLI: Generated build files from thevm
strategy now have proper file-system permissions. - PR-1305
@polywrap/ipfs-plugin-js
: Fallback providers are now properly being used. - PR-1296
polywrap
CLI: Thepolywrap.app.yaml
andpolywrap.plugin.yaml
project manifest file names are being deprecated in favor of a unifiedpolywrap.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
: TheUri
class now properly formats itself when beingJSON.stringify(...)
'd. - PR-1288
@polywrap/core-js
: Correctly handle errors in thegetImplementations
algorithm. - PR-1298
@polywrap/ipfs-plugin-js
,@polywrap/ipfs-resolver-plugin-js
: Remove the use ofrequire(...)
statements. - PR-1286
@polywrap/polywrap-manifest-types-js
: Manifest migration logic has been upgraded to use a strategy that finds a "shortest path" between thefrom
andto
format versions, using predefined migration functions.
Breaking Changes
- PR-1284
@polywrap/core-js
:Wrapper.getFile(...)
andWrapper.getManifest(...)
no longer require aClient
instance as a second function argument. - PR-1291
@polywrap/core-js
,@polywrap/client-js
: AllClientConfig
properties are nowreadonly
. - PR-1287
@polywrap/core-js
:executeMaybeAsyncFunction
has been removed. - PR-1277
@polywrap/client-js
: The following methods now return theResult<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 theconfig
property. Users who wish to reconfigure the client can do so by callingclient.getConfig()
, modifying it via theClientConfigBuilder
, and constructing a newPolywrapClient
instance.
Polywrap Origin (0.8.0)
Polywrap Origin (0.8.0)
Features
- PR-1083
@polywrap/client-config-builder-js
: The default client config now has the ability to resolvehttp
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 newhttp
deploy & infra modules. - PR-1097 & PR-1272
polywrap
CLI,@polywrap/polywrap-manifest-schemas
,@polywrap/polywrap-manifest-types-js
:polywrap.deploy.yaml
format version0.2.0
has been added, making the schema similar to thepolywrap.test.yaml
schema, where users define a series ofjobs
to be performed. - PR-1097
polywrap
CLI: Recursive ENS domain name registration is now supported via theens-recursive-name-register
deploy module. - PR-1060
@polywrap/ipfs-interface
: AddedfallbackProviders: [String!]
totype Options
. - PR-1169
@polywrap/core-js
,@polywrap/client-js
: URI resolution has been refactored. Resolution is now implemented in a singleIUriResolver
instance. - PR-1169
@polywrap/client-js
:invokeWrapper(...)
has been added to thePolywrapClient
class. - PR-1169
@polywrap/client-config-builder-js
:setResolver(...)
has been added, enabling users to set theIUriResolver
instance on the builder'sClientConfig
. - PR-1133
@polywrap/core-js
,@polywrap/client-js
:getPluginByUri(...)
has been added to theClient
interface, andPolywrapClient
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 thedeploy
command now properly contain the network's name in the URI. - PR-1234
polywrap
CLI: Therun
command and underlyingWorkflow
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 thevalidation: ...
property within thepolywrap.test.yaml
manifest relative to the manifest's directory, instead of the user's cwd.
Breaking Changes
- PR-1097
polywrap
CLI: Thelocal-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'sEnv
. - PR-1169
@polywrap/client-js
:loadUriResolvers(...)
has been removed from thePolywrapClient
class. - PR-1169
@polywrap/client-js
:resolveUri(...)
has been renamed totryResolveUri(...)
on thePolywrapClient
class. - PR-1169
@polywrap/core-js
,@polywrap/client-js
:getUriResolvers(...)
has been renamed togetUriResolver(...)
on theClient
interface andPolywrapClient
class. - PR-1169
@polywrap/client-config-builder-js
:addUriResolver(...)
andsetUriResolvers(...)
have been removed from theClientConfigBuilder
class. - PR-1169
@polywrap/core-js
,@polywrap/wasm-js
: Moved theWasmWrapper
class and all related types into their own package named@polywrap/wasm-js
. - PR-1235
@polywrap/core-js
:Uri.from(...)
has been added, andtoUri(...)
has been removed.
Polywrap Origin (0.7.0)
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 forwasm/rust
andwasm/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 thebuild-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
andapp/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
andpolywrap app codegen
commands have been moved into thepolywrap codegen
, which can now generate types for any Polywrap project (wasm, plugin, app). - PR-1154
@polywrap/schema-bind
: Thewasm/assemblyscript
bindings have been updated to useBox<T> | null
for all optional scalar types, instead of theOption<T>
class used before. - PR-1154
@polywrap/ws-plugin-js
: The WebSocket plugin's schema has been updated to useUInt32
for socket IDs, instead ofInt32
.
Polywrap Origin (0.6.0)
Polywrap Origin (0.6.0)
Features
- PR-1100
polywrap
CLI: A new manifest namedpolywrap.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: Therun
command's output now has deterministic ordering for text emitted from both workflow & validation steps. - PR-1194
@polywrap/msgpack-js
: NestedMap<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 theClass.name
static property is removed. - PR-1196
@polywrap/core-js
: AllWrapperCache
interface methods have been updated to returnMaybeAsync
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 newpolywrap.test.yaml
manifest. - PR-1100
@polywrap/client-js
: Therun
method has been removed. - PR-1100
@polywrap/core-js
: AllWorkflow
related types have been removed, and migrated into the manifest packages and the CLI.
Polywrap Origin (0.5.0)
Polywrap Origin (0.5.0)
Features
- PR-1042
@polywrap/client-js
: ThePolywrapClientConfig
now has atracerConfig: Partial<TracerConfig>
property, allowing users to easily configure the tracing level, and various toggles related to tracing. - PR-1042
polywrap
CLI: Added thetracer
infra module, allowing developers to easily spin up an OpenTelemetry compatible tracing server. This can be used to gather runtime tracelog events from thePolywrapClient
. - PR-1042
@polywrap/tracing-js
: The@Tracer.traceMethod()
function decorator now has an optionalTracingLevel
argument. - PR-1143
@polywrap/ethereum-plugin-js
: TheEthereumPluginConfig
now has aconnections
property, which takes an instance of theConnections
class. This new implementation makes configuring new network connections at runtime easier and more application developer friendly. - PR-1045
@polywrap/client-config-builder-js
: TheClientConfigBuilder
has been added to make building & customizingPolywrapClientConfigs
easier than before with a simple user friendly interface. - PR-1036
@polywrap/client-js
: Added thewrapperCache: WrapperCache
property to thePolywrapClientConfig
interface. - PR-1036
@polywrap/core-js
: Added theWrapperCache
core type, along with aSimpleCache
implementation that persists wrappers within a map.
Bugs
- PR-1186
@polywrap/schema-bind
: Using aMap<K, V>
type within theMap
's value (V
) template argument has been fixed. - PR-1179
polywrap
CLI: Improved the readability of thepolywrap build -v
command's output from the Docker child process.
Breaking Changes
- PR-1042
@polywrap/client-js
: ThePolywrapClientConfig
'stracingEnabled
property has been removed, and replaced bytracerConfig
. - PR-1143
@polywrap/ethereum-plugin-js
: TheEthereumPluginConfig
'snetworks
property has been removed, and replaced byconnections
. - PR-1045
@polywrap/client-js
: ThegetDefaultClientConfig()
&defaultIpfsProviders
exports have been moved to the@polywrap/client-config-builder-js
package.
Polywrap Origin (0.4.1)
Polywrap Origin (0.4.1)
Features
- PR-1171
@polywrap/schema-bind
: Handle reserve words (keywords) for object, enum, and method names.
Bugs
Polywrap Origin (0.4.0)
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 format0.2.0
, which restructures the manifest into 3 top level properties:project
,source
, andextensions
. Additionally all project manifests can be given thepolywrap.yaml
file name. - PR-1092
@polywrap/ws-plugin-js
: Added a WebSocket plugin. - PR-1096
@polywrap/client-js
: Expose thenoValidate
option for theclient.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 theeth_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 bothstdtypesout
andstderr
, 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
: UseMap<String, String>
forheaders
&urlParams
. - PR-1073
@polywrap/schema-compose
: TheComposerOptions
propertyschemas: SchemaFile[]
has been replaced withschema: SchemaFile
. Additionally the function argumentschemas: SchemaFile[]
on theresolveImports
function has bee replaced withschema: SchemaFile
. - PR-1073
@polywrap/wrap-manifest-types-js
: InWrapAbi
format0.1
, properties no longer acceptnull
and instead useundefined
. - PR-1073
@polywrap/schema-parse
:Abi
export renamed toWrapAbi
.
Polywrap Origin (0.3.0)
Polywrap Origin (0.3.0)
Features
- PR-1034
@polywrap/wrap-manifest-schemas
,@polywrap/wrap-manifest-types-js
: Added a JSON-schema for thewrap.info
'sabi
field. - PR-1058
polywrap
CLI: Deploy results can now be output to a file using the-o, --output-file <path>
option of thedeploy
command.
Bugs
- PR-1034
@polywrap/wrap-manifest-schemas
,@polywrap/polywrap-manifest-schemas
: Version numbers for the manifest'sformat: ...
field have been changed to only include<major>.<minor>
(ex:0.1.0
is now0.1
). This is because there cannot be a change to a pure interface that is a<patch>
. - PR-1034
@polywrap/package-validation
: Thewrap.info.abi
field is no longer being validated via schema rendering, and is instead utilizing the newly added JSON-schema. - PR-1054
polywrap
CLI: Improvedwasm/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 nowasync
.