-
Notifications
You must be signed in to change notification settings - Fork 20
Releases: bytecodealliance/go-modules
Releases · bytecodealliance/go-modules
v0.7.0
@github-actions
github-actions
7ffca64
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
- Removed remaining Go 1.22 support.
Fixed
- #306: do not emit incompatible version feature gates when serializing WIT. For example, if a world with version
0.1.0includes a world from another package with a@since(version = 0.2.0)feature gate, then strip that feature gate when serializing to WIT if the version is greater than the world’s package version. - #350: correctly align
recordsize to the highest alignment of its fields, per specification. - #352: do not use
tupletypes as data shape forvariantorresulttypes, as they may contain aboolor not be packed. - #356: sort WIT packages topologically by dependency before matching WIT world when generating Go bindings. Warn if there is an ambiguous match.
- Updated package
cmto v0.3.0 with multiple fixes, including a breaking change tocm.BoolResult.
Assets 7
v0.6.2
@github-actions
github-actions
0e3b31e
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
- Files generated by
wit-bindgen-go generateno longer have the execute bit set. - Updated package
cmto v0.2.2 with error handling fixes.
Assets 7
v0.6.1
v0.6.0
@ydnar
ydnar
a0ade74
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
- Initial support for Component Model async types
stream,future, anderror-context. - Initial support for JSON serialization of WIT
list,enum, andrecordtypes. wasm-toolsis now vendored as a WebAssembly module, executed using Wazero. This allows packagewitandwit-bindgen-goto run on any supported platform without needing to separately installwasm-tools.
Changed
- Breaking: generated
*.wasm.gofiles will now have correct WIT kebab-case base name. Interfaces or worlds with-in their name will require removal of the previous*.wasm.gofiles. - Breaking: upgraded to
wasm-toolsv1.227.1, which removes support for multiple return values and flags with > 32 values. To ease migration, this package will continue to support JSON generated bywasm-toolsv1.225.0 and earlier. - Dropped support for TinyGo v0.32.0 and v0.33.0.
- Added support for Go 1.24 and dropped support for Go 1.22.
Fixed
- #281: errors from internal
wasm-toolscalls are no longer silently ignored. This required fixing a number of related issues, including synthetic world packages for Component Model metadata generation, WIT generation, and WIT keyword escaping in WIT package or interface names. - #284: do not use
boolforvariantorresultGC shapes. TinyGo returnsresultandvariantvalues withboolas 0 or 1, which breaks the memory representation of tagged unions (variants). - #288: correctly report the
wasm32ABI alignment oflist<T>as 4, rather than 8. - #306: run
wasm-toolswith the--all-featuresargument so feature-gated WIT is correctly found when synthesizing Component Model metadata for a Go package.
Assets 2
v0.5.0
@github-actions
github-actions
bb605ce
This commit was signed with the committer’s verified signature.
ydnar
Randy Reddig
SSH Key Fingerprint: NPSTd2sPqz6tKK/COQsY5i2TwKChYR19qeqRJqHHgI8
Verified
Learn about vigilant mode.
Changed
- Breaking: package
cmis now a separate module. This change was made in order to minimize the runtime dependencies of programs that depend on packagecmbut not the rest of the packages in this module. To update your code that depends on packagecm, rungo get -u go.bytecodealliance.org/....
Fixed
- #264: fix lowering for imported functions that return named
booltypes.
Assets 7
v0.4.1
@github-actions
github-actions
350ed0e
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
wit-bindgen-go witnow accepts an--interfaceargument in the form ofmonotonic-clock,wasi:clocks/monotonic-clock, orwasi:clocks/monotonic-clock@0.2.0. This filters the serialized WIT to a specific interface and the other interface(s) it references. This can be used to generate focused WIT with a minimal set of dependencies, and can be combined with the--worldargument to filter serialized WIT to the intersection of a specific world and interface.
Fixed
- #240: correctly handle cyclical data structures when generating variant lowering code.
Changed
- Breaking: package
witno longer interprets-to read from stdin when loading JSON or WIT usingwit.LoadJSONorwit.LoadWIT. Usewit.DecodeJSONorwit.DecodeWITto read JSON or WIT from anio.Reader. - Breaking:
wit.ParseWIThas been removed. Usewit.DecodeWIT(bytes.NewReader(b))instead.
Assets 7
v0.4.0
@github-actions
github-actions
80d210d
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This module has been renamed. Going forward, please use go.bytecodealliance.org instead of github.com/bytecodealliance/wasm-tools-go.
Assets 7
v0.3.1
@github-actions
github-actions
abfccbd
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
wit-bindgen-gonow accepts arguments that control the level of logging output on stderr. Verbose mode (-vor--verbose) will print informational log lines, warnings, and errors. Debug mode (-vvor--debug) will emit finer-grained debugging information. By default,wit-bindgen-gowill print warnings or errors.- New method
(cm.Result).Result() (ok OK, err Err, isErr bool)added to streamline common patterns usingresulttypes. It has a value receiver, allowing it to be chained off a function call that returns aResult, eliminating the need to declare a temporary variable. For example:stream, err, isErr := stream.BlockingRead(n)
Fixed
- #215: generate variant accessor methods with the correct scope for Go names.
New Contributors
- @vados-cosmonic: #212 and #214 — verbose logging controls in
wit-bindgen-go.
Assets 7
v0.3.0
@github-actions
github-actions
213610c
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
- Go type aliases are now generated for each WIT type alias (
type foo = bar). Deep chains of type aliases (type b = a; type c = b;) are fully supported. Generated documentation now reflects whether a type is an alias. Fixes #204. go:wasmimportandgo:wasmexportfunctions are now generated in a separate.wasm.gofile. This helps enable testing or use of generated packages outside of WebAssembly.wit-bindgen-go generatenow generates a WIT file for each WIT world in its corresponding Go package directory. For example thewasi:http/proxyworld would generatewasi/http/proxy/proxy.wit.wit-bindgen-go witnow accepts a--worldargument in the form ofimports,wasi:clocks/imports, orwasi:clocks/imports@0.2.0. This filters the serialized WIT to a specific world and interfaces it references. This can be used to generate focused WIT for a specific world with a minimal set of dependencies.
Changed
- Method
wit.(*Package).WIT()now interprets the non-empty stringnameargument as signal to render in single-file, multi-package braced form. wit.(*Resolve).WIT()andwit.(*Package).WIT()now accept a*wit.Worldas context to filter serialized WIT to a specific world.- Packages are now sorted topologically by dependency in generated WIT files. For example,
wasi:cliwould be followed by its dependencies likewasi:io,wasi:filesystem, orwasi:random.
Assets 7
v0.2.4
@github-actions
github-actions
21699c0
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
- Generated variant shape types (
...Shape) now includestructs.HostLayout.