Releases: LaunchPadLab/lp-components
v8.1.0
v8.0.0
What's Changed
This version contains the following breaking changes:
- Upgraded Node version to 18.12.1
- Removed
node-sassin favor ofsass - Upgraded webpack and related loaders
Further explanation of each item is detailed below.
1. Upgraded Node version to 18.12.1
Typically, the Node version of an application can be updated without any breaking change. However, Node 18 requires an upgraded version of glibc. This has impact on Travis.
The default distribution used for builds and test execution (xenial) does not have the version of glibc required by Node 18. See this Travis community forum note for a discussion of this issue. See this Node issue for a discussion of the new glibc version requirement.
To resolve this issue, a specific Linux distribution (focal) is specified in the .travis.yml configuration file. This disribution has the correct glibc version. See this Travis documentation for a description of the focal build environment.
This version of lp-components will not support older Node versions. You must use Node version ^18.12.1.
2. Removed node-sass in favor of sass
node-sass has been deprecated and the latest version does not support the later glibc version (an exception is generated when one tries to execute node-sass with the later Node version). To resolve this, node-sass was removed and sass (Dart Sass, the currently active Sass implementation) was added. This change required an additional update to the build:styles script to use sass for style builds.
3. Upgraded webpack and related loaders
The Node upgrade mentioned above also fixed an OpenSSL issue. That fix required that the latest version of Webpack be used, along with configuration of a specific hashing function. To accommodate this change, webpack was upgraded to ^5.75.0 and the css-loader, style-loader, and sass-loader were also upgraded to their latest versions.
Change Log
Full Changelog: v7.0.2...v8.0.0
v7.0.2
v7.0.1
v7.0.0
What's Changed
Breaking
<RangeInput>prophideLabelwas renamed tohideRangeValue<Select>inputs now have a placeholder value by default ("Select")<Button>/<SubmitButton>- Use
variantprop instead ofstyle - Have
aria-disabled="true"instead ofdisabledattribute when props pristine or invalid aretrue - Accept a forwarded ref
- Use
<RadioGroup>/<CheckboxGroup>- By default have
<legend>element nested under the outermost<fieldset>element (as opposed to<label>) - No longer pass
classNameprop to individual inputs
- By default have
<FileInput>/<CloudinaryFileInput>- Accept multiple files
- Always return an array
- No longer accept the
onLoadprop - Store an object of file data (as opposed to a string)
- Pass in a file object to
previewComponentforfileand no longer pass avalueprop - File input previews now have a remove button by default
<CloudinaryFileInput>now requires anapiAdapterprop<Spinner>has a class ofspinner(as opposed to an id)<TabBar>now requiresoptionsandvalueprops<SetterLink>was removed<Modal>- Accepts
preventCloseinstead ofhideClosebuttonprop - No longer overwrites the default inner modal or overlay classes
- Accepts an object for
classNameandoverlayClassNamefor stylingafterOpenandbeforeClosestates - Targets
#rootinstead ofbody
- Accepts
<FlashMessageContainer>now invokesonDismisswith the flash message object<DateInput>s underlyingreact-datepickerdependency updated from v1 to v4@launchpadlab/lp-hocwas removed as a dependency
Enhancements
- GitHub Issue templates were added
<Table>/<SortableTable>now accept acaptionprop<Column>components now pass additional props down to its underlying<td>element<RadioGroup>,<CheckboxGroup>, and<Select>now allowboolas a value prop type<LabeledField>now adds adisabledclass on the outermost<fieldset>element when the input is disabled- Relaxed peer dependency requirement to include React 17
<RadioGroup>allows for specifying props to be passed to individual<input type="radio">elements viaradioInputProps<CheckboxGroup>allows for specifying props to be passed to individual<input type="checkbox">elements viacheckboxInputProps
Bugs
<MaskedInput>now acceptsonInitandhtmlRefprops (supported OOTB bycleave.js/react)
Migration Guide: v7.0.0
Full Changelog: v6.0.3...v7.0.0
v6.0.3
v6.0.2
v6.0.1
v6.0.0
What's Changed
Breaking Changes
- Node support restricted to 14 and 16 (based on support schedule https://nodejs.org/en/about/releases/)
- AuthorizedRoute, UnauthorizedRoute, and NavLink have been removed
Full Changelog: v5.4.8...v6.0.0
Migration Guide: v6.0.0