You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
4
4
5
5
## [Unreleased]
6
6
7
+
### Changed
8
+
9
+
- Breaking: package [`cm`](https://pkg.go.dev/go.bytecodealliance.org/cm) is now a separate [module](https://go.dev/ref/mod). This change was made in order to minimize the runtime dependencies of programs that depend on package `cm` but not the rest of the packages in this module. To update your code that depends on package `cm`, run `go get -u go.bytecodealliance.org/...`.
10
+
7
11
### Fixed
8
12
9
13
-[#264](https://github.com/bytecodealliance/go-modules/issues/264): fix lowering for imported functions that return named `bool` types.
@@ -14,15 +18,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
14
18
15
19
-`wit-bindgen-go wit` now accepts an `--interface` argument in the form of `monotonic-clock`, `wasi:clocks/monotonic-clock`, or `wasi:clocks/[email protected]`. 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 `--world` argument to filter serialized WIT to the intersection of a specific world and interface.
16
20
17
-
### Fixed
18
-
19
-
-[#240](https://github.com/bytecodealliance/go-modules/issues/240): correctly handle cyclical data structures when generating variant lowering code.
20
-
21
21
### Changed
22
22
23
23
- Breaking: package `wit` no longer interprets `-` to read from stdin when loading JSON or WIT using `wit.LoadJSON` or `wit.LoadWIT`. Use `wit.DecodeJSON` or `wit.DecodeWIT` to read JSON or WIT from an `io.Reader`.
24
24
- Breaking: `wit.ParseWIT` has been removed. Use `wit.DecodeWIT(bytes.NewReader(b))` instead.
25
25
26
+
### Fixed
27
+
28
+
-[#240](https://github.com/bytecodealliance/go-modules/issues/240): correctly handle cyclical data structures when generating variant lowering code.
29
+
26
30
## [v0.4.0] — 2024-11-05
27
31
28
32
This module has been renamed. Going forward, please use `go.bytecodealliance.org` instead of `github.com/bytecodealliance/wasm-tools-go`.
Copy file name to clipboardExpand all lines: RELEASE.md
+12-2Lines changed: 12 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,25 @@
2
2
3
3
This document describes the steps to release a new version of the `wit-bindgen-go` CLI.
4
4
5
-
## 1. Update [CHANGELOG.md](./CHANGELOG.md)
5
+
## 1. Prerequisites
6
+
7
+
If package `cm` has changed, make the neccessary updates to [cm/CHANGELOG.md](./cm/CHANGELOG.md) and create a new release for `go.bytecodealliance.org/cm`. Then update the dependency in this module by running:
8
+
9
+
```console
10
+
go get -u go.bytecodealliance.org/cm@latest
11
+
```
12
+
13
+
Commit those changes prior to tagging a new release of this module.
14
+
15
+
## 2. Update [CHANGELOG.md](./CHANGELOG.md)
6
16
7
17
1. Add the latest changes to [CHANGELOG.md](./CHANGELOG.md).
8
18
1. Rename the Unreleased section to reflect the new version number.
9
19
1. Update the links to new version tag in the footer of CHANGELOG.md
10
20
1. Add today’s date (YYYY-MM-DD) after an em dash (—).
11
21
1. Submit a [GitHub Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) with these updates.
12
22
13
-
## 2. Create a new release
23
+
## 3. Create a new release
14
24
15
25
Once the PR is merged, tag the new version in Git and push the tag to GitHub.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4
+
5
+
## [Unreleased]
6
+
7
+
Initial version, extracted into module [`go.bytecodealliance.org/cm`](https://pkg.go.dev/go.bytecodealliance.org/cm).
Package `cm` contains helper types and functions used by generated packages, such as `option<t>`, `result<ok, err>`, `variant`, `list`, and `resource`. These are intended for use by generated [Component Model](https://github.com/WebAssembly/component-model/blob/main/design/mvp/Explainer.md#type-definitions) bindings, where the caller converts to a Go equivalent. It attempts to map WIT semantics to their equivalent in Go where possible.
8
+
9
+
### Note on Memory Safety
10
+
11
+
Package `cm` and generated bindings from `wit-bindgen-go` may have compatibility issues with the Go garbage collector, as they directly represent `variant` and `result` types as tagged unions where a pointer shape may be occupied by a non-pointer value. The GC may detect and throw an error if it detects a non-pointer value in an area it expects to see a pointer. This is an area of active development.
12
+
13
+
## License
14
+
15
+
This project is licensed under the Apache 2.0 license with the LLVM exception. See [LICENSE](../LICENSE) for more details.
This document describes the steps to release a new version of module `go.bytecodealliance.org/cm`.
4
+
5
+
## 1. Update [CHANGELOG.md](./CHANGELOG.md)
6
+
7
+
1. Add the latest changes to [CHANGELOG.md](./CHANGELOG.md).
8
+
1. Rename the Unreleased section to reflect the new version number.
9
+
1. Update the links to new version tag in the footer of CHANGELOG.md
10
+
1. Add today’s date (YYYY-MM-DD) after an em dash (—).
11
+
1. Submit a [GitHub Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) with these updates.
12
+
13
+
## 2. Create a new release
14
+
15
+
Once the PR is merged, tag the new version in Git and push the tag to GitHub.
16
+
17
+
**Note:** the tag **must** start with the prefix `cm/` in order to correctly tag this module.
18
+
19
+
For example, to tag version `cm/v0.2.0`:
20
+
21
+
```console
22
+
git tag cm/v0.2.0
23
+
git push origin cm/v0.2.0
24
+
```
25
+
26
+
## 3. Update the root module
27
+
28
+
Once the tag is pushed, you can update the root module to depend on the newly created version of package `cm` by running the following:
29
+
30
+
```console
31
+
go get -u go.bytecodealliance.org/cm@latest
32
+
```
33
+
34
+
Then follow the instructions in [RELEASE.md](../RELEASE.md) to release a new version of the root module.
0 commit comments