Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-validators for 
openSUSE:Factory checked in at 2024-09-09 14:43:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-validators (Old)
 and      /work/SRC/openSUSE:Factory/.python-validators.new.10096 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-validators"

Mon Sep  9 14:43:23 2024 rev:29 rq:1199455 version:0.34.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-validators/python-validators.changes      
2024-07-15 19:46:26.049410365 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-validators.new.10096/python-validators.changes
   2024-09-09 14:43:28.044276620 +0200
@@ -1,0 +2,9 @@
+Sun Sep  8 13:19:53 UTC 2024 - Dirk Müller <dmuel...@suse.com>
+
+- update to 0.34.0:
+  * > No breaking changes were introduced in this version.
+  * feat: cache IANA TLDs for faster lookups
+  * chore: update dependencies
+  * docs: adds configuration info
+
+-------------------------------------------------------------------

Old:
----
  validators-0.33.0.tar.gz

New:
----
  validators-0.34.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-validators.spec ++++++
--- /var/tmp/diff_new_pack.ST8F8n/_old  2024-09-09 14:43:28.676302844 +0200
+++ /var/tmp/diff_new_pack.ST8F8n/_new  2024-09-09 14:43:28.680303010 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-validators
-Version:        0.33.0
+Version:        0.34.0
 Release:        0
 Summary:        Python Data Validation
 License:        MIT

++++++ validators-0.33.0.tar.gz -> validators-0.34.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/validators-0.33.0/CHANGES.md 
new/validators-0.34.0/CHANGES.md
--- old/validators-0.33.0/CHANGES.md    2024-07-15 04:34:44.000000000 +0200
+++ new/validators-0.34.0/CHANGES.md    2024-09-03 19:27:00.000000000 +0200
@@ -4,11 +4,28 @@
 
 Note to self: Breaking changes must increment either
 
-- minor version: as long as versions are in 0.y.z or
-- major version: when versions are in in x.y.z (x>0)
+* minor version: as long as versions are in 0.y.z or
+* major version: when versions are in in x.y.z (x>0)
 
 -->
 
+## 0.34.0 (2024-09-03)
+
+_**Breaking**_
+
+> No breaking changes were introduced in this version.
+
+_**Features**_
+
+* feat: cache IANA TLDs for faster lookups by @salty-horse in 
[#390](https://github.com/python-validators/validators/pull/390)
+
+_**Maintenance**_
+
+* chore: update dependencies by @yozachar in 
[#394](https://github.com/python-validators/validators/pull/394)
+* docs: adds configuration info by @yozachar in 
[#395](https://github.com/python-validators/validators/pull/395)
+
+**Full Changelog**: 
[`0.33.0...0.34.0`](https://github.com/python-validators/validators/compare/0.33.0...0.34.0)
+
 ## 0.33.0 (2024-07-15)
 
 _**Breaking**_
@@ -17,11 +34,11 @@
 
 _**Features**_
 
-- feat: adds validator for `bsc` addresses by @msamsami in 
[#389](https://github.com/python-validators/validators/pull/389)
+* feat: adds validator for `bsc` addresses by @msamsami in 
[#389](https://github.com/python-validators/validators/pull/389)
 
 _**Maintenance**_
 
-- chore: bump version by @msamsami in 
[#389](https://github.com/python-validators/validators/pull/389)
+* chore: bump version by @msamsami in 
[#389](https://github.com/python-validators/validators/pull/389)
 
 **Full Changelog**: 
[`0.32.0...0.33.0`](https://github.com/python-validators/validators/compare/0.32.0...0.33.0)
 
@@ -35,11 +52,11 @@
 
 _**Features**_
 
-- feat: add validator for `sha384` hash by @msamsami in 
[#387](https://github.com/python-validators/validators/pull/387)
+* feat: add validator for `sha384` hash by @msamsami in 
[#387](https://github.com/python-validators/validators/pull/387)
 
 _**Maintenance**_
 
-- maint: bump version by @msamsami in 
[#387](https://github.com/python-validators/validators/pull/387)
+* maint: bump version by @msamsami in 
[#387](https://github.com/python-validators/validators/pull/387)
 
 **Full Changelog**: 
[`0.31.0...0.32.0`](https://github.com/python-validators/validators/compare/0.31.0...0.32.0)
 
@@ -53,11 +70,11 @@
 
 _**Features**_
 
-- feat: add validators for `base16` and `base32` encodings by @msamsami in 
[#386](https://github.com/python-validators/validators/pull/386)
+* feat: add validators for `base16` and `base32` encodings by @msamsami in 
[#386](https://github.com/python-validators/validators/pull/386)
 
 _**Maintenance**_
 
-- maint: bump version by @msamsami in 
[#386](https://github.com/python-validators/validators/pull/386)
+* maint: bump version by @msamsami in 
[#386](https://github.com/python-validators/validators/pull/386)
 
 **Full Changelog**: 
[`0.30.0...0.31.0`](https://github.com/python-validators/validators/compare/0.30.0...0.31.0)
 
@@ -71,11 +88,11 @@
 
 _**Features**_
 
-- feat: add validator for trx addresses by @msamsami in 
[#384](https://github.com/python-validators/validators/pull/384)
+* feat: add validator for trx addresses by @msamsami in 
[#384](https://github.com/python-validators/validators/pull/384)
 
 _**Maintenance**_
 
-- maint: bump version by @msamsami in 
[#384](https://github.com/python-validators/validators/pull/384)
+* maint: bump version by @msamsami in 
[#384](https://github.com/python-validators/validators/pull/384)
 
 **Full Changelog**: 
[`0.29.0...0.30.0`](https://github.com/python-validators/validators/compare/0.29.0...0.30.0)
 
@@ -85,15 +102,15 @@
 
 _**Breaking**_ ⚠️
 
-- patch: moves `btc_address` to `crypto_addresses` by @msamsami in 
[#383](https://github.com/python-validators/validators/pull/383) on 
[`2f300b`](https://github.com/python-validators/validators/pull/383/commits/2f300bccf31e7d8914817cac2ca466fd2a0a4d08)
+* patch: moves `btc_address` to `crypto_addresses` by @msamsami in 
[#383](https://github.com/python-validators/validators/pull/383) on 
[`2f300b`](https://github.com/python-validators/validators/pull/383/commits/2f300bccf31e7d8914817cac2ca466fd2a0a4d08)
 
 _**Features**_
 
-- feat: add validator for eth addresses by @msamsami in 
[#383](https://github.com/python-validators/validators/pull/383)
+* feat: add validator for eth addresses by @msamsami in 
[#383](https://github.com/python-validators/validators/pull/383)
 
 _**Maintenance**_
 
-- chore: update dev deps; adds python EOL info by @yozachar in 
[#381](https://github.com/python-validators/validators/pull/381)
+* chore: update dev deps; adds python EOL info by @yozachar in 
[#381](https://github.com/python-validators/validators/pull/381)
 
 **Full Changelog**: 
[`0.28.3...0.29.0`](https://github.com/python-validators/validators/compare/0.28.3...0.29.0)
 
@@ -111,7 +128,7 @@
 
 _**Maintenance**_
 
-- hotfix: ensure `_tld.txt` is in `sdist` and `bdist` by @yozachar in 
[#379](https://github.com/python-validators/validators/pull/379)
+* hotfix: ensure `_tld.txt` is in `sdist` and `bdist` by @yozachar in 
[#379](https://github.com/python-validators/validators/pull/379)
 
 **Full Changelog**: 
[`0.28.2...0.28.3`](https://github.com/python-validators/validators/compare/0.28.2...0.28.3)
 
@@ -127,12 +144,12 @@
 
 _**Maintenance**_
 
-- fix: corrects a few typo by @yozachar in 
[#371](https://github.com/python-validators/validators/pull/371)
-- build(deps): bump jinja2 from 3.1.3 to 3.1.4 in /package by @dependabot in 
[#372](https://github.com/python-validators/validators/pull/372)
-- fix(ip_address): properly handle private is false by @grleblanc in 
[#374](https://github.com/python-validators/validators/pull/374)
-- chore(url): allow symbols and pictographs in url by @prousso in 
[#375](https://github.com/python-validators/validators/pull/375)
-- build(deps): bump requests from 2.31.0 to 2.32.0 in /package by @dependabot 
in [#376](https://github.com/python-validators/validators/pull/376)
-- chore: fix typo; update dev deps; bump version by @yozachar in 
[#377](https://github.com/python-validators/validators/pull/377)
+* fix: corrects a few typo by @yozachar in 
[#371](https://github.com/python-validators/validators/pull/371)
+* build(deps): bump jinja2 from 3.1.3 to 3.1.4 in /package by @dependabot in 
[#372](https://github.com/python-validators/validators/pull/372)
+* fix(ip_address): properly handle private is false by @grleblanc in 
[#374](https://github.com/python-validators/validators/pull/374)
+* chore(url): allow symbols and pictographs in url by @prousso in 
[#375](https://github.com/python-validators/validators/pull/375)
+* build(deps): bump requests from 2.31.0 to 2.32.0 in /package by @dependabot 
in [#376](https://github.com/python-validators/validators/pull/376)
+* chore: fix typo; update dev deps; bump version by @yozachar in 
[#377](https://github.com/python-validators/validators/pull/377)
 
 **Full Changelog**: 
[`0.28.1...0.28.2`](https://github.com/python-validators/validators/compare/0.28.1...0.28.2)
 
@@ -148,12 +165,12 @@
 
 _**Maintenance**_
 
-- fix: reduce memory footprint when loading TLDs by @yozachar in 
[#362](https://github.com/python-validators/validators/pull/362)
-- build(deps): bump idna from 3.6 to 3.7 in /package by @dependabot in 
[#365](https://github.com/python-validators/validators/pull/365)
-- fix: rfc cases in the `domain` validator by @yozachar in 
[#367](https://github.com/python-validators/validators/pull/367)
-- chore: documentation maintenance  by @yozachar in 
[#368](https://github.com/python-validators/validators/pull/368)
-- chore: update contribution guidelines by @yozachar in 
[#369](https://github.com/python-validators/validators/pull/369)
-- chore: updated dev dependencies; bump version by @yozachar in 
[#370](https://github.com/python-validators/validators/pull/370)
+* fix: reduce memory footprint when loading TLDs by @yozachar in 
[#362](https://github.com/python-validators/validators/pull/362)
+* build(deps): bump idna from 3.6 to 3.7 in /package by @dependabot in 
[#365](https://github.com/python-validators/validators/pull/365)
+* fix: rfc cases in the `domain` validator by @yozachar in 
[#367](https://github.com/python-validators/validators/pull/367)
+* chore: documentation maintenance  by @yozachar in 
[#368](https://github.com/python-validators/validators/pull/368)
+* chore: update contribution guidelines by @yozachar in 
[#369](https://github.com/python-validators/validators/pull/369)
+* chore: updated dev dependencies; bump version by @yozachar in 
[#370](https://github.com/python-validators/validators/pull/370)
 
 **Full Changelog**: 
[`0.28.0...0.28.1`](https://github.com/python-validators/validators/compare/0.28.0...0.28.1)
 
@@ -161,17 +178,17 @@
 
 _**Breaking**_ ⚠️
 
-- patch: moves `country_code` module to `country` module by @yozachar in 
[#357](https://github.com/python-validators/validators/pull/357)
+* patch: moves `country_code` module to `country` module by @yozachar in 
[#357](https://github.com/python-validators/validators/pull/357)
 
 _**Features**_
 
-- feat: adds indian aadhar and pan validator by @yozachar in 
[#358](https://github.com/python-validators/validators/pull/358)
-- feat: adds `finance` validator by @yozachar in 
[#359](https://github.com/python-validators/validators/pull/359)
-- feat: adds `consider_tld` parameter to `domain`, `hostname` and `url` 
modules by @yozachar in 
[#360](https://github.com/python-validators/validators/pull/360)
+* feat: adds indian aadhar and pan validator by @yozachar in 
[#358](https://github.com/python-validators/validators/pull/358)
+* feat: adds `finance` validator by @yozachar in 
[#359](https://github.com/python-validators/validators/pull/359)
+* feat: adds `consider_tld` parameter to `domain`, `hostname` and `url` 
modules by @yozachar in 
[#360](https://github.com/python-validators/validators/pull/360)
 
 _**Maintenance**_
 
-- maint: updated dev dependencies, doc links; bump version by @yozachar in 
[#361](https://github.com/python-validators/validators/pull/361)
+* maint: updated dev dependencies, doc links; bump version by @yozachar in 
[#361](https://github.com/python-validators/validators/pull/361)
 
 **Full Changelog**: 
[`0.27.0...0.28.0`](https://github.com/python-validators/validators/compare/0.27.0...0.28.0)
 
@@ -181,16 +198,16 @@
 
 _**Breaking**_ ⚠️
 
-- patch: moves `base58` and `base64` into `encoding` by @yozachar in 
[#354](https://github.com/python-validators/validators/pull/354)
+* patch: moves `base58` and `base64` into `encoding` by @yozachar in 
[#354](https://github.com/python-validators/validators/pull/354)
 
 _**Features**_
 
-- feat: lays foundation for URI validation by @yozachar in 
[#353](https://github.com/python-validators/validators/pull/353)
-- feat: adds `private` parameter to `ip_address`, `hostname` & `url` by 
@yozachar in [#356](https://github.com/python-validators/validators/pull/356)
+* feat: lays foundation for URI validation by @yozachar in 
[#353](https://github.com/python-validators/validators/pull/353)
+* feat: adds `private` parameter to `ip_address`, `hostname` & `url` by 
@yozachar in [#356](https://github.com/python-validators/validators/pull/356)
 
 _**Maintenance**_
 
-- patch: adds `encoding` tests and docs by @yozachar in 
[#355](https://github.com/python-validators/validators/pull/355)
+* patch: adds `encoding` tests and docs by @yozachar in 
[#355](https://github.com/python-validators/validators/pull/355)
 
 **Full Changelog**: 
[`0.26.0...0.27.0`](https://github.com/python-validators/validators/compare/0.26.0...0.27.0)
 
@@ -204,12 +221,12 @@
 
 _**Features**_
 
-- feat: adds `base58` and `base64` validators by @yozachar in 
[#351](https://github.com/python-validators/validators/pull/351)
+* feat: adds `base58` and `base64` validators by @yozachar in 
[#351](https://github.com/python-validators/validators/pull/351)
 
 _**Maintenance**_
 
-- fix: regex ignore-case uses only `a-z` by @yozachar in 
[#349](https://github.com/python-validators/validators/pull/349)
-- patch: supported extended latin in username by @yozachar in 
[#350](https://github.com/python-validators/validators/pull/350)
+* fix: regex ignore-case uses only `a-z` by @yozachar in 
[#349](https://github.com/python-validators/validators/pull/349)
+* patch: supported extended latin in username by @yozachar in 
[#350](https://github.com/python-validators/validators/pull/350)
 
 **Full Changelog**: 
[`0.25.0...0.26.0`](https://github.com/python-validators/validators/compare/0.25.0...0.26.0)
 
@@ -223,12 +240,12 @@
 
 _**Features**_
 
-- feat: adds basic `cron` validator by @yozachar in 
[#348](https://github.com/python-validators/validators/pull/348)
+* feat: adds basic `cron` validator by @yozachar in 
[#348](https://github.com/python-validators/validators/pull/348)
 
 _**Maintenance**_
 
-- maint: adds quick start docs by @yozachar in 
[#344](https://github.com/python-validators/validators/pull/344)
-- fix: `domain` validation is now more consistent across rfcs by @yozachar in 
[#347](https://github.com/python-validators/validators/pull/347)
+* maint: adds quick start docs by @yozachar in 
[#344](https://github.com/python-validators/validators/pull/344)
+* fix: `domain` validation is now more consistent across rfcs by @yozachar in 
[#347](https://github.com/python-validators/validators/pull/347)
 
 **Full Changelog**: 
[`0.24.2...0.25.0`](https://github.com/python-validators/validators/compare/0.24.2...0.25.0)
 
@@ -242,13 +259,13 @@
 
 _**Features**_
 
-- feat: conditionally raises `ValidationError`; bump version by @yozachar in 
[#343](https://github.com/python-validators/validators/pull/343)
+* feat: conditionally raises `ValidationError`; bump version by @yozachar in 
[#343](https://github.com/python-validators/validators/pull/343)
 
 _**Maintenance**_
 
-- patch: `domain` & `url` modules by @yozachar in 
[#339](https://github.com/python-validators/validators/pull/339)
-- fix: domain name not confirming to rfc_2782 by @yozachar in 
[#341](https://github.com/python-validators/validators/pull/341)
-- maint: update dev dependencies; adds favicon to docs by @yozachar in 
[#342](https://github.com/python-validators/validators/pull/342)
+* patch: `domain` & `url` modules by @yozachar in 
[#339](https://github.com/python-validators/validators/pull/339)
+* fix: domain name not confirming to rfc_2782 by @yozachar in 
[#341](https://github.com/python-validators/validators/pull/341)
+* maint: update dev dependencies; adds favicon to docs by @yozachar in 
[#342](https://github.com/python-validators/validators/pull/342)
 
 **Full Changelog**: 
[`0.23.2...0.24.0`](https://github.com/python-validators/validators/compare/0.23.2...0.24.0)
 
@@ -266,8 +283,8 @@
 
 _**Maintenance**_
 
-- maint: rectifies changelog by @yozachar in 
[#336](ttps://github.com/python-validators/validators/pull/336)
-- fix: packaging as well as `rST` & `md` document generation by @yozachar in 
[#337](ttps://github.com/python-validators/validators/pull/337)
+* maint: rectifies changelog by @yozachar in 
[#336](ttps://github.com/python-validators/validators/pull/336)
+* fix: packaging as well as `rST` & `md` document generation by @yozachar in 
[#337](ttps://github.com/python-validators/validators/pull/337)
 
 **Full Changelog**: 
[`0.23.1...0.23.2`](https://github.com/python-validators/validators/compare/0.23.1...0.23.2)
 
@@ -283,8 +300,8 @@
 
 _**Maintenance**_
 
-- maint: fix `between` & `length` validators by @yozachar in 
[#334](https://github.com/python-validators/validators/pull/334)
-- fix: manual nav reference for mkdocs; bumps version by @yozachar in 
[#335](https://github.com/python-validators/validators/pull/335)
+* maint: fix `between` & `length` validators by @yozachar in 
[#334](https://github.com/python-validators/validators/pull/334)
+* fix: manual nav reference for mkdocs; bumps version by @yozachar in 
[#335](https://github.com/python-validators/validators/pull/335)
 
 **Full Changelog**: 
[`0.23.0...0.23.1`](https://github.com/python-validators/validators/compare/0.23.0...0.23.1)
 
@@ -296,25 +313,25 @@
 
 _**Features**_
 
-- feat: add french i18n validation by @imperosol in 
[#308](https://github.com/python-validators/validators/pull/308)
+* feat: add french i18n validation by @imperosol in 
[#308](https://github.com/python-validators/validators/pull/308)
 
 _**Maintenance**_
 
-- fix: Valid URLs failing validation - query and fragment parts by 
@danherbriley in 
[#297](https://github.com/python-validators/validators/pull/297)
-- fix: bug in `between` module by @yozachar in 
[#301](https://github.com/python-validators/validators/pull/301)
-- chore: update dependencies, improve packaging by @yozachar in 
[#304](https://github.com/python-validators/validators/pull/304)
-- Fix fragment check by @darkdragon-001 in 
[#305](https://github.com/python-validators/validators/pull/305)
-- build(deps): bump urllib3 from 2.0.6 to 2.0.7 in /package by @dependabot in 
[#310](https://github.com/python-validators/validators/pull/310)
-- fix: allow pct-encoded entities in fragments by @conitrade-as in 
[#317](https://github.com/python-validators/validators/pull/317)
-- chore: update dev dependencies by @yozachar in 
[#318](https://github.com/python-validators/validators/pull/318)
-- build(deps): bump gitpython from 3.1.37 to 3.1.41 in /package by @dependabot 
in [#321](https://github.com/python-validators/validators/pull/321)
-- build(deps): bump jinja2 from 3.1.2 to 3.1.3 in /package by @dependabot in 
[#322](https://github.com/python-validators/validators/pull/322)
-- chore: monthly updates for Jan'24 by @yozachar in 
[#324](https://github.com/python-validators/validators/pull/324)
-- maint: adds versiond docs; update copyright year by @yozachar in 
[#329](https://github.com/python-validators/validators/pull/329)
-- chore: update dev dependencies by @yozachar in 
[#330](https://github.com/python-validators/validators/pull/330)
-- build(deps): bump gitpython from 3.1.37 to 3.1.41 in /package by @dependabot 
in [#331](https://github.com/python-validators/validators/pull/331)
-- build(deps): bump jinja2 from 3.1.2 to 3.1.3 in /package by @dependabot in 
[#332](https://github.com/python-validators/validators/pull/332)
-- build(deps): bump urllib3 from 2.0.6 to 2.0.7 in /package by @dependabot in 
[#319](https://github.com/python-validators/validators/pull/319)
+* fix: Valid URLs failing validation * query and fragment parts by 
@danherbriley in 
[#297](https://github.com/python-validators/validators/pull/297)
+* fix: bug in `between` module by @yozachar in 
[#301](https://github.com/python-validators/validators/pull/301)
+* chore: update dependencies, improve packaging by @yozachar in 
[#304](https://github.com/python-validators/validators/pull/304)
+* Fix fragment check by @darkdragon-001 in 
[#305](https://github.com/python-validators/validators/pull/305)
+* build(deps): bump urllib3 from 2.0.6 to 2.0.7 in /package by @dependabot in 
[#310](https://github.com/python-validators/validators/pull/310)
+* fix: allow pct-encoded entities in fragments by @conitrade-as in 
[#317](https://github.com/python-validators/validators/pull/317)
+* chore: update dev dependencies by @yozachar in 
[#318](https://github.com/python-validators/validators/pull/318)
+* build(deps): bump gitpython from 3.1.37 to 3.1.41 in /package by @dependabot 
in [#321](https://github.com/python-validators/validators/pull/321)
+* build(deps): bump jinja2 from 3.1.2 to 3.1.3 in /package by @dependabot in 
[#322](https://github.com/python-validators/validators/pull/322)
+* chore: monthly updates for Jan'24 by @yozachar in 
[#324](https://github.com/python-validators/validators/pull/324)
+* maint: adds versiond docs; update copyright year by @yozachar in 
[#329](https://github.com/python-validators/validators/pull/329)
+* chore: update dev dependencies by @yozachar in 
[#330](https://github.com/python-validators/validators/pull/330)
+* build(deps): bump gitpython from 3.1.37 to 3.1.41 in /package by @dependabot 
in [#331](https://github.com/python-validators/validators/pull/331)
+* build(deps): bump jinja2 from 3.1.2 to 3.1.3 in /package by @dependabot in 
[#332](https://github.com/python-validators/validators/pull/332)
+* build(deps): bump urllib3 from 2.0.6 to 2.0.7 in /package by @dependabot in 
[#319](https://github.com/python-validators/validators/pull/319)
 
 **Full Changelog**: 
[`0.22.0...0.23.0`](https://github.com/python-validators/validators/compare/0.22.0...0.23.0)
 
@@ -324,7 +341,7 @@
 
 _**Breaking**_ ⚠️
 
-- A new keyword parameter `host_bit = True`, is added to `validators.ipv4` and 
`validators.ipv6`.
+* A new keyword parameter `host_bit = True`, is added to `validators.ipv4` and 
`validators.ipv6`.
 
 _**Features**_
 
@@ -332,10 +349,10 @@
 
 _**Maintenance**_
 
-- fix: url validator considers urls with /#/ as valid by @adrienthiery in 
[#289](https://github.com/python-validators/validators/pull/289)
-- Add note about ValidationFailure to ValidationError in changes.md by @tswfi 
in [#291](https://github.com/python-validators/validators/pull/291)
-- fix: simple hostname validation regex by @yozachar in 
[#294](https://github.com/python-validators/validators/pull/294)
-- fix: strict CIDR IP validation; bump version by @yozachar in 
[#295](https://github.com/python-validators/validators/pull/295)
+* fix: url validator considers urls with /#/ as valid by @adrienthiery in 
[#289](https://github.com/python-validators/validators/pull/289)
+* Add note about ValidationFailure to ValidationError in changes.md by @tswfi 
in [#291](https://github.com/python-validators/validators/pull/291)
+* fix: simple hostname validation regex by @yozachar in 
[#294](https://github.com/python-validators/validators/pull/294)
+* fix: strict CIDR IP validation; bump version by @yozachar in 
[#295](https://github.com/python-validators/validators/pull/295)
 
 **Full Changelog**: 
[`0.21.2...0.22.0`](https://github.com/python-validators/validators/compare/0.21.2...0.22.0)
 
@@ -345,19 +362,19 @@
 
 _**Breaking**_ ⚠️
 
-- `ValidationFailure` is renamed to `ValidationError` in 
[`yozachar@12ae1f5`](https://github.com/yozachar/pyvalidators/commit/12ae1f5850555d11e1f1a2c03f597fd10610215a)
+* `ValidationFailure` is renamed to `ValidationError` in 
[`yozachar@12ae1f5`](https://github.com/yozachar/pyvalidators/commit/12ae1f5850555d11e1f1a2c03f597fd10610215a)
 
 _**Features**_
 
-- Added Country Code Validation by @aviiciii in 
[#280](https://github.com/python-validators/validators/pull/280)
-- add validator ETH addresses (ERC20) by @msamsami in 
[#276](https://github.com/python-validators/validators/pull/276)
+* Added Country Code Validation by @aviiciii in 
[#280](https://github.com/python-validators/validators/pull/280)
+* add validator ETH addresses (ERC20) by @msamsami in 
[#276](https://github.com/python-validators/validators/pull/276)
 
 _**Maintenance**_
 
-- feat: refactoring; updates; fixes; bump version by @yozachar in 
[#283](https://github.com/python-validators/validators/pull/283)(ref: 
<https://github.com/yozachar/pyvalidators/commit/12ae1f5850555d11e1f1a2c03f597fd10610215a>)
-- build(deps): bump pymdown-extensions from 9.11 to 10.0 by @dependabot in 
[#273](https://github.com/python-validators/validators/pull/273)
-- build(deps): bump requests from 2.28.2 to 2.31.0 by @dependabot in 
[#275](https://github.com/python-validators/validators/pull/275)
-- build(deps-dev): bump certifi from 2022.12.7 to 2023.7.22 by @dependabot in 
[#281](https://github.com/python-validators/validators/pull/281)
+* feat: refactoring; updates; fixes; bump version by @yozachar in 
[#283](https://github.com/python-validators/validators/pull/283)(ref: 
<https://github.com/yozachar/pyvalidators/commit/12ae1f5850555d11e1f1a2c03f597fd10610215a>)
+* build(deps): bump pymdown-extensions from 9.11 to 10.0 by @dependabot in 
[#273](https://github.com/python-validators/validators/pull/273)
+* build(deps): bump requests from 2.28.2 to 2.31.0 by @dependabot in 
[#275](https://github.com/python-validators/validators/pull/275)
+* build(deps-dev): bump certifi from 2022.12.7 to 2023.7.22 by @dependabot in 
[#281](https://github.com/python-validators/validators/pull/281)
 
 **Full Changelog**: 
[`0.21.1...0.21.2`](https://github.com/python-validators/validators/compare/0.21.1...0.21.2)
 
@@ -373,11 +390,11 @@
 
 _**Maintenance**_
 
-- fix: `source .venv/bin/activate` before build by @yozachar in 
[#260](https://github.com/python-validators/validators/pull/260)
-- fix: id-token write permission at job level by @yozachar in 
[#261](https://github.com/python-validators/validators/pull/261)
-- feat: docs can be built with both sphinx & mkdocs by @yozachar in 
[#262](https://github.com/python-validators/validators/pull/262)
-- fix: improves build process by @yozachar in 
[#263](https://github.com/python-validators/validators/pull/263)
-- fix: removes 64-char limit for url path & query by @yozachar in 
[#264](https://github.com/python-validators/validators/pull/264)
+* fix: `source .venv/bin/activate` before build by @yozachar in 
[#260](https://github.com/python-validators/validators/pull/260)
+* fix: id-token write permission at job level by @yozachar in 
[#261](https://github.com/python-validators/validators/pull/261)
+* feat: docs can be built with both sphinx & mkdocs by @yozachar in 
[#262](https://github.com/python-validators/validators/pull/262)
+* fix: improves build process by @yozachar in 
[#263](https://github.com/python-validators/validators/pull/263)
+* fix: removes 64-char limit for url path & query by @yozachar in 
[#264](https://github.com/python-validators/validators/pull/264)
 
 **Full Changelog**: 
[`0.21.0...0.21.1`](https://github.com/python-validators/validators/compare/0.21.0...0.21.1)
 
@@ -385,70 +402,70 @@
 
 _**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)
+* 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)
 
@@ -456,177 +473,177 @@
 
 ## 0.20.0 (2022-06-05)
 
-- Added ipv4 digit lenghts validation (#191, pull request courtesy of Norbiox)
-- Fixes error with international URLs that have more than 2 hyphens (#184, 
pull request courtesy of automationator)
+* Added ipv4 digit lenghts validation (#191, pull request courtesy of Norbiox)
+* Fixes error with international URLs that have more than 2 hyphens (#184, 
pull request courtesy of automationator)
 
 ## 0.19.0 (2022-05-04)
 
-- Dropped py34 support
-- Improve IPv6 validation (#201, pull request courtesy of SimonIT)
+* Dropped py34 support
+* Improve IPv6 validation (#201, pull request courtesy of SimonIT)
 
 ## 0.18.2 (2020-12-18)
 
-- Implement actual validation for old style BTC addresses including 
checksumming (#182, pull request courtesy of tpatja)
-- Use a regex to guesstimate validity of new segwit BTC addresses (#182, pull 
request courtesy of tpatja)
+* Implement actual validation for old style BTC addresses including 
checksumming (#182, pull request courtesy of tpatja)
+* Use a regex to guesstimate validity of new segwit BTC addresses (#182, pull 
request courtesy of tpatja)
 
 ## 0.18.1 (2020-09-03)
 
-- Made uuid validator accept UUID objects (#174, pull request courtesy of 
Letsch22)
+* Made uuid validator accept UUID objects (#174, pull request courtesy of 
Letsch22)
 
 ## 0.18.0 (2020-08-19)
 
-- Added bitcoin address validator (#166, pull request courtesy of daveusa31)
+* Added bitcoin address validator (#166, pull request courtesy of daveusa31)
 
 ## 0.17.1 (2020-08-03)
 
-- Fixed python_requires using twine
+* Fixed python_requires using twine
 
 ## 0.17.0 (2020-08-02)
 
-- Added python_requires='>=3.4' to setup.py (#163, pull request courtesy of 
vphilippon)
-- Fixed URL validator ip_last_octet regex (#145, pull request courtesy of 
ghost)
+* Added python_requires='>=3.4' to setup.py (#163, pull request courtesy of 
vphilippon)
+* Fixed URL validator ip_last_octet regex (#145, pull request courtesy of 
ghost)
 
 ## 0.16.0 (2020-07-16)
 
-- Added support for emojis and more IDNA URLs (#161, pull request courtesy of 
automationator)
+* Added support for emojis and more IDNA URLs (#161, pull request courtesy of 
automationator)
 
 ## 0.15.0 (2020-05-07)
 
-- Added bank card validators (#157, pull request courtesy of TimonPeng)
+* Added bank card validators (#157, pull request courtesy of TimonPeng)
 
 ## 0.14.3 (2020-04-02)
 
-- Handle None values gracefully in domain validator (#144, pull request 
courtesy reahaas)
-- Local part of the email address should be less or equal than 64 bytes (#147, 
pull request courtesy mondeja)
-- Removed py27 support
-- Removed pypy2 support
+* Handle None values gracefully in domain validator (#144, pull request 
courtesy reahaas)
+* Local part of the email address should be less or equal than 64 bytes (#147, 
pull request courtesy mondeja)
+* Removed py27 support
+* Removed pypy2 support
 
 ## 0.14.2 (2020-01-24)
 
-- Made domain validation case-insensitive (#136, pull request courtesy ehmkah)
+* Made domain validation case-insensitive (#136, pull request courtesy ehmkah)
 
 ## 0.14.1 (2019-12-04)
 
-- Updated domain validator regex to not allow numeric only TLDs (#133, pull 
request courtesy jmeridth)
-- Allow for idna encoded domains (#133, pull request courtesy jmeridth)
+* Updated domain validator regex to not allow numeric only TLDs (#133, pull 
request courtesy jmeridth)
+* Allow for idna encoded domains (#133, pull request courtesy jmeridth)
 
 ## 0.14.0 (2019-08-21)
 
-- Added new validators `ipv4_cidr`, `ipv6_cidr` (#117, pull request courtesy 
woodruffw)
+* Added new validators `ipv4_cidr`, `ipv6_cidr` (#117, pull request courtesy 
woodruffw)
 
 ## 0.13.0 (2019-05-20)
 
-- Added new validator: `es_doi`, `es_nif`, `es_cif`, `es_nie` (#121, pull 
request courtesy kingbuzzman)
+* Added new validator: `es_doi`, `es_nif`, `es_cif`, `es_nie` (#121, pull 
request courtesy kingbuzzman)
 
 ## 0.12.6 (2019-05-08)
 
-- Fixed domain validator for single character domains (#118, pull request 
courtesy kingbuzzman)
+* Fixed domain validator for single character domains (#118, pull request 
courtesy kingbuzzman)
 
 ## 0.12.5 (2019-04-15)
 
-- Fixed py37 support (#113, pull request courtesy agiletechnologist)
+* Fixed py37 support (#113, pull request courtesy agiletechnologist)
 
 ## 0.12.4 (2019-01-02)
 
-- Use inspect.getfullargspec() in py3 (#110, pull request courtesy riconnon)
+* Use inspect.getfullargspec() in py3 (#110, pull request courtesy riconnon)
 
 ## 0.12.3 (2018-11-13)
 
-- Added `allow_temporal_ssn` parameter to fi_ssn validator (#97, pull request 
courtesy quantus)
-- Remove py33 support
+* Added `allow_temporal_ssn` parameter to fi_ssn validator (#97, pull request 
courtesy quantus)
+* Remove py33 support
 
 ## 0.12.2 (2018-06-03)
 
-- Fixed IPv4 formatted IP address returning True on ipv6 (#85, pull request 
courtesy johndlong)
-- Fixed IPv6 address parsing (#83, pull request courtesy JulianKahnert)
-- Fixed domain validator for international domains and certain edge cases 
(#76, pull request courtesy Ni-Knight)
+* Fixed IPv4 formatted IP address returning True on ipv6 (#85, pull request 
courtesy johndlong)
+* Fixed IPv6 address parsing (#83, pull request courtesy JulianKahnert)
+* Fixed domain validator for international domains and certain edge cases 
(#76, pull request courtesy Ni-Knight)
 
 ## 0.12.1 (2018-01-30)
 
-- Fixed IDNA encoded TLDs in domain validator (#75, pull request courtesy 
piewpiew)
-- Fixed URL validator for URLs with invalid characters in userinfo part (#69, 
pull request courtesy timb07)
+* Fixed IDNA encoded TLDs in domain validator (#75, pull request courtesy 
piewpiew)
+* Fixed URL validator for URLs with invalid characters in userinfo part (#69, 
pull request courtesy timb07)
 
 ## 0.12.0 (2017-06-03)
 
-- Added hash validators for md5, sha1, sha224, sha256 and sha512
-- Made ipv6 validator support IPv4-mapped IPv6 addresses
+* Added hash validators for md5, sha1, sha224, sha256 and sha512
+* Made ipv6 validator support IPv4-mapped IPv6 addresses
 
 ## 0.11.3 (2017-03-27)
 
-- Fixed URL validator for URLs containing localhost (#51, pull request 
courtesy vladimirdotk)
+* Fixed URL validator for URLs containing localhost (#51, pull request 
courtesy vladimirdotk)
 
 ## 0.11.2 (2017-01-08)
 
-- Fixed URL validator for urls with query parameters but without path (#44, 
pull request courtesy zjjw)
+* Fixed URL validator for urls with query parameters but without path (#44, 
pull request courtesy zjjw)
 
 ## 0.11.1 (2016-11-19)
 
-- Fixed pyp2rpm build problem (#37, pull request courtesy BOPOHA)
+* Fixed pyp2rpm build problem (#37, pull request courtesy BOPOHA)
 
 ## 0.11.0 (2016-08-30)
 
-- Fixed public url validation (#29)
-- Made URL validator case insensitive (#27)
-- Drop Python 2.6 support
+* Fixed public url validation (#29)
+* Made URL validator case insensitive (#27)
+* Drop Python 2.6 support
 
 ## 0.10.3 (2016-06-13)
 
-- Added `public` parameter to url validator (#26, pull request courtesy 
Iconceicao)
+* Added `public` parameter to url validator (#26, pull request courtesy 
Iconceicao)
 
 ## 0.10.2 (2016-06-11)
 
-- Fixed various URL validation issues
+* Fixed various URL validation issues
 
 ## 0.10.1 (2016-04-09)
 
-- Fixed domain name validation for numeric domain names (#21, pull request 
courtesy shaunpud)
-- Fixed IBAN validation for Norwegian and Belgian IBANs (#17, pull request 
courtesy mboelens91)
+* Fixed domain name validation for numeric domain names (#21, pull request 
courtesy shaunpud)
+* Fixed IBAN validation for Norwegian and Belgian IBANs (#17, pull request 
courtesy mboelens91)
 
 ## 0.10.0 (2016-01-09)
 
-- Added support for internationalized domain names (IDN) in `domain` validator
+* Added support for internationalized domain names (IDN) in `domain` validator
 
 ## 0.9.0 (2015-10-10)
 
-- Added new validator: `domain`
-- Added flake8 and isort checks in travis config
+* Added new validator: `domain`
+* Added flake8 and isort checks in travis config
 
 ## 0.8.0 (2015-06-24)
 
-- Added new validator: `iban`
+* Added new validator: `iban`
 
 ## 0.7.0 (2014-09-07)
 
-- Fixed errors in code examples.
-- Fixed `TypeError` when using `between` validator with `datetime` objects
+* Fixed errors in code examples.
+* Fixed `TypeError` when using `between` validator with `datetime` objects
   like in the code example.
-- Changed validators to always return `True` instead of a truthy object when
+* Changed validators to always return `True` instead of a truthy object when
   the validation succeeds.
-- Fixed `truthy` validator to work like it's name suggests. Previously it
+* Fixed `truthy` validator to work like it's name suggests. Previously it
   worked like `falsy`.
 
 ## 0.6.0 (2014-06-25)
 
-- Added new validator: `slug`
+* Added new validator: `slug`
 
 ## 0.5.0 (2013-10-31)
 
-- Renamed `finnish_business_id` to `fi_business_id`
-- Added new validator: `fi_ssn`
+* Renamed `finnish_business_id` to `fi_business_id`
+* Added new validator: `fi_ssn`
 
 ## 0.4.0 (2013-10-29)
 
-- Added new validator: `finnish_business_id`
+* Added new validator: `finnish_business_id`
 
 ## 0.3.0 (2013-10-27)
 
-- `number_range` -> `between`
+* `number_range` -> `between`
 
 ## 0.2.0 (2013-10-22)
 
-- Various new validators: `ipv4`, `ipv6`, `length`, `number_range`,
+* Various new validators: `ipv4`, `ipv6`, `length`, `number_range`,
   `mac_address`, `url`, `uuid`
 
 ## 0.1.0 (2013-10-18)
 
-- Initial public release
+* Initial public release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/validators-0.33.0/PKG-INFO 
new/validators-0.34.0/PKG-INFO
--- old/validators-0.33.0/PKG-INFO      2024-07-15 04:36:17.249879100 +0200
+++ new/validators-0.34.0/PKG-INFO      2024-09-03 19:32:22.307095800 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: validators
-Version: 0.33.0
+Version: 0.34.0
 Summary: Python Data Validation for Humans™
 Author-email: Konsta Vesterinen <kon...@fastmonkeys.com>
 License: MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/validators-0.33.0/docs/validators.1 
new/validators-0.34.0/docs/validators.1
--- old/validators-0.33.0/docs/validators.1     2024-07-15 04:36:14.000000000 
+0200
+++ new/validators-0.34.0/docs/validators.1     2024-09-03 19:32:18.000000000 
+0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "VALIDATORS" "1" "Jul 15, 2024" "0.33.0" "validators"
+.TH "VALIDATORS" "1" "Sep 03, 2024" "0.34.0" "validators"
 .SH NAME
 validators \- Python Data Validation for Humans™
 .sp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/validators-0.33.0/pyproject.toml 
new/validators-0.34.0/pyproject.toml
--- old/validators-0.33.0/pyproject.toml        2024-07-08 14:23:23.000000000 
+0200
+++ new/validators-0.34.0/pyproject.toml        2024-09-03 19:27:00.000000000 
+0200
@@ -59,24 +59,24 @@
     "myst-parser>=3.0.1",
     "pypandoc-binary>=1.13",
     "sphinx>=7.1.2",
-    "furo>=2024.5.6",
+    "furo>=2024.8.6",
 ]
 docs-online = [
-    "mkdocs>=1.6.0",
-    "mkdocs-git-revision-date-localized-plugin>=1.2.6",
-    "mkdocs-material>=9.5.27",
-    "mkdocstrings[python]>=0.25.1",
-    "mike>=2.1.2",
+    "mkdocs>=1.6.1",
+    "mkdocs-git-revision-date-localized-plugin>=1.2.7",
+    "mkdocs-material>=9.5.34",
+    "mkdocstrings[python]>=0.26.0",
+    "mike>=2.1.3",
 ]
 package = ["build>=1.2.1"]
-runner = ["tox>=4.15.1"]
+runner = ["tox>=4.18.0"]
 sast = ["bandit[toml]>=1.7.9"]
-testing = ["pytest>=8.2.2"]
+testing = ["pytest>=8.3.2"]
 tooling = [
-    "black>=24.4.2",
-    "ruff>=0.5.0",
-    "pyright>=1.1.369",
-    "pytest>=8.2.2",
+    "black>=24.8.0",
+    "ruff>=0.6.3",
+    "pyright>=1.1.378",
+    "pytest>=8.3.2",
     "pypandoc-binary>=1.13", # helps with type checking
 ]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/validators-0.33.0/src/validators/__init__.py 
new/validators-0.34.0/src/validators/__init__.py
--- old/validators-0.33.0/src/validators/__init__.py    2024-07-15 
04:34:44.000000000 +0200
+++ new/validators-0.34.0/src/validators/__init__.py    2024-09-03 
19:27:00.000000000 +0200
@@ -109,4 +109,4 @@
     "validator",
 )
 
-__version__ = "0.33.0"
+__version__ = "0.34.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/validators-0.33.0/src/validators/domain.py 
new/validators-0.34.0/src/validators/domain.py
--- old/validators-0.33.0/src/validators/domain.py      2024-07-08 
14:23:23.000000000 +0200
+++ new/validators-0.34.0/src/validators/domain.py      2024-09-03 
19:27:00.000000000 +0200
@@ -1,20 +1,39 @@
 """Domain."""
 
 # standard
+from os import environ
 from pathlib import Path
 import re
+from typing import Optional, Set
 
 # local
 from .utils import validator
 
 
-def _iana_tld():
-    """Load IANA TLDs as a Generator."""
-    # source: https://data.iana.org/TLD/tlds-alpha-by-domain.txt
-    with Path(__file__).parent.joinpath("_tld.txt").open() as tld_f:
-        _ = next(tld_f)  # ignore the first line
-        for line in tld_f:
-            yield line.strip()
+class _IanaTLD:
+    """Read IANA TLDs, and optionally cache them."""
+
+    _full_cache: Optional[Set[str]] = None
+    # source: https://www.statista.com/statistics/265677
+    _popular_cache = {"COM", "ORG", "RU", "DE", "NET", "BR", "UK", "JP", "FR", 
"IT"}
+
+    @classmethod
+    def _retrieve(cls):
+        with Path(__file__).parent.joinpath("_tld.txt").open() as tld_f:
+            _ = next(tld_f)  # ignore the first line
+            for line in tld_f:
+                yield line.strip()
+
+    @classmethod
+    def check(cls, tld: str):
+        if tld in cls._popular_cache:
+            return True
+        if cls._full_cache is None:
+            if environ.get("PYVLD_CACHE_TLD") == "True":
+                cls._full_cache = set(cls._retrieve())
+            else:
+                return tld in cls._retrieve()
+        return tld in cls._full_cache
 
 
 @validator
@@ -56,7 +75,7 @@
     if not value:
         return False
 
-    if consider_tld and value.rstrip(".").rsplit(".", 1)[-1].upper() not in 
_iana_tld():
+    if consider_tld and not _IanaTLD.check(value.rstrip(".").rsplit(".", 
1)[-1].upper()):
         return False
 
     try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/validators-0.33.0/src/validators.egg-info/PKG-INFO 
new/validators-0.34.0/src/validators.egg-info/PKG-INFO
--- old/validators-0.33.0/src/validators.egg-info/PKG-INFO      2024-07-15 
04:36:17.000000000 +0200
+++ new/validators-0.34.0/src/validators.egg-info/PKG-INFO      2024-09-03 
19:32:22.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: validators
-Version: 0.33.0
+Version: 0.34.0
 Summary: Python Data Validation for Humans™
 Author-email: Konsta Vesterinen <kon...@fastmonkeys.com>
 License: MIT

Reply via email to