CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.8.3] - 2026-03-18

### Fixed
- Restored the shared server runtime pid after temporary Bun/Deno integration tests
- Eliminated the release-workflow test flake caused by runtime integration tests mutating global server state

## [0.8.2] - 2026-03-18

### Changed
- Released from merged `main`
- Updated package source links to `mfreeman451/phoenix-react-ng`

## [0.8.1] - 2026-03-18

### Changed
- Updated `react` and `react-dom` to `19.2.4`
- Updated `react-markdown` to `10.1.0`
- Updated `remark-gfm` to `4.0.1`
- Updated Deno server template and runtime import pins to match the current React stack

## [0.8.0] - 2026-03-18

### Added
- Comprehensive type specifications (`@type` and `@spec`) for all public functions
- Enhanced module documentation with detailed examples and usage patterns
- New `Phoenix.React.Config` module for centralized configuration management
- Improved error handling and logging across all runtime implementations
- Better type safety with strict typing for component names, props, and rendering methods
- Enhanced file watcher documentation and configuration options
- Production deployment guides and best practices

### Changed
- Forked release published as `phoenix_react_ng`
- Application configuration namespace changed to `:phoenix_react_ng`
- Hex publish automation now runs from GitHub Releases
- Completely rewritten README with comprehensive documentation and examples
- Improved runtime module architecture with better separation of concerns
- Enhanced cache module with proper type specifications and documentation
- Better error messages and debugging information
- Optimized configuration validation and defaults

### Fixed
- Type specification inconsistencies across modules
- Documentation gaps in runtime implementations
- Missing error handling in edge cases

## [0.7.3] - 2024-XX-XX

### Added
- Support for Deno 2.x runtime
- Enhanced security features for Deno runtime
- File watching improvements with throttling
- Better error reporting and logging

### Changed
- Improved performance for component rendering
- Enhanced development experience with hot reloading
- Better memory management and cleanup

## [0.7.2] - 2024-XX-XX

### Fixed
- Runtime process cleanup issues
- Memory leaks in long-running applications
- Port handling in production environments

### Changed
- Updated dependencies for better compatibility
- Improved error handling for network requests

## [0.7.1] - 2024-XX-XX

### Fixed
- Component bundling issues in production
- File watcher not detecting changes properly
- Configuration validation errors

### Changed
- Better default configuration values
- Improved documentation and examples

## [0.7.0] - 2024-XX-XX

### Added
- Dual runtime support (Bun and Deno)
- Enhanced caching system with TTL
- File watching for development
- Production bundling tools
- LiveView integration examples

### Changed
- Complete rewrite of runtime architecture
- Improved API design with better type safety
- Enhanced error handling and logging

### Breaking Changes
- Updated configuration structure
- Changed module names for better organization
- Modified API for component rendering

## [0.6.x] - Earlier Versions

### Added
- Initial React server-side rendering support
- Basic component rendering functionality
- Phoenix integration helpers

### Known Issues
- Limited runtime support
- Basic error handling
- No production optimization features

---

## Migration Guide

### From 0.6.x to 0.7.x

1. **Update Configuration**
   ```elixir
   # Old configuration
   config :phoenix_react_ng, :runtime, :bun
   
   # New configuration
   config :phoenix_react_ng, Phoenix.React,
     runtime: Phoenix.React.Runtime.Bun
   ```

2. **Update Module Imports**
   ```elixir
   # Old
   import PhoenixReact.Helpers
   
   # New
   import Phoenix.React.Helper
   ```

3. **Update Component Usage**
   ```elixir
   # Old
   react_render("component", props)
   
   # New
   react_component(component: "component", props: props)
   ```

### From 0.7.2 to 0.7.3

No breaking changes. Simply update the dependency and enjoy enhanced documentation and type safety.

---

## Development

For information about contributing to this project, please see the [CONTRIBUTING.md](CONTRIBUTING.md) file.

For release procedures, see the [RELEASE.md](RELEASE.md) file.