Breaking
- Drops support for Python
v3.8.
Features
- Validator russian individual tax number by @TheDrunkenBear in #408
- feat: allow custom URL scheme validation by @e3krisztian in #409
- Refactor API: remove print from
ru_inn, update description, and expose via__init__by @TheDrunkenBear in #419 - Add Mir card validation support by @TheDrunkenBear in #420
Maintenance
- Update README.md by @mattseymour in #400
- fix(domain): accept .onion as a valid TLD by @davidt99 in #402
- fix(url): add hashtag to allowed fragment characters by @davidt99 in #405
- chore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by @dependabot in #414
- Fix email regex issue 140 by @cwisdo in #411
- fix(uri): replace
lstrip("mailto:")with manual prefix removal by @max-moser in #418 - running
doctestfailes by @d-chris in #417 - Fix: Allow Special DOI Cases Used in Public Administration Tests by @MaurizioPilia in #415
- chore: formatting; sync dependencies by @yozachar in #422
- chore: prepare for new release by @yozachar in #424
- chore: updates changelog by @yozachar in #425
Full Changelog: 0.34.0...0.35.0
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
bscaddresses 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
sha384hash 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
base16andbase32encodings 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.txtis insdistandbdistby @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
domainvalidator 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_codemodule tocountrymodule by @yozachar in #357
Features
- feat: adds indian aadhar and pan validator by @yozachar in #358
- feat: adds
financevalidator by @yozachar in #359 - feat: adds
consider_tldparameter todomain,hostnameandurlmodules 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
base58andbase64intoencodingby @yozachar in #354
Features
- feat: lays foundation for URI validation by @yozachar in #353
- feat: adds
privateparameter toip_address,hostname&urlby @yozachar in #356
Maintenance
- patch: adds
encodingtests 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
base58andbase64validators by @yozachar in #351
Maintenance
- fix: regex ignore-case uses only
a-zby @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
cronvalidator by @yozachar in #348
Maintenance
- maint: adds quick start docs by @yozachar in #344
- fix:
domainvalidation 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&urlmodules 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&mddocument 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&lengthvalidators 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
betweenmodule 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.ipv4andvalidators.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
ValidationFailureis renamed toValidationErrorinyozachar@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/activatebefore 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
maxandmin, has been renamed tomax_valandmin_valrespectively. domainAPI now accepts two new keyword-only arguments:rfc_1034: bool = Falseandrfc_2782: bool = False.extremes.pyrenamed to_extremes.pyand is no longer exposed.truthywas discarded in favour of simplebool()function.ipv4_cidr()andipv6_cidr()has been dropped in favour ofcidr: bool = Trueandcidr: bool = Truekeyword-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 = Falseandrfc_2782: bool = False.
whitelist=Nonehas 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 = Falseandrfc_2782: bool = False.
public=Falsekeyword argument has been removed fromurl().- Exposes
i18nfunctions directly via__init__.py. @validatordecorator catchesException.
<!-* please don't shoot me -->
Features
- Adds
hostnamevalidator.
Maintenance
- feat: add build for pypi workflow by @yozachar in #255
- feat: @validator now catches
Exceptionby @yozachar in #254 - maint: improves
i18npackage 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
.rstto.mdby @yozachar in #246 - maint: improves
urlmodule by @yozachar in #245 - maint: improve
domain,email&hostnameby @yozachar in #244 - maint: simplified
hostnamemodule by @yozachar in #242 - maint: update
emailmodule by @yozachar in #241 - feat: adds
hostnamevalidator by @yozachar in #240 - maint: improves
ip_addressmodule by @yozachar in #239 - fix: misc fixes, use bandit by @yozachar in #238
- Create SECURITY.md by @yozachar in #237
- maint: improves
mac_address,sluganduuidby @yozachar in #236 - maint: improve
hashesandibanmodules by @yozachar in #235 - feat: auto docs using mkdocstrings by @yozachar in #234
- maint: improves
emailmodule by @yozachar in #233 - maint: minor improvements by @yozachar in #232
- maint: improves
domainmodule by @yozachar in #231 - maint: reformats
cardmodule, fix typo by @yozachar in #230 - feat: formats google pydoc style for mkdocstring by @yozachar in #229
- maint: refresh
btc_addressmodule by @yozachar in #228 - maint: improve type annotations by @yozachar in #227
- maint: improves
betweenandlengthmodules 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_ssnparameter 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
publicparameter 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
domainvalidator
- Added new validator:
domain - Added flake8 and isort checks in travis config
- Added new validator:
iban
- Fixed errors in code examples.
- Fixed
TypeErrorwhen usingbetweenvalidator withdatetimeobjects like in the code example. - Changed validators to always return
Trueinstead of a truthy object when the validation succeeds. - Fixed
truthyvalidator to work like it's name suggests. Previously it worked likefalsy.
- Added new validator:
slug
- Renamed
finnish_business_idtofi_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