Skip to content

Releases: funilrys/PyFunceble

Blue Duckling: Tulip

22 Sep 16:22
438663d
Compare
Choose a tag to compare

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 the PYFUNCEBLE_STANDALONE_CI environment variable.

    When active, operators, can define:

    1. A maximal execution time, through the
      cli_testing.ci.max_exec_minutes configuration key - or its CLI
      conterpart.

    2. (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 and iana-pyfunceble CLI commands are now ONLY available to the developers who are installing with the PYFUNCEBLE_DEVTOOLS and PYFUNCEBLE_HELPTOOLS environment variables set to True. (#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!


Full Changelog: 4.2.0...v4.2.27

Blue Duckling: Ixora

29 May 10:09
ca79254
Compare
Choose a tag to compare

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!

Blue Duckling: Dahlia

20 Nov 11:49
3c8f620
Compare
Choose a tag to compare

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

@funilrys

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

Blue Duckling: Geranium

04 Oct 19:48
f422cda
Compare
Choose a tag to compare

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

@funilrys

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

Blue Duckling: Ixora

12 Mar 11:35
8c69af0
Compare
Choose a tag to compare

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

@funilrys

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

Blue Duckling: Grandiflora

05 Dec 18:00
fb7eac3
Compare
Choose a tag to compare

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

v4.0.0 Blue Duckling

02 Oct 20:55
efa46bd
Compare
Choose a tag to compare

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

Teal Blauwbok: Termite

29 Jan 00:17
ed6395e
Compare
Choose a tag to compare

🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟 🎉 🌟

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!

Teal Blauwbok: Gander

13 Sep 12:30
166d2de
Compare
Choose a tag to compare

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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!

Teal Blauwbok: Tick

13 Sep 10:26
2703cb2
Compare
Choose a tag to compare

🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟

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.