Changelog for Aurora UIX
[0.1.0] - 2024-12-11
Initial Release - Aurora UIX 0.1.0 is the first stable release, providing a complete low-code CRUD UI generation framework for Elixir's Phoenix LiveView.
Requires:
- Elixir
1.17+ - Phoenix
1.7+ - Phoenix LiveView
1.0+ - Ecto
3.2+
Added
Core Features
Resource Metadata System (
auix_resource_metadata/3)- Declarative resource and field configuration
- Field-level customization: labels, placeholders, validation rules
- Association support:
belongs_to,has_many,embeds_one,embeds_many - Field attributes: type, precision, scale, required, readonly, hidden, disabled
- Per-field HTML type overrides and custom rendering options
Layout System
- Layout macros:
edit_layout/3,show_layout/3,index_columns/3 - Layout containers:
inline/2,stacked/2,group/3,sections/3,section/3 - Support for complex, nested layouts
- Flexible field organization and UI composition
- Layout macros:
Compile-Time Code Generation
use Aurora.Uixmacro for automatic LiveView module generation- Generates index, show, and edit views
- Template generation from layout definitions
- Zero-runtime-overhead through compile-time processing
View Features
- Index Views: Pagination, sorting, filtering, selection, bulk actions
- Show Views: Display with read-only fields, navigation
- Edit Views: Form handling, validation, error display, real-time updates
Association Handling
- One-to-many inline tables with edit/delete/add actions
- Embeds-many collections with dynamic entry management
- Many-to-one select fields with related data loading
Action System
- Customizable actions for index, show, form, and association layouts
- Action groups: header, footer, row, selected, filters
- Support for add, insert, replace, remove action operations
- Extensible action component system
UI & Theming
Built-in Templates
- Basic template with Phoenix components
- Responsive, mobile-first design
- Light and dark theme variants
Core Components
- Form inputs with validation feedback
- Tables with responsive behavior
- Modals for confirmations
- Buttons with various styles
- Navigation components
- Icon support via Heroicons
Developer Experience
Internationalization (i18n)
- Configurable Gettext backend
- Automatic translation of UI strings
- Support for multiple languages
Extensibility
- Custom template support via
Aurora.Uix.Templatebehaviour - Customizable core components
- Field renderer overrides
- Layout container customization
- Theme customization
- Custom template support via
Documentation
- Comprehensive guides: Overview, Getting Started, Core Concepts
- Advanced usage documentation
- Troubleshooting guide
- Real-world examples
Infrastructure
Development Tools
- Stylesheet generator task (
mix auix.gen.stylesheet) - Icon asset generator task (
mix auix.gen.icons) - Development server with hot reload
- Stylesheet generator task (
Testing
- UICase test helper
- WebCase test helper
- Fixtures and test utilities
API Highlights
Metadata Module Functions
auix_resources/0- Retrieve all configured resourcesauix_resource/1- Get specific resource metadata- Metadata export for separation of concerns
Template API
- Template behavior with required callbacks
- Module name generation helpers
- Field omission support
Action API
Aurora.Uix.Action- Action creation and managementAurora.Uix.Templates.Basic.Actions- Action manipulation helpers- Helper functions:
add_auix_action,insert_auix_action,replace_auix_action,remove_auix_action
Known Limitations
- Templates currently support compile-time generation only (no dynamic template creation at runtime)
- Limited to Ecto-based schemas (other data sources require custom integration)
- CSS themes are basic and designed for light customization
- Some advanced Phoenix features (plugs, channels) require manual setup
Fixed
- N/A (initial release)
Security
- Form validations run both client-side and server-side
- CSRF protection via Phoenix's standard mechanisms
- No sensitive data logged or exposed in templates
Future Roadmap
Future releases may include:
- Additional rendering components and theme options
- Simplified template creation with better hooks for customization
- Enhanced theme adoption and customization
- Page navigation from within show/edit views
- Query builder integration for advanced filtering
- Performance optimizations for large datasets
- GraphQL integration support