Skip to content

chore(deps): bump the cargo-dependencies group with 17 updates - #2

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/cargo-dependencies-95a1bb4243
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/cargo-dependencies-95a1bb4243

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 27, 2026 •

Copy link
Copy Markdown

Bumps the cargo-dependencies group with 17 updates:

Package From To
serde_json 1.0.151 1.0.154
proptest 1.11.0 1.12.0
skrifa 0.44.0 0.47.0
harfrust 0.12.0 0.13.3
symphonia 0.5.5 0.6.1
pollster 0.4.0 1.0.1
egui 0.36.2 0.37.0
eframe 0.36.2 0.37.0
egui_kittest 0.36.2 0.37.0
cpal 0.16.0 0.18.2
miniz_oxide 0.8.9 0.9.1
linesweeper 0.4.0 0.5.0
zip 6.0.0 9.0.5
lz4_flex 0.11.6 0.14.0
muda 0.21.0 0.21.2
objc2 0.6.4 0.6.5
winresource 0.1.31 0.1.34

Updates serde_json from 1.0.151 to 1.0.154

Release notes

Sourced from serde_json's releases.

v1.0.154

v1.0.153

v1.0.152

Commits
  • 20572a6 Release 1.0.154
  • a91bfaf Fix RandomState links in map documentation
  • 3c932c0 Merge pull request #1333 from razmser/no-std-preserve-order
  • 4b2d726 Release 1.0.153
  • 83335ee Touch up PR 1345
  • 4b4810a Resolve range_plus_one pedantic clippy lint
  • 8af71cc Merge pull request #1345 from 00200200/fix-invalid-utf8-error-column
  • 452afa2 Correct multiline raw UTF-8 error positions and simplify indexing
  • c9f1e3b Release 1.0.152
  • 854fc70 Touch up PR 1347
  • Additional commits viewable in compare view

Updates proptest from 1.11.0 to 1.12.0

Commits
  • 70cf37d Merge pull request #675 from proptest-rs/prep-1.12
  • 729e0ff prepare next releases and fix panic handling
  • 28c1fad Merge pull request #664 from Expyron/main
  • 5ddd9a4 Merge pull request #668 from toddATavail/fix-fork-persisted-failure
  • a6a9ac7 Merge pull request #673 from glaziermag/fix-book-deploy
  • d57d88b Replace rand_chacha with chacha20
  • 9411213 Deploy the book on pushes to main
  • 1719745 fix: terminate the fork replay when a persisted failure fails
  • 0f55b7a test: a persisted failure in a forked test must be reported
  • 4b0594e Merge pull request #669 from proptest-rs/no-fail-fast
  • Additional commits viewable in compare view

Updates skrifa from 0.44.0 to 0.47.0

Commits
  • 59fcc3b Bump crate versions
  • c71628e [read-fonts] new Font API: variable advance widths (#2115)
  • 738cdfa Merge pull request #2113 from googlefonts/read/glyph-metrics-yoke
  • 33b16c8 Update read-fonts/src/model/metrics/glyph.rs
  • 2635f03 Merge pull request #2103 from googlefonts/pair_pos
  • b8027d3 [skera] add comment for fn popcount8
  • 0fd8486 [read-fonts] Add GlyphMetrics, with the tables it reads cached on the font
  • e1a545c [read-fonts] experimental Font API: add GlobalMetrics- #2111
  • 6375df9 Merge pull request #2110 from googlefonts/read/exact-variation-deltas
  • 0b1b5a7 [read-fonts] Report HVAR and VVAR deltas exactly
  • Additional commits viewable in compare view

Updates harfrust from 0.12.0 to 0.13.3

Release notes

Sourced from harfrust's releases.

0.13.3

This release matches HarfBuzz v14.3.1, and has an MSRV (minimum supported Rust version) of 1.85.

  • Add support for shaping legacy AAT mort tables, including language-specific morph features (#451, #453).
  • Handle tuple kerning in AAT kerx tables (#452).
  • Fix a debug assertion for legacy kern state tables that declare more than 256 classes (#455).
  • Synthesize Arabic fallback GSUB lookups, including legacy Windows-1256 glyph layouts and no_std builds (#454, #456).
  • Update read-fonts to 0.43.3.

0.13.2

This release matches HarfBuzz v14.3.1, and has an MSRV (minimum supported Rust version) of 1.85.

  • Speed up contextual and chained-context lookup matching by probing raw rule offsets and reusing parsed coverage tables (#437).
  • Skip the redundant per-subtable digest test for single-subtable lookups (#438).
  • Set up glyph-set acceleration before applying legacy kern tables (#439).
  • Precompute and pack AAT state-machine safe-to-break probes in the face cache (#445).
  • Cache reusable shaping table metadata and avoid moving shaper and buffer temporaries on every shape (#446, #447).

0.13.1

This release matches HarfBuzz v14.3.1, and has an MSRV (minimum supported Rust version) of 1.85.

  • Saturate shaping and positioning math across GPOS, kerx, trak, fallback, shaping, metrics, and font scaling paths to avoid overflow and better match HarfBuzz behavior (#420).
  • Cache GDEF mark filtering sets in bitmaps (#421).
  • Lock icu_properties to 2.2.0 (#422).
  • Optimize hot loops in contextual and layout matching by probing rules before parsing, hoisting invariants, moving recursion state instead of cloning, and replacing per-element copies with block copies (#423, #424, #425).
  • Optimize buffer internals by copying small counts inline and charging move_to operations against max_ops (#426, #429).
  • Improve AAT shaping performance by walking morx subtables through packed descriptors, resolving subtable kinds from cached parts, and adding a state-machine fast path (#428, #430, #431).
  • Skip the post-morx digest update when GPOS is not present (#433).
  • Add a batched nominal-glyph callback to FontFuncs (#434).
  • Update read-fonts to 0.43.2 (#432, #435).

0.13.0

This release matches HarfBuzz v14.3.1, and has an MSRV (minimum supported Rust version) of 1.85.

  • Guard GPOS cursive attachment against out-of-bounds attach_chain offsets that could panic on buffers longer than 32767 glyphs (#411).

... (truncated)

Changelog

Sourced from harfrust's changelog.

[0.13.3] - 2026-08-25

This release matches HarfBuzz v14.3.1, and has an MSRV (minimum supported Rust version) of 1.85.

  • Add support for shaping legacy AAT mort tables, including language-specific morph features (#451, #453).
  • Handle tuple kerning in AAT kerx tables (#452).
  • Fix a debug assertion for legacy kern state tables that declare more than 256 classes (#455).
  • Synthesize Arabic fallback GSUB lookups, including legacy Windows-1256 glyph layouts and no_std builds (#454, #456).
  • Update read-fonts to 0.43.3.

[0.13.2] - 2026-08-23

This release matches HarfBuzz v14.3.1, and has an MSRV (minimum supported Rust version) of 1.85.

  • Speed up contextual and chained-context lookup matching by probing raw rule offsets and reusing parsed coverage tables (#437).
  • Skip the redundant per-subtable digest test for single-subtable lookups (#438).
  • Set up glyph-set acceleration before applying legacy kern tables (#439).
  • Precompute and pack AAT state-machine safe-to-break probes in the face cache (#445).
  • Cache reusable shaping table metadata and avoid moving shaper and buffer temporaries on every shape (#446, #447).

[0.13.1] - 2026-08-21

This release matches HarfBuzz v14.3.1, and has an MSRV (minimum supported Rust version) of 1.85.

  • Saturate shaping and positioning math across GPOS, kerx, trak, fallback, shaping, metrics, and font scaling paths to avoid overflow and better match HarfBuzz behavior (#420).
  • Cache GDEF mark filtering sets in bitmaps (#421).
  • Lock icu_properties to 2.2.0 (#422).
  • Optimize hot loops in contextual and layout matching by probing rules before parsing, hoisting invariants, moving recursion state instead of cloning, and replacing per-element copies with block copies (#423, #424, #425).
  • Optimize buffer internals by copying small counts inline and charging move_to operations against max_ops (#426, #429).
  • Improve AAT shaping performance by walking morx subtables through packed descriptors, resolving subtable kinds from cached parts, and adding a state-machine fast path (#428, #430, #431).
  • Skip the post-morx digest update when GPOS is not present (#433).
  • Add a batched nominal-glyph callback to FontFuncs (#434).
  • Update read-fonts to 0.43.2 (#432, #435).

... (truncated)

Commits
  • fbff7e5 Release 0.13.3 (#457)
  • 1c68713 Merge pull request #454 from harfbuzz/arabic-fallback
  • abe0942 Merge pull request #451 from harfbuzz/mort-shaping
  • 9ecf1a4 Merge branch 'main' into arabic-fallback
  • 3b5763a [arabic] Enable fallback synthesis in no_std
  • 443253b Merge branch 'main' into mort-shaping
  • 5d6600a Bump read-fonts to 0.43.3
  • 34ae8a9 [arabic] Add Win1256 fallback (#456)
  • 4befd3f [arabic] Synthesize fallback GSUB lookups
  • 7eed82f [aat] Fix safe-to-break debug assert on oversized legacy kern stateSize (#455)
  • Additional commits viewable in compare view

Updates symphonia from 0.5.5 to 0.6.1

Release notes

Sourced from symphonia's releases.

v0.6.1

New Features

  • TimeBase now provides a helper to calculate a clock time from a Duration.
  • GenericAudioBuffer and AudioSlices are now cloneable
  • GenericAudioBuffer and GenericAudioBufferRef are now sliceable.
  • Channel information is parsed for Opus tracks in ISO BMFF containers (M4A, MP4, etc.).

Bug Fixes & Improvements

  • Significantly improved performance of loading media files with large attachments, visuals, or metadata.
  • Fixed a bug where silent sections were not decoded if certain conditions were met for MP3 files.
  • Fixed a bug where Xing/Info and VBRI tags were ignored if the MPEG frame containing it had a CRC.
  • Fixed decoding of mono MP1 audio.
  • All unwraps have either been replaced with expect or made to return a runtime error.
  • Hardened demuxers against allocating obscene amounts of memory when reading maliciously crafted files.
  • Fixed a significant number of panics discovered by fuzzing or AI.

New Contributors

Full Changelog: pdeljanov/Symphonia@v0.6.0...v0.6.1

v0.6.0

Welcome to Symphonia 0.6! 👋

Symphonia 0.6 is the culmination of two years of effort to rework Symphonia from an audio-focused multimedia framework to one that can be extended to support video and subtitles as well. While Symphonia does not yet support video and subtitle decoders, the groundwork laid in this release should allow easier prototyping of those features, and to more seamlessly introduce them in the future. As such there are significant breaking changes present in this release for existing users.

See the migration guide for detailed information on how to move to Symphonia 0.6.0.

New Features

  • Format readers and decoders may now be registered with a preference tier/priority
  • Format and metadata readers now provide methods to get information about themselves
  • Format readers can now expose attachments (e.g., attached fonts)
  • Decoders can now decode from non-owning packets, eliminating a copy if using a non-Symphonia demuxer
  • ID3v1, APEv1, and APEv2 metadata formats are now supported
  • Added support for chapters for Matroska, ID3v2, and Vorbis Comments
  • Added support for Matroska metadata
  • Image format and parameter detection for visuals
  • Metadata tags that have an official or defacto meaning are parsed where possible (e.g., a track number tag is parsed into an u64)
  • MediaSourceStream, and all downstream consumers (e.g., FormatReader), are now generic across the lifetime
  • SIMD optimizations are enabled by default

Bug Fixes & Improvements

... (truncated)

Commits
  • ee35874 chore: Release v0.6.1.
  • 6114676 core (formats): Refactor util into separate file.
  • d11ecf3 core (units): Add TimeBase helpers to calculate Time from a Duration. (#543)
  • 660a9f8 core (audio): Add missing Clone and slice() to audio structs. (#542)
  • 67760d1 mp3: Clarify what the frame size in FrameHeader includes.
  • a9eef3b mp3: Skip CRC in Xing/Info and VBRI tag heuristics. (#517)
  • 7988c43 core (io): Bypass MediaSourceStream buffer for large reads.
  • ea66e4c fuzz: Do not loop infinitely on end-of-media.
  • d07550c fuzz: Run rustfmt and clippy on fuzzers.
  • 619c680 mkv (ebml): Fix testing if the next element is a direct child of an ancestor.
  • Additional commits viewable in compare view

Updates pollster from 0.4.0 to 1.0.1

Changelog

Sourced from pollster's changelog.

[1.0.1] - 2026-07-10

Fixed

  • Use doc_cfg instead of doc_auto_cfg for docsrs builds

[1.0.0] - 2026-07-09

Changed

  • FutureExt is now implemented for IntoFuture, not just Future
Commits

Updates egui from 0.36.2 to 0.37.0

Release notes

Sourced from egui's releases.

0.37.0 - Colored emojis! 🚀

egui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.

Try it now: https://www.egui.rs/

egui development is sponsored by Rerun, a startup building an SDK for visualizing streams of multimodal data.

Highlights ✨

Emoji and glyph support

egui can now render any glyph that is supported on your system, including colored emojis and non-Latin scripts.

To enable this, the integration has to use one of two APIs:

  • Context::add_glyph_rasterizer(GlyphRasterizer): a GlyphRasterizer renders a single glyph. eframe uses this on web to render individual glyphs to an off-screen canvas #8490, #8545.
  • Context::add_font_provider(Arc<dyn FontProvider>): lets egui find and load whole fonts at runtime. Native eframe uses this through the new egui_system_font_provider crate, which lists system fonts with fontique #8512.

Completion popup

We've added a new CompletionPopup widget that adds autocomplete to a TextEdit. You can use it e.g. to add emoji selection like in discord:

Screen.Recording.2026-10-15.at.16.05.41.mov

Experimental theme customizations

This release adds a theme plugin system #8153 by @​AdrienZianne. Enable the new experimental feature flag, and there will be a new StyleProvider trait, which can be used to customize visuals for a widget based on the provided classes.

/// Implement the trait for each Widget you'd like to customize
impl StyleProvider<ButtonStyle> for MyTheme {
  fn style(&mut self, args: &StyleArgs<'_>) -> ButtonStyle {
    // You could construct ButtonStyle from scratch, or extend eguis built in style:
    let mut style: ButtonStyle = DefaultStyle.style(args);
    if args.has_class("primary") {
      style.atom_layout.frame.fill = hex_color!("#FF0000");
    }
    style
  }
}
/// Register all your custom style providers
fn init(ctx: &Context) {
ctx.add_widget_theme::<ButtonStyle>(MyTheme);
</tr></table>

... (truncated)

Changelog

Sourced from egui's changelog.

0.37.0 - Colored emojis! 🚀

Highlights ✨

Emoji and glyph support

egui can now render any glyph that is supported on your system, including colored emojis and non-Latin scripts.

To enable this, the integration has to use one of two APIs:

  • Context::add_glyph_rasterizer(GlyphRasterizer): a GlyphRasterizer renders a single glyph. eframe uses this on web to render individual glyphs to an off-screen canvas #8490, #8545.
  • Context::add_font_provider(Arc<dyn FontProvider>): lets egui find and load whole fonts at runtime. Native eframe uses this through the new egui_system_font_provider crate, which lists system fonts with fontique #8512.

Completion popup

We've added a new CompletionPopup widget that adds autocomplete to a TextEdit. You can use it e.g. to add emoji selection like in discord:

Screen.Recording.2026-10-15.at.16.05.41.mov

Experimental theme customizations

This release adds a theme plugin system #8153 by @​AdrienZianne. Enable the new experimental feature flag, and there will be a new StyleProvider trait, which can be used to customize visuals for a widget based on the provided classes.

/// Implement the trait for each Widget you'd like to customize
impl StyleProvider<ButtonStyle> for MyTheme {
  fn style(&mut self, args: &StyleArgs<'_>) -> ButtonStyle {
    // You could construct ButtonStyle from scratch, or extend eguis built in style:
    let mut style: ButtonStyle = DefaultStyle.style(args);
    if args.has_class("primary") {
      style.atom_layout.frame.fill = hex_color!("#FF0000");
    }
    style
  }
}
/// Register all your custom style providers
fn init(ctx: &Context) {
ctx.add_widget_theme::<ButtonStyle>(MyTheme);
ctx.add_widget_theme::<CheckboxStyle>(MyTheme);
// ...
}

Record videos of integration tests

Reading an integration test to understand what its doing can be challenging, so we've added a egui_kittest/video feature that records a mp4 video from it, using ffmpeg! Enable it and pass EGUI_KITTEST_RECORD=1 or EGUI_KITTEST_RECORD=open, and a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:

... (truncated)

Commits

Updates eframe from 0.36.2 to 0.37.0

Release notes

Sourced from eframe's releases.

0.37.0 - Colored emojis! 🚀

egui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.

Try it now: https://www.egui.rs/

egui development is sponsored by Rerun, a startup building an SDK for visualizing streams of multimodal data.

Highlights ✨

Emoji and glyph support

egui can now render any glyph that is supported on your system, including colored emojis and non-Latin scripts.

To enable this, the integration has to use one of two APIs:

  • Context::add_glyph_rasterizer(GlyphRasterizer): a GlyphRasterizer renders a single glyph. eframe uses this on web to render individual glyphs to an off-screen canvas #8490, #8545.
  • Context::add_font_provider(Arc<dyn FontProvider>): lets egui find and load whole fonts at runtime. Native eframe uses this through the new egui_system_font_provider crate, which lists system fonts with fontique #8512.

Completion popup

We've added a new CompletionPopup widget that adds autocomplete to a TextEdit. You can use it e.g. to add emoji selection like in discord:

Screen.Recording.2026-10-15.at.16.05.41.mov

Experimental theme customizations

This release adds a theme plugin system #8153 by @​AdrienZianne. Enable the new experimental feature flag, and there will be a new StyleProvider trait, which can be used to customize visuals for a widget based on the provided classes.

/// Implement the trait for each Widget you'd like to customize
impl StyleProvider<ButtonStyle> for MyTheme {
  fn style(&mut self, args: &StyleArgs<'_>) -> ButtonStyle {
    // You could construct ButtonStyle from scratch, or extend eguis built in style:
    let mut style: ButtonStyle = DefaultStyle.style(args);
    if args.has_class("primary") {
      style.atom_layout.frame.fill = hex_color!("#FF0000");
    }
    style
  }
}
/// Register all your custom style providers
fn init(ctx: &Context) {
ctx.add_widget_theme::<ButtonStyle>(MyTheme);
</tr></table>

... (truncated)

Changelog

Sourced from eframe's changelog.

0.37.0 - Colored emojis! 🚀

Highlights ✨

Emoji and glyph support

egui can now render any glyph that is supported on your system, including colored emojis and non-Latin scripts.

To enable this, the integration has to use one of two APIs:

  • Context::add_glyph_rasterizer(GlyphRasterizer): a GlyphRasterizer renders a single glyph. eframe uses this on web to render individual glyphs to an off-screen canvas #8490, #8545.
  • Context::add_font_provider(Arc<dyn FontProvider>): lets egui find and load whole fonts at runtime. Native eframe uses this through the new egui_system_font_provider crate, which lists system fonts with fontique #8512.

Completion popup

We've added a new CompletionPopup widget that adds autocomplete to a TextEdit. You can use it e.g. to add emoji selection like in discord:

Screen.Recording.2026-10-15.at.16.05.41.mov

Experimental theme customizations

This release adds a theme plugin system #8153 by @​AdrienZianne. Enable the new experimental feature flag, and there will be a new StyleProvider trait, which can be used to customize visuals for a widget based on the provided classes.

/// Implement the trait for each Widget you'd like to customize
impl StyleProvider<ButtonStyle> for MyTheme {
  fn style(&mut self, args: &StyleArgs<'_>) -> ButtonStyle {
    // You could construct ButtonStyle from scratch, or extend eguis built in style:
    let mut style: ButtonStyle = DefaultStyle.style(args);
    if args.has_class("primary") {
      style.atom_layout.frame.fill = hex_color!("#FF0000");
    }
    style
  }
}
/// Register all your custom style providers
fn init(ctx: &Context) {
ctx.add_widget_theme::<ButtonStyle>(MyTheme);
ctx.add_widget_theme::<CheckboxStyle>(MyTheme);
// ...
}

Record videos of integration tests

Reading an integration test to understand what its doing can be challenging, so we've added a egui_kittest/video feature that records a mp4 video from it, using ffmpeg! Enable it and pass EGUI_KITTEST_RECORD=1 or EGUI_KITTEST_RECORD=open, and a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:

... (truncated)

Commits
  • cb2c39c Fix egui_demo_lib not compiling standalone
  • 9d317be Fix dep cycle
  • 3c6eb82 Update changelog
  • eee824c Rename egui_system_fonts to egui_system_font_provider (#8724)
  • efcf497 Fix premultiplied alpha when copying images to the clipboard (#8715)
  • 43743e2 Make Margin::sum const (#8711)
  • b25d2d4 Improve window restoration logic (#8687)
  • 4166a93 Fix missing Chinese characters from system fonts on Windows (#8688)
  • dfe3318 Improve the fallback syntax highlighter in egui_extras (#8708)
  • bb62233 Fix not being able to click autocomplete items (#8690)
  • Additional commits viewable in compare view

Updates egui_kittest from 0.36.2 to 0.37.0

Release notes

Sourced from egui_kittest's releases.

0.37.0 - Colored emojis! 🚀

egui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.

Try it now: https://www.egui.rs/

egui development is sponsored by Rerun, a startup building an SDK for visualizing streams of multimodal data.

Highlights ✨

Emoji and glyph support

egui can now render any glyph that is supported on your system, including colored emojis and non-Latin scripts.

To enable this, the integration has to use one of two APIs:

  • Context::add_glyph_rasterizer(GlyphRasterizer): a GlyphRasterizer renders a single glyph. eframe uses this on web to render individual glyphs to an off-screen canvas #8490, #8545.
  • Context::add_font_provider(Arc<dyn FontProvider>): lets egui find and load whole fonts at runtime. Native eframe uses this through the new egui_system_font_provider crate, which lists system fonts with fontique #8512.

Completion popup

We've added a new CompletionPopup widget that adds autocomplete to a TextEdit. You can use it e.g. to add emoji selection like in discord:

Screen.Recording.2026-10-15.at.16.05.41.mov

Experimental theme customizations

This release adds a theme plugin system #8153 by @​AdrienZianne. Enable the new experimental feature flag, and there will be a new StyleProvider trait, which can be used to customize visuals for a widget based on the provided classes.

/// Implement the trait for each Widget you'd like to customize
impl StyleProvider<ButtonStyle> for MyTheme {
  fn style(&mut self, args: &StyleArgs<'_>) -> ButtonStyle {
    // You could construct ButtonStyle from scratch, or extend eguis built in style:
    let mut style: ButtonStyle = DefaultStyle.style(args);
    if args.has_class("primary") {
      style.atom_layout.frame.fill = hex_color!("#FF0000");
    }
    style
  }
}
/// Register all your custom style providers
fn init(ctx: &Context) {
ctx.add_widget_theme::<ButtonStyle>(MyTheme);
</tr></table>

... (truncated)

Changelog

Sourced from egui_kittest's changelog.

0.37.0 - Colored emojis! 🚀

Highlights ✨

Emoji and glyph support

egui can now render any glyph that is supported on your system, including colored emojis and non-Latin scripts.

To enable this, the integration has to use one of two APIs:

  • Context::add_glyph_rasterizer(GlyphRasterizer): a GlyphRasterizer renders a single glyph. eframe uses this on web to render individual glyphs to an off-screen canvas #8490, #8545.
  • Context::add_font_provider(Arc<dyn FontProvider>): lets egui find and load whole fonts at runtime. Native eframe uses this through the new egui_system_font_provider crate, which lists system fonts with fontique #8512.

Completion popup

We've added a new CompletionPopup widget that adds autocomplete to a TextEdit. You can use it e.g. to add emoji selection like in discord:

Screen.Recording.2026-10-15.at.16.05.41.mov

Experimental theme customizations

This release adds a theme plugin system #8153 by @​AdrienZianne. Enable the new experimental feature flag, and there will be a new StyleProvider trait, which can be used to customize visuals for a widget based on the provided classes.

/// Implement the trait for each Widget you'd like to customize
impl StyleProvider<ButtonStyle> for MyTheme {
  fn style(&mut self, args: &StyleArgs<'_>) -> ButtonStyle {
    // You could construct ButtonStyle from scratch, or extend eguis built in style:
    let mut style: ButtonStyle = DefaultStyle.style(args);
    if args.has_class("primary") {
      style.atom_layout.frame.fill = hex_color!("#FF0000");
    }
    style
  }
}
/// Register all your custom style providers
fn init(ctx: &Context) {
ctx.add_widget_theme::<ButtonStyle>(MyTheme);
ctx.add_widget_theme::<CheckboxStyle>(MyTheme);
// ...
}

Record videos of integration tests

Reading an integration test to understand what its doing can be challenging, so we've added a egui_kittest/video feature that records a mp4 video from it, using ffmpeg! Enable it and pass EGUI_KITTEST_RECORD=1 or EGUI_KITTEST_RECORD=open, and a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:

... (truncated)

Commits

Updates cpal from 0.16.0 to 0.18.2

Release notes

Sourced from cpal's releases.

cpal 0.18.2

Added

  • AAudio: Xruns are now reported as ErrorKind::Xrun.
  • CoreAudio: Xruns are now reported as ErrorKind::Xrun.
  • PipeWire: Xruns are now reported as ErrorKind::Xrun.
  • WASAPI: Capture xruns are now reported as ErrorKind::Xrun.

Changed

  • BSD: Clarify that realtime-dbus has no effect there.
  • CoreAudio: Bump objc2-core-foundation dependency lower bound to 0.3.1.
  • iOS: Timestamps now include hardware latency and update when the audio route changes.
  • JACK: Timestamps now include port latency.
  • Linux: Clarify that realtime alone is a no-op without realtime-dbus.
  • PipeWire: Devices with multiple ports now get distinct, localized, per-port names.
  • WASAPI: The windows and windows-core dependencies are now both pinned to 0.62.

Fixed

  • Timestamps now stay monotonic across device and graph changes.
  • ALSA: A nonzero but sub-millisecond stream timeout is no longer treated as a non-blocking poll.
  • ALSA: Fix compilation on FreeBSD, DragonFly, and NetBSD.
  • ASIO: Fix duplex streams silently dropping audio when built from separate Device handles.
  • AudioWorklet: Fix Stream operations to work when called from any thread.
  • AudioWorklet: Fix stale audio output when a data callback wrote a partial buffer.
  • CoreAudio: Fix stale audio output when a data callback wrote a partial buffer.
  • CoreAudio: Default-output streams now report xrun status.
  • iOS: Streams now resume automatically when an audio session interruption ends.
  • JACK: Streams with more channels than physical system ports no longer fail to build.
  • JACK: Channel enumeration is no longer capped at the physical system port count.
  • JACK: Device::id no longer embeds the process ID, so DeviceId is now stable across application restarts.
  • PipeWire: Fix streams starting audio before play() is called.
  • PipeWire: Fix real-time promotion blocking the audio callback thread on Linux.
  • PipeWire: Fix rtkit burst limit errors from repeated real-time promotion on quantum jitter.
  • PipeWire: Fix 24-bit sample format mapping.
  • PipeWire: Nodes with an /Internal media class are now enumerated as devices.
  • PipeWire: Streams for a specific device no longer auto-reroute if it disappears.
  • PipeWire: Build on 32-bit targets without native 64-bit atomics.
  • PulseAudio: NoData errors are no longer misreported as buffer xruns.
  • PulseAudio: Build on 32-bit targets without native 64-bit atomics.
  • visionOS: The CoreAudio backend now builds.
  • WASAPI: Stream::drop, play, and pause no longer panic when the device is lost.
  • WASAPI: Output streams no longer reject formats that the built-in resampler can convert.
  • WASAPI: Fix 24-bit samples not being packed into the upper bits of their sample container.
  • WASAPI: Reported buffer sizes are no longer off by one frame.
  • WASAPI: Default device changes no longer report DeviceChanged, which wrongly implied the stream had rerouted automatically.
  • WebAudio: Fix stale audio output when a data callback wrote a partial buffer.
  • WebAudio: Fix unsound Send + Sync on Stream when compiled with +atomics.
  • WebAudio: Fix Host::is_available() always returning true, even in non-window contexts.

... (truncated)

Changelog

Sourced from cpal's changelog.

[0.18.2] - 2026-08-16

Added

  • AAudio: Xruns are now reported as ErrorKind::Xrun.
  • CoreAudio: Xruns are now reported as ErrorKind::Xrun.
  • PipeWire: Xruns are now reported as ErrorKind::Xrun.
  • WASAPI: Capture xruns are now reported as ErrorKind::Xrun.

Changed

  • BSD: Clarify that realtime-dbus has no effect there.
  • CoreAudio: Bump objc2-core-foundation dependency lower bound to 0.3.1.
  • iOS: Timestamps now include hardware latency and update when the audio route changes.
  • JACK: Timestamps now include port latency.
  • Linux: Clarify that realtime alone is a no-op without realtime-dbus.
  • PipeWire: Devices with multiple ports now get distinct, localized, per-port names.
  • WASAPI: The windows and windows-core dependencies are now both pinned to 0.62.

Fixed

  • Timestamps now stay monotonic across device and graph changes.
  • ALSA: A nonzero but sub-millisecond stream timeout is no longer treated as a non-blocking poll.
  • ALSA: Fix compilation on FreeBSD, DragonFly, and NetBSD.
  • ASIO: Fix duplex streams silently dropping audio when built from separate Device handles.
  • AudioWorklet: Fix Stream operations to work when called from any thread.
  • AudioWorklet: Fix stale audio output when a data callback wrote a partial buffer.
  • CoreAudio: Default-output streams now report xrun status.
  • CoreAudio: Fix stale audio output when a data callback wrote a partial buffer.
  • iOS: Streams now resume automatically when an audio session interruption ends.
  • JACK: Streams with more channels than physical system ports no longer fail to build.
  • JACK: Channel enumeration is no longer capped at the physical system port count.
  • JACK: Device::id no longer embeds the process ID, so DeviceId is now stable across application restarts.
  • PipeWire: Fix streams starting audio before play() is called.
  • PipeWire: Fix rtkit burst limit errors from repeated real-time promotion on quantum jitter.
  • PipeWire: Fix real-time promotion blocking the audio callback thread on Linux.
  • PipeWire: Fix 24-bit sample format mapping.
  • PipeWire: Nodes with an /Internal media class are now enumerated as devices.
  • PipeWire: Streams for a specific device no longer auto-reroute if it disappears.
  • PipeWire: Build on 32-bit targets without native 64-bit atomics.
  • PulseAudio: NoData errors are no longer misreported as buffer xruns.
  • PulseAudio: Build on 32-bit targets without native 64-bit atomics.
  • visionOS: The CoreAudio backend now builds.
  • WASAPI: Default device changes no longer report DeviceChanged, which wrongly implied the stream had rerouted automatically.
  • WASAPI: Reported buffer sizes are no longer off by one frame.
  • WASAPI: Stream::drop, play, and pause no longer panic when the device is lost.
  • WASAPI: Capture streams no longer report a spurious xrun on the first buffer after starting.
  • WASAPI: Output streams no longer reject formats that the built-in resampler can convert.
  • WASAPI: Fix 24-bit samples not being packed into the upper bits of their sample container.
  • WebAudio: Fix stale audio output when a data callback wrote a partial buffer.

... (truncated)

Commits

Bumps the cargo-dependencies group with 17 updates:

| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json) | `1.0.151` | `1.0.154` |
| [proptest](https://github.com/proptest-rs/proptest) | `1.11.0` | `1.12.0` |
| [skrifa](https://github.com/googlefonts/fontations) | `0.44.0` | `0.47.0` |
| [harfrust](https://github.com/harfbuzz/harfrust) | `0.12.0` | `0.13.3` |
| [symphonia](https://github.com/pdeljanov/Symphonia) | `0.5.5` | `0.6.1` |
| [pollster](https://github.com/zesterer/pollster) | `0.4.0` | `1.0.1` |
| [egui](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |
| [eframe](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |
| [egui_kittest](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |
| [cpal](https://github.com/RustAudio/cpal) | `0.16.0` | `0.18.2` |
| [miniz_oxide](https://github.com/Frommi/miniz_oxide) | `0.8.9` | `0.9.1` |
| [linesweeper](https://github.com/jneem/linesweeper) | `0.4.0` | `0.5.0` |
| [zip](https://github.com/zip-rs/zip2) | `6.0.0` | `9.0.5` |
| [lz4_flex](https://github.com/pseitz/lz4_flex) | `0.11.6` | `0.14.0` |
| [muda](https://github.com/tauri-apps/muda) | `0.21.0` | `0.21.2` |
| [objc2](https://github.com/madsmtm/objc2) | `0.6.4` | `0.6.5` |
| [winresource](https://github.com/BenjaminRi/winresource) | `0.1.31` | `0.1.34` |


Updates `serde_json` from 1.0.151 to 1.0.154
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](serde-rs/json@v1.0.151...v1.0.154)

Updates `proptest` from 1.11.0 to 1.12.0
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/main/CHANGELOG.md)
- [Commits](proptest-rs/proptest@v1.11.0...v1.12.0)

Updates `skrifa` from 0.44.0 to 0.47.0
- [Release notes](https://github.com/googlefonts/fontations/releases)
- [Changelog](https://github.com/googlefonts/fontations/blob/main/docs/RELEASE.md)
- [Commits](googlefonts/fontations@skrifa-v0.44.0...skrifa-v0.47.0)

Updates `harfrust` from 0.12.0 to 0.13.3
- [Release notes](https://github.com/harfbuzz/harfrust/releases)
- [Changelog](https://github.com/harfbuzz/harfrust/blob/main/CHANGELOG.md)
- [Commits](harfbuzz/harfrust@0.12.0...0.13.3)

Updates `symphonia` from 0.5.5 to 0.6.1
- [Release notes](https://github.com/pdeljanov/Symphonia/releases)
- [Commits](pdeljanov/Symphonia@v0.5.5...v0.6.1)

Updates `pollster` from 0.4.0 to 1.0.1
- [Changelog](https://github.com/zesterer/pollster/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zesterer/pollster/commits)

Updates `egui` from 0.36.2 to 0.37.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/main/CHANGELOG.md)
- [Commits](emilk/egui@0.36.2...0.37.0)

Updates `eframe` from 0.36.2 to 0.37.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/main/CHANGELOG.md)
- [Commits](emilk/egui@0.36.2...0.37.0)

Updates `egui_kittest` from 0.36.2 to 0.37.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/main/CHANGELOG.md)
- [Commits](emilk/egui@0.36.2...0.37.0)

Updates `cpal` from 0.16.0 to 0.18.2
- [Release notes](https://github.com/RustAudio/cpal/releases)
- [Changelog](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md)
- [Commits](RustAudio/cpal@v0.16.0...v0.18.2)

Updates `miniz_oxide` from 0.8.9 to 0.9.1
- [Changelog](https://github.com/Frommi/miniz_oxide/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Frommi/miniz_oxide/commits)

Updates `linesweeper` from 0.4.0 to 0.5.0
- [Commits](https://github.com/jneem/linesweeper/commits)

Updates `zip` from 6.0.0 to 9.0.5
- [Release notes](https://github.com/zip-rs/zip2/releases)
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md)
- [Commits](zip-rs/zip2@v6.0.0...v9.0.5)

Updates `lz4_flex` from 0.11.6 to 0.14.0
- [Release notes](https://github.com/pseitz/lz4_flex/releases)
- [Changelog](https://github.com/PSeitz/lz4_flex/blob/main/CHANGELOG.md)
- [Commits](PSeitz/lz4_flex@0.11.6...0.14.0)

Updates `muda` from 0.21.0 to 0.21.2
- [Release notes](https://github.com/tauri-apps/muda/releases)
- [Changelog](https://github.com/tauri-apps/muda/blob/dev/CHANGELOG.md)
- [Commits](tauri-apps/muda@muda-v0.21...muda-v0.21.2)

Updates `objc2` from 0.6.4 to 0.6.5
- [Commits](madsmtm/objc2@objc2-0.6.4...objc2-0.6.5)

Updates `winresource` from 0.1.31 to 0.1.34
- [Commits](https://github.com/BenjaminRi/winresource/commits)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-version: 1.0.154
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
- dependency-name: proptest
  dependency-version: 1.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: skrifa
  dependency-version: 0.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: harfrust
  dependency-version: 0.13.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: symphonia
  dependency-version: 0.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: pollster
  dependency-version: 1.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: cargo-dependencies
- dependency-name: egui
  dependency-version: 0.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: eframe
  dependency-version: 0.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: egui_kittest
  dependency-version: 0.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: cpal
  dependency-version: 0.18.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: miniz_oxide
  dependency-version: 0.9.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: linesweeper
  dependency-version: 0.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: zip
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: cargo-dependencies
- dependency-name: lz4_flex
  dependency-version: 0.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: muda
  dependency-version: 0.21.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
- dependency-name: objc2
  dependency-version: 0.6.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
- dependency-name: winresource
  dependency-version: 0.1.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Oct 27, 2026
@dependabot @github

dependabot Bot commented on behalf of github Oct 27, 2026

Copy link
Copy Markdown
Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Oct 27, 2026
@dependabot
dependabot Bot deleted the dependabot/cargo/cargo-dependencies-95a1bb4243 branch October 27, 2026 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants