Releases: Relaticle/custom-fields
3.0.0-beta1
🎉 Custom Fields 3.0.0-beta1
This is the first beta release of Custom Fields 3.x, introducing powerful new features for multi-value fields, enhanced validation, and improved UI flexibility.
✨ New Features
Multi-Value Field Support
- Email & Link Fields: Both field types now support multiple values using an intuitive tags input interface
- Validation: Added
defaultItemValidationRules()for validating individual items in multi-value fields - Migration Command: New
php artisan custom-fields:migrate-email-valuescommand to migrate existing email field values to the new array format - Smart Defaults: Automatically sets
max_valueswhen enabling theallow_multipletoggle
Unique Constraint Enhancements
- Unique Per Entity Type: New option to enforce field uniqueness per entity type rather than globally
- Smart Availability: Unique constraint option now only appears for applicable field types (text, email, number, etc.)
- Improved Validation: Enhanced unique validation with proper entity type morph alias resolution
Flat Field Layout Mode
- New Feature Flag:
UI_FLAT_FIELD_LAYOUT- disable sections entirely for a simplified single-page field management experience - Hidden Default Section: When enabled, the default section is automatically hidden
- Consistent Rendering: Flat layout respected across forms, infolists, and the management interface
Auto-Generated Field Codes
- Automatically generate field codes from field names for faster field creation
- Reduces manual work when creating new custom fields
Enhanced Email Fields
- Searchable: Email fields now support searchable capability for better table filtering
- Multi-Value Input Component: Dedicated component for managing multiple email addresses
🚀 Improvements
Type Safety & Code Quality
- Improved type handling with new
SafeValueConvertermethods for safe string conversions - Enhanced type hinting throughout the codebase for better IDE support
- Updated return types for form and infolist components
- Applied Rector code quality improvements
UI/UX Enhancements
- Dark Mode: Full dark mode support with proper styling for empty states
- Field Card Density: Improved field card layout with better icon styling
- Simplified Management: Streamlined field form layout with entity type auto-detection
- New Translations: Added translations for new field settings and empty state messages
Architecture Improvements
- Extracted shared field management methods into
ManagesFieldstrait - Extracted field creation logic into
CreatesCustomFieldstrait - New
DefaultSectionServicefor managing default section behavior - Better separation of concerns in Livewire components
🐛 Bug Fixes
- ULID Compatibility: Fixed support for both string and integer entity IDs to work with ULID primary keys
- Morph Alias Resolution: Deferred morph alias resolution until runtime to prevent boot-time errors
- Section Display: Corrected field visibility when sections are disabled
- Flat Layout Rendering: Proper respect for flat layout feature flag in form and infolist builders
🔧 Refactoring & Cleanup
- Removed redundant
isMultiValueField()method - Removed unused
MigrateEmailFieldValuesCommandfrom service provider after moving to custom-fields namespace - Removed unused
getTypeSettings()method - Cleaned up unused imports and variables
- Improved code organization with better trait extraction
⚠️ Breaking Changes
Multi-Value Email Fields
If you're upgrading from 2.x and have existing email fields that should support multiple values:
- Run the migration command:
php artisan custom-fields:migrate-email-values - Update any custom code that assumes email fields contain single string values
Feature Flags
SYSTEM_SECTIONS_DISABLEDhas been renamed toUI_FLAT_FIELD_LAYOUTfor clarity
📦 Installation & Upgrade
composer require relaticle/custom-fields:^3.0@betaFor upgrade instructions from 2.x, please refer to the upgrade guide.
🔗 Links
Full Changelog: 2.0.5...3.0.0-beta1
Note: This is a beta release intended for testing. Please report any issues on GitHub Issues.
2.0.5
What's Changed
- fix: ensure full column span for headless section type in form builder by @ManukMinasyan in #56
Full Changelog: 2.0.4...2.0.5
2.0.4
What's Changed
- RTL style fixes by @zvizvi in #55
- fix: ensure full column span for headless section type in form builder
Full Changelog: 2.0.3...2.0.4
2.0.3
What's Changed
- fix: respect section type in form builder by @ManukMinasyan in #54
Full Changelog: 2.0.2...2.0.3
2.0.2
Full Changelog: 2.0.1...2.0.2
2.0.1
Full Changelog: 2.0.0...2.0.1
2.0.0
What's Changed
- feature/select-option-colors by @ManukMinasyan in #23
- added Ukrainian language by @iboldurev in #32
- 2.x next by @ManukMinasyan in #33
- Refactor/field types by @ManukMinasyan in #37
- Feature/features management by @ManukMinasyan in #38
- Feature/auto detect model context by @ManukMinasyan in #44
- Feat/custom tenant resolver by @ManukMinasyan in #48
- 2x tests by @ManukMinasyan in #49
- Chore/rector code quality improvements by @ManukMinasyan in #50
- Chore/rector code quality improvements by @ManukMinasyan in #51
New Contributors
- @iboldurev made their first contribution in #32
Full Changelog: 1.5.18...2.0.0
2.0.0-beta10
What's Changed
- Feat/custom tenant resolver by @ManukMinasyan in #48
Full Changelog: 2.0.0-beta9...2.0.0-beta10
2.0.0-beta9
Full Changelog: 2.0.0-beta7...2.0.0-beta9
2.0.0-beta8
What's Changed
- Feature/auto detect model context by @ManukMinasyan in #44
Full Changelog: 2.0.0-beta6...2.0.0-beta8