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-sass
in 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>
prophideLabel
was renamed tohideRangeValue
<Select>
inputs now have a placeholder value by default ("Select")<Button>
/<SubmitButton>
- Use
variant
prop instead ofstyle
- Have
aria-disabled="true"
instead ofdisabled
attribute 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
className
prop to individual inputs
- By default have
<FileInput>
/<CloudinaryFileInput>
- Accept multiple files
- Always return an array
- No longer accept the
onLoad
prop - Store an object of file data (as opposed to a string)
- Pass in a file object to
previewComponent
forfile
and no longer pass avalue
prop - File input previews now have a remove button by default
<CloudinaryFileInput>
now requires anapiAdapter
prop<Spinner>
has a class ofspinner
(as opposed to an id)<TabBar>
now requiresoptions
andvalue
props<SetterLink>
was removed<Modal>
- Accepts
preventClose
instead ofhideClosebutton
prop - No longer overwrites the default inner modal or overlay classes
- Accepts an object for
className
andoverlayClassName
for stylingafterOpen
andbeforeClose
states - Targets
#root
instead ofbody
- Accepts
<FlashMessageContainer>
now invokesonDismiss
with the flash message object<DateInput>
s underlyingreact-datepicker
dependency updated from v1 to v4@launchpadlab/lp-hoc
was removed as a dependency
Enhancements
- GitHub Issue templates were added
<Table>
/<SortableTable>
now accept acaption
prop<Column>
components now pass additional props down to its underlying<td>
element<RadioGroup>
,<CheckboxGroup>
, and<Select>
now allowbool
as a value prop type<LabeledField>
now adds adisabled
class 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 acceptsonInit
andhtmlRef
props (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