Skip to content

Release gloo 0.13.0 - #587

Open
nazar-pc wants to merge 4 commits into
ranile:masterfrom
nazar-pc:release-gloo-0.13.0
Open

nazar-pc wants to merge 4 commits into
ranile:masterfrom
nazar-pc:release-gloo-0.13.0

Conversation

@nazar-pc

@nazar-pc nazar-pc commented Nov 8, 2026

Copy link
Copy Markdown

This prepares a new release as requested in #586 (comment)

The release for gloo-timers would have to be a major version and by the looks of it, in such cases all major versions were released at once, hence the PR structure.

I bumped syn to 3.x because that is what most users likely already have and older version is just one more dependency to compile. It would have been possible to support both 2.x and 3.x at the same time, but unless it is tested in CI, it can break any time, so I decided it is not worth the effort.

I then fixed up some misplaced and missing changelog entries.

And I also applies the same change as #562 did for other crates, which seems to have been missed originally (cc @guybedford).

The last commit basically bumps versions and I think things should be ready for release now. Please let me know if something is off and I'll try to fix it.

Raise `proc-macro2` and `quote` minimums to the versions `syn` 3
requires. `syn` types are not part of the public API of a proc-macro
crate, so this is not a breaking change.
- Move the EventSource entry (ranile#545) from `gloo-worker` to `gloo-net`,
  where the change was made. It is breaking, so the next `gloo-net`
  version is 0.8.0 rather than 0.7.1
- Add the missing PR reference and author to the `gloo-net` docs entry
  (ranile#556)
- Add missing entries for the `CallbackUnwindSafe` bound (ranile#562) to
  `gloo-events`, `gloo-render` and `gloo-timers`, where it changes
  public API
- Normalize `gloo` heading to `0.13.0` and rename the `worker-macros`
  section to `gloo-worker-macros`
Follow up on ranile#562, which added a `CallbackUnwindSafe` bound to user
callbacks in `gloo-timers`, `gloo-events` and `gloo-render`, but left
`gloo-file` and `gloo-history` failing to build with
`panic = "unwind"` and `gloo-worker` callbacks without the bound.

Add the same bound to `gloo-file`'s `callbacks::read_as_*`,
`History::listen`, `WorkerSpawner::callback` and `WorkerBridge::fork`.
Internal state that is shared through `Rc<RefCell<_>>` or channels is
wrapped in `AssertUnwindSafe`: `RefCell` borrows are released on
unwind, user callbacks are taken out before they are called and sends
either complete or don't, so no broken state can be observed after a
panic.

Add `gloo-file` and `gloo-history` to the CI job that builds with
`-Cpanic=unwind`.
Breaking releases:
- gloo 0.13.0
- gloo-events 0.4.0
- gloo-file 0.5.0
- gloo-history 0.4.0
- gloo-net 0.8.0
- gloo-render 0.4.0
- gloo-timers 0.5.0
- gloo-worker 0.7.0

Patch releases, for the Edition 2024 and MSRV 1.85 changes:
- gloo-dialogs 0.3.1
- gloo-storage 0.4.1
- gloo-utils 0.3.1
- gloo-worker-macros 0.2.1

`gloo-console` 0.4.1 is already published and has no changes since.

Update dependency requirements between crates and the versions in the
getting started docs.

Raise the workspace `wasm-bindgen` minimum to 0.2.114 and use the
workspace dependency in all crates. `Closure::*_assert_unwind_safe`
first appears in 0.2.112, and 0.2.114 is what `js-sys` 0.3.91 already
requires.

@ranile ranile left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please split 1f7c052 and 7e80948 into their own PRs? I would prefer to keep this one for just release.

MSRV increase is a breaking change (people can't upgrade to patch version without updating their configurations) so every crate needs a new update. I didn't realize it in-time for ebd0b8d when I published that release for stop builds from breaking on stable Rust, so gloo-console should also get a version bump. I don't know if it is worth yanking the incorrect release now though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants