Skip to content

v0.3.9 - iced 0.14.0 Migration & CI Improvements

Latest

Choose a tag to compare

@doublegate doublegate released this 11 Jan 00:19

v0.3.9 - iced 0.14.0 Migration & CI Improvements

Release Date: January 10, 2026

Executive Summary

Complete GUI framework upgrade from iced 0.13.1 to iced 0.14.0 with 82+ breaking API changes resolved, along with CI/CD improvements and tech debt remediation. This release modernizes the GUI framework while maintaining full backward compatibility with existing functionality.

Highlights

  • iced 0.14.0: Major GUI framework upgrade with reactive rendering and time-travel debugging
  • 82+ Breaking Changes Resolved: Complete API migration with zero compilation errors
  • CI/CD Improvements: Fixed security-audit permissions, artifact naming, and codecov migration
  • Tech Debt Remediation: Updated deprecated APIs and dependencies
  • Zero Warnings: All clippy warnings resolved, production-ready code quality

Changed

GUI Framework Upgrade: iced 0.13.1 to 0.14.0

  • Major Version Upgrade: Complete migration from iced 0.13.1 to iced 0.14.0 with 82+ breaking API changes resolved
  • Key Features: Reactive rendering improvements, time-travel debugging, and enhanced API design

Breaking API Changes Fixed

API Change Before After
Space Widget Space::with_width/with_height Space::new().width/height()
Application iced::application(title, update, view) iced::application(boot_fn, update, view).title()
Checkbox checkbox(label, value) checkbox(value).label(label)
Scrollable IDs scrollable::Id iced::widget::Id
Scrollable Ops scrollable::snap_to operation::snap_to
Text Input Status::Focused tuple Status::Focused { is_hovered } struct
Style Structs No snap field snap: bool required
Rule Widget horizontal_rule(height) rule::horizontal(height)

Fixed

CI/CD Improvements

  • Security Audit Permissions: Added checks: write permission for proper security-audit workflow execution
  • Artifact Naming: Fixed matrix.os to runner.os for consistent artifact naming across platforms
  • Codecov Migration: Updated from deprecated codecov/test-results-action@v1 to codecov/codecov-action@v5

Tech Debt Remediation

  • Benchmark Deprecation: Fixed criterion::black_box to std::hint::black_box (7 occurrences)
  • Tokio Update: Updated tokio from 1.48 to 1.49
  • Clippy Fixes: Applied clippy recommendations (unused imports, derive Default)
  • Benchmark Rewrites: Updated benchmarks for async StateManager API

Dependencies

Dependency Previous New
iced 0.13.1 0.14.0
tokio 1.48 1.49

Repository Cleanup

  • Closed superseded PRs (#27, #32)
  • Dropped obsolete stashes
  • Pruned 20+ stale remote branches
  • Added Claude Code memory bank patterns to .gitignore

Files Modified (19 GUI files)

  • Cargo.toml - Version bump to iced 0.14.0
  • crates/rustirc-gui/src/app.rs - Application API and rule widget
  • crates/rustirc-gui/src/dialogs.rs - Space, checkbox, and max_width APIs
  • crates/rustirc-gui/src/material_demo.rs - Application boot function
  • crates/rustirc-gui/src/widgets/* - Space widget updates
  • crates/rustirc-gui/src/components/atoms/* - Style struct updates
  • crates/rustirc-gui/src/components/molecules/* - Status pattern updates
  • crates/rustirc-gui/src/components/organisms/* - Responsive layout updates

Quality Assurance

  • Build Status: Zero compilation errors
  • Clippy: Zero warnings with -D warnings flag
  • Tests: All 62 tests passing (unit tests)
  • Compatibility: Full backward compatibility with existing GUI functionality

Upgrade Instructions

  1. Update your Cargo.toml to use RustIRC v0.3.9
  2. Run cargo update to fetch the new iced 0.14.0 dependency
  3. Build and test: cargo build && cargo test

No code changes required for existing users - all breaking changes are internal to the RustIRC implementation.

Full Changelog

See CHANGELOG.md for complete details.

Commits Since v0.3.8

  • 289425c refactor: Apply tech debt remediation from stashed changes
  • 5401985 fix(ci): Resolve all failing CI checks for main branch
  • 8853208 feat(gui): Migrate from iced 0.13.1 to iced 0.14.0 (#65)
  • 5f10fa0 fix(security): Consolidate remaining PRs with RUSTSEC-2026-0002 security fix (#64)
  • 8ccaa57 Configure Copilot instructions per best practices (#63)
  • 8e06121 Fix RUSTSEC-2026-0002: Patch lru soundness vulnerability in iced_glyphon (#61)
  • d8a10b1 chore(deps): bump open from 5.3.2 to 5.3.3 (#50)

Contributors

  • RustIRC Contributors
  • Claude Opus 4.5 (Co-Author)

Full Documentation: README.md
IRC Channel: #rustirc on Libera.Chat
Issues: GitHub Issues