phf
Runtime support for perfect hash function data structures
0.14.0
493M downloads/mo
#231 most downloaded on crates.io
rust-phf/rust-phf
What this package is like to depend on
Last release 2 months ago
21 Jun 2026
Release timing varies
gaps range from 3 weeks to 1.7 years
Rarely documented
notes for 10 of 69 stable releases
3 versions withdrawn
withdrawn after publishing
12 years old
72 releases · first in 2014
1 release in the last 12 months
see the full history below
Release timeline
72 releases · Nov 2014 to Jun 2026Releases
latest 60 of 72-
0.14.021 Jun 2026Release notes
Open source →What's Changed
- chore: setup cargo-deny by @JohnTitor in #355
- chore(deps): update embarkstudios/cargo-deny-action action to v2.0.15 by @renovate[bot] in #363
- chore(deps): update actions/checkout action to v5.0.1 by @renovate[bot] in #360
- chore(deps): update benchmark-action/github-action-benchmark action to v1.20.7 by @renovate[bot] in #361
- chore(deps): update rust crate siphasher to v1.0.2 by @renovate[bot] in #366
- chore(*): bump MSRV to 1.68 by @JohnTitor in #367
- chore(deps): update rust crate quote to v1.0.44 by @renovate[bot] in #365
- chore(deps): update rust crate proc-macro2 to v1.0.106 by @renovate[bot] in #364
- chore(deps): update rust crate trybuild to v1.0.114 by @renovate[bot] in #369
- chore(deps): update rust crate syn to v2.0.114 by @renovate[bot] in #368
- chore(deps): update rust crate criterion to 0.8.0 by @renovate[bot] in #370
- chore(deps): update rust crate unicase to v2.9.0 by @renovate[bot] in #371
- chore(deps): update swatinem/rust-cache action to v2.8.2 by @renovate[bot] in #373
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #374
- chore(deps): update rust crate trybuild to v1.0.115 by @renovate[bot] in #375
- chore(deps): update rust crate criterion to v0.8.2 by @renovate[bot] in #376
- chore(deps): update rust crate trybuild to v1.0.116 by @renovate[bot] in #378
- chore(deps): update rust crate syn to v2.0.115 by @renovate[bot] in #377
- chore(deps): update rust crate syn to v2.0.116 by @renovate[bot] in #379
- chore(deps): update rust crate syn to v2.0.117 by @renovate[bot] in #380
- chore(deps): update rust crate quote to v1.0.45 by @renovate[bot] in #382
- chore(deps): update benchmark-action/github-action-benchmark action to v1.21.0 by @renovate[bot] in #381
- chore(deps): update swatinem/rust-cache action to v2.9.0 by @renovate[bot] in #383
- chore(deps): update swatinem/rust-cache action to v2.9.1 by @renovate[bot] in #384
- chore(deps): update benchmark-action/github-action-benchmark action to v1.22.0 by @renovate[bot] in #386
- chore(deps): update rust crate fastrand to v2.4.0 by @renovate[bot] in #387
- chore(deps): update rust crate fastrand to v2.4.1 by @renovate[bot] in #388
- Remove outdated link from docs by @purplesyringa in #389
- feat: add experimental ptrhash feature by @JohnTitor in #392
- Fix map contents when all #[cfg]s are disabled by @purplesyringa in #393
- Update minimal required unicase version to 2.8.1 by @purplesyringa in #397
- chore(deps): update embarkstudios/cargo-deny-action action to v2.0.16 by @renovate[bot] in #399
- chore(deps): update embarkstudios/cargo-deny-action action to v2.0.17 by @renovate[bot] in #400
- docs: add security policy by @JohnTitor in #401
- Treat #[cfg] on entry as applying to the entire OR pattern by @purplesyringa in #391
- Fix portable PHF hashing for slices and pointer-sized integers by @purplesyringa in #396
- chore(generator): use
fillwhen resetting generator buffers by @JohnTitor in #402 - chore: use zizmor to harden GHA usage by @JohnTitor in #404
- chore(deps): update rust crate siphasher to v1.0.3 by @renovate[bot] in #405
- chore(deps): update benchmark-action/github-action-benchmark action to v1.22.1 by @renovate[bot] in #406
- Resolve #[cfg] via decl macros instead of generating combinations by @purplesyringa in #403
- perf(generator): reduce generation time by @JohnTitor in #407
- chore(deps): update embarkstudios/cargo-deny-action action to v2.0.18 by @renovate[bot] in #408
- chore(deps): update zizmorcore/zizmor-action action to v0.5.4 by @renovate[bot] in #409
- chore(renovate): group zizmor updates by @JohnTitor in #411
- chore(deps): update ghcr.io/zizmorcore/zizmor docker tag to v1.25.0 by @renovate[bot] in #412
- chore(deps): update zizmor by @renovate[bot] in #413
- feat: add support for
ToTokensby @JohnTitor in #414 - feat: migrate to 2024 edition by @JohnTitor in #415
- feat: add
FmtConstsupport forVec/slice keys by @JohnTitor in #416 - chore(deps): update embarkstudios/cargo-deny-action action to v2.0.19 by @renovate[bot] in #417
- chore(deps): update embarkstudios/cargo-deny-action action to v2.0.20 by @renovate[bot] in #418
- fix: require suffixed int on parsing by @JohnTitor in #419
- fix: implement
PhfEqto address tuple lifetime issue by @JohnTitor in #420 - chore(deps): update actions/checkout action to v6.0.3 by @renovate[bot] in #421
- chore(deps): update rust crate syn to v2.0.118 by @renovate[bot] in #422
- chore(deps): update actions/checkout action to v7 by @renovate[bot] in #423
- Prepare 0.14.0 release by @JohnTitor in #424
New Contributors
- @purplesyringa made their first contribution in #389
Full Changelog: v0.13.1...v0.14.0
Release notes
Open source →Chore
- <csr-id-ef36a8ee5df641399eee33a5c767c9c866fc2152/> update rust crate syn to v2.0.115
- <csr-id-93febde3dd3f1ac67b1259967f3899f68deab54e/> bump MSRV to 1.68
- <csr-id-cfbb052e855f697f2d42423408ce9d1e63d1c5b6/> setup cargo-deny
- <csr-id-17bce845aed852ccba597f99e5db853a4a6afa1f/> Fix clippy warnings
- <csr-id-e4e1556f40a25c1d50e4467dc9312c9b04beecd9/> Remove criterion from deps
- <csr-id-03a930696231da01005e762425841f91587b3e04/> Update version number
- <csr-id-ecd6a86d2bb104624cae5372bd63e7f10d1cc4cf/> Fix version number
New Features
- <csr-id-81257954b089048bd5409ada47cc4562ba346334/> migrate to 2024 edition
-
feat: migrate to 2024 edition
-
update cargo.lock
-
- <csr-id-c628ed45358dc78a3c3df5c2972ebf49fb9409c6/> add experimental ptrhash feature
- <csr-id-4e85433fb2a35fcb1a6ad0067b67911ee5c747b6/> Support OR pattern key
Bug Fixes
- <csr-id-4ffa9f06e6b3eff6cef6221fab586af6326bdeea/> implement
PhfEqto address tuple lifetime issue - <csr-id-2b64a060d64b4bbdf77519efd117bb4b5ae873d1/> require suffixed int on parsing
Commit Statistics
<csr-read-only-do-not-edit/>
- 23 commits contributed to the release over the course of 366 calendar days.
- 366 days passed between releases.
- 12 commits were understood as conventional.
- 7 unique issues were worked on: #377, #389, #392, #403, #415, #419, #420
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- #377
- Update rust crate syn to v2.0.115 (
ef36a8e)
- Update rust crate syn to v2.0.115 (
- #389
- Remove outdated link from docs (
4d6f0ab)
- Remove outdated link from docs (
- #392
- Add experimental ptrhash feature (
c628ed4)
- Add experimental ptrhash feature (
- #403
- Resolve #[cfg] via decl macros instead of generating combinations (
f2405c9)
- Resolve #[cfg] via decl macros instead of generating combinations (
- #415
- Migrate to 2024 edition (
8125795)
- Migrate to 2024 edition (
- #419
- Require suffixed int on parsing (
2b64a06)
- Require suffixed int on parsing (
- #420
- Implement
PhfEqto address tuple lifetime issue (4ffa9f0)
- Implement
- Uncategorized
- Merge pull request #367 from JohnTitor/msrv-1.68 (
2629d9b) - Bump MSRV to 1.68 (
93febde) - Merge pull request #355 from JohnTitor/deny (
6661843) - Setup cargo-deny (
cfbb052) - Prepare a release for v0.13.1 (
1e518a6) - Merge pull request #350 from JohnTitor/release-0.13.0 (
6e87a16) - Prepare a release for v0.13.0 (
a8e8d69) - Merge pull request #348 from JohnTitor/support-or-pattern (
175aae4) - Support OR pattern key (
4e85433) - Merge pull request #343 from JohnTitor/chore/fix-clippy (
4bcbfbc) - Fix clippy warnings (
17bce84) - Merge pull request #340 from JohnTitor/chore/rm-criterion (
1e892e8) - Remove criterion from deps (
e4e1556) - Update version number (
03a9306) - Merge pull request #334 from rust-phf/chore/fix-test (
4ddbefd) - Fix version number (
ecd6a86) </details>
- Merge pull request #367 from JohnTitor/msrv-1.68 (
-
0.13.123 Aug 2025 -
0.13.023 Aug 2025 withdrawnRelease notes
Open source →This version has been yanked as the dependency tree was broken.
What's Changed
- chore: Update release process by @JohnTitor in #335
- feat(codegen): Implement
FromIteratorforMapby @JohnTitor in #336 - chore(macros): Use the latest version of proc-macro2 by @JohnTitor in #337
- chore(deps): update swatinem/rust-cache action to v2.7.8 by @renovate[bot] in #338
- fix(deps): update rust crate criterion to 0.6.0 by @renovate[bot] in #339
- chore(generator): Remove criterion from deps by @JohnTitor in #340
- chore: Add a regression test for #299 by @JohnTitor in #341
- feat(macros): Support cfgs by @JohnTitor in #342
- chore: Fix clippy warnings by @JohnTitor in #343
- feat: Add tuple support for key by @JohnTitor in #344
- Remove outdated limitation link in README.md by @def- in #345
- chore: Check minimal deps version check in CI by @JohnTitor in #347
- feat: Support OR pattern key by @JohnTitor in #348
- Prepare a release for v0.13.0 by @JohnTitor in #350
New Contributors
Full Changelog: v0.12.1...v0.13.0
-
0.12.119 Jun 2025Release notes
Open source → -
0.12.019 Jun 2025 withdrawnRelease notes
Open source →Notice
This version has been yanked as its dependency graph is broken. Please use v0.12.1 instead.
Chore
- Update version number in docs
Chore
- Update changelog
Commit Statistics
- 6 commits contributed to the release over the course of 138 calendar days.
- 163 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view detailsRelease notes
Open source →Chore
- Update changelog
Commit Statistics
- 6 commits contributed to the release over the course of 138 calendar days.
- 163 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
Release notes
Open source →Chore
- Update version number in docs
Chore
- Update changelog
Commit Statistics
- 5 commits contributed to the release over the course of 138 calendar days.
- 163 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view detailsRelease notes
Open source →What's Changed
- Switch from rand to fastrand by @goffrie in #312
- Macro support for uncased by @edef1c in #309
- [breaking, codegen] Store Cow in Map instead of String by @GnomedDev in #311
- chore: Setup workflow for benchmarks gh-pages by @JohnTitor in #326
- Add support for
unicase::Asciiby @thaliaarchi in #289 - chore: Turn off serde std feature on no-std by @JohnTitor in #333
New Contributors
- @goffrie made their first contribution in #312
- @edef1c made their first contribution in #309
- @GnomedDev made their first contribution in #311
Full Changelog: phf_codegen-v0.11.3...phf_codegen-v0.12.0
Release notes
Open source →What's Changed
- Switch from rand to fastrand by @goffrie in #312
- Macro support for uncased by @edef1c in #309
- [breaking, codegen] Store Cow in Map instead of String by @GnomedDev in #311
- chore: Setup workflow for benchmarks gh-pages by @JohnTitor in #326
- Add support for
unicase::Asciiby @thaliaarchi in #289 - chore: Turn off serde std feature on no-std by @JohnTitor in #333
New Contributors
- @goffrie made their first contribution in #312
- @edef1c made their first contribution in #309
- @GnomedDev made their first contribution in #311
Full Changelog: phf-v0.11.3...phf-v0.12.0
Release notes
Open source →<csr-id-08e74647f00f7d77cbb81e0cb73ed663798d000f/> <csr-id-08897bd7603c362280ad4f24feca2c99be5e9a98/> <csr-id-51d6baaa6ffce658fb9b56a96affaf0ddd0603e5/>
Chore
- <csr-id-08e74647f00f7d77cbb81e0cb73ed663798d000f/> Update version number in docs
- <csr-id-08897bd7603c362280ad4f24feca2c99be5e9a98/> Turn off serde std feature on no-std
Chore
- <csr-id-51d6baaa6ffce658fb9b56a96affaf0ddd0603e5/> Update changelog
Commit Statistics
<csr-read-only-do-not-edit/>
- 11 commits contributed to the release over the course of 138 calendar days.
- 163 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release phf_shared v0.12.0, phf_generator v0.12.0, phf_macros v0.12.0, phf v0.12.0, phf_codegen v0.12.0, safety bump 4 crates (
e309f28) - Update changelog (
51d6baa) - Update version number in docs (
08e7464) - Merge pull request #333 from JohnTitor/chore/serde-no-std (
5c3ad85) - Turn off serde std feature on no-std (
08897bd) - Merge pull request #289 from thaliaarchi/master (
a6df856) - Add support for unicase::Ascii type (
2806801) - Merge pull request #309 from edef1c/uncased-macro (
37a7794) - Merge branch 'master' into no-wasteful-allocations (
33b8aff) - Update phf/examples/uncased-example/Cargo.toml (
8193820) - Merge branch 'master' into fastrand (
576dd47) </details>
- Release phf_shared v0.12.0, phf_generator v0.12.0, phf_macros v0.12.0, phf v0.12.0, phf_codegen v0.12.0, safety bump 4 crates (
-
0.11.306 Jan 2025Release notes
Open source →See also related crates on Git tags!
What's Changed
- Bump uncased dep; remove generated transmute by @Manishearth in #291
- Allow using an arbitrary hash_fn for generation by @Swatinem in #294
- phf_macros: include LICENSE and changelog files in published crates by @decathorpe in #293
- Avoid intermediate Vec allocations by @Swatinem in #295
- Bump MSRV to 1.61 by @JohnTitor in #300
- Implement PartialEq and Eq for map and set types (closes #246) by @thaliaarchi in #290
- Do not test on MSRV by @JohnTitor in #301
- Upgrade external actions by @JohnTitor in #302
- Update siphasher to 1.0 by @serprex in #304
- Lock dependencies to latest MSRV-compatible versions by @ISSOtm in #317
- Add implementation
PhfBorrow<[u8; N]>for&'a [u8; N]by @TGODiamond in #314 - Allow isize/usize as key expressions in phf_macros by @LunarLambda in #315
- Prepare release for v0.11.3 by @JohnTitor in #322
New Contributors
- @Swatinem made their first contribution in #294
- @decathorpe made their first contribution in #293
- @thaliaarchi made their first contribution in #290
- @serprex made their first contribution in #304
- @ISSOtm made their first contribution in #317
- @TGODiamond made their first contribution in #314
- @LunarLambda made their first contribution in #315
Full Changelog: phf-v0.11.2...phf-v0.11.3
Release notes
Open source →<csr-id-a96a4e29d63fb1ab3cc10e050571e733f5d2d0d1/>
Chore
- <csr-id-a96a4e29d63fb1ab3cc10e050571e733f5d2d0d1/> bump Cargo.toml version of phf and phf_macros
Commit Statistics
<csr-read-only-do-not-edit/>
- 10 commits contributed to the release.
- 562 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Adjusting changelogs prior to release of phf_shared v0.11.3, phf_generator v0.11.3, phf_macros v0.11.3, phf v0.11.3, phf_codegen v0.11.3 (
e111f4b) - Merge pull request #322 from JohnTitor/release-0.11.3 (
dc64dd6) - Reset version num (
13581f8) - Merge pull request #315 from LunarLambda/master (
695a0df) - Bump Cargo.toml version of phf and phf_macros (
a96a4e2) - Macro support for uncased (
4359e17) - Merge pull request #290 from thaliaarchi/eq-trait (
f89fca4) - Merge pull request #300 from JohnTitor/msrv-1.61 (
323366d) - Bump MSRV to 1.61 (
1795f7b) - Implement PartialEq and Eq for map and set types (
6e5dc32) </details>
- Adjusting changelogs prior to release of phf_shared v0.11.3, phf_generator v0.11.3, phf_macros v0.11.3, phf v0.11.3, phf_codegen v0.11.3 (
-
0.11.224 Jun 2023Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 10 commits contributed to the release.
- 319 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release phf_shared v0.11.2, phf_generator v0.11.2, phf_macros v0.11.2, phf v0.11.2, phf_codegen v0.11.2 (
c9c35fd) - Update changelogs (
a1e5072) - Merge pull request #288 from JohnTitor/rm-phf-stats (
8fd5b77) - Remove mentions to
PHF_STATS(0b7a826) - Merge pull request #280 from jf2048/deref-bytestring (
3776342) - Allow using dereferenced bytestring literal keys in phf_map! (
8c0d057) - Merge pull request #276 from JohnTitor/playground-metadata (
f8e9d27) - Add metadata for playground (
7e212e3) - Merge pull request #274 from ankane/license-files (
21baa73) - Include license files in crates (
1229b2f) </details>
- Release phf_shared v0.11.2, phf_generator v0.11.2, phf_macros v0.11.2, phf v0.11.2, phf_codegen v0.11.2 (
-
0.11.108 Aug 2022Release notes
Open source →<csr-id-92e7b433a4f62cc9b070cd1d678a6061d0906ee6/>
Chore
- <csr-id-92e7b433a4f62cc9b070cd1d678a6061d0906ee6/> point to local crates for now
Documentation
- <csr-id-6be1599d7a0df27fd1888c78d247f8810cb8f750/> state allowed key expressions in
phf_map
Bug Fixes
-
<csr-id-caf1ce71aed110fb44206ce2291154572ebfe9b7/> remove now-unnecessary
proc-macro-hackcrate usage Resolves https://github.com/rust-phf/rust-phf/issues/255.This resolves an issue with Windows Defender identifying
proc-macro-hackas threats. It also sheds a depedency that is no longer necessary, now that the MSRV of this crate is 1.46 andproc-macro-hackis only useful for providing support for Rust versions 1.31 through 1.45. Per upstream:Note: As of Rust 1.45 this crate is superseded by native support for #[proc_macro] in expression position. Only consider using this crate if you care about supporting compilers between 1.31 and 1.45.
Commit Statistics
<csr-read-only-do-not-edit/>
- 310 commits contributed to the release.
- 3 commits were understood as conventional.
- 1 unique issue was worked on: #249
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- #249
- Add
Map::new()function andDefaultimplementation to create new, empty map (baac7d0)
- Add
- Uncategorized
- Release phf_shared v0.11.1, phf_generator v0.11.1, phf_macros v0.11.1, phf v0.11.1, phf_codegen v0.11.1 (
3897b21) - Merge pull request #264 from rust-phf/tweak-changelog (
97f997d) - Replace handmade changelog with generated one by
cargo-smart-release(cb84cf6) - Merge pull request #260 from JohnTitor/fix-repo-link (
1407ebe) - Add category to crates (
32a72c3) - Update repository links on Cargo.toml (
1af3b0f) - Merge pull request #258 from JohnTitor/release-0.11.0 (
c0b9ef9) - Release 0.11.0 (
d2efdc0) - Merge pull request #257 from JohnTitor/edition-2021 (
36ec885) - Make crates edition 2021 (
b9d25da) - Merge pull request #256 from NZXTCorp/remove-proc-macro-hack (
a85f070) - Remove now-unnecessary
proc-macro-hackcrate usage (caf1ce7) - Point to local crates for now (
92e7b43) - Merge pull request #252 from JohnTitor/clippy-fixes (
22570b8) - Fix some Clippy warnings (
71fd47c) - Merge pull request #251 from JohnTitor/weak-deps (
2e1167c) - Make "unicase + macros" features work (
11bb242) - Merge pull request #245 from JohnTitor/phf-0.10.1 (
bed0153) - Prepare 0.10.1 release (
4cc8344) - Merge pull request #244 from reitermarkus/serialize-map (
a43e0e1) - Allow serializing
Map. (b6c682e) - Merge pull request #243 from birkenfeld/patch-1 (
815c17c) - State allowed key expressions in
phf_map(6be1599) - Merge pull request #240 from JohnTitor/docs-update (
da98b9e) - Remove some stuff which is now unnecessary (
6941e82) - Refine doc comments (
d8cfc43) - Merge pull request #234 from JohnTitor/fix-ci (
eba4cc2) - Fix CI failure (
d9b5ff2) - Merge pull request #230 from JohnTitor/release-0.10 (
3ea14b2) - Prepare for release 0.10.0 (
588ac25) - Merge pull request #228 from JohnTitor/release-0.9.1 (
d527f9d) - Prepare for v0.9.1 (
9b71978) - Merge pull request #226 from bhgomes/iterator-traits (
012be08) - Add trait implementations to iterators mirroring std::collections (
e47e4dc) - Merge pull request #224 from bhgomes/const-fns (
65deaf7) - Remove Slice type and fix some docs (
99d3533) - Add len/is_empty const-fns (
f474922) - Merge pull request #223 from JohnTitor/minor-cleanup (
c746106) - Minor cleanups (
8868d08) - Merge pull request #222 from JohnTitor/precisify-msrv (
50f8a0d) - Precisify MSRV (
63886f6) - Merge pull request #219 from JohnTitor/release-0.9.0 (
307969f) - Prepare 0.9.0 release (
2ca46c4) - Cleanup cargo metadata (
a9e4b0a) - Merge pull request #218 from JohnTitor/cleanup (
76f9072) - Run rustfmt (
dd86c6c) - Fix some clippy warnings (
9adc370) - Cleanup docs (
ddecc3a) - Merge pull request #217 from JohnTitor/rename-feature (
ff77659) - Rename
unicase_supporttounicase(b47174b) - Merge pull request #197 from benesch/uncased (
8b44f0c) - Add support for uncased (
2a6087f) - Merge pull request #211 from skyfloogle/ordered-phfborrow (
6ec8afb) - Replace
std::borrow::BorrowwithPhfBorrowfor ordered maps and sets (f43a9cf) - Merge pull request #174 from abonander/169-drop-borrow (
3c087d4) - Replace uses of
std::borrow::Borrowwith newPhfBorrowtrait (b2f3a9c) - Merge pull request #205 from skyfloogle/ordered-stuff (
9ae1678) - Add back ordered_map, ordered_set (
0ab0108) - Merge pull request #208 from JohnTitor/simplify-workspace (
a47ac36) - Use
[patch.crates-io]section instead of path key (f47515b) - Merge pull request #194 from pickfire/patch-1 (
caec346) - Merge pull request #190 from rjsberry/phf-shared-no-default-features (
8dce12c) - Fix style in doc (
a285906) - Fix building with no_std (
db4ce56) - Merge pull request #180 from abonander/master (
81c7cc5) - Release v0.8.0 (
4060288) - Merge pull request #171 from abonander/170-removals (
0d00821) - Remove ordered_map, ordered_set, phf_builder (
8ae2bb8) - Merge pull request #168 from abonander/167-std-default (
a932094) - Switch optional
corefeature to defaultstdfeature (645e23d) - Merge pull request #164 from abonander/perf-improvements (
70129c6) - Use two separate hashes and full 32-bit displacements (
9b70bd9) - Merge pull request #149 from danielhenrymantilla/proc-macro-hack (
ae649cd) - Made macros work in stable (
4fc0d1a) - Merge branch 'master' into patch-1 (
cd0d7ce) - Merge pull request #152 from abonander/unicase-upgrade (
27f7c2c) - Convert to 2018 edition (
9ff66ab) - Merge pull request #145 from cetra3/empty_hash (
2d3176b) - Fix & include tests for empty maps (
83fd51c) - Release v0.7.24 (
1287414) - Docs for new macro setup (
364ed47) - Fix feature name (
e3a7442) - Reexport macros through phf crate (
588fd1a) - Release v0.7.23 (
a050b6f) - Release 0.7.22 (
ab88405) - Release v0.7.21 (
6c7e2d9) - Typo (
8d23b15) - Link to docs.rs (
61142c5) - Release v0.7.20 (
f631f50) - Merge branch 'release' (
ea7e256) - Merge branch 'release-v0.7.19' into release (
81a4806) - Release v0.7.19 (
0a98dd1) - Merge branch 'release' (
ecab54b) - Merge branch 'release-v0.7.18' into release (
dfa970b) - Release v0.7.18 (
3f71765) - Merge branch 'release' (
5f08563) - Merge branch 'release-v0.7.17' into release (
e073dd2) - Release v0.7.17 (
21ecf72) - Merge branch 'release' (
839f06d) - Merge branch 'release-v0.7.16' into release (
6f5575c) - Release v0.7.16 (
8bf29c1) - Merge branch 'release' (
b4ec398) - Merge branch 'release-v0.7.15' into release (
6bbc9e2) - Release v0.7.15 (
20f896e) - Merge branch 'release' (
7c692d4) - Merge branch 'release-v0.7.14' into release (
ea8dd65) - Release v0.7.14 (
fee66fc) - Merge pull request #82 from Ryman/unicase (
909fac5) - Add an impl of PhfHash for UniCase (
d761144) - Drop all rust features (
888f623) - Introduce a Slice abstraction for buffers (
0cc3844) - Merge branch 'release' (
d9351e1) - Merge branch 'release-v0.7.13' into release (
b582e4e) - Release v0.7.13 (
4769a6d) - Merge branch 'release' (
5659a9d) - Merge branch 'release-v0.7.12' into release (
2f0a5de) - Release v0.7.12 (
9b75ee5) - Merge pull request #75 from aidanhs/aphs-fix-ord-set-doc (
ae5ee38) - Fix ordered set
indexdocumentation (44e495f) - Merge branch 'release' (
87ffab8) - Merge branch 'release-v0.7.11' into release (
7260d04) - Release v0.7.11 (
a004227) - Merge branch 'release' (
1579bec) - Merge branch 'release-v0.7.10' into release (
25cea13) - Release v0.7.10 (
c43154b) - Merge branch 'release' (
2c67ce5) - Merge branch 'release-v0.7.9' into release (
87206e1) - Release v0.7.9 (
b7d29df) - Merge branch 'release' (
cd33902) - Merge branch 'release-v0.7.8' into release (
8bc23a0) - Release v0.7.8 (
aad0b9b) - Merge branch 'release' (
dccff69) - Merge branch 'release-v0.7.7' into release (
2d988b7) - Release v0.7.7 (
c9e7a93) - Run through rustfmt (
58e2223) - Merge branch 'release' (
776046c) - Merge branch 'release-v0.7.6' into release (
2ea7d5c) - Release v0.7.6 (
5bcd5c9) - Fix core feature build (
751c94b) - Use libstd debug builders (
fd71c31) - Simplify no_std logic a bit (
70f2ed9) - Merge pull request #68 from gz/master (
44006f7) - Reinstantiate no_std cargo feature flag. (
7c3f757) - Merge branch 'release' (
1f770df) - Merge branch 'release-v0.7.5' into release (
bb65b8c) - Release v0.7.5 (
fda44f5) - Merge branch 'release' (
269b5dc) - Merge branch 'release-v0.7.4' into release (
7c093e8) - Release v0.7.4 (
c7c0d3c) - Merge pull request #62 from SimonSapin/string-cache (
6f59718) - Add hash() and get_index() to phf_shared. (
d3b2ea0) - Update PhfHash to mirror std::hash::Hash (
96ef156) - Release v0.7.3 (
77ea239) - Merge pull request #59 from alexcrichton/update (
6bd5a93) - Remove prelude imports (
98183e1) - Release v0.7.2 (
642b69d) - Merge pull request #55 from SimonSapin/indexing (
0cc37b2) - Add
indexmethods toOrderedMapandOrderedSet. (d2af00d) - Release v0.7.1 (
9cb9de9) - Release v0.7.0 (
555a690) - Stabilize phf (
e215273) - Drop debug_builders feature (
0b68ea5) - Release v0.6.19 (
5810d30) - Clean up debug impls (
7e32f39) - Merge pull request #53 from kmcallister/rustup (
7f0392a) - Upgrade to rustc 1.0.0-dev (d8be84eb4 2015-03-29) (built 2015-03-29) (
7d74f1f) - Release v0.6.18 (
36efc72) - Fix for upstream changes (
eabadcf) - Release v0.6.17 (
271ccc2) - Release v0.6.15 (
ede14df) - Release v0.6.14 (
cf64ebb) - Release v0.6.13 (
4fdb533) - Fix warnings and use debug builders (
4d28684) - Release v0.6.12 (
59ca586) - Release v0.6.11 (
e1e6d3b) - Release v0.6.10 (
fc45373) - Add documentation for phf_macros (
8eca797) - Move tests to phf_macros (
40dbc32) - Remove core feature (
d4c189a) - Release v0.6.9 (
822f4e3) - Fix for upstream changes (
f014882) - Release v0.6.8 (
cd637ca) - Merge pull request #49 from kmcallister/rustup (
ee54b59) - Upgrade to rustc 1.0.0-nightly (6c065fc8c 2015-02-17) (built 2015-02-18) (
cbd9a41) - .map(|t| t.clone()) -> .cloned() (
044f690) - Add example to root module docs (
fbbb530) - Release v0.6.7 (
bfc36c9) - Release v0.6.6 (
b09a174) - Fix for upstream changse (
9bd8705) - Release v0.6.5 (
271e784) - Fix for upstream changes (
3db7cef) - Fix doc URLs (
e1c53fc) - Move docs to this repo and auto build them (
f8ef160) - Release v0.6.4 (
6866c1b) - Release v0.6.3 (
b0c5e3c) - Release v0.6.2 (
d9ddf45) - Implement IntoIterator (
2f63ded) - Link to libstd by default (
24555b1) - Release v0.6.1 (
ca0e9f6) - Fix for upstream changes (
69ca376) - Fix for stability changes (
f7fb510) - More sed fixes (
81b54b2) - Release v0.6.0 (
09d6870) - Rename phf_mac to phf_macros (
c50d107) - More fixes for bad sed (
28af2aa) - Fix silly sed error (
39e098a) - Show -> Debug (
384ead4) - Release v0.5.0 (
8683be2) - Add type to Show implementations (
c5a4f31) - Merge pull request #41 from alexcrichton/update (
79772f4) - Remove unused features (
88700a2) - Remove fmt::String impls for structures (
5135f02) - Release v0.4.9 (
28cbe70) - Fix for upstream changes (
0b22188) - Release v0.4.8 (
bb858f1) - Merge pull request #38 from chris-morgan/master (
668f986) - Release v0.4.7 (
d83f551) - Fix for upstream changes (
c3ae5ac) - Release v0.4.6 (
360bf81) - Release v0.4.5 (
ab4786c) - Fix for upstream changes (
6963a16) - Release v0.4.4 (
f678635) - Fix for upstream changes (
2b4863f) - Release v0.4.3 (
4f5902c) - Fix for weird type inference breakage (
3c36bfb) - Release v0.4.2 (
69d92b8) - Merge pull request #37 from alexcrichton/update (
b9f0a43) - Update to rust master (
4a0d48d) - Release v0.4.1 (
0fba837) - Release v0.4.0 (
49dbb36) - Fix for upstream changes and drop xxhash (
fc2539f) - Release v0.3.0 (
0a80b06) - Fix for unboxed closure changes (
d96a1e5) - Rename Set and OrderedSet iterators (
9103fc5) - Merge pull request #32 from sp3d/master (
fc4829a) - Add support for [u8, ..N] keys (
e26947c) - Bump to 0.2 (
4546f51) - Remove uneeded feature (
98dde65) - Alter entries iterator behavior (
14627f5) - Bump to 0.1.0 (
43d9a50) - Merge pull request #31 from jamesrhurst/exactsize (
d20c311) - Make publishable on crates.io (
4ad2bb2) - ExactSize is now ExactSizeIterator (
6a7cc6e) - Use repository packages (
6e3a54d) - Add license and descriptions (
ff7dad4) - Update to use BorrowFrom (
2f3c605) - Merge pull request #28 from cgaebel/master (
cc0d031) - S/kv/entry/ (
bf62eb8) - Merge pull request #27 from cgaebel/master (
f6ce09a) - More code review (
aec5aab) - Code review (
88d54c2) - Added key+value equivalents for the map getters. (
7ced000) - Switch from find to get (
88abf6c) - Fix some deprecation warnings (
af2dd53) - Update for collections traits removal (
f585e4c) - Remove deprecated reexports (
b697d13) - Hide deprecated reexports from docs (
d120067) - Add deprecated reexports (
5752604) - Fix doc header size (
8f5c0f0) - Fix docs (
eadea0b) - Convert PhfOrderedSet to new naming conventions (
de193c7) - Switch over PhfOrderedMap to new naming scheme (
f17bae1) - Convert PhfSet to new naming conventions (
b2416db) - Move and rename PhfMap stuff (
7fc934a) - Update for Equiv DST changes (
719de47) - Clean up warnings (
b44065b) - Fix docs (
83a8116) - Drop libstd requirement (
dd3d0f1) - Remove unneeded import (
15cc179) - Update docs location (
49647cd) - Misc cleanup (
2fe6940) - Use XXHash instead of SipHash (
bd10658) - Use slice operators (
a1b5030) - Fix warnings in tests (
4bf6f82) - Remove old crate_name attributes (
35701e2) - Fix typo (
68458d3) - Rephrase order guarantees (
3c2661d) - Update examples (
85a3b28) - Minor cleanup (
2f75f5f) - Merge pull request #12 from kmcallister/find-index (
d7ae880) - Provide find_index{,_equiv} on PhfOrdered{Set,Map} (
b16d440) - Update for lifetime changes (
af0a11c) - Add back crate_name for rustdoc (
92ec57a) - More cleanup (
20dea1d) - One more where clause (
d6e5d77) - Switch to where clause syntax (
13b9389) - Cargo update (
2a650ef) - Re-disable in-crate tests (
9c4d247) - Properly support cross compiled builds (
b2220d9) - Reenable tests for phf crate for docs (
3ab5bd1) - Update for pattern changes (
f79814a) - Move test to tests dir (
c9ca9b1) - Add more _equiv methods (
61eea75) - Elide lifetimes (
20a1e83) - Impl Index for PhfMap and PhfOrderedMap (
3995dbc) - Switch Travis to using cargo (
95f3c90) - Rename module (
25aeba6) - Rename phf_shared to phf (
6372fa4) - Turn off tests for main crates (
6718b60) - Pull shared code into a module (
19c4f8d) - Move iterator maps to construction time (
a8bb815) - Implement more iterator traits for PhfMap iters (
4b48972) - Add support for remaining literals (
55ededf) - Byte and char key support (
789990e) - Support binary literal keys! (
6bfb12b) - Parameterize the key type of PhfOrdered* (
f6ce641) - Parameterize the key type of PhfMap and Set (
cb4ed93) - Update for crate_id removal (
a0ab8d7) - Split to two separate Cargo packages (
4ff3544) </details>
- Release phf_shared v0.11.1, phf_generator v0.11.1, phf_macros v0.11.1, phf v0.11.1, phf_codegen v0.11.1 (
-
0.11.015 Jul 2022Nothing published for this version
-
0.10.113 Dec 2021 -
0.10.010 Aug 2021Release notes
Open source → -
0.9.106 Aug 2021 withdrawnRelease notes
Open source →Yanked except for
phf-generator, use 0.10.0 instead.- (phf-generator): Pin
criterionversion to keep MSRV - Constify
lenandis_empty([#224]) (yanked) - Implement
Clone,Debug, andFusedIterator([#226]) (yanked)
- (phf-generator): Pin
-
0.9.017 Jun 2021Release notes
Open source →- Our MSRV is now 1.41 or 1.46 (because of dependencies)
randdependency has been upgraded to 0.8- Fix some crates' build on
no_std - Restore the
unicasefeature forphf_macros - Allow using the owned
Stringtype forphfdynamic code generation - Add back
OrderedMapandOrderedSet - (breaking change) Use
PhfBorrowtrait instead ofstd::borrow::Borrow
-
0.8.017 Oct 2019Release notes
Open source →phf_macrosnow works on stable.- :tada: Fixed asymptotic slowdowns when constructing maps over very large datasets (+1M keys)
- (breaking change) The
corefeatures ofphfandphf_sharedhave been changed tostddefault-features. - (breaking change) The types in
phf_codegencan be used with formatting macros via theirDisplayimpls and thebuild()methods no longer take&mut Write. - Support has been added for using 128-bit integers as keys.
- (breaking change) The
OrderedMapandOrderedSettypes and thephf_buildercrate have been removed due to lack of use. - Byte strings now work correctly as keys.
unicasedependency has been upgraded to 2.4.0
-
0.7.2405 Jan 2019Nothing published for this version
-
0.7.2327 Aug 2018Nothing published for this version
-
0.7.2228 Apr 2018Nothing published for this version
-
0.7.2119 Jan 2017Nothing published for this version
-
0.7.2023 Nov 2016Nothing published for this version
-
0.7.1902 Nov 2016Nothing published for this version
-
0.7.1827 Oct 2016Nothing published for this version
-
0.7.1705 Oct 2016Nothing published for this version
-
0.7.1611 Jul 2016Nothing published for this version
-
0.7.1526 May 2016Nothing published for this version
-
0.7.1430 Mar 2016Nothing published for this version
-
0.7.1323 Feb 2016Nothing published for this version
-
0.7.1231 Jan 2016Nothing published for this version
-
0.7.1113 Jan 2016Nothing published for this version
-
0.7.1002 Jan 2016Nothing published for this version
-
0.7.928 Nov 2015Nothing published for this version
-
0.7.824 Nov 2015Nothing published for this version
-
0.7.709 Nov 2015Nothing published for this version
-
0.7.624 Oct 2015Nothing published for this version
-
0.7.522 Sep 2015Nothing published for this version
-
0.7.404 Aug 2015Nothing published for this version
-
0.7.323 Apr 2015Nothing published for this version
-
0.7.211 Apr 2015Nothing published for this version
-
0.7.109 Apr 2015Nothing published for this version
-
0.7.031 Mar 2015Nothing published for this version
-
0.6.1930 Mar 2015Nothing published for this version
-
0.6.1825 Mar 2015Nothing published for this version
-
0.6.1725 Mar 2015Nothing published for this version
-
0.6.1522 Mar 2015Nothing published for this version
-
0.6.1417 Mar 2015Nothing published for this version
-
0.6.1315 Mar 2015Nothing published for this version
-
0.6.1202 Mar 2015Nothing published for this version
-
0.6.1122 Feb 2015Nothing published for this version
-
0.6.1022 Feb 2015Nothing published for this version
-
0.6.920 Feb 2015Nothing published for this version
-
0.6.819 Feb 2015Nothing published for this version
-
0.6.712 Feb 2015Nothing published for this version
-
0.6.611 Feb 2015Nothing published for this version
-
0.6.508 Feb 2015Nothing published for this version
-
0.6.407 Feb 2015Nothing published for this version
-
0.6.306 Feb 2015Nothing published for this version
-
0.6.203 Feb 2015Nothing published for this version
-
0.6.101 Feb 2015Nothing published for this version
-
0.6.025 Jan 2015Nothing published for this version
-
0.5.017 Jan 2015Nothing published for this version
-
0.4.909 Jan 2015Nothing published for this version