Releases: funilrys/PyFunceble
Blue Duckling: Tulip
What has been fixed ?
For End-Users
- We mitigated some downstream vulnerabilities by changing our requirements.
- When testing domains, you may have encoutered unstable results when testing agains the HTTP status code. This has been fixed. (#358)
- We are now showing the
Registrar
column only if the option is activated. (#369)
For Developers
- Since the release of Python 3.12, we are now using timezone-aware datetime objects.
What has been improved?
For End-Users
- The handling of
INVALID
subjects has been improved. (#333) - The handling of database disconnects has been improved. (#346)
- The
000webhostapp.com
SPECIAL rulesets. (#359) - When using the CI features, you can now use the following flags to skip tests:
[skip ci]
[ci skip]
[no ci]
[pyfunceble skip]
[pyfunceble-skip]
[skip-pyfunceble]
[skip pyfunceble]
For Developers
- The documentation and all RST formatted files have been switched to Markdown.
- The user-agent query system has been improved to allow us a weekly update of the user-agent list.
- The checkers can now have access to the WHOIS data from the locally stored database - if needed.
What has been removed?
For End-Users
nothing.
For Developers
nothing.
For Beta Testers
- The legacy collection API has been removed. You should contact @funilrys for more information.
What is new?
For End-Users
-
The support of Python 3.12.
-
The documentation can now be found at docs.pyfunceble.com.
-
It is now possible to use the CI features without any git integration.
A standalone CI engine without any git related commands and integration has been implemented.
It can be activated by setting thePYFUNCEBLE_STANDALONE_CI
environment variable.When active, operators, can define:
-
A maximal execution time, through the
cli_testing.ci.max_exec_minutes
configuration key - or its CLI
conterpart. -
(shell) Commands to execute at the end, through the
cli_testing.ci.end_command
configuration key - or its CLI
counterpart.
-
-
The IPv6 private ranges has been changed by the Python Core Team. We are now using the new ranges.
-
You can now bypass the CI bypass flags by use the
PYFUNCEBLE_BYPASS_BYPASS
environment variable. -
The
.zz.com.ua
SPECIAL rulesets. (#344) -
The
.web.app
SPECIAL rulesets. (#345) -
The
.myhuaweicloudz.com
SPECIAL rulesets. (#345) -
The
.glitchz.me
SPECIAL rulesets. (#345) -
The
s3.ap-south-1.amazonaws.com
SPECIAL rulesets. (#345) -
The
.sz.id
SPECIAL rulesets. (#345) -
The
u.pcloud.com
SPECIAL rulesets. (#345) -
The
.translate.goog
SPECIAL rulesets. (#345)
For Developers
- The
production-pyfunceble
,public-suffix-pyfunceble
andiana-pyfunceble
CLI commands are now ONLY available to the developers who are installing with thePYFUNCEBLE_DEVTOOLS
andPYFUNCEBLE_HELPTOOLS
environment variables set toTrue
. (#328)
For Beta Testers
- We are testing a new platform. You should contact @funilrys for more information.
Contributors
Thanks to those awesome people who contributed to this release!
- Josenilson Ferreira da SIlva - @Nilsonfsilva
- spirillen - @spirillen
Full Changelog: 4.2.0...v4.2.27
Blue Duckling: Ixora
What has been fixed ?
-
We mitigated some cryptography vulnerabilities (CVE-2023-0286 & CVE-2023-23931) my changing the minimun required version.
-
A fatal error when no nameservers are configured by the hosting system. The default DNS Servers (when none are defined at OS/Configuration level) are now the Quad9 unsecured one. (#328)
-
The
git.io
service is not deprecated. All URLs were Updated. (#341)
What has been improved?
For End-Users
-
The weebly.com SPECIAL rulesets. We now take down subdomains, that returns the 406 status code.
-
The wordpress.com SPECIAL rulesets. (#321)
For Developers
- We now support SQLAlchemy v2.x+.
- All SPECIAL rule handlers now share a set of methods to allow us to unify to way we go through our SPECIAL rulesets.
- All converters can now be used without initialization of the subject. Just use the
convert
method, and you are good to go!
What has been removed?
- The support of any Python version lower that 3.8 (
<=3.7
).
What is new?
For End-Users
-
The support of Python 3.11.
-
The support of PostgreSQL.
-
The "subject-switch" SPECIAL rulesets. (#185)
-
The "changeip" SPECIAL rulesets. (#311)
-
The imgur.com SPECIAL rulesets. (#319)
-
The eToxic SPECIAL rulesets. (#334)
-
An
ips
output subdirectory has been added. IPs are now "first-class citizens" among the plain text output format-s. (#268)
For Developers
- Testing with
pytest
now works out of the box. (#328)
Contributors
Thanks to those awesome people who contributed to this release!
- Josenilson Ferreira da SIlva - @Nilsonfsilva | @Nilsonfsilva
- smed79 - @smed79 | @smed79
- spirilln - @spirillen | @spirillen
- T145 - @T145 | @T145
Blue Duckling: Dahlia
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
Hello, World!
This is a maintenance release that provides some minor fixes regarding the handling of
several fatal errors.
Let the world know what you think or how you use PyFunceble with #PyFunceble or @PyFunceble on Twitter 😄!
I wish you all the best!
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
What was fixed ?
- A fatal error when an invalid YAML file is provided as a configuration file.
- A fatal error when a timeout is set to
0
. - The requirements file for Windows users.
What was improved?
- The handling of errors produced by 2 of our dependencies.
- The handling of errors when using proxies.
What is new?
- The CLI help message now provide some basic examples.
- The CLI help message now provide some basic explanation about the argument "switch" mechanism.
Contributors
Thanks to those awesome people who contributed to this release!
- BigDargon - @bigdargon
- Imre Kristoffer Eilertsen - @DandelionSprout
- smed79 - @smed79
- spirillen - @spirillen
- T145 - @T145
Blue Duckling: Geranium
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
Hello, World!
This is maintenance release that provides some minor fixes regarding the handling of
non-UTF-8 characters and subjects without extensions (in some rare cases)
Let the world know what you think or how you use PyFunceble with #PyFunceble or @PyFunceble on Twitter 😄!
I wish you all the best!
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
What was fixed ?
- A fatal error when (in some rare cases) a subject without extension get through the requests handler.
- Issues regarding the handling of non UTF-8 characters.
Contributors
Thanks to those awesome people who contributed to this release!
- avatartw - @avatartw
- BigDargon - @bigdargon
- spirillen - @spirillen
Blue Duckling: Ixora
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
Hello, World!
This is a new release that provides a lot of new features, bug fixes and improvement.
In this release, the dr.ag
and altervista.org
domains will be checked against our set of SPECIAL rules. The syntax checker of PyFunceble was always following RFCs, but with this new release, it also accept some of the uncommon practices that can be found in the wild.
This release also bring registrar information among the provided datasets. Whether you use the Python API or the CLI, you can now read a registrar
key or Registrar
column that indicates where the domain is registrated. If you choose to actively use that feature, a TOP 10 list of registrar will be displayed at the end of your test sesssion.
Among other changes and new feature, the most important one may be the ability to instruct PyFunceble to use a global proxy or a specific one based on some set of rules that you can define within your configuration file. From now on, through this feature it is possible to test .onion
alongside your normal test workflow - as example. You only have to instruct PyFunceble of the proxy it has to use and it will follow your order.
Let us know what you think or how you use PyFunceble with #PyFunceble or @PyFunceble on Twitter 😄!
I wish you all the best!
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
What was fixed ?
- A fatal error when a DNS name longer than 255 octets is given.
- The test of URL with scheme and port are no longer considered
INVALID
. - All generated CSV file will be encoded in UTF-8.
- The version of
python-box
.
What was improved?
- The syntax checker used to only follow RFCs. It now tries to accept and implement real world practices.
- The handling of IPv6 format when we give an IPv6 as DNS server.
- The WHOIS record decoded is now case insensitive. This will allow us to catch more that we use to.
- The check agians the autocontinue and inactive dataset is now done only when they are activated by the user.
- Our "self-healing" process that tries to avoid false-positive response.
- The deployment of AUR packages is now safer and quicker.
- The documentation.
What is new?
- The ability to use proxies when testing subjects.
- The ability to define proxy rulesets.
- The ability to get/read the domain registrar.
- The ability to get the TOP10 registrar - at the end of a test session.
- The
--max-http-retries
argument. - The
--*-lookup-only
arguments. - The
--chancy
argument. (WARNING: Use at your own risk.) - A URL test will check the status against the DNS server - first.
- The
dr.ag
SPECIAL rule. - The
altervista.org
SPECIAL rule. - A workaround against Y2K38 - until database vendors handle the problem.
- A way to automate CLI demos.
Contributors
Thanks to those awesome people who contributed to this release!
- avatartw - @avatartw
- Chris Griffith - @cdgriffith
- Mitchell Krog - @mitchellkrogza
- Fanboynz - @ryanbr
- spirillen - @spirillen
- Haris Gušić - @veracioux
Blue Duckling: Grandiflora
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
Hello, World!
This is a new release that does some housekeeping and adds a new SPECIAL rule.
In this release, the fc2.com
domain will be checked against our set of SPECIAL rules, the ascii
encoding is better handled and some minor issue were fixed.
Let us know what you think or how you use PyFunceble with #PyFunceble or @PyFunceble on Twitter 😄!
I wish you all the best!
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
What was fixed ?
- A configuration upgrade issue.
- A DNS Resolver issue when null is decoded in incorrect URL.
What was improved?
- The handling of the
ascii
encoding - around the CLI.
What is new?
- The
fc2.com
SPECIAL rule.
Contributors
Thanks to those awesome people who contributed to this release!
- Imre Kristoffer Eilertsen - @DandelionSprout
- Mitchell Krog - @mitchellkrogza
- spirillen - @spirillen
- T145 - @T145
- ZeroDot1 - @ZeroDot1
v4.0.0 Blue Duckling
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
Hello, World!
I'm glad to announce this new major version of PyFunceble!
It took us some time, it it's time to release this new stable version.
This version provides a reinforcement of the Python module, deeper control of
the internals, and a rewrite of the internal data workflow.
The idea of this major version was mainly to reinforce the Python module to
make it usable "Out-Of-The-Box", but it went beyond my expectation with deeper
reviews, rewrite and discussion thanks to some people who chose to help by
using and giving feedback of what was one of the longest development period yet.
Therefore: Thank you to those who tested and contributed this new major
version from PyFunceble-dev 4.0.0a1
up to 4.0.0b67
!
This version is the continuation of the adventure with some new features and
ideas.
A lot has been done, so you may have to discover by yourself through doing or
testing. But the most important changes are the support and expansion of CIDR
blocks, the ability to perform DNS over several protocols (UDP, TCP, HTTPS, TLS)
and the ability to safely configure PyFunceble over time through a new
configuration file called .PyFunceble.overwrite.yaml
that will never be
updated by PyFunceble.
If you meet any new issue or behavior, you are invited to submit a new issue or
open a new discussion to seek help or assistance.
Let us know what you think or how you use PyFunceble with
#PyFunceble or
@PyFunceble on Twitter 😄!
I wish you all the best!
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
What was improved?
- The project structure.
- The source code.
- The documentation.
What is new?
- The ability to disable each of the internal test methods.
- The deletion of the "single" and "multiprocessing" modes.
- The ability to decode and test a whole IPv4 CIDR block.
- The ability to keep a safe and clean configuration file.
- ... and a lot more to discover!
Migration from 3.x
The migration to 4.x is normally done automatically through the configuration
checker - once you installed the new version.
A dataset migration will be triggered automatically. The migration may take
some time. Be ready to make a backup, cleanup your PyFunceble datasets or wait a
few minutes/hours.
In some rare cases, you may have to:
- delete your configuration file first.
- manually backup your local database tables and/or files.
- delete your local database tables and/or files.
Contributors
Thanks to those awesome people who contributed to this release!
- Imre Kristoffer Eilertsen - @DandelionSprout
- keczuppp - @keczuppp
- Mitchell Krog - @mitchellkrogza
- spirillen - @spirillen
- Yuki2718 - @Yuki2718
- Zachinquarantine - @Zachinquarantine
- ZeroDot1 - @ZeroDot1
Teal Blauwbok: Termite
🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟
Hello, World!
I hope that everything is going right for you and your loved one.
This release just provides some little fixes and improvements to the 3.3 version of PyFunceble.
It also announces the soon to be EOL of PyFunceble 3.x
. Please find more about about the EOL here.
Let us know what you think or how you use PyFunceble with #PyFunceble or @PyFunceble on Twitter 😄!
I wish you all the best.
Stay safe and healthy!
🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟
What is new?
- The EOL information and section in the documentation.
- The link to EOL information in the README.
- The usage of GitHub Action for the deployment to the PyPI and Docker Hub.
- The 2021 year in the LICENSE.
What was fixed?
-An issue regarding unhandled error while using multiple processes.
- The
python-box
requirement declaration. - The
dnspython
requirement declaration. - An issue regarding the missing configuration location when the platform could not be determined.
- The startup issue since the release of PyFunceble
4.0.0a1
.
What was improved?
- The known issues section of the documentation.
- The RPZ and wildcard decoding.
- The way we send a transaction to the database.
- The way we handle errors when something was already delete from the database.
- The way we handle the auto continue under one of the supported CI engine.
- The way we handle the version comparison (backport).
Contributors
Thanks to those awesome people who contributed to this release!
- Avinash Reddy - @AvinashReddy3108
- Imre Kristoffer Eilertsen - @DandelionSprout
- spirillen - @spirillen
Teal Blauwbok: Gander
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
Hello, World!
I hope that everything is going right for you and your loved one.
This release just provides a 🔥 fix of an issue regarding the migration from the old into the new layout.
Let us know what you think or how you use PyFunceble with #PyFunceble or @PyFunceble on Twitter 😄!
I wish you all the best.
Stay safe and healthy!
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
What was fixed?
- An issue regarding the migration of the automatic migration from the old into the new layout.
What was improved?
- The deployment of the stable version. We now reduce the deployment time by skipping a not necessary job.
What is coming ?
- Fix of reported issues.
- Improvement of the documentation (help welcome!).
- Introduction of possible and interesting features.
Contributors
Thanks to those awesome people who contributed to this release!
- spirillen - @spirillen
Teal Blauwbok: Tick
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
Hello, World!
I hope that everything is going right for you and your loved one.
This release just provides some code maintenance along with a little improvement of the way we use SQLAlchemy during migration from old to the new layout.
Let us know what you think or how you use PyFunceble with #PyFunceble or @PyFunceble on Twitter 😄!
I wish you all the best.
Stay safe and healthy!
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
What was fixed?
- Warnings from dnspython.
- Warnings from domain2idna.
What was improved?
- The way we detect if the currently running package is the
dev
one. - The tests which relate to the syntax check.
- The tests which relate to the DNS resolver.
- The way we get the latest user agent.
- The presence of SQLAlchemy during migration from the old to the new layout.
What is new?
- A sanity check argument into
PyFunceble.load_config
for those who use the API.
What is coming?
- Fix of reported issues.
- Improvement of the documentation (help welcome!).
- Introduction of possible and interesting features.