Skip to content

Latest commit

 

History

History
145 lines (104 loc) · 5.03 KB

File metadata and controls

145 lines (104 loc) · 5.03 KB

🚀 Radix-Leptos v0.9.0 Release Notes

Architecture Refactoring & Critical Fixes Release

🎯 Overview

Radix-Leptos v0.9.0 represents a major milestone in the project's evolution, featuring a complete architecture refactoring, critical bug fixes, and significant improvements to code organization and maintainability.

🏗️ Major Changes

Architecture Refactoring

We've completely refactored the codebase to improve maintainability and organization:

Modular Component Structure

  • Pagination System: Split pagination.rs (932 lines) into modular components:

    • pagination/context.rs - Context provider for pagination state
    • pagination/items.rs - Individual pagination items
    • pagination/helpers.rs - Utility functions
    • pagination/mod.rs - Module exports
  • Form Validation System: Split form_validation.rs (884 lines) into:

    • form_validation/validation.rs - Core validation logic
    • form_validation/fields.rs - Form field components
    • form_validation/controls.rs - Form control components
    • form_validation/mod.rs - Module exports
  • Theming System: Refactored large theme files:

    • prebuilt_themes.rs (895 lines) → prebuilt_themes/ (light, dark, color_schemes, theme_builder)
    • component_variants.rs (894 lines) → component_variants/ (button, input, layout, feedback, data)
    • layout_system.rs (1,150 lines) → layout_system/ (container, spacing, responsive)
    • theme_customization.rs (866 lines) → theme_customization/ (css_editor, theme_export)

Feature Gating System

Introduced a comprehensive feature flag system for optimal bundle sizes:

  • core: Production-ready components (always available)
  • experimental: Incomplete/experimental components (feature-gated)
  • full: All components (core + experimental)
# Production (recommended)
radix-leptos = { version = "0.9.0", features = ["core"] }

# Development (all components)
radix-leptos = { version = "0.9.0", features = ["full"] }

# Experimental (use with caution)
radix-leptos = { version = "0.9.0", features = ["experimental"] }

🔧 Critical Fixes

Compilation Errors Fixed

  • 45 compilation errors0 errors
  • Fixed Label component missing view! returns
  • Fixed Button component children rendering
  • Fixed form validation test compilation issues
  • Fixed date/time validation functions with proper range validation
  • Cleaned up unused variables across components
  • Wired event handlers to DOM elements in Tabs and RadioGroup

Utility Consolidation

  • Centralized merge_classes and generate_id utilities
  • Fixed all function signature mismatches
  • Removed duplicate utility implementations
  • Updated all components to use centralized utilities

Test Improvements

  • 1,865 tests passing (100% success rate)
  • Fixed date validation (proper month/day validation)
  • Fixed time validation (proper hour/minute/second validation)
  • All integration tests passing

📚 Documentation Updates

New Documentation

  • MODULE_ARCHITECTURE.md: Comprehensive guide to module structure and feature flags
  • Updated README.md: Module structure and feature flag documentation
  • Updated API Documentation: Modular component documentation
  • Updated Repository Structure: New architecture documentation

Migration Guide

  • Clear migration instructions from v0.8.5 to v0.9.0
  • Feature flag usage examples
  • Bundle size optimization recommendations

🚀 Performance Improvements

Build Performance

  • Reduced compilation time through modular architecture
  • Optimized bundle sizes with feature gating
  • Improved code organization for better IDE support

Runtime Performance

  • Centralized utility functions reduce code duplication
  • Better tree-shaking with feature flags
  • Optimized component loading

🔄 Breaking Changes

None! This release maintains full backward compatibility.

📦 Installation

[dependencies]
radix-leptos = "0.9.0"
leptos = "0.8.8"

# For minimal bundle size (recommended for production)
radix-leptos = { version = "0.9.0", features = ["core"] }

# For all components
radix-leptos = { version = "0.9.0", features = ["full"] }

🎯 What's Next

  • v1.0.0: Complete Radix UI parity
  • Enhanced Testing: More comprehensive test coverage
  • Performance Optimization: Further bundle size improvements
  • Documentation: Expanded component examples and guides

🙏 Acknowledgments

This release represents a significant effort in code organization and quality improvement. Special thanks to all contributors and the community for their support.

📊 Statistics

  • Files Changed: 115 files
  • Lines Added: 9,511
  • Lines Removed: 4,421
  • Compilation Errors Fixed: 45 → 0
  • Tests Passing: 1,865 (100% success rate)
  • Components: 57+ components with feature gating

Full Changelog: https://github.com/cloud-shuttle/radix-leptos/compare/v0.8.5...v0.9.0

Documentation: https://docs.rs/radix-leptos/0.9.0

Repository: https://github.com/cloud-shuttle/radix-leptos