Green Galago
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
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 on Twitter 😄!
I wish you all the best!
🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟🎉 🌟
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 replacePYFUNCEBLE_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
ifexample.org
is given and vice-versa.
- Complements are for example
- 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.
- If you need to test such IPs please use the
- 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
- Mitchell Krog - @mitchellkrogza
- ZeroDot1 - @ZeroDot1