Releases: ANUcybernetics/panic
v3.0.0 - Ash Framework Migration
PANIC! v3.0.0 - Ash Framework Migration (October 2024)
Major architectural migration to the Ash Framework, representing a complete modernization of PANIC!'s codebase.
Architecture
- SQLite + Ash Framework + GenServer
- Declarative resource definitions with Ash
- Integrated authentication via AshAuthentication
Major Changes
- Ecto contexts → Ash domains: Business logic now organized in declarative domains
- Ecto schemas → Ash resources: Data modeling with powerful built-in querying
- Custom auth → AshAuthentication: Standardized authentication with multiple strategies
- Finitomata FSM → GenServer-based NetworkRunner: Simplified process architecture
- Terminology update: 'Prediction' → 'Invocation' for clearer semantics
Benefits of Ash Framework
- Declarative resource definitions: Attributes, relationships, and actions defined in one place
- Powerful query interface: Composable queries with filtering, sorting, and loading
- Built-in authorization: Policy-based access control integrated into resources
- Code interfaces: Type-safe functions generated from resource definitions
- Extensibility: Easy to add new capabilities through Ash's extension system
Technical Improvements
- Better separation of concerns with domain-driven design
- More maintainable codebase with less boilerplate
- Type-safe interfaces throughout the application
- Improved test architecture using Ash generators
This version brings PANIC! into the modern Elixir ecosystem while maintaining backward compatibility with SQLite data storage. The Ash Framework provides a solid foundation for future development and makes the codebase significantly more maintainable.
v2.0.0 - SQLite Rewrite
PANIC! v2.0.0 - SQLite Rewrite (February 2023)
Complete architectural rewrite switching to SQLite database.
Architecture
- SQLite + Ecto + Finitomata FSM
- New state machine architecture for orchestrating network runs
- Platform abstraction layer for multiple AI services
Key Features
- User authentication and multi-user support
- API token system for secure access to AI platforms (OpenAI, Replicate)
- State machine-based network execution using Finitomata
- Platform abstraction supporting OpenAI and Replicate models
- Improved UI: The characteristic 'purple on dark grey' aesthetic introduced in this version
Technical Improvements
- Migration from PostgreSQL to SQLite for simpler deployment
- Finite state machine for robust network execution lifecycle
- Better separation between platform integrations and core logic
- Enhanced error handling for AI API calls
This version represented a complete rewrite of PANIC! with a focus on architectural cleanliness, multi-user capabilities, and production reliability.
v1.0.0 - Australian Cybernetic Deployment
PANIC! v1.0.0 - Australian Cybernetic Deployment (November 2022)
Production deployment for the Australian Cybernetic event in November 2022.
Architecture
- PostgreSQL + Ecto (mature implementation)
Key Features
- Vestaboard integration for physical split-flap displays
- Public display views: terminal, grid, and screen routes for installations
- Multi-screen support for distributed exhibition setups
- Polished UI with text overlays on images
- Real-time synchronization across multiple viewing clients
Development Notes
This release represents 80+ commits of intense development throughout November 2022, bringing PANIC! from prototype to production-ready installation software. The focus was on reliability, real-time display updates, and creating an engaging public exhibition experience.
The version was successfully deployed for the Australian Cybernetic event and demonstrated the potential of AI feedback loops as an interactive art installation.
v0.1.0 - Original Prototype
PANIC! v0.1.0 - Original Prototype (August 2022)
The initial PANIC! prototype based on PetalPro template.
Architecture
- PostgreSQL + Ecto
- Basic network/run model established
- Replicate platform integration
Key Features
- Initial generative AI model chaining concept
- Replicate API integration for image generation
- Basic web interface for creating and viewing networks
This version established the core idea of PANIC!: creating feedback loops of generative AI models where the output of one model becomes the input to the next.