All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.0.1 - 2026-03-11
- (deps) update rust crate quote to v1.0.45 (#566)
- Update browserslist (#564)
- Update browserslist (#562)
- Update browserslist (#560)
3.0.0 - 2026-03-02
- remove config support to reduce binary size (#542)
- deduplicate browser alias functions (#557)
- single-pass major version extraction (#556)
- remove redundant TP check in
browser_accurate(#558) - add
Comparator::compare_f32method to reduce duplication - simplify
cover_by_regionto use a plain loop - (deps) update rust crates (#548)
- intern version strings and quantize percentages in region data (#547)
- intern version strings in region data to reduce binary size (#546)
- remove unused Serialize derive from Opts (#545)
- update README limitations for removed config, env and extends support (#544)
- remove unused Serialize/Deserialize derives from Distrib (#543)
- Update browserslist (#540)
2.3.1 - 2026-02-24
- stabilize proptest browser unbounded range for ranged versions (#521)
- Update browserslist (#537)
- Update browserslist (#535)
- (deps) update rust crates (#533)
- Update browserslist (#531)
- Update browserslist (#526)
- (deps) update rust crate syn to v2.0.116 (#525)
- (deps) update rust crates (#523)
- (deps) update rust crates (#516)
- Update browserslist from 4.28.1 to 4.28.1 (#514)
- Update browserslist from 4.28.1 to 4.28.1 (#511)
- Update browserslist from 4.28.1 to 4.28.1 (#510)
- (test) fix flaky macOS tests and move all tests to integration tests (#508)
- Update browserslist from 4.28.1 to 4.28.1 (#507)
- Update browserslist from 4.28.1 to 4.28.1 (#500)
- serialize extends tests to prevent race conditions (#498)
- update README.md regarding compare to original crate
2.3.0 - 2026-01-26
- add property-based testing with proptest (#489)
- handle year overflow in date conversion
- handle version overflow in node unbounded range query (#485)
- reject trailing dot in version strings to prevent crash (#483)
- remove future work from README.md
- add testing section to README (#490)
- (deps) update rust crates (#487)
- move tests to integration tests (#480)
- remove
nomdependency with hand-written parser (#479) - remove
timecrate dependency (#478) - Update browserslist from 4.28.1 to 4.28.1 (#476)
- Update browserslist from 4.28.1 to 4.28.1 (#475)
- Update browserslist from 4.28.1 to 4.28.1 (#468)
- (deps) update rust crates (#465)
- Update browserslist from 4.28.1 to 4.28.1 (#461)
2.2.0 - 2026-01-09
- replace bincode to postcard (#457)
- Update browserslist from 4.28.1 to 4.28.1 (#458)
- (deps) update rust crate syn to v2.0.113 (#450)
- (deps) update dependency oxfmt to ^0.21.0 (#444)
2.1.5 - 2025-12-22
- Update browserslist from 4.28.1 to 4.28.1 (#435)
- (deps) update dependency oxfmt to ^0.19.0 (#434)
- (deps) update dependency rust to v1.92.0 (#422)
2.1.4 - 2025-12-10
- Update browserslist from 4.28.1 to 4.28.1 (#420)
- Update browserslist from 4.28.0 to 4.28.0 (#412)
- (deps) update rust crates (#409)
- Update browserslist from 4.28.0 to 4.28.0 (#404)
- (deps) update rust crates to v2.12.1 (#400)
- Update browserslist from 4.28.0 to 4.28.0 (#397)
- Update browserslist from 4.28.0 to 4.28.0 (#394)
- (deps) update rust crate syn to v2.0.110 (#392)
- Update browserslist from 4.27.0 to 4.27.0 (#388)
2.1.3 - 2025-11-10
- (deps) update rust crates (#379)
- Update browserslist (#377)
- Update browserslist (#376)
- Update browserslist (#375)
- Update browserslist (#374)
- Update browserslist (#372)
- (deps) lock file maintenance rust crates (#371)
- Update browserslist (#367)
- Update browserslist (#365)
- Update browserslist (#363)
- (deps) lock file maintenance rust crates (#361)
- Update browserslist (#356)
- Update browserslist (#355)
- (deps) lock file maintenance rust crates (#354)
- Update browserslist (#348)
- Update browserslist (#347)
- (deps) lock file maintenance rust crates (#345)
- Update browserslist (#338)
- (deps) lock file maintenance (#333)
- Remove unnecessary string allocations in query functions (#329)
- Update browserslist (#328)
- Update browserslist (#321)
- Update browserslist (#316)
2.1.2 - 2025-09-26
- Update browserslist (#315)
- update current create binary size
2.1.1 - 2025-09-20
- (deps) browserslist v4.26.2
- add Miri workflow for memory safety testing (#301)
- remove all Box::leak usage using Cow
- replace Box::leak with Cow for version strings
2.1.0 - 2025-09-18
- compress node_versions data to reduce binary size (#295)
- compress caniuse_browsers data to reduce binary size (#291)
- optimize get_browser_stat function to reduce binary size
- optimize config::parser::parse function to reduce binary size (#298)
- optimize config::load function to reduce binary size (#297)
- optimize _resolve function to reduce binary size (#296)
- Update browserslist (#290)
- (deps) lock file maintenance rust crates (#289)
- Update browserslist (#285)
- Update browserslist (#284)
- (deps) lock file maintenance rust crates (#282)
- Update browserslist (#278)
- Update browserslist (#277)
- (deps) lock file maintenance (#269)
- Update browserslist (#266)
- Update browserslist (#265)
- Update browserslist (#263)
- (deps) lock file maintenance rust crates (#262)
- Update browserslist (#259)
- Update browserslist (#258)
- (deps) lock file maintenance rust crates (#253)
- Update browserslist (#248)
2.0.16 - 2025-08-16
- Update browserslist (#247)
- Update browserslist (#246)
- Update browserslist (#244)
- (deps) lock file maintenance (#242)
- Update browserslist (#239)
- (deps) update dependency rust to v1.89.0 (#234)
2.0.15 - 2025-08-05
- change Version u8 to u16 (#231)
2.0.14 - 2025-08-05
- use deflate instead of gzip
- use binary_search for region matching
- use browser id in
CANIUSE_GLOBAL_USAGE - change release_date of VersionDetail to use NonZero
- remove 0% usage browsers from CANIUSE_GLOBAL_USAGE
- use binary_search for feature stat search
- use u8 in semver struct
2.0.13 - 2025-08-03
- Reduce binary size through compile-time data compression (#219)
2.0.12 - 2025-07-30
- Update browserslist
2.0.11 - 2025-07-27
- join queries without space
- (deps) bump
2.0.10 - 2025-07-09
- remove an extra
mod - compact
Featuredata (#199) - change
FeaturefromFxHashMaptoVec(#198) - change
FeatureandFeatureSetdata storage from set to vec (#197) - compact region data (#196)
- add release profile
2.0.9 - 2025-07-08
- Update browserslist (#194)
- disallow println
- shorten generated code in caniuse_region_matching.rs
- remove
OnceLockfromsrc/generated/caniuse_region_matching.rs(#193) - make
VersionDetailsmaller; make the crate compile faster (#191)
2.0.8 - 2025-07-07
2.0.7 - 2025-06-30
- (deps) lock file maintenance npm packages (#181)
- (deps) lock file maintenance rust crates (#182)
- Update browserslist (#178)
- Update browserslist (#175)
2.0.6 - 2025-06-20
- Update browserslist (#170)
- Update browserslist (#169)
- (deps) lock file maintenance rust crates (#166)
- Update browserslist (#163)
- Update browserslist (#160)
2.0.5 - 2025-06-05
- Update browserslist (#154)
2.0.4 - 2025-05-30
- Update browserslist (#151)
- Update browserslist (#150)
- (deps) lock file maintenance rust crates (#147)
- Update browserslist (#142)
2.0.3 - 2025-05-19
- Update browserslist (#140)
2.0.2 - 2025-05-09
- fix querying desktop
and_chr; update browserslist (#131)
- test assertion show difference between actual and expected
2.0.1 - 2025-04-25
- (deps) lock file maintenance npm packages (#90)
- (deps) lock file maintenance rust crates (#120)
- (deps) lock file maintenance rust crates (#118)
- (deps) lock file maintenance (#116)
- (deps) lock file maintenance rust crates (#114)
- (deps) update dependency rust to v1.86.0 (#112)
- (deps) lock file maintenance (#110)
- (deps) update crate-ci/typos action to v1.31.0 (#108)
- (deps) lock file maintenance rust crates (#106)
- (deps) lock file maintenance rust crates (#105)
- (deps) lock file maintenance rust crates (#101)
- (deps) lock file maintenance rust crates (#99)
- (deps) lock file maintenance (#96)
- (deps) update rust crate criterion2 to v3 (#94)
1.1.3 - 2025-02-22
- Rust Edition 2024 (#92)
1.1.2 - 2025-01-27
- (deps) update rust crate nom to v8 (#86)
- (deps) update rust crates
- (deps) update rust crates
- (deps) update rust crates
- (deps) update rust crates
- (deps) update rust crates
- (deps) update npm packages (#81)
1.1.1 - 2024-12-14
- codegen
- dprint
- Update README.md
- (deps) update rust crates
- (deps) update rust crates
- (deps) update dependency rust to v1.83.0 (#78)
- (deps) update rust crates
- (deps) update rust crates to v1.0.215
- (deps) update rust crate thiserror to v2.0.3
- (deps) update rust crate thiserror to v2
- (deps) update rust crates to v1.0.93
cargo autoinherit- (deps) update rust crate criterion2 to v2
1.1.0 - 2024-10-30
- export
Version(#74)
- (deps) update rust crates
- (deps) update rust crates
- (deps) update rust crates
- (deps) update rust crate indexmap to v2.6.0
- (deps) update rust crates
- (deps) update rust crates
- (deps) update dependency rust to v1.81.0 (#70)
1.0.3 - 2024-09-03
- downgrade caniuse-db to
1.0.30001639
- print raw strings in
caniuse_region_matchingandcaniuse_feature_matching(#69) - sort caniuse_region_matching data
1.0.2 - 2024-07-01
- (deps) update npm packages (#52)
1.0.1 - 2024-06-24
- (deps) update rust crates
- (deps) update rust crate rustc-hash to v2
0.17.1 - 2024-06-17
- (deps) update npm packages (#45)
0.17.0 - 2024-06-01
- [breaking] change
Error::NomtoError::parsefor future compatibility (#39) - [breaking] change API to accept
&[S]instead ofIntoIterator<Item = S>(#29)
- bump
electron-to-chromium - remove
once_cell(#33) - shrink generated code size (#32)
- remove
once_cellfrom CANIUSE_BROWSERS (#30) - remove
crate-typefrom Cargo.toml - improve sort method (#28)
- remove
itertools(#27) - remove
either(#26) - remove
chrono(#24)
0.16.2 - 2024-05-30
- clean up node version and node releases (#21)
- reduce the size of json data in "caniuse_feature_matching" (#20)
0.16.1 - 2024-05-29
- Made everything slightly better