Breaking
No breaking changes were introduced in this version.
Features
- feat: cache IANA TLDs for faster lookups by @salty-horse in #390
Maintenance
Full Changelog: 0.33.0...0.34.0
Breaking
No breaking changes were introduced in this version.
Features
- feat: adds validator for
bsc
addresses by @msamsami in #389
Maintenance
- chore: bump version by @msamsami in #389
Full Changelog: 0.32.0...0.33.0
Breaking
No breaking changes were introduced in this version.
Features
- feat: add validator for
sha384
hash by @msamsami in #387
Maintenance
- maint: bump version by @msamsami in #387
Full Changelog: 0.31.0...0.32.0
Breaking
No breaking changes were introduced in this version.
Features
- feat: add validators for
base16
andbase32
encodings by @msamsami in #386
Maintenance
- maint: bump version by @msamsami in #386
Full Changelog: 0.30.0...0.31.0
Breaking
No breaking changes were introduced in this version.
Features
- feat: add validator for trx addresses by @msamsami in #384
Maintenance
- maint: bump version by @msamsami in #384
Full Changelog: 0.29.0...0.30.0
Breaking
Features
- feat: add validator for eth addresses by @msamsami in #383
Maintenance
- chore: update dev deps; adds python EOL info by @yozachar in #381
Full Changelog: 0.28.3...0.29.0
Breaking
No breaking changes were introduced in this version.
Features
No features were introduced in this version.
Maintenance
- hotfix: ensure
_tld.txt
is insdist
andbdist
by @yozachar in #379
Full Changelog: 0.28.2...0.28.3
Breaking
No breaking changes were introduced in this version.
Features
No features were introduced in this version.
Maintenance
- fix: corrects a few typo by @yozachar in #371
- build(deps): bump jinja2 from 3.1.3 to 3.1.4 in /package by @dependabot in #372
- fix(ip_address): properly handle private is false by @grleblanc in #374
- chore(url): allow symbols and pictographs in url by @prousso in #375
- build(deps): bump requests from 2.31.0 to 2.32.0 in /package by @dependabot in #376
- chore: fix typo; update dev deps; bump version by @yozachar in #377
Full Changelog: 0.28.1...0.28.2
Breaking
No breaking changes were introduced in this version.
Features
No features were introduced in this version.
Maintenance
- fix: reduce memory footprint when loading TLDs by @yozachar in #362
- build(deps): bump idna from 3.6 to 3.7 in /package by @dependabot in #365
- fix: rfc cases in the
domain
validator by @yozachar in #367 - chore: documentation maintenance by @yozachar in #368
- chore: update contribution guidelines by @yozachar in #369
- chore: updated dev dependencies; bump version by @yozachar in #370
Full Changelog: 0.28.0...0.28.1
Breaking
- patch: moves
country_code
module tocountry
module by @yozachar in #357
Features
- feat: adds indian aadhar and pan validator by @yozachar in #358
- feat: adds
finance
validator by @yozachar in #359 - feat: adds
consider_tld
parameter todomain
,hostname
andurl
modules by @yozachar in #360
Maintenance
- maint: updated dev dependencies, doc links; bump version by @yozachar in #361
Full Changelog: 0.27.0...0.28.0
Breaking
- patch: moves
base58
andbase64
intoencoding
by @yozachar in #354
Features
- feat: lays foundation for URI validation by @yozachar in #353
- feat: adds
private
parameter toip_address
,hostname
&url
by @yozachar in #356
Maintenance
- patch: adds
encoding
tests and docs by @yozachar in #355
Full Changelog: 0.26.0...0.27.0
Breaking
No breaking changes were introduced in this version.
Features
- feat: adds
base58
andbase64
validators by @yozachar in #351
Maintenance
- fix: regex ignore-case uses only
a-z
by @yozachar in #349 - patch: supported extended latin in username by @yozachar in #350
Full Changelog: 0.25.0...0.26.0
Breaking
No breaking changes were introduced in this version.
Features
- feat: adds basic
cron
validator by @yozachar in #348
Maintenance
- maint: adds quick start docs by @yozachar in #344
- fix:
domain
validation is now more consistent across rfcs by @yozachar in #347
Full Changelog: 0.24.2...0.25.0
Breaking
No breaking changes were introduced in this version.
Features
- feat: conditionally raises
ValidationError
; bump version by @yozachar in #343
Maintenance
- patch:
domain
&url
modules by @yozachar in #339 - fix: domain name not confirming to rfc_2782 by @yozachar in #341
- maint: update dev dependencies; adds favicon to docs by @yozachar in #342
Full Changelog: 0.23.2...0.24.0
Breaking
No breaking changes were introduced in this version.
Features
No features were introduced in this version.
Maintenance
- maint: rectifies changelog by @yozachar in #336
- fix: packaging as well as
rST
&md
document generation by @yozachar in #337
Full Changelog: 0.23.1...0.23.2
Breaking
No breaking changes were introduced in this version.
Features
No features were introduced in this version.
Maintenance
- maint: fix
between
&length
validators by @yozachar in #334 - fix: manual nav reference for mkdocs; bumps version by @yozachar in #335
Full Changelog: 0.23.0...0.23.1
Breaking
No breaking changes were introduced in this version.
Features
- feat: add french i18n validation by @imperosol in #308
Maintenance
- fix: Valid URLs failing validation * query and fragment parts by @danherbriley in #297
- fix: bug in
between
module by @yozachar in #301 - chore: update dependencies, improve packaging by @yozachar in #304
- Fix fragment check by @darkdragon-001 in #305
- build(deps): bump urllib3 from 2.0.6 to 2.0.7 in /package by @dependabot in #310
- fix: allow pct-encoded entities in fragments by @conitrade-as in #317
- chore: update dev dependencies by @yozachar in #318
- build(deps): bump gitpython from 3.1.37 to 3.1.41 in /package by @dependabot in #321
- build(deps): bump jinja2 from 3.1.2 to 3.1.3 in /package by @dependabot in #322
- chore: monthly updates for Jan'24 by @yozachar in #324
- maint: adds versiond docs; update copyright year by @yozachar in #329
- chore: update dev dependencies by @yozachar in #330
- build(deps): bump gitpython from 3.1.37 to 3.1.41 in /package by @dependabot in #331
- build(deps): bump jinja2 from 3.1.2 to 3.1.3 in /package by @dependabot in #332
- build(deps): bump urllib3 from 2.0.6 to 2.0.7 in /package by @dependabot in #319
Full Changelog: 0.22.0...0.23.0
Breaking
- A new keyword parameter
host_bit = True
, is added tovalidators.ipv4
andvalidators.ipv6
.
Features
No features were introduced in this version.
Maintenance
- fix: url validator considers urls with /#/ as valid by @adrienthiery in #289
- Add note about ValidationFailure to ValidationError in changes.md by @tswfi in #291
- fix: simple hostname validation regex by @yozachar in #294
- fix: strict CIDR IP validation; bump version by @yozachar in #295
Full Changelog: 0.21.2...0.22.0
Breaking
ValidationFailure
is renamed toValidationError
inyozachar@12ae1f5
Features
- Added Country Code Validation by @aviiciii in #280
- add validator ETH addresses (ERC20) by @msamsami in #276
Maintenance
- feat: refactoring; updates; fixes; bump version by @yozachar in #283(ref: https://github.com/yozachar/pyvalidators/commit/12ae1f5850555d11e1f1a2c03f597fd10610215a)
- build(deps): bump pymdown-extensions from 9.11 to 10.0 by @dependabot in #273
- build(deps): bump requests from 2.28.2 to 2.31.0 by @dependabot in #275
- build(deps-dev): bump certifi from 2022.12.7 to 2023.7.22 by @dependabot in #281
Full Changelog: 0.21.1...0.21.2
Breaking
No breaking changes were introduced in this version.
Features
No features were introduced in this version.
Maintenance
- fix:
source .venv/bin/activate
before build by @yozachar in #260 - fix: id-token write permission at job level by @yozachar in #261
- feat: docs can be built with both sphinx & mkdocs by @yozachar in #262
- fix: improves build process by @yozachar in #263
- fix: removes 64-char limit for url path & query by @yozachar in #264
Full Changelog: 0.21.0...0.21.1
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
andmin
, has been renamed tomax_val
andmin_val
respectively. domain
API now accepts two new keyword-only arguments:rfc_1034: bool = False
andrfc_2782: bool = False
.extremes.py
renamed to_extremes.py
and is no longer exposed.truthy
was discarded in favour of simplebool()
function.ipv4_cidr()
andipv6_cidr()
has been dropped in favour ofcidr: bool = True
andcidr: 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
andrfc_2782: bool = False
.
whitelist=None
has been removed fromemail()
.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
andrfc_2782: bool = False
.
public=False
keyword argument has been removed fromurl()
.- Exposes
i18n
functions directly via__init__.py
. @validator
decorator catchesException
.
<!-* please don't shoot me -->
Features
- Adds
hostname
validator.
Maintenance
- feat: add build for pypi workflow by @yozachar in #255
- feat: @validator now catches
Exception
by @yozachar in #254 - maint: improves
i18n
package by @yozachar in #252 - maint: misc changes to dev and ci by @yozachar in #251
- maint: misc fixes and improvements by @yozachar in #249
- maint: improves state of package development by @yozachar in #248
- fix: generate dynamic reference docs by @yozachar in #247
- maint: moving docs from
.rst
to.md
by @yozachar in #246 - maint: improves
url
module by @yozachar in #245 - maint: improve
domain
,email
&hostname
by @yozachar in #244 - maint: simplified
hostname
module by @yozachar in #242 - maint: update
email
module by @yozachar in #241 - feat: adds
hostname
validator by @yozachar in #240 - maint: improves
ip_address
module by @yozachar in #239 - fix: misc fixes, use bandit by @yozachar in #238
- Create SECURITY.md by @yozachar in #237
- maint: improves
mac_address
,slug
anduuid
by @yozachar in #236 - maint: improve
hashes
andiban
modules by @yozachar in #235 - feat: auto docs using mkdocstrings by @yozachar in #234
- maint: improves
email
module by @yozachar in #233 - maint: minor improvements by @yozachar in #232
- maint: improves
domain
module by @yozachar in #231 - maint: reformats
card
module, fix typo by @yozachar in #230 - feat: formats google pydoc style for mkdocstring by @yozachar in #229
- maint: refresh
btc_address
module by @yozachar in #228 - maint: improve type annotations by @yozachar in #227
- maint: improves
between
andlength
modules by @yozachar in #225 - maint: follows google's python style guide for docstrings by @yozachar in #224
- feat: type hints in utils.py, gh-actions by @yozachar in #223
- feat: add pyproject.toml, README.md, upd gitignore by @yozachar in #221
- remove Travis CI settings by @ktdreyer in #196
Full Changelog: 0.20.0...0.21.0
- 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)
- Dropped py34 support
- Improve IPv6 validation (#201, pull request courtesy of SimonIT)
- 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)
- Made uuid validator accept UUID objects (#174, pull request courtesy of Letsch22)
- Added bitcoin address validator (#166, pull request courtesy of daveusa31)
- Fixed python_requires using twine
- 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 support for emojis and more IDNA URLs (#161, pull request courtesy of automationator)
- Added bank card validators (#157, pull request courtesy of TimonPeng)
- 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
- Made domain validation case-insensitive (#136, pull request courtesy ehmkah)
- 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)
- Added new validators
ipv4_cidr
,ipv6_cidr
(#117, pull request courtesy woodruffw)
- Added new validator:
es_doi
,es_nif
,es_cif
,es_nie
(#121, pull request courtesy kingbuzzman)
- Fixed domain validator for single character domains (#118, pull request courtesy kingbuzzman)
- Fixed py37 support (#113, pull request courtesy agiletechnologist)
- Use inspect.getfullargspec() in py3 (#110, pull request courtesy riconnon)
- Added
allow_temporal_ssn
parameter to fi_ssn validator (#97, pull request courtesy quantus) - Remove py33 support
- 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 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)
- Added hash validators for md5, sha1, sha224, sha256 and sha512
- Made ipv6 validator support IPv4-mapped IPv6 addresses
- Fixed URL validator for URLs containing localhost (#51, pull request courtesy vladimirdotk)
- Fixed URL validator for urls with query parameters but without path (#44, pull request courtesy zjjw)
- Fixed pyp2rpm build problem (#37, pull request courtesy BOPOHA)
- Fixed public url validation (#29)
- Made URL validator case insensitive (#27)
- Drop Python 2.6 support
- Added
public
parameter to url validator (#26, pull request courtesy Iconceicao)
- Fixed various URL validation issues
- 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)
- Added support for internationalized domain names (IDN) in
domain
validator
- Added new validator:
domain
- Added flake8 and isort checks in travis config
- Added new validator:
iban
- Fixed errors in code examples.
- Fixed
TypeError
when usingbetween
validator withdatetime
objects like in the code example. - 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 worked likefalsy
.
- Added new validator:
slug
- Renamed
finnish_business_id
tofi_business_id
- Added new validator:
fi_ssn
- Added new validator:
finnish_business_id
number_range
->between
- Various new validators:
ipv4
,ipv6
,length
,number_range
,mac_address
,url
,uuid
- Initial public release