ms (vercel/ms) is a small utility for converting time expressions and units to milliseconds, and converting millisecond numbers back into formatted strings with units. It’s useful when you need consistent parsing of inputs like “2 days”, “1h”, or “100”, including TypeScript type definitions and support for different server and browser runtimes.
Project status
- The repo for
vercel/msshows a recent upstream push (2026-05-20), but the provided recent update summaries only go up to 2021, so active maintenance is unclear from publishedupdatesalone. - Apparent update cadence is low, with major activity clustered in mid-September 2021 (canary tags) and an earlier maintenance update in December 2020, followed by a long gap in the supplied history.
AI summary generated Today
Recent updates
3.0.0-canary.1
9/15/2021Release 3.0.0-canary.1 is a small canary update that primarily targets the build process. The published release notes only mention a build script fix, but the code diff shows more detailed changes to how the build script locates inputs and writes output files.
3.0.0-canary.0
9/15/2021Release 3.0.0-canary.0 introduces TypeScript source and build output, along with ESM-compatible packaging. The package now ships compiled artifacts under dist and adds TypeScript template-literal types for safer `ms` inputs.
BreakingFeatures2.1.3
12/8/2020Release 2.1.3 is primarily a maintenance patch: it rebrands the project from Zeit to Vercel, updates lint tooling (eslint) and adds prettier as a dev dependency, and migrates CI from Travis to GitHub Actions. The code diff shows no substantive runtime API changes to the ms conversion function.
Features2.1.2
6/6/2019Release 2.1.2 includes several patch fixes around time string parsing and numeric edge cases, plus a README badge update. The main functional changes are in the core conversion logic (regex parsing for negative decimals, and stricter handling of non-finite numbers).
2.1.1
11/30/2017Release 2.1.1 adds full support for negative numbers, so ms can parse negative duration strings and format negative millisecond inputs in both short and long forms. The repo also updates README examples and expands the test suite to cover negative cases.
Features2.1.0
11/30/2017ms 2.1.0 adds support for converting week values (week/weeks and the w shorthand) and extends parsing to accept negative quantities. The release also includes minor documentation text/spelling cleanups, plus a newly added lockfile and test coverage for the new parsing behavior.
Features2.0.0
5/16/2017ms 2.0.0 primarily changes how the input string is handled to mitigate a potential ReDoS scenario by limiting the maximum length accepted by the parser. In addition, it updates some development dependencies and makes small repository/documentation adjustments related to npm logging and the Slack badge link.
BreakingSecurity1.0.0
3/19/2017ms 1.0.0 is primarily a maintenance release focused on build and development tooling, including switching from XO to eslint/prettier-style formatting, updating CI to test on an LTS Node version, and removing browser testing. The runtime library code in index.js appears to be reformatted with semicolons and linting changes, with no obvious API behavior changes.
Breaking0.7.3
3/8/2017Release 0.7.3 is a patch release focused on documentation clarity (JSDoc) and build/test hygiene. It also updates and pins dev dependencies, including bumping the dev dependency serve to 5.0.1.
0.7.2
10/25/2016ms 0.7.2 updates the package metadata and test/lint tooling, and it introduces stricter input validation. The core functional change is that invalid inputs no longer quietly return undefined/NaN, and the module now throws an Error when given unsupported or invalid values.
BreakingFeatures