Skip to content

Release v1.0.0-beta2

Choose a tag to compare

@ViewFromTheBox ViewFromTheBox released this 02 Feb 00:33
· 86 commits to main since this release

Added\n#### Internationalization\n- Full Translation Support: All user-facing strings throughout the package now use Laravel's __() translation function\n- Translatable Field Types: Field type labels, categories, and descriptions are now translatable\n- Translatable Form Builder: All form builder UI elements including tabs, buttons, and labels support translations\n- Translatable Form Renderer: Multi-step form navigation, validation messages, and accessibility announcements are translatable\n- Translatable Components: Submissions list, notification editor, and all Livewire components support internationalization\n### Fixed\n- Translation Conflict Resolution: Fixed htmlspecialchars() error caused by __('Validation') conflicting with Laravel's validation.php language file on case-insensitive filesystems (macOS). Changed to __('Validation Settings') to avoid the collision\n- Multi-Step Form Announcements: Fixed JavaScript replace() to replaceAll() for step change announcements, ensuring all placeholder occurrences are replaced in accessibility announcements\n- Export Service Tests: Updated test expectations to use stable '1'/'0' values for boolean fields instead of localized 'Yes'/'No' strings\n### Changed\n- Code Quality Improvements: Applied Code Rabbit suggestions for improved code consistency and maintainability\n## [1.0.0-beta1] - 2026-01-08\n### First Beta Release\nThis is the first beta release of ArtisanPack UI Forms, a comprehensive form builder and management package for Laravel applications built on Livewire 3.\n### Highlights\n- Complete Form Builder: Visual drag-and-drop interface for creating forms\n- 20+ Field Types: Comprehensive set of form fields for any use case\n- Full Test Coverage: 592 tests ensuring reliability\n- Laravel 11 and 12 Support: Compatible with current Laravel versions\n- Livewire 3.6+ Compatible: Built for the latest Livewire features\n- Comprehensive Documentation: Detailed guides and API reference\n### Added\n#### Core Features\n- Form Builder Component: Drag-and-drop Livewire component for visual form creation\n- Form Renderer Component: Livewire component for displaying forms to users\n- Forms List Component: Management interface for viewing and managing forms\n- Submissions List Component: View and manage form submissions\n- Submission Detail Component: Detailed submission view with file downloads\n- Notification Editor Component: Configure email notifications per form\n#### Field Types\n- Basic Fields: Text, Email, URL, Phone, Number, Password, Hidden\n- Text Fields: Textarea, Rich Text Editor (TinyMCE/Trix support)\n- Selection Fields: Select, Multi-Select, Checkbox, Checkbox Group, Radio, Toggle\n- Date/Time Fields: Date, Time, DateTime with picker support\n- File Fields: File Upload with drag-and-drop, Multiple Files\n- Layout Fields: Heading, Paragraph, Divider, HTML\n#### Form Features\n- Multi-Step Forms: Wizard-style forms with step navigation and progress indicators\n- Conditional Logic: Show/hide fields and steps based on user input\n- Field Validation: Required, min/max length, patterns, custom rules\n- Success/Error Messages: Customizable messages and redirects\n#### Submissions\n- Submission Storage: Store all form submissions with field values\n- File Attachments: Secure file storage linked to submissions\n- Export to CSV: Export submissions with field headers\n- Retention Settings: Automatic pruning of old submissions\n- Prune Command: forms:prune-submissions Artisan command\n#### Notifications\n- Admin Notifications: Email notifications on new submissions\n- Autoresponders: Automatic replies to form submitters\n- Template Variables: Dynamic content using form field values\n- Queue Support: Notifications processed via Laravel queues\n#### File Uploads\n- Secure Storage: Private disk storage with configurable disk\n- MIME Validation: Whitelist allowed file types\n- Size Limits: Configurable maximum file sizes\n- Multiple Files: Support for multiple file uploads per field\n#### Webhooks\n- Webhook Endpoints: Send submission data to external URLs\n- HMAC Signatures: Secure webhook payloads with signatures\n- Retry Logic: Automatic retries for failed webhooks\n- Queue Support: Webhooks processed via Laravel queues\n#### Spam Protection\n- Honeypot Fields: Hidden fields to catch bots\n- Rate Limiting: Configurable submission rate limits\n- Integration Ready: Hooks for reCAPTCHA and other services\n#### Authorization\n- Form Policy: Control who can create, view, edit, delete forms\n- Submission Policy: Control access to submission data\n- Ownership Support: Restrict access to form owners\n- Admin Bypass: Allow admins to bypass ownership restrictions\n#### Events\n- FormCreated: Dispatched when a form is created\n- FormUpdated: Dispatched when a form is updated\n- FormDeleted: Dispatched when a form is deleted\n- FormSubmitted: Dispatched when a form is submitted\n- SubmissionUpdated: Dispatched when a submission is updated\n- SubmissionDeleted: Dispatched when a submission is deleted\n#### Services\n- FormService: Create, update, duplicate forms\n- FieldService: Manage form fields\n- StepService: Manage multi-step form steps\n- SubmissionService: Process and store submissions\n- NotificationService: Send email notifications\n- ConditionalLogicService: Evaluate field/step conditions\n- ExportService: Export submissions to various formats\n- IntegrationService: Handle external integrations\n#### Extensibility\n- Filter Hooks: Add custom field types via forms.field_types filter\n- Action Hooks: Hook into form lifecycle events\n- Publishable Views: Customize all Blade views\n- Publishable Config: Full configuration customization\n### Infrastructure\n- Comprehensive Test Suite: 592 tests with Pest PHP\n- Code Style: PHP-CS-Fixer and PHPCS with ArtisanPackUI standards\n- Static Analysis: PHPStan level 5 analysis\n- GitLab CI/CD: Multi-PHP version testing (8.2, 8.3, 8.4)\n- Code Coverage: Coverage reporting with Cobertura format\n- Security Scanning: SAST, Secret Detection, Dependency Scanning\n- Documentation: MkDocs deployment to GitLab Pages\n- WordPress-Style Documentation: Full PHPDoc blocks on all classes and methods