Version 5.x breaking changes
Select component API changes
Impact: High - All Select component implementations require updatesValue and onChange signature changes
The Select component now works withOption<T> objects instead of raw values.
Before (4.7.x):
- Update all
valueprops to pass the full option object - Update
onChangehandlers to receive and handle option objects - Extract the value property when needed:
option.value
Children render prop requirement
The Select component now requires achildren render prop for option rendering.
Before (4.7.x):
- Add a
childrenrender prop to all Select components - Use the provided
SelectOptioncomponent or create custom option rendering
Error prop type change
Theerror prop changed from FieldError to boolean.
Before (4.7.x):
- Convert
FieldErrorobjects to boolean:error={!!fieldState.error} - Update type definitions if using TypeScript
New FlxSelectContainer component
Select components must now be wrapped inFlxSelectContainer.
Before (4.7.x):
- Wrap all Select components with
FlxSelectContainer - Move
dataUniqueidanddataTestIdprops to the container
New listClassName prop
AddedlistClassName prop for styling the options list separately.
After (5.x):
- Review your styling to determine if you need separate list styling
- Move dropdown list styles to
listClassNameif needed
Option interface changes
TheOption interface now includes an optional enabled property.
Before (4.7.x):
- Add
enabled: falseto options you want to disable - Update option creation logic to include this property
Multi-select enhancements
Impact: Medium - Multi-select implementations gain new capabilitiesNew multi-select specific props
Version 5.x adds comprehensive multi-select support with new props:- Set
multiselect={true}for multi-select behavior - Provide custom search and selection components if needed
- Set
maxSelectableto limit selections - Choose an
optionsDisplayMode(defaults toCOMMA_SEPARATED)
Multi-select value type
Multi-select now returns an array of options. After (5.x):- Update state to handle arrays of options for multi-select
- Add type guards or type assertions as needed
Form control component removals
Impact: High - Form implementations using these components require refactoringRemoved components
The following form control components were removed in v5.x:FlxFormField- UseControllerfromreact-hook-forminsteadFlxFormItem- Use native HTML structure insteadFlxFormControl- Use native HTML structure insteadFlxFormContent- Use native HTML structure instead
- Replace
FlxFormFieldwithControllerfromreact-hook-form - Replace wrapper components with standard HTML elements
- Apply your own styling using CSS classes
Removed hooks
useFormField- UseuseFormContextoruseControllerfromreact-hook-forminstead
- Replace with
react-hook-formhooks directly - Access form state through the form context
Icon system changes
Impact: Medium - Icon implementations require import updatesIcon dictionary removal
TheIconDictionary export has been removed in favor of direct string names.
Before (4.7.x):
- Replace all
IconDictionaryreferences with string literals - Convert dictionary constant names to lowercase kebab-case
- Update TypeScript types if you have custom icon type definitions
Icon set structure change
The internal icon set structure has changed. Before (4.7.x):- Update any direct imports of icon definitions
- Use the public
Iconcomponent API instead of internal icon sets
Dependency changes
Impact: Medium - Package installation and peer dependencies affectedRemoved peer dependencies
These are now bundled with the toolkit:air-datepicker- Now a direct dependencyag-grid-react- Now a direct dependency
- Remove
air-datepickerandag-grid-reactfrom yourpackage.jsonif only used by UI Toolkit - Keep them if your application uses them directly
Removed internal dependencies
These dependencies are no longer used:react-hook-form- No longer a direct dependency (still supported as peer dependency)react-use-measurereact-remove-scroll@react-spring/web@radix-ui/react-use-controllable-state@radix-ui/react-slot@radix-ui/react-use-previous
- Add
react-hook-formto your dependencies if you use form controls - Remove unused dependencies from your project
New dependencies
@base-ui-components/react@1.0.0-beta.6- New accessibility primitive librarymarked@12.0.2- Bundled dependencymarked-mangle@1.1.10- Bundled dependencytabbable@6.2.0- Bundled dependency
- No action required - these are bundled with the toolkit
- If you use
@radix-uiprimitives directly, continue including them in your dependencies
Component exports structure
Impact: Low - New component exports availableNew exports
Chip component (5.x):- Import and use the new Chip component for tags and selections
Multi-select specific exports
New in 5.x:- Use these components for customizing multi-select behavior
TypeScript type changes
Impact: Medium - Type errors may occur if using TypeScriptGeneric type constraints
The Select component now has stricter generic type constraints. Before (4.7.x):- Provide explicit type parameters:
FlxSelectProps<string> - Update component usage with proper generic types
Component prop types
Several component prop interfaces have changed fromComponentPropsWithoutRef to include additional specific props.
Migration:
- Update custom component wrappers with new prop types
- Use TypeScript’s IntelliSense to discover new props
Version 5.1.x changes
Version 5.1.0 - 5.1.5 changes
Version 5.1.0 - 5.1.5 changes
No breaking changes. These versions include:
- Bug fixes and performance improvements
- Enhanced multi-select stability
- TypeScript type refinements
- Accessibility improvements
- 5.1.0: v9.153.6
- 5.1.1: v9.159.5
- 5.1.2: v9.161.3
- 5.1.3: v9.163.0
- 5.1.4: v9.163.6
- 5.1.5: v9.163.12
Version 5.2.x changes
Version 5.2.0 changes
Version 5.2.0 changes
No breaking changes. This version includes:
- Performance optimizations for large datasets
- Enhanced table component performance
- Improved date picker localization
- Internal version: v10.12.1
Version 5.3.x changes
Version 5.3.0 changes
Version 5.3.0 changes
No breaking changes. This version includes:
- Chip component styling enhancements
- Modal accessibility improvements
- File upload component refinements
- Internal version: v10.32.4
Version 5.4.x changes
Version 5.4.0 changes
Version 5.4.0 changes
No breaking changes. This version includes:
- Multi-select performance improvements
- Enhanced keyboard navigation
- Toast notification improvements
- Internal version: v10.59.1
Version 5.5.x changes
Version 5.5.0 changes
Version 5.5.0 changes
No breaking changes. This version includes:
- Latest stability improvements
- Enhanced accessibility features
- Performance optimizations
- Bug fixes
- Internal version: v10.91.0
Version 4.7.x maintenance changes
Version 4.7.x receives only critical security fixes and bug patches. No new features are added.
4.7.0 to 4.7.11 progression
4.7.0 to 4.7.11 progression
No breaking changes between 4.7.x releases. These versions are fully compatible:
- 4.7.0: v5.80.6 - Initial 4.7 release
- 4.7.1: v5.83.8 - Bug fixes
- 4.7.2: v5.84.5 - Security patches
- 4.7.3: v5.91.2 - Performance improvements
- 4.7.4: v5.93.1 - Bug fixes
- 4.7.5: v5.95.1 - Security updates
- 4.7.6: v5.96.1 - Bug fixes
- 4.7.7: v5.97.1 - Performance patches
- 4.7.8: v5.98.0 - Bug fixes
- 4.7.9: v5.101.1 - Security patches
- 4.7.10: v5.103.5 - Bug fixes
- 4.7.11: v5.103.6 - Latest stable 4.x release
Impact assessment summary
Critical (requires immediate attention)
- Select component value and onChange signature changes
- Select component children render prop requirement
- Form control component removals (FlxFormField, FlxFormItem, etc.)
High (requires code modifications)
- Error prop type change from FieldError to boolean
- FlxSelectContainer wrapper requirement
- useFormField hook removal
Medium (may require changes)
- Icon dictionary to string name conversion
- Multi-select API additions
- Dependency management updates
- TypeScript type refinements
Low (informational)
- New Chip component availability
- Internal dependency changes
- Component export structure changes
Migration timeline recommendation
Week 1: Planning and assessment
Audit your codebase for component usage and identify affected areas.
Additional resources
Migration guide
Step-by-step migration instructions with code examples
Migration overview
Version strategy and compatibility information