- Remove remove ahash 0.7.6 from dependencies (cargo audit)
- Add
serde
feature (Serialize
andDeserialize
forLang
andScript
).
- Support Arbitrary
- Fix bug in Czech alphabet (improved quality of Czech language detection)
- [breaking] Add Armenian script (
Script::Armenian
) and language (Lang::Hye
)
- Update enum-map dependency to version 2
- Optimize alphabet method for Cyrillic: almost 2x improved performance for Cyrillic languages and 7% for the average
detect()
benchmark.
- Improve performance of
detect()
almost twice (see PR)
- [breaking] - Support of Tagalog (
Tgl
) - Rename
whatlang::Error
->whatlang::ParseError
- [breaking] - Drop languages:
- Tigrinya (
Tir
) - Hausa (
Hau
) - Chewa (
Nya
) - Bhojpuri (
Bho
) - Igbo (
Ibo
) - Maithili (
Mai
) - Oromo (
Orm
) - Rundi (
Run
) - Saraiki (
Srk
) - Kurdish (
Kur
) - Cebuano (
Ceb
) - Malagasy (
Mlg
) - Kinyarwanda (
Kin
) - Somali (
Som
) - Ilocano (
Ilo
) - Uyghur (
Uig
) - Tagalog ('Tgl')
- Haitian Creole (
Hat
) - Nynorsk (
Nno
) - Yoruba (
Yor
)
- Tigrinya (
- [breaking] - Rename Yiddish:
Ydd
->Yid
- [breaking] - Rename Azerbaijani:
Azj
->Aze
- [breaking] Rename List -> FilterList
- [breaking] rename
whitelist
andblacklist
toallowlist
anddenylist
respectively - Drop support of Cyrillic Azerbaijani and Turkmen
- Add
Script::all()
to iterate over all scripts. - Add
Lang::all()
to iterate over all languages. - Add integration with
enum-map
- Implement
FromStr
forScript
andLang
- Implement
Script::langs(&self) -> &[Lang]
- About 7% slower than v0.11.1 due to new detection method introduced. It's still much faster than v0.11.0
- Use Trigram tuple instead of heap allocated String. (~68% faster)
- [breaking] - rename code for Arabic:
Arb
->Ara
- Support Catalan
- Support Slovak
- Support Latin
- Support Latin
- (fix) respect japanese whitelisting when mandarin characters are given (#44)
- Update dependency hashbrown 0.1.8 -> 0.3.0 (10% faster)
- Support Afrikaans language (afr)
- Get rid of build dependencies: installation is much faster now
- Use hashbrown instead of fnv (detect() is 30% faster)
- Use array on stack instead of vector for detect_script (1-2% faster)
- Use build.rs to generate
lang.rs
file - Add property based testing
- (breaking) Rename
Lang::to_code(&self)
toLang::code(&self)
- (fix) Fix bug with zero division in confidence calculation
- (fix) Confidence can not exceed 1.0
- Implement
Lang::eng_name(&self) -> &str
function - Implement
Lang::name(&self) -> &str
function - Implement
Script::name(&self) -> &str
function - Implement trait
Dislpay
forScript
- Implement
Display
trait forLang
- Calculate confidence in the range from 0 to 1 for Info
- Calculate is_reliable bool for
Info
struct. - Breaking changes for
Info
. Make fields private. Now one should use methods. - Remove support of Latin version of Serbo-Croatian, because it conflicts a lot with modern Croatian.
- Replace HashMap with FnvHashMap (~ 33% faster)
- Small performance improvement: preallocate memory for counter_hash in trigrams.rs (~ 2-3% faster)
- Fix build
- Add link to doc at crates.io
- Support New 14 languages
- (breaking) New API
- Support 10 new languages
- Optimize trigram algorithms
- Optimize script detection
- Accept text, blacklist and whitelist as references
- 10 new languages
- Fix: always guarantee same result on same input data (fix sorting issue)
- Support whitelist and blacklist
- Support more than 50 languages
- Support about 20 languages
- Tiny improvements
- First public release