About This Changelog
All notable changes to WireChat are documented here. The format follows Keep a Changelog, and this project adheres to Semantic Versioning.WireChat is currently in beta (v0.3.x). Breaking changes may occur between minor versions until v1.0 is released.
Unreleased
No unreleased changes at this time.v0.3.0-beta4 - 2025-11-12
Added
- New
registerRoutes(bool|Closure $condition = true)API on the Panel class for conditional route registration
v0.3.0-beta3 - 2025-11-09
Reverted
- Reverted migrations that changed
actionable_id,attachable_id, andactor_idto string in their respective tables
Removed
- Excessive panel-related logging
Fixed
- Typos in CSS classes
v0.3.0-beta2 - 2025-09-30
Added
- Command to publish a migration to update
actionable_id,attachable_id, andactor_idto string in their respective tables
This migration was later reverted in beta3. Use the
wirechat:upgrade-morph-columns command instead.v0.3.0-beta1 - 2025-09-29
Transition from config-based to Panel-based settings for a cleaner, extensible way to define WireChat environments.Added
Panel System
Panel System
- Introduced Panels as the new core system for managing chat environments (e.g., user, admin, support)
- New
ChatsPanelProvidergenerator viaphp artisan make:wirechat-panel - Panel-specific user search with
searchUsersUsing() - Support for panel-based notifications requiring panel IDs
Migration Commands
Migration Commands
wirechat:upgrade-namespace-to-v0.3x- MigrateNamu\WireChat→Wirechat\Wirechatwirechat:upgrade-to-v0.3x- Migrate oldconfig/wirechat.phpto panel providers (planned)wirechat:upgrade-morph-columns- Ensure polymorphic relations work with both UUID and bigint IDs
User Interface
User Interface
- New
WireChatUserinterface for user models InteractsWithWireChattrait replacesChatable- TailwindCSS v4.0+ support
Changed
Configuration
Configuration
- Storage configuration moved from
attachments.*keys tostorage.*keys - UUID configuration clarified with
uses_uuid_for_conversationskey (replacesuuids) - Attachment URLs now resolve storage/visibility from the current panel
User Model API
User Model API
- Accessor methods renamed with
wirechatprefix:getAvatarUrlAttribute→getWirechatAvatarUrlAttributegetProfileUrlAttribute→getWirechatProfileUrlAttributegetDisplayNameAttribute→getWirechatDisplayNameAttribute
- Migrated
searchChatableslogic from User model → panel-based search
Components
Components
- Improved avatar component with SVG fallback when image load fails
- Better error handling for missing images
Deprecated
- Old
namu/wirechatpackage name - Legacy
attachments.*config keys (usestorage.*) - Old
uuidsconfig key (useuses_uuid_for_conversations) - Old
Chatabletrait name (useInteractsWithWireChat) - Legacy accessor methods without
wirechatprefix
Fixed
- Panel migration ensures existing
config/wirechat.phpcustomizations are preserved - Morph column upgrader ensures idempotent, safe migrations without breaking existing foreign keys
v0.2.10 - 2025-05-22
Fixed
- Fixed close button not working correctly when chat component is used as a widget
v0.2.9 - 2025-05-15
Fixed
- Added missing closing tag in chat-list component
v0.2.8 - 2025-05-04
Added
uuidsconfiguration option to toggle UUIDs for new installations
Fixed
- Improved handling of storage URLs when saving attachments
Updated
- Encrypted parameter keys for Blade method actions to enhance security
v0.2.7 - 2025-04-25
Fixed
- Changelog tag links missing prefix ‘v’
- Style in new-group button to use correct/updated CSS variable
- Failing tests
v0.2.6 - 2025-04-25
Added
- New Theme documentation page
- Support for defining CSS variables directly in a single
themeconfiguration entry
Updated
- Theme system now uses CSS variable-based theming approach
- Improved file storage logic to better support S3 and disk visibility handling
v0.2.5 - 2025-04-15
Added
wirechat.attachments.disk_visibilityconfig option to determine if temporary URLs should be generated for private storage disks
Updated
- Attachment upload now uses single file uploads to support S3 and similar disks that do not handle
temporary_uploaded_fileswith multiple files
Fixed
- PHPStan errors and improved code style with docblocks
This version adds full support for S3 and other cloud storage providers.
v0.2.4 - 2025-03-30
Added
- Support for Tailwind v4
v0.2.3 - 2025-03-29
Added
- Language file translation keys for labels
- Built-in validation translation keys
- Separate group info page for groups
- Empty search results message for the new chat component
- More tests for improved coverage
Fixed
- Delete photo button incorrectly acting as a submit button while creating a group
Updated
- Renamed
includesfolder topartialsin chats and chat directories
v0.2.2 - 2025-03-15
Updated
- Storage URL to use
Storage::disk()->url()instead of static URL from database
v0.2.1 - 2025-03-15
Fixed
- Storage disk to support dynamic storage
Added
- Tests for multiple storage support
v0.2.0 - 2025-03-06
Added
- Support for Laravel 12
v0.1.11 - 2025-03-04
Added
- Introduced native notifications feature for new messages
- New
notificationsconfiguration key:
- Added documentation about notifications
v0.1.0 - 2025-02-16
Added
Configuration Options
Configuration Options
'guards' => ['web']- Configure authentication guards'layout' => 'wirechat::layouts.app'- Customize layout- Command for publishing views
Components
Components
- Standalone WireChat widget for embedding in any page
Documentation
Documentation
- Authorization guide
- Core Components documentation
- Layout customization guide
- Views publishing guide
- Contribution guide
- Extending WireChat Components guide
Middleware
Middleware
belongsToConversationmiddleware added to/chatsview route
Changed
NotifyParticipant channel now uses an encoded type and ID to support mixed models in conversations.
Migration required:
Fixed
- Updated tests to fully support conversations with mixed models
- Improved participant handling for different models
Updated
- Optimized code and queries for faster conversation loading
- Updated broadcasting to use the guards provided in WireChat config
v0.0.7 - 2024-12-20
Added
- Introduced
ActorandActionabletraits for improved polymorphic relationship handling - Added tests for
ActorandActionabletraits
Fixed
- Resolved a bug that caused incorrect retrieval of authenticated participant due to missing
conversation_idfilter
Updated
- Refactored migrations to use
unsignedBigIntegerfor all polymorphic relationships by default - Maintains consistency across databases and resolves type mismatch issue found on PostgreSQL
Running
php artisan view:clear may be required to ensure changes take effect.v0.0.6 - 2024-12-16
Fixed
- Fixed error caused by missing import in chat blade due to typo
Running
php artisan view:clear may be required.v0.0.5 - 2024-12-11
Fixed
- Fixed unread messages dot not appearing correctly
Running
php artisan view:clear may be required.v0.0.4 - 2024-12-08
Added
- Issue template for bug reports
- MIT license
- CODEOWNERS file to assign reviewers automatically
v0.0.1 - 2024-12-08
Initial Release - The first public release of WireChat
Added
Core Features
Core Features
- Basic chat functionality for private conversations
- Group chat functionality with admin roles
- Self conversations (notes to self)
- Real-time messaging with Laravel Echo
Smart Deletes
Smart Deletes
- Delete conversations without affecting other participants
- Delete messages individually with per-user tracking
- Clear conversation history
Messages
Messages
- Send and receive messages
- View message history
- Message timestamps and read status
- Unread message indicators
Database
Database
- Published initial migrations for:
- Conversations table
- Messages table
- Participants table
- Actions table (for tracking deletes)
- Attachments table
Version Support
WireChat follows semantic versioning and supports the following Laravel versions:
| WireChat Version | Laravel Version | PHP Version | Status |
|---|---|---|---|
| 0.3.x (beta) | 10.x - 12.x | 8.1 - 8.4 | Active |
| 0.2.x | 10.x - 12.x | 8.1 - 8.4 | Maintenance |
| 0.1.x | 10.x - 11.x | 8.1 - 8.3 | End of Life |
| 0.0.x | 10.x - 11.x | 8.1 - 8.3 | End of Life |