Braces is a Node.js JavaScript implementation of Bash-like brace expansion, used to expand or compile brace patterns for globbing. It generates brace-expanded strings (such as ranges, lists, and steps) and is designed to be safer and more accurate than other brace expansion libraries, with support for the Bash 4.3 braces specification.
Project status
- Maintenance status: Evidence suggests the project is still being worked on (last upstream push on 2025-01-19), but published updates appear infrequent based on the provided history (2019, then 2024).
- Update cadence: After 3.0.1 (2019-04-10) and 3.0.2 (2019-04-16), the next observed update is 3.0.3 (2024-05-21), indicating a long gap and a sporadic release pattern.
AI summary generated Today
Recent updates
3.0.3
5/21/2024Release 3.0.3 ships with several internal code changes and dependency updates, but the publisher did not provide any release notes. The diff shows a meaningful change to default input size limits, a dependency bump (fill-range), and at least one serious runtime behavioral change (debug logging to stdout) in the compiler.
Breaking3.0.2
4/16/2019Release 3.0.2 appears to be a metadata-only update. The only observed change in the diff is the version string in package.json, with no functional code changes shown.
3.0.1
4/10/2019Release 3.0.1 was published on 2019-04-10, but no release notes were provided by the publisher. Because the changelog content is missing, it is not possible to identify specific API, behavior, or compatibility changes from the release notes alone.
2.3.1
2/18/2018Version 2.3.1 introduces configurable input length limiting via a new options.maxLength setting, changing how braces patterns are validated. The internal initialization logic in lib/braces.js was refactored to remove lazyInit and make init idempotent, and brace multiplier parsing was adjusted.
Features2.3.0
10/19/2017Release 2.3.0 has no publisher-provided release notes. The diff provided shows no direct source code changes, but it does include a package version bump plus several dependency and tooling configuration updates that could affect behavior and developer workflows.
2.2.2
5/31/2017Release 2.2.2 bumps the braces package version and introduces changes to the brace parsing logic, with special handling for extglobs and brace optimization. No release notes were provided, so the behavioral impact needs to be inferred from the code diff and test changes.
Features2.2.1
5/31/2017Release 2.2.1 has no publisher-provided release notes, but the diff shows a meaningful refactor of the parser and compiler pipeline plus changes to safety limits and escaping behavior. The update also alters how large range expansions are handled (including switching to error throwing) and adjusts how unescaping/empty alternatives are produced.
SecurityFeatures2.1.1
4/27/2017Release 2.1.1 has no published release notes, but the code diff shows a major internal refactor and behavior changes. The library was rewritten around a SnapDragon-based parser/compiler architecture, with new options handling, memoization, and a different default output style.
1.8.4
4/20/2016Release 1.8.4 does not include any publisher-provided release notes. The diff is largely formatting, documentation, and tooling updates, with the only functional code changes appearing to be none (whitespace-only) in index.js.
1.8.3
12/19/2015Release 1.8.3 was published on 2015-12-19, but the publisher did not provide any release notes. As a result, there is insufficient information to determine whether this release includes new features, breaking changes, bug fixes, security fixes, or dependency updates.