Bolt v2.5.0 Released!
New New Components / Major New Features
- New Carousel Component 🎉 #1164 and #1165
- New Modal component: New bolt-modal component added to display dialogs for custom content. 🎉 #1139
- New Accordion component Accordion component added with demos, docs and tests. 🎉 #1159
- New Stack component: Created the bolt-stack component to handle vertical spacing. #1161
- Table component: Converted the existing
<bolt-table>
component to now be a full blown web component! 🎉 #1138
Component Updates & Enhancements
- Form component: added a new
showerrors
event listener to allow form inputs to auto-display input errors by emitting ashowerrors
custom Javascript event. #1177 - Tooltip component: Converted the original
preact
version of<bolt-tooltip>
component tolit-html
to fix disappearing first tooltip icon issue on IE/Edge. #1133 - List component: Added testing for the List component. #1100
- Action Blocks component: Code cleanup which includes refactoring props to follow Bolt's coding conventions. See component prop deprecations below: #1133
- Breadcrumb component added Jest tests + manual
TESTING.md
testing steps via #1206 - thanks @joekarasek! - Video component: Hide volume and duration video controls when video player is very small.
Bolt Core Updates
- Move
getModifiedSchema()
to bolt-base renderer, remove from image and blockquote components. - Updated
@bolt/core
styles to add a few missing !default flags to allow Sass config options to be more easily updated and extended. #1148
Docs
- Image component: Removed two image demos from the docs-site #1211:
- "Srcset only that won't be found in bolt.data.images and not lazy loaded"
- "Srcset only that won't be found in bolt.data.images and lazy loaded"
Fixes
- Bolt Link: fixed an issue with a small amount of extra whitespace being visible on the left side of the Bolt Link component in certain situations #1220
- BoltConnect Module: updated the BoltConnect Drupal module to restore missing Twig namespaces that were previously displaying on the bolt_connect info page in Drupal #1199
- Figure component: fixed a rendering issue with the Figure component when used inside the carousel component and
loop
is set to true. #1219 - Modal Component: adjusted how the new modal component's open / close animation is handled so the animation no longer skips to being open + the close animation fades the entire container correctly. #1218
- Updated the package.json to several components / published packages to not use
devDependencies
orpeerDependencies
. Addresses install and build issues flagged when testing the Drupal Lab example with the team and encountered these unexpected issues. #1189 - Fixed a bug with
attributes
that had been occurring when list (list, ol, and ul) components contained empty elements #1188 - Video component: reworked some of the video component’s JavaScript to prevent sporadic bugs that can result from videos being initialized by Brightcove multiple times #1180
- Table component and List component: fixed an issue related to HTML encoding and "UTF-8" when passing in arrays of content #1179
- Inline List component: fixed an issue with the inline list with inset spacing poking out of its container #1100
- List component: updated the
<bolt-list>
's web component so theflex
option is styled and behaves the same way as the Twig-template version. #1111
DevOps Updates #1182
- Fixed the internal API rendering service to properly handle API requests w/o a 'Content-Type': 'application/json' header. #1178
- Updated now.sh scaling max config to reduce total number of server instances running #1181
- Refactor and reorganization of globally shared configs; packaged up existing files related to Nightwatch and Jest testing, and misc DevOps cleanup a related to configuration, testing and the build process. #1197
- Updated a number of Bolt component and package dependencies, in addition to fixing a few bugs with the API rendering service and issues with yarn installs.
- Updated the Bolt monorepo config for Lerna to not ignore the SSR server folder (nohoist) to improve yarn install stability. Additionally, these updates added a new "warmup" function to the build tools image task as a possible workaround to the sharp SVG-related build errors that are still periodically occurring. (ex. #1176 (comment)) #1166
- Added a new loading screen when booting up a new local dev server. 🎉
Detailed Updates
- Globally upgraded NPM package dependencies for the monorepo, docs site, build tools, shared configs, and Bolt core.
- Fixed an unexpected regression from #1178 causing components being rendered via the Component Explorer to be partially missing HTML in the response
- Updated the @bolt/build-tools to re-introduce a new and improved loading screen -- now working with webpack-dev-server!
- Monorepo Node.js version upgraded to the latest stable version (v10.15.3)
- Significantly fewer warnings when installing and running the Bolt monorepo locally
- Fixed a minor CSS layout issue causing unnecessary scrolling on the docs site homepage
- Upgrade the version / package name of the lit-element dependency getting used / tested out. Addresses #1162
- Removes all but one instance where we specify a twig/twig dependency in any of our composer.json files (now only specified in our Twig renderer package). Not only should this help make it easier to manage which version gets used in the monorepo, but this should also help decouple which version of Twig ultimately gets used downstream, hopefully helping to address issues flagged like #1175
- Updated the docs site-specific
.boltrc
config to automatically open a new tab when booting up a new dev server instance.
As a future update this ideally could be customized per developer's personal preference via a local config file that gets merged with these repo-specific defaults -- one that isn't version controlled
Docs Site, Integration Examples, etc
- Example Angular Integration: created a new example integration for Angular and for static HTML / other CMS systems integration. #1154
Deprecations
- Action Blocks
maxItemsPerRow
has been renamed tomax_items_per_row
.align
has been updated tovalign
to clearly indicate vertical alignment.border
has been updated toborderless
and its default set tofalse
.