Pyfunceble

Latest version: v4.2.28

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

2.1.0

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:

Hello, World!

Here is a quick fix of the `--local` argument (and its configurable equivalent).
Indeed before this release in some rare cases, it is possible that an `AttributeError` might be raised.

For more accuracy, I renamed the source `IANA` to `Syntax`. That's it for this new release!

Let me know what you think or how you use PyFunceble with [PyFunceble](https://twitter.com/hashtag/pyfunceble) on Twitter :smile:!

I wish you all the best!

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:

What was fixed?

- An `AttributeError` which appear in some rare cases while using the `--local` argument.

What was improved?

- The accuracy of the source for `INVALID` output. It is not `IANA` but `SYNTAX`.

What is coming?

- Fix of reported issues.
- Review of the tests.

2.0.0

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:

Hello, World!

I'm glad to announce this new major version of PyFunceble!

Many of you _(if not everybody)_ wrote, talked and/or mentioned that PyFunceble is a great idea but it takes some times if not days to test lists.
Let me invite you to review your input with this new version which offers the usage of multiprocessing (as an option) while testing for files.

This new version includes many improvements, review and sometimes complete rewrite of most (if not all) subsystems. As we are all human, I strongly invite you to report any issue which you might meet or get with this new version. A lot of things have been taken into consideration to minimize issue but I'm and you should still stay aware that even if we are stable enough, bugs can emerge from nowhere.

Let me know what you think or how you use PyFunceble with [PyFunceble](https://twitter.com/hashtag/pyfunceble) on Twitter :smile:!

I wish you all the best!

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:

What was fixed?

- The generation of the `percentage.txt` file which did not work when the quiet/silent mode was in use.
- The Git command output which was not showing up while using PyFunceble under Travis CI.

What was improved?

- The project structure.
- The documentation structure.
- The documentation.
- The way we do a DNS Lookup.
- The way we determine, manage and return the status of a subject.
- The way we imported some entities.
- The way we share states and information across classes/subsystems.
- The way we generate/update `iana-domains-db.json`
- The Python API (Mostly backend).
- The way we load the configuration file.
- The way we clean what needs to be cleaned.
- The way we clean everything we generated.
- The way we handle some exceptions.
- The way the databases/class/subsystems are structured.
- The inactive database subsystem.
- The whois database subsystem.
- The auto-continue subsystem.
- The default user-agent.
- `iana-domains-db.json`.
- `public-suffix.json`.
- The CLI dispatcher.

What is new?

- The support of some custom DNS Server for DNS Lookup.
- The environment variable `PYFUNCEBLE_CONFIG_DIR` which will replace `PYFUNCEBLE_OUTPUT_DIR` in the future.
- The support of dotenv files for environment variable declaration.
- The possibility to make a DNS lookup through our Python API.
- The possibility to make a WHOIS lookup through our Python API.
- The support of Python 3.7.3.
- The usage of Codacy code review.
- The test of a file using multiprocessing (optional).
- Logs sharing is now disabled by default.
- The possibility to generate and fill a normal `output/` directory structure from the API.
- The possibility to use a different database type: SQLite, MySQL, MariaDB ou JSON.
- The possibility to test complements.
- Complements are for example `www.example.org` if `example.org` is given and vice-versa.
- We now ignore the well-known list of reserved IPv4 address.
- If you need to test such IPs please use the `--local` argument from the CLI or its configuration equivalent.
- A safety check if a domain is syntactical `INVALID`.
- Indeed, we try to resolve to confirm it's invalidity.
- The percentage which shows up (if needed) in simple mode.
- The version number is now appended into all generated files.
- The execution time (when needed) is now appended to `percentage.txt`.
- The support of explicit port while testing for URL.
- The possibility to know the status of subject indexed into the inactive database.
- The separation of API, CLI Simple, CLI File, CLI Multiprocessing in the code for more clarity.

What is coming?

- Fix of reported issues.
- Review of the tests.

---

Contributors

Thanks to those awesome people who contributed to this release!

- Daniel - [dnmTX](https://github.com/dnmTX)
- Mitchell Krog - [mitchellkrogza](https://github.com/mitchellkrogza)
- ZeroDot1 - [ZeroDot1](https://github.com/ZeroDot1)

1.17.1

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:
Hello, World!

This release provides a minor but still important fix of the auto continue subsystem. Indeed, thanks to [dnmTX](https://github.com/dnmTX), I was able to find out that the auto continue subsystem was working wrongly. In fact, I was first filtering the whole list before trying to get the part we are going to test. Now I get the part we are going to test then process the filtering of all elements which are into the different databases.


Otherwise, because it was asked to me privately, we now write stdout with the output of the `git push` command when under Travis CI.

Finally, dear Arch Linux (and derivated) users, please note that from now, the package name changed. Indeed, it is now `pyfunceble` for the stable version and `pyfunceble-dev` for the development version.

I wish you all the best!

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:

---

What was fixed?

- The autocontinue subsystem.

What was deleted or moved somewhere else?

- The counter indexes from the configuration file are now internal.

What was improved?

- The way we initiate the autosave subsystem.
- Indeed, we now ensure that the directory structure has been built before initiating this subsystem.

What is coming?

- Addition of features proposed by individuals or organizations via GitHub issue, GitHub comments, email, [Keybase (Personal)](https://keybase.io/funilrys) or [Keybase (PyFunceble Chat)](https://keybase.io/team/pyfunceble).
- Fix of reported issues.
- Improvement of the actual features.
- Review of the tests.

---

Contributors

Thanks to those awesome people who contributed to this release!

- dnmTX - [dnmTX](https://github.com/dnmTX)

1.15.1

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:
Hello, World!

This release provides some minor fixes and reviews. Indeed, thanks to profiling I was able to reduce some internal noise by disabling submodules which were loaded and not needed.

Otherwise, I also provide a fix of the expiration date extraction for `.com.pl` and every whois server which provides the format: `expiration date: 2019.03.07 00:09:28` for the expiration date.

Because, `yaml.load()` is now deprecated ([cf](https://msg.pyyaml.org/load)), this patch fix the deprecation warning by using the `yaml.safe_load()` instead.

An update of the `public-suffix.json` is also in the box!

I wish you all the best!

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:

---

What was fixed?

- An issue regarding the `auto_continue` submodule which was trying to generate some files even if it was not requested by the end-user.
- An issue regarding the extraction of the expiration date for `.com.pl` domains and others who may have the same format.

What was improved?

- The way we initiate several submodules.
- The way we do avoid calling submodules which were not needed.
- The way we catch if a domain is a subdomain.
- The way we load the configuration file.
- The way we handle - as an imported module - an empty or `None` input.
- The `public-suffix.json` file.

What is coming?

- Addition of features proposed by individuals or organizations via GitHub issue, GitHub comments, email, [Keybase (Personal)](https://keybase.io/funilrys) or [Keybase (PyFunceble Chat)](https://keybase.io/team/pyfunceble).
- Fix of reported issues.
- Improvement of the actual features.
- Review of the tests.

---

Contributors

Thanks to those awesome people who contributed to this release!

- hawkeye116477 - [hawkeye116477](https://github.com/hawkeye116477)

1.14.0

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:
Hello, World!

This release mainly provides a unification of the way we get, present and work with the Status getters/setters. Indeed, since the last release was about the [`SPECIAL`](https://pyfunceble.readthedocs.io/en/latest/columns.html#special) rules. I decided to make it clear in the code. In fact, before this releases the SPECIAL rules where set inside `PyFunceble.generate` - on the fly - when any other rules/status was set inside `PyFunceble.status.Status()`. From now, everything regarding the status management is done from `PyFunceble.status`.

Otherwise, 3 new indexes are now available for more clarity when testing in complete mode - as an imported module.

The other part of this release is about some little fixes and improvements that I present like usually, as part of the release note.

I wish you all the best!

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:


What was fixed?

- A minor issue regarding the execution time.
- Indeed, the execution time - when requested - was printed twice when testing for file content.
- An issue regarding the non-generation of logs files when we are used as an imported module.
- Indeed, we DO NOT generate any files when we are used as an imported module. But unfortunately, I forgot to set that rule at one tiny place in the code. Sorry for the noise it may have caused.

What was improved?

- The way we manage, set, get and return the status of tested domains.
- Indeed it's now all about clarity in that code section.
- The way we execute a command given by the end-user through the configuration indexes `command_before_end` and `command`.
- The documentation.
- The way we call or initiate a submodule/class in order to avoid the continuous re- call/initiate of submodule/class while iterating over the list to test.

What is new?

- 3 indexes which are returned when the complete mode - as an imported module - is activated.
- The 3 new indexes are `source`, `_status`, `_status_source`. They are [already documented](https://pyfunceble.readthedocs.io/en/latest/usage.html#advanced-example).
- The CI tests under Python 3.7.2.

What is coming?

- Addition of features proposed by individuals or organizations via GitHub issue, GitHub comments, email, [Keybase (Personal)](https://keybase.io/funilrys) or [Keybase (PyFunceble Chat)](https://keybase.io/team/pyfunceble).
- Fix of reported issues.
- Improvement of the actual features.
- Review of the tests.

1.10.1

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:
Hello, World!

This release provides an improvement of the Windows support along with some minor improvements in the source code.

The default user-agent and the documentation have also been updated.

As I got some feedbacks about the [`SPECIAL`](https://pyfunceble.readthedocs.io/en/latest/columns.html#special) rules, I introduced a switch to disable them.

I wish you all the best!

:tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2::tada: :star2:


What was fixed?

- A minor issue while testing element which looks like `..`.
- The Windows support.

What was improved?

- The Windows PowerShell support.
- The column documentation page.
- The source code in order to avoid `map()` and `filter()` when possible.
- The default user-agent

What is new?

- Support of Cygwin
- (option) Deactivation of the SPECIAL rules.


What is coming?

- Addition of features proposed by individuals or organizations via GitHub issue, GitHub comments, email, [Keybase (Personal)](https://keybase.io/funilrys) or [Keybase (PyFunceble Chat)](https://keybase.io/team/pyfunceble).
- Fix of reported issues.
- Improvement of the actual features.
- Review of the tests.

---

Contributors

Thanks to those awesome people who contributed to this release!

- dnmTX - [dnmTX](https://github.com/dnmTX)
- Imre Kristoffer Eilertsen - [DandelionSprout](https://github.com/DandelionSprout)

Page 4 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.