_**Breaking**_ ⚠️
* Drops support for all Python versions below `v3.8`.
* Makes API's primary parameter, `positional`, and the remaining, `keyword-only`.
* Keyword-only parameters like `max` and `min`, has been renamed to `max_val` and `min_val` respectively.
* `domain` API now accepts two new keyword-only arguments: `rfc_1034: bool = False` and `rfc_2782: bool = False`.
* `extremes.py` renamed to `_extremes.py` and is no longer exposed.
* `truthy` was discarded in favour of simple `bool()` function.
* `ipv4_cidr()` and `ipv6_cidr()` has been dropped in favour of `cidr: bool = True` and `cidr: bool = True` keyword-only parameters.
* `email()` API now accepts the following keyword-only arguments:
* `simple_host: bool = False`,
* `ipv6_address: bool = False`,
* `ipv4_address: bool = False`,
* `rfc_1034: bool = False` and
* `rfc_2782: bool = False`.
* `whitelist=None` has been removed from `email()`.
* `url()` has been refactored, it accepts the following keyword-only arguments:
* `skip_ipv6_addr: bool = False`,
* `skip_ipv4_addr: bool = False`,
* `may_have_port: bool = True`,
* `simple_host: bool = False`,
* `rfc_1034: bool = False` and
* `rfc_2782: bool = False`.
* `public=False` keyword argument has been removed from `url()`.
* Exposes `i18n` functions directly via `__init__.py`.
* `validator` decorator catches `Exception`.
<!-* please don't shoot me -->
_**Features**_
* Adds `hostname` validator.
_**Maintenance**_
* feat: add build for pypi workflow by yozachar in [255](https://github.com/python-validators/validators/pull/255)
* feat: validator now catches `Exception` by yozachar in [254](https://github.com/python-validators/validators/pull/254)
* maint: improves `i18n` package by yozachar in [252](https://github.com/python-validators/validators/pull/252)
* maint: misc changes to dev and ci by yozachar in [251](https://github.com/python-validators/validators/pull/251)
* maint: misc fixes and improvements by yozachar in [249](https://github.com/python-validators/validators/pull/249)
* maint: improves state of package development by yozachar in [248](https://github.com/python-validators/validators/pull/248)
* fix: generate dynamic reference docs by yozachar in [247](https://github.com/python-validators/validators/pull/247)
* maint: moving docs from `.rst` to `.md` by yozachar in [246](https://github.com/python-validators/validators/pull/246)
* maint: improves `url` module by yozachar in [245](https://github.com/python-validators/validators/pull/245)
* maint: improve `domain`, `email` & `hostname` by yozachar in [244](https://github.com/python-validators/validators/pull/244)
* maint: simplified `hostname` module by yozachar in [242](https://github.com/python-validators/validators/pull/242)
* maint: update `email` module by yozachar in [241](https://github.com/python-validators/validators/pull/241)
* feat: adds `hostname` validator by yozachar in [240](https://github.com/python-validators/validators/pull/240)
* maint: improves `ip_address` module by yozachar in [239](https://github.com/python-validators/validators/pull/239)
* fix: misc fixes, use bandit by yozachar in [238](https://github.com/python-validators/validators/pull/238)
* Create SECURITY.md by yozachar in [237](https://github.com/python-validators/validators/pull/237)
* maint: improves `mac_address`, `slug` and `uuid` by yozachar in [236](https://github.com/python-validators/validators/pull/236)
* maint: improve `hashes` and `iban` modules by yozachar in [235](https://github.com/python-validators/validators/pull/235)
* feat: auto docs using mkdocstrings by yozachar in [234](https://github.com/python-validators/validators/pull/234)
* maint: improves `email` module by yozachar in [233](https://github.com/python-validators/validators/pull/233)
* maint: minor improvements by yozachar in [232](https://github.com/python-validators/validators/pull/232)
* maint: improves `domain` module by yozachar in [231](https://github.com/python-validators/validators/pull/231)
* maint: reformats `card` module, fix typo by yozachar in [230](https://github.com/python-validators/validators/pull/230)
* feat: formats google pydoc style for mkdocstring by yozachar in [229](https://github.com/python-validators/validators/pull/229)
* maint: refresh `btc_address` module by yozachar in [228](https://github.com/python-validators/validators/pull/228)
* maint: improve type annotations by yozachar in [227](https://github.com/python-validators/validators/pull/227)
* maint: improves `between` and `length` modules by yozachar in [225](https://github.com/python-validators/validators/pull/225)
* maint: follows google's python style guide for docstrings by yozachar in [224](https://github.com/python-validators/validators/pull/224)
* feat: type hints in utils.py, gh-actions by yozachar in [223](https://github.com/python-validators/validators/pull/223)
* feat: add pyproject.toml, README.md, upd gitignore by yozachar in [221](https://github.com/python-validators/validators/pull/221)
* remove Travis CI settings by ktdreyer in [196](https://github.com/python-validators/validators/pull/196)
**Full Changelog**: [`0.20.0...0.21.0`](https://github.com/python-validators/validators/compare/0.20.0...0.21.0)
---