Migration & Compatibility

Azu provides smooth migration paths and maintains backward compatibility across versions. This section covers version upgrades, breaking changes, and compatibility guidelines.

Overview

Azu's migration features are designed for:

  • Smooth version upgrades with clear migration paths

  • Backward compatibility where possible

  • Breaking change documentation with migration guides

  • Deprecation warnings with clear upgrade instructions

  • Compatibility matrices for dependencies

Version Compatibility

Compatibility Matrix

Azu Version
Crystal Version
Status
End of Life

0.5.x

1.2.x+

✅ Current

-

0.4.x

1.1.x+

✅ Supported

2024-12-31

0.3.x

1.0.x+

⚠️ Deprecated

2024-06-30

0.2.x

0.36.x+

❌ EOL

2023-12-31

Version Upgrades

Upgrading to Azu 0.5.x

Azu 0.5.x introduces several improvements and breaking changes:

New Features

  • Enhanced WebSocket support with connection pooling

  • Improved template engine with better error handling

  • New middleware for rate limiting and IP spoofing protection

  • Better performance monitoring and metrics

Breaking Changes

  • Removed deprecated Azu::Handler::Session (use Azu::Handler::Session::Redis instead)

  • Changed WebSocket channel API for better type safety

  • Updated template engine configuration format

  • Modified response serialization interface

Migration Steps

  1. Update Crystal Version

  2. Update Azu Version

  3. Update WebSocket Channels

  4. Update Template Configuration

Learn more about Version Upgrades →

Breaking Changes

Azu 0.5.x Breaking Changes

1. WebSocket Channel API Changes

Before (0.4.x):

After (0.5.x):

2. Session Handler Removal

Before (0.4.x):

After (0.5.x):

3. Response Serialization Changes

Before (0.4.x):

After (0.5.x):

Learn more about Breaking Changes →

Deprecation Warnings

Azu provides deprecation warnings to help you identify code that needs to be updated:

Common Deprecation Warnings

1. Deprecated Handler Usage

2. Deprecated Template Methods

3. Deprecated Configuration

Handling Deprecation Warnings

  1. Enable Deprecation Warnings

  2. Suppress Specific Warnings

  3. Update Deprecated Code

Compatibility Guidelines

1. API Compatibility

Stable APIs

  • Core endpoint interface

  • Request/response contracts

  • Basic middleware interface

  • Template rendering API

Evolving APIs

  • WebSocket channel API (improvements in 0.5.x)

  • Configuration interface (consolidated in 0.5.x)

  • Session handling (Redis-only in 0.5.x)

2. Dependency Compatibility

Required Dependencies

Optional Dependencies

3. Environment Compatibility

Development Environment

Production Environment

Migration Tools

1. Automated Migration Scripts

Azu provides migration scripts to help automate common upgrades:

2. Compatibility Checker

3. Upgrade Assistant

Testing Migrations

1. Test Suite Updates

Update your test suite to work with new versions:

2. Compatibility Tests

Support and Resources

1. Migration Support

2. Community Resources

Next Steps

Examples

Check out the migration examples for complete working examples of:

  • 0.4.x to 0.5.x upgrades

  • Breaking change migrations

  • Compatibility testing

  • Automated migration scripts


Need help with migration? Start with the Version Upgrades guide for step-by-step instructions, then check Breaking Changes for detailed information about API changes.

Last updated

Was this helpful?