Commit graph

90 commits

Author SHA1 Message Date
adam
c2a4db229a py-lexicon: updated to 3.15.0
3.15.0

Added

Add pyotp Python dependency in Lexicon to help implementing OTP (one-time password) on providers whose API supports this kind of authentication.
Add OTP support on hover provider, with a new flag named --auth-totp-secret.
Add type marker py.typed to inform types checkers about availability of type annotations in Lexicon codebase.

Modified

Fix and modernize ReadTheDoc documentation build.
Better error management and resource cleanup when Client is used as a context manager.

Removed

Stop using cryptography in providers where only hashing is needed.
2023-10-04 12:13:58 +00:00
adam
da7fb58fba py-lexicon: updated to 3.14.1
Lexicon v3.14.1

Add back declared support to Python 3.7 for few cycles
2023-08-25 15:25:44 +00:00
adam
7c9463d35e py-lexicon: updated to 3.14.0
3.14.0 - 13/08/2023

Added

New way to invoke Lexicon as a library: lexicon.client.Client becomes a context manager. When invoked with the with keyword, it will provide an operation object that embeds the target provider fully authenticated (authenticate method called on the Provider). This operation object gives access to four methods: create_record, update_record, delete_record and list_records. These methods can be invoked instead of the old execute method to execute a specific action on the DNS zone. In this case, type, name, content fields do not need to be set in the config anymore, since they are passed directly as arguments to the new methods. Upon context manager closing, the cleanup method defined in the Provider is ensured to be called. See the README file of the project for an example of how to use this new approach.
Python warnings are emitted from the code to alert about the deprecations listed below.

Modified

Former NAMESERVER_DOMAIN variable and provider_parser function that had to be defined in each provider module are respectively migrated to get_nameservers and configure_parser static methods in each Provider class. They are defined as abstract in the interface and must be implemented in the concrete classes.
Former private methods _create_record, _modify_record, _delete_record and _list_records are migrated to their public counterpart create_record, modify_record, delete_record and list_records in each Provider class. These are the new abstract methods for each action that need to be implemented.
Method lexicon.client.Client.execute is deprecated and will be removed in Lexicon 4.
Package lexicon.providers, containing the actual provider implementations, is migrated to lexicon._private.providers. The provider implementations are not supposed to be used directly, please use lexicon.client.Client instead with the new methods described above. Package lexicon.providers stubs to lexicon._private.providers to ease the migration path, but it is deprecated and will be removed in Lexicon 4.
Module lexicon.providers.base, that contains the Provider interface to implement, is migrated to module lexicon.interfaces. Module lexicon.providers.base stubs to lexicon.interfaces to ease the migration path, but it is deprecated and will be removed in Lexicon 4.
Modules lexicon.cli, lexicon.parser and lexicon.discovery are migrated to the private package lexicon._private as they are not part of the public API. Old modules stubs to the new modules in the private package lexicon._private to ease the migration path, but it is deprecated and will be removed in Lexicon 4.
Update documentation, in particular the developer guide, to take into account the new architecture of the code to implement a new Provider.
Functional codebase in /lexicon folder is moved in /src/lexicon folder to comply with modern Python project layouts. Tests are migrated to /tests folder.

Removed

Drop support for Python 3.7
2023-08-13 10:36:31 +00:00
adam
5830f52540 py-lexicon: updated to 3.13.0
3.13.0 - 07/08/2023

Added

Add wedos provider

Modified

Proper handling off authentication errors on easydns provider
Allow management of pending (non-active) domains in cloudflare provider
2023-08-08 09:37:35 +00:00
adam
67103c50cb py-lexicon: updated to 3.12.0
Lexicon v3.12.0

Added

Add duckdns provider (experimental support)
Add dnsservices provider
Add flexibleengine provider
Official support for Python 3.11

Modified

Upgrade API version used for azure provider
Various fixes for documentation
Fix check for extra dependencies
2023-06-18 16:23:05 +00:00
adam
0c69511898 py-lexicon: add missing dependency on py-importlib-metadata 2023-01-15 21:15:24 +00:00
adam
a69883ac5c py-lexicon: updated to 3.11.7
3.11.7 - 26/10/2022

Modified
Fix easyname provider (update action)
2022-10-28 10:37:00 +00:00
nia
5dfa1bcb59 fighting a losing battle against py-cryptography rustification, part 2
Switch users to versioned_dependencies.mk.
2022-10-19 13:56:31 +00:00
adam
7eba9c176b py-lexicon: updated to 3.11.6
Lexicon v3.11.6
Fix hetzner provider with large list of entries
2022-10-12 07:40:42 +00:00
adam
653f9f92fe py-lexicon: updated to 3.11.5
Lexicon v3.11.5
Fix upsertRecordSet in yandex provider
2022-10-11 13:24:10 +00:00
adam
a46187c7b9 py-lexicon: updated to 3.11.4
3.11.4

Modified

Better management of domain zone id in yandex provider
Fix create record action on glesys provider
Fix create multiple TXT records for the same name in azure provider
2022-08-31 09:45:08 +00:00
adam
ff9a2788c4 py-lexicon: updated to 3.11.3
3.11.3 - 21/06/2022

Added

Add porkbun provider
2022-07-02 09:29:49 +00:00
adam
2cccdf5aee py-lexicon: updated to 3.11.2
v3.11.2
Add support of record update without an identifier in yandex provider
2022-05-18 13:21:08 +00:00
adam
1cdfd0679a py-lexicon: updated to 3.11.1
3.11.1

Modified

Improve the Oracle Cloud DNS (oci) provider on the authentication mechanism
Add API documentation to Oracle Cloud DNS
2022-05-15 19:26:51 +00:00
adam
d901d2d7ca py-lexicon: updated to 3.11.0
3.11.0

Added

Add namecom provider

Modified

Fix TLD with two parts for namecheap provider
Fix entity__name parsing in easyname provider
2022-05-09 05:46:44 +00:00
adam
e00254b061 py-lexicon: updated to 3.10.0
3.10.0

Added

Add --zone-id CLI flag for route53 provider
Add yandexcloud provider dedicated to Yandex Cloud solution

Modified

Improve documentation with auto-generation
Clarify that yandex provider supports Yandex PDD only
Use UUIDs in aliyun provider to avoid nonce collisions
2022-05-02 07:51:19 +00:00
adam
4efcaf088e py-lexicon: updated to 3.9.5
3.9.5 - 18/04/2022

Added

Add misaka provider

Modified

Fix yandex provider for MX/SRV records
Fix joker provider by using POST requests instead of GET
2022-04-26 10:36:22 +00:00
adam
e60a54c19f py-lexicon: updated to 3.9.4
3.9.4 - 14/02/2022

Added

Add webgo provider

Modified

Extend possible record types list for dreamhost provider

3.9.3 - 27/01/2022

Modified

Fix compatibility with requests>=2 in transip provider
2022-03-06 20:13:57 +00:00
adam
1fb9cf4729 py-lexicon: updated to 3.9.2
3.9.2 - 17/01/2022

Modified
Fix configuration reference

3.9.1 - 17/01/2022

Modified
Reimplement the transip provider using the new REST v6 API
2022-01-31 11:48:26 +00:00
adam
11b65da25f py-lexicon: updated to 3.9.0
3.9.0:
Drop Python 3.6 support
2022-01-10 19:46:34 +00:00
wiz
67e1f1a6bf python: egg.mk: add USE_PKG_RESOURCES flag
This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.
2022-01-05 15:40:56 +00:00
wiz
bb579283d0 *: bump PKGREVISION for egg.mk users
They now have a tool dependency on py-setuptools instead of a DEPENDS
2022-01-04 20:53:26 +00:00
adam
c1417a7ab4 py-lexicon: updated to 3.8.5
3.8.5

Modified

Complete redesign of the update and delete actions in GoDaddy provider to fix several issues


3.8.4

Added

Add the Value Domain provider

Modified

Fix issue on the GoDaddy provider for update actions
2021-12-30 17:24:12 +00:00
adam
2efc1f96c5 py-lexicon: updated to 3.8.3
3.8.3

Modified

Fix plesk provider
Update nameservers in namecheap provider
2021-11-13 09:49:42 +00:00
adam
5ddc325fc1 py-lexicon: updated to 3.8.2
3.8.2:
Fix dreamhost provider since deprecated API endpoints are removed
2021-11-04 08:18:50 +00:00
adam
1a9ea1966c py-lexicon: updated to 3.8.1
3.8.1:
Modified
Fix rackspace provider by not sending a body request for GET requests
2021-11-03 09:52:43 +00:00
nia
ab845b2028 net: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Not committed (merge conflicts...):

net/radsecproxy/distinfo

The following distfiles could not be fetched (fetched conditionally?):

./net/citrix_ica/distinfo citrix_ica-10.6.115659/en.linuxx86.tar.gz
./net/djbdns/distinfo dnscache-1.05-multiple-ip.patch
./net/djbdns/distinfo djbdns-1.05-test28.diff.xz
./net/djbdns/distinfo djbdns-1.05-ignoreip2.patch
./net/djbdns/distinfo djbdns-1.05-multiip.diff
./net/djbdns/distinfo djbdns-cachestats.patch
2021-10-26 11:05:20 +00:00
adam
fffef753e9 py-lexicon: updated to 3.8.0
3.8.0 - 04/10/2021

Modified

transip provider is deprecated and not maintained anymore, it will be replaced soon by a new transip provider build on top of the TransIP v6 REST API

Deleted

transip provider is not part of the full dns-lexicon extra, you need to install explicitly the transip extra instead

3.7.1 - 04/10/2021

Modified

Allow to use newer versions of cryptography
Fix doc about unit tests
2021-10-07 19:30:52 +00:00
nia
5c85662953 net: Remove SHA1 hashes for distfiles 2021-10-07 14:41:10 +00:00
adam
d2ac50343c py-lexicon: updated to 3.7.0
3.7.0

Added

Add the Vercel provider (formerly known as Zeit)
Add the OpenShift Cloud Infrastructure (OCI) DNS provider

Modified

Keep old Zeit provider for compatibility purpose with deprecation notices
Support multiple domain statuses for Joker provider
2021-09-15 08:20:33 +00:00
adam
375692e707 py-lexicon: updated to 3.6.1
3.6.1:

Modified

Support deprecated method_whitelist parameter in urllib3.util.retry.Retry for urllib3<1.26
Fix support of registered domains for INWX provider
Update mypy and use external types modules
2021-07-02 09:49:42 +00:00
adam
41e1e2753c py-lexicon: updated to 3.6.0
3.6.0

Added

Vendor pynamecheap project for namecheap provider
Annotate public API with types
Check mypy types during CI
Add the RFC2136 DynDNS provider (named ddns)
Use Lexicon specific exceptions in code: AuthenticationError for authentication problems

Modified

Implement the base provider as an ABC class
Improve plesk provider for wildcard domains or subdomains
Use poetry-core instead of poetry for the builds
Switch to GitHub-native Dependabot

Deleted

Remove dependency of plesk provider to xmltodict
Remove some Python 2 specific code
Remove deprecated type parameter in providers public methods
2021-05-07 18:45:04 +00:00
adam
496474879e py-lexicon: updated to 3.5.6
3.5.6

Modified

Migrate Vultr provider to the V2 API


3.5.5

Added

Add the Mythic Beasts provider
Add the Infomaniak provider
2021-04-05 16:36:17 +00:00
adam
c4ac7fcbcb py-lexicon: updated to 3.5.4
3.5.4

Changed

Support both tldextract 2.x and 3.x
Upgrade third-party dependencies
Validate PowerDNS provider parameters
Support dnspython>=2.1 for localzone provider
Update Mythic Beasts documentation
Fix documentation build and publication

Deleted

Remove mock and nose dependencies
2021-03-18 09:04:16 +00:00
adam
f4bf24e666 py-lexicon: updated to 3.5.3
3.5.3:
Handle large number of hosted zones in route53 provider
2021-01-10 20:36:48 +00:00
adam
1e4b1f8d06 py-lexicon: updated to 3.5.2
3.5.2 - 23/11/2020

Modified

Fix domains in "lock" state with joker provider

3.5.1 - 16/11/2020

Added

Add the Joker.com provider
Add environment variable TLDEXTRACT_CACHE_PATH to configure a tldextract cache custom location for Lexicon
Modified

Old environment variable TLDEXTRACT_CACHE_FILE is deprecated and will be removed in a future release

3.5.0 - 10/11/2020

Modified

Avoid installation problems with setuptools==50
Migrating codebase to Python 3.6+ specific features (Lexicon will explicitly break on older versions now)
Fix Easyname provider to work with their new website
2020-11-27 19:40:36 +00:00
adam
f9d34e2403 py-lexicon: updated to 3.4.5
3.4.5:

Added

Add pagination support to Google Cloud DNS provider
Add official support to Python 3.9
Add SSHFP record support to CloudFlare provider (library only)

Modified

Fix create/update operations when CAA records are presents in GoDaddy provider
Fix Hover provider with new authentication URL
2020-11-10 13:49:23 +00:00
adam
a0ddb42053 py-lexicon: updated to 3.4.4
3.4.4:
Modified
Fix Gandi provider to use the new LiveDNS API URL
2020-10-28 19:33:05 +00:00
adam
3eab26bfd1 py-lexicon: updated to 3.4.3
3.4.3:

Modified
Improve versions constraints by declaring latest major versions known to work with Lexicon


3.4.2:

Modified
Relax versions constraints on Lexicon dependencies until there is a real need.



3.4.1:

Added
Add the Njalla provider


3.4.0:

Added
Use poetry to manage dependencies, build and package Lexicon.
Add integration tests for Mac OS X

Changed
The beautifulsoup4 dependency has been integrated to the core ones for generic purpose. As a consequence henet, easyname and gratisdns providers do not have optional dependencies anymore.
Update Docker image to use Python 3.8, and install Lexicon with full extras.

Removed
Remove support for Python 2.7.
Remove support for Python 3.5.
Remove the extra security from requests dependency which does not make sense anymore on recent versions of Python.
2020-09-30 07:51:43 +00:00
adam
22c9eeb806 py-lexicon: updated to 3.3.28
3.3.28:

Added
Redesign of the release process using Azure Pipelines
Create a dedicated documentation on ReadTheDoc, refactor README.md into README.rst

Modified
Fix localzone provider to make it work with dnspython 2.x
Update easyname provider against the recent API changes
2020-07-27 15:02:24 +00:00
adam
49b045ecce py-lexicon: updated to 3.3.27
v3.3.27:
Fix tests
Add support for Dynu.com DNS/DDNS service
2020-07-09 07:26:32 +00:00
adam
c6c5de67d5 py-lexicon: updated to 3.3.26
v3.3.26:
More straightforward approach to configure tests suites

v3.3.25:
Allow updating gandi rrset ttl. Previously, a rrset ttl could be set only when creating a new record
Final customizations for hetzner dns api v1. The main fix is, that hetzner does not need the fqdn as record name. This leads to major errors like: record name=sub1.my-fqdn.tld --> record created with final name sub1.my-fqdn.tld.my-fqdn.tld
Delete config.yml delete circleci integration. no longer necessary.
2020-06-20 16:46:38 +00:00
adam
207a46365a py-lexicon: updated to 3.3.24
v3.3.24
Fixed create and update operations for GoDaddy if CAA records are present

v3.3.23
Add initial support for UltraDNS provider Signed-off-by
remove hetzner special handling from dehydrated.default.sh as it's not supported anymore
2020-06-08 12:18:14 +00:00
adam
085023cc3a pytest from versioned depends 2020-05-16 18:00:31 +00:00
adam
7116ac7823 py-lexicon: updated to 3.3.22
v3.3.22
Additional security to prevent unexpected DNS change
prevent merge issues
make the pylint happy
some more pylint fixes
Fix lint
Finish the new implementation
Fix lint

v3.3.21
With apologies to the linter
Update and fix tests
Fix lint

v3.3.20
Fix lint error
Adding a new hetzner provider compatible with dns.hetzner.com
2020-05-07 10:51:42 +00:00
adam
04c56c59c1 py-lexicon: updated to 3.3.19
v3.3.19
Fix linting complaints for snakecase
Correct indentation
Fix error handling for "zone not found"
line length
Add new ZoneNotFoundError exception
Correct path to vcrpy recordings in docs
Update zone used in tests, and vcrpy recordings
Update nameserver domais and API token URL
Delete records in the wrong path
2020-04-06 10:50:19 +00:00
adam
96e9fd3b91 py-lexicon: updated to 3.3.18
v3.3.18:
Changes to robst parser 'html5lib' for Hetzner The parser BeautifulSoup(dom, 'html.parser') had problems by with malformed HTML code, i.e. a second closing tag.
2020-03-22 11:15:14 +00:00
adam
692b040373 py-lexicon: updated to 3.3.17
v3.3.17:
Decode also private domains. The tldextract library ignores private domains, so domain test.us.com is wrongly extracted as subdomain=test, domain=us and suffix=com. When allowing private domains, the extraction of test.us.com looks like subdomain=, domain=test and suffix=us.com.
2020-02-13 08:36:51 +00:00
adam
3c1e5b6e49 py-lexicon: updated to 3.3.16
3.3.16
Introduce Gransy provider.
Fix Subreg.cz nameserver name.

3.3.15
Update godaddy.py

3.3.14
Adds subaction as query parameter instead of using url argument.
Addresses code style.
Removes unnecessary print statement.
Adds code author info and link to API docs.
Adds test recordings for EUserv provider.
Fixes case when identifier is None. Attempts to find the identifier with the given arguments.Adds test class for EUserv with filtering.
Adds macOS specific .DS_Store file.
Fixes determining subdomain parameter. This provider automatically appends the domain name to the subdomain. Therefore, it needs to be removed from the parameter in case the name argument contains it.
Adds support for deleting records.
Adds support for updating records.
Moves TTL and priority parameter processing to helper functions.
Adds support for creating records.
Adds logger calls and small fixes.
Adds support for listing records.
Adds retrieval of actual domain ID.
Initial version of EUserv provider with working authentication.

3.3.13
Fix auto provider handling of parameters.

3.3.12
Change uri check after login for easyname.
2020-01-11 16:17:39 +00:00
adam
eb149c28a2 py-lexicon: upadted to 3.3.11
v3.3.11:
- fixed loglevel of debug message
- add "Accept" header to request
- Rename capsule.yml to packagr.yml
- Updated linode4 provider to enforce case insensitivity
- Updated linode provider to enforce case insensitivity
2019-12-15 09:19:56 +00:00