Skip to main content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Latest release: Component Library: v56.3.0 released on Mar 30, 2026 | Guidance: Sprint 25 released on Mar 30, 2026 | Figma: Changelog

About

What's new?

The latest news and updates on the VA Design System.
Sprint 25
March 30, 2026

What’s Changed

Full Changelog: https://github.com/department-of-veterans-affairs/vets-design-system-documentation/compare/Sprint-24…Sprint-25

Sprint 24
March 16, 2026

What’s Changed

New Contributors

Full Changelog: https://github.com/department-of-veterans-affairs/vets-design-system-documentation/compare/Sprint-23…Sprint-24

Sprint 23
March 2, 2026

What’s Changed

Full Changelog: https://github.com/department-of-veterans-affairs/vets-design-system-documentation/compare/Sprint-22…Sprint-23

v56.3.0
March 30, 2026

What’s Changed

Component Summary API Change Rendered markup change
va-file-input, va-file-input-multiple Updates va-file-input and va-file-input-multiple to support the existing behavior for encrypted file passwords (event emission on change of nested va-text-input for password) and the new pattern that includes a submit button for the inputted password. By @RyanMunsch #2027 Yes Yes
Dependency update Bumps flatted from 3.3.3 to 3.4.1 in the npm_and_yarn group. By @dependabot #2033 No No
Component guidance tags Backfills guidanceHref on top-level web components and adds lint enforcement to prevent future omissions. By @humancompanion-usds #2036 No No
va-file-input-multiple Storybook Removes stringified passwordSubmissionSuccessList state value in the EncryptedTemplate from rendered output. I was using this value to debug template validation logic. By @RyanMunsch #2042 No Yes
va-telephone-input Updates the va-telephone-input component to be compatible with the form-system such that errors are properly set on the component. By @it-harrison #2028 No Yes
CSS-Library: mega-menu Changes mega-menu overflow from scroll to auto to remove unnecessary scrollbar behavior. By @powellkerry #2048 No Yes
va-date, va-file-input-multiple, va-file-input, va-memorable-date, va-telephone-input, va-text-input Makes changes to various interactive input components to normalize label bold styles based on the components’ error states. Labels should be bold when there is an error present. By @RyanMunsch #2041 No Yes
Revert - Stencil/puppeteer upgrade Reverts stencil and puppeteer upgrade due to runtime/modal issues, with follow-up tracked separately. By @powellkerry #2049 No No
va-on-this-page Update va-on-this-page to add a prop to exclude h2s that match heading selectors. Update utils to add a function to normalize string arrays so that the react binding is not necessary to use the prop. By @powellkerry #2043 Yes Yes

Full Changelog: https://github.com/department-of-veterans-affairs/component-library/compare/v56.2.1…v56.3.0

v56.2.1
March 19, 2026

What’s Changed

Component Summary API Change Rendered markup change
dashboard App columns are now sorted alphabetically so the CSV schema is identical every run, regardless of filesystem traversal order. Added a dedicated pattern for single-letter-suffix forms. By @humancompanion-usds #2035 No No
es-lint ESLint 9 config converted. For compatibility with ESLint 9, the config files were converted to ES module flat config format. By @jamigibbs #2039 No No
va-modal Patch for allowing string versions of “false” for the visible prop. By @powellkerry #2037 No No

Full Changelog: https://github.com/department-of-veterans-affairs/component-library/compare/v56.2.0…v56.2.1

v56.2.0
March 16, 2026

What’s Changed

New Features & Components 🎉

Component Summary API Change Rendered markup change
va-details Add new component. By @RyanMunsch #2015 Yes Yes
Architecture Upgrade Upgrades puppeteer@24.37.2 and stencil/core@4.43.2 By @powellkerry #2008 No No
Dependabot Upgrades Security upgrades. By @amyleadem & @powellkerry #2026, #2032 No No
va-file-upload The original content select was a va-select with an inert attribute. Updated to a dl. A screen reader should be able to read the content now. By @ediiotero #2020 No No
va-button Fixed the va-button when using it to submit a form. The onClick will now fire first before the onSubmit. By @ediiotero #2023 No No
CSS-Library - Mega Menu Updated mega-menu css-library styles to allow large font size users to be able to see all links and content in the va.gov navigation menus. By @powellkerry #2022 No No
va-on-this-page Filters out sr-only content and invisible elements from the generated link text. By @powellkerry #2022 No No

Full Changelog: https://github.com/department-of-veterans-affairs/component-library/compare/v56.1.0…v56.2.0

February 2026

Content style guide

Numbers, signs, and symbols

  • Added guidance on writing out a length of time:

    When writing out a length of time, use XX hours and XX minutes. We should only use decimals, like 3.5 hours, if it’s in a table where space is limited.

  • Added guidance on when to add “.00” to dollar amounts:

    • When you have a dollar amount that doesn’t include cents in running text, don’t add the “.00” at the end.
    • When you have a dollar amount that doesn’t include cents in a list or a table, add the “.00” at the end.

Dates, times, phone numbers, and addresses

  • Updated the subsection title from Zip codes to Zip codes and postal codes
  • Added guidance on when to use “postal code” versus “zip code”:

    When we know an address is a U.S. address, use “zip code.” If the address is outside the U.S. or if you’re unsure of the country, use “postal code.”
    Note: The Ask users for…Addresses pattern uses “postal code” for the field label. But the error message will say “Enter a valid 5-digit zip code” if we know the address is in the U.S.

Error and alert messages (System, Engagement, Access, and Feedback)

We made these changes throughout all 4 sections:

  • Removed all instances of “please”
  • Removed all directional language
  • Revised alerts to use active voice
  • Revised alerts to be more concise and show where they can be customized
  • Revised alerts to remove any idioms, like “on our end”
  • Revised similar alerts so they have consistent wording
  • Aligned the alerts with current style guide guidance

In the System section, we made these additional changes:

  • Removed duplicative 24-hour maintenance messages
  • Added examples of 500 error messages
  • Added and revised account sign in, verify your identity, prefill, and save in progress examples

In the Engagement section, we made these additional changes:

  • Removed 2-factor authentication example
  • Added and revised account sign in, verify your identity, prefill, and save in progress examples
  • Added a verify a U.S. address (failure) example

In the Access section, we made these additional changes:

  • Removed duplicate authorization examples
  • Removed duplicate empty state examples

In the Feedback section, we made these additional changes:

  • Added examples of 500 error messages
  • Added application/form/claim submission in progress examples

Note: These updates affect almost every error and alert message. We will be working on updating any screenshots or pages with the older examples throughout VADS. But you may notice some inconsistencies in other sections in the meantime.

Edit this page in GitHub (Permissions required)
Last updated: Mar 18, 2026