Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 3.0.0 #4656

Merged
merged 1,381 commits into from
Apr 28, 2022
Merged

Release 3.0.0 #4656

merged 1,381 commits into from
Apr 28, 2022

Conversation

thisisdano
Copy link
Member

@thisisdano thisisdano commented Apr 28, 2022

USWDS 3.0: A more modular design system, incrementally

USWDS 3.0 is an important major design system update that's easy to apply to an existing USWDS 2 project. USWDS 3.0 allows teams to update their projects to modern Sass syntax, improve performance, and reduce the size of project CSS. Where USWDS 2.0 introduced a new design language and changed the way we built our components from the ground up, USWDS 3.0 adds important incremental improvements without fundamentally changing how the design system works.

For most USWDS 2 projects, migrating to USWDS 3.0 should only require changing a few lines of project code. We've developed this new version to be a simple, straightforward migration. We want teams to start using USWDS 3.0, and we'll be there to help you do it.

For migration assistance, start with our USWDS 3.0 Migration Guide

If you have any questions or feedback let us know at the USWDS Public Slack, GitHub Discussions, or uswds@gsa.gov.

If you aren't a member of the USWDS Public Slack, sign up here by "Joining a TTS Chat Room" — then select "U.S. Web Design System" as your chat topic.

What's new in USWDS 3.0?

USWDS 3.0 takes a modular, component-centered approach to the design system. We've rebuilt our codebase with a component focus so teams can more effectively integrate the design system incrementally and use only the USWDS components needed in your project.

Update to modern Sass syntax

USWDS 3.0 stylesheets use the most modern version of the Sass module syntax. The Sass language that we use to write our stylesheets updated its syntax in 2020 and the old syntax (using @import) is now deprecated. Sass will no longer support the old syntax starting in October 2022. We want teams to use source code with reliable support throughout the life of their project, and USWDS 3.0 allows teams to migrate to Sass modules and maintain support.

Read more about the Sass module syntax

Improve performance and reduce the size of your project CSS

Unbundle the design system with USWDS 3.0. Using USWDS 3.0 with Sass module syntax allows teams to unbundle their implementations of USWDS and use only the components and code that they need on their project. Depending on your project, this could mean significant reduction of CSS code you ship. This means faster load times, better scores in performance evaluation tools, and a better developer experience.

Read more about USWDS Packages

Simplify your project settings

USWDS is a highly customizable design system, but that doesn't mean that our settings files need to be long and complicated. Starting in USWDS 3.0, projects will use settings files that include only the settings you've changed in your project. This means fewer project settings to manage, and a clearer vision of your project's customizations.

Read more about USWDS settings

Stay up-to-date with minimal hassle

We want teams to benefit from the most current version of USWDS. Many projects should be able to migrate from USWDS 2 to USWDS 3.0 in about an hour or less. This new version makes no markup or style changes from USWDS 2.13.3. If you already use USWDS 2.13.0 or later, you should be able to update to USWDS 3.0 in a matter of minutes. Additionally, the under-the-hood changes we're introducing in USWDS 3.0 will make it easier to stay up-to-date with USWDS over time. An incremental update now will make subsequent updates simpler as well.

Support changes in USWDS 3.0

As we move forward to USWDS 3.0 and beyond, we're making some changes to the browsers and functionality our design system supports, consistent with our 2% support threshold and modern development practices.

No longer explicitly support IE11

IE11 has fallen below our 2% support threshold as monitored by analytics.usa.gov. While we have not removed any existing IE11 support from our codebase, we may make changes and add functionality that no longer supports IE11 as we move forward. When we do make any changes like this, we'll be sure to note it in our release notes.

USWDS browser support (2% rule)

See current analytics from analytics.usa.gov

Support some Javascript-required functionality

We believe that JavaScript-disabled environments fall below our 2% support threshold, and that we may require JavaScript for some design system functionality. While we have not made any changes to our codebase that affect how we use JavaScript with our components, we may make changes that require JavaScript for some functionality as we move forward. When we do make any changes like this, we'll be sure to note it in our release notes.

Support USWDS 2 with maintenance and security patches for one year

In addition to supporting active development on USWDS 3, we will continue to support the USWDS 2 branch for one year of maintenance and security patches (until April 2023). The current LTS version of USWDS 2 is USWDS 2.13.3.

Long-term support of version 2.x

Dependencies and security

Dependency Old New
@babel/core 7.16.7
@babel/preset-env 7.15.8 7.16.7
@chanzuckerberg/axe-storybook-testing 5.0.0
@frctl/fractal 1.5.11 removed
@frctl/nunjucks 2.0.13 removed
@storybook/addon-a11y 6.4.18
@storybook/addon-actions 6.4.18
@storybook/addon-essentials 6.4.18
@storybook/addon-links 6.4.18
@storybook/addon-postcss 2.0.0
@storybook/builder-webpack5 6.4.18
@storybook/html 6.4.18
@storybook/manager-webpack5 6.4.18
@types/node 16.11.6 16.11.19
@whitespace/storybook-addon-html 5.0.0
autoprefixer 10.3.7 10.4.1
babel-loader 8.2.2
chrome-launcher 0.15.0 removed
chrome-remote-interface 0.31.0 removed
css-loader 6.2.0
eslint-plugin-import 2.25.2 2.25.4
extract-loader 5.1.0
file-loader 6.2.0
gulp-filter 7.0.0 removed
gulp-replace 1.1.1 1.1.3
gulp-sass 5.1.0
html-webpack-plugin 5.4.0
lodash.merge 4.6.2
node-notifier 10.0.0 removed
nswatch 0.2.0 removed
nyc 15.1.0 removed
path 0.12.7
postcss 8.3.11 8.4.0
resemblejs 4.0.0 removed
sass 1.43.4 1.45.2
sass-loader 12.1.0
snyk 1.746.0 1.817.0
storybook-addon-html-document 1.0.1
style-loader 3.3.0
twig-html-loader 0.1.9
twigjs-loader 1.0.2
webpack 5.58.1
webpack-cli 4.9.1
yargs 17.2.1 removed

0 vulnerabilities in regular dependencies (dependencies for USWDS projects installed with npm install @uswds/uswds)

Internal only: 2 low, 9 moderate, 30 high vulnerabilities in devDependencies (development dependencies)

Release package SHA-256 hash: a98c4b4fc5974f5e335c2fc9d9a0416c236dd73e53dac62c0cc0031adfa5bb03

amyleadem and others added 27 commits April 27, 2022 12:45
Task no longer needed since we're publishing entire directory
[beta] Use npm pack in release script
Update README and references
[beta] Add webpack script to package.json
Pull develop into library--develop
Move 3.0 branch into active develop
Use access public on publish, as with beta
@thisisdano thisisdano requested a review from mejiaj April 28, 2022 18:53
@thisisdano thisisdano merged commit 9bc97c6 into main Apr 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants