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
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
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.
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.
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.
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
v3.3.8:
Fix lint
Move test_hostingde provider in the correct place
v3.3.7:
add RcodeZero (https://www.rcodezero.at) provider
v3.3.6:
Bug fixed: failure if "Forward" Record
v3.3.5:
Updated Link For Constellix API and Added Link for v2 of DNSSimple API
v3.3.4:
Update code
Fix lint
Keep a python 2 compatible pytest version
Disable false positive
reuse _clean_TXT_record , remove uneeded overwrite
lint: Trailing whitespace removed
v3.3.3:
Add endpoint argument to specify DirectAdmin endpoint
Implement _authenticate to verify DirectAdmin credentials
Add logger for DirectAdmin provider
Implement _list_records for DirectAdmin provider
Implement _create_record for DirectAdmin provider
Implement _delete_record for DirectAdmin provider
Implement _update_record for DirectAdmin provider
Allow arbitrary non-JSON endpoints to be queried
Verify validity/ownership of domain during _authenticate
Add empty module levelNAMESERVER_DOMAINS to pass tests
As DirectAdmin is not tied to a specific host, it's impossible to
provide a more specific value.
Return FQDN from _list_records
Add default TTL value in _list_records response
Always use FQDN as name filter in _list_records
Return id in parsed record response from _list_records
This id is a combination of the record's name and value used in the
deletion process by DirectAdmin.
Implement identifier-based deletion and updates
Failure success keys should be strings for return value calculation
Handle unknown rtypes in _delete_record
Use warnings module to provide feedback in _list_records
Check for existing records in _create_record
Warn if record cannot be found in _update_record
Add integration tests
Add CODEOWNERS entry for DirectAdmin Provider
Move DirectAdmin to supported providers in README
Fix whitespace linting errors
Remove unused json import
Add module level docstring for DirectAdmin integration tests
Fix module import linting warnings
Fix dangerous default value linting warnings
Get rid of unnecessary else statement after an if, return combination
Remove shadowing variable name in _delete_record
Stop using len to determine whether a list is empty
Decrease help line length to satisfy linter
Strop trying to scrub responses from within the test suite
This breaks the vcrpy recordings. It's easier to process the recordings
after the fact removing any sensitive data.
Determine response body parsing based on Content-Type header
Fix incorrect predicate for checking existing records on _create_record
Record integration test recordings using Python 3
This makes the tests pass on both Python 2 and 3 instead of only on 3.
v3.3.1
Added provider logic & test recordings. Integration tests passed.
Added myself to codeowners file
Fixed the lint. Removed rtype filter in _update & _delete methods. Added _identifier helper
Update integration test recordings. Add provider to readme
v3.2.9
1. api_key should be key. 2. refactor with better _identifier. 3. better _delete_record
have time.sleep in the for-loop in _delete_record instead of in _request
v3.2.8
Various updates during initial implementation. Still not complete 1st draft
Further updates to new provider. Almost finished
New provider tests override file added
Numerous updates and tweaks based off provider tests
Clean-up ready to add to main repo
Add miff2000 to CODEOWNERS for SafeDNS provider
Add in vcrpy recordings for SafeDNS
Add SafeDNS to the providers list
Update comment to docstring
Move _patch() method to base provider
Use _clean_TXT_record() from base provider
Updated casettes for SafeDNS provider
Attempt to find a record even if an identifier
....hasn't been provided.
Check to ensure we don't add duplicate records
Lint cleanup. Fix mistyped %s
Add updated cassettes covering newly added tests
Switch to log only when duplicate records found
Don't raise exception if _update_record causes dupes
v3.2.7
pass test
fix file place
change test file path
refactor to api, enable recording by vcrpy
add test recordings
compatiblity for python3
update test results
remove recordings
fix lint and query_prarameter filters
remove wrong added env files
add back correct test records
fix last two lint bugs
resolve adferrand's comments
sorry for the missed one
3.2.6:
Added provider specific dependency to setup.py
Futher pylint and python3 import
Pylint
Add gratisdns provider
3.2.5:
Update appveyor.yml
Update test_route53.py
Update CONTRIBUTING.md
Fix configuration of route53 tests
Update test running instructions to include top-level directory
Fix line too long
Use the logger.warning instead of the logger.warn shortcut
Skip dnsimple accounts without a plan
v3.2.4:
Update cloudns.py
update README.md link to LinodeAPIv4 Domain docs
v3.2.3:
Add netcup provider
v3.2.2:
Remove test.py in root folder
1) Fix delete record function to handle same name records properly. 2) Enable the extended test suite to validate wildcards and check record sets.
Fix new pylint errors
Fix pylint errors
Fix slave notification argument name
Remove unused import
Added explicit slave notifcation function when domain is master
Fixed PowerDNS provider to allow duplicate record names
Second attempt to add, not replace same name TXT.
Allow duplicate names for TXT records. Lets Encrypt uses the same TXT record name with a different challenge token (content) to verify the primary and wildcard domains.
v3.2.1:
Fix resolution of dependencies in a regular install of lexicon distribution
v3.2.0:
Ensure python3 for lint
Update environments for the release
Fix create record on dnsimple
Update client.py
Fix tox env name
Optimize AppVeyor
Fix import
Clean lint errors
Fix pytest flag
Also mock for client
Mock correctly the fakeprovider
Rename skip => xfail
Xfail tests for which provider dependencies are not fulfilled
Handle smartly providers with missing dependencies
Fix lint errors
Fix lint and workflow
Try with overriden environments
Standard execution
Functional new test suite
Enable mechanism to skip providers with optional deps
Leverage import of the provider module in integration tests class setup
2.7.9
- Minor fixes
2.7.8
- Adding henet to supported providers
2.7.7
- Fix for cloudns
2.7.6
- Tests fixes
2.7.5
- Add support for inwx provider
2.7.4
- Add support for Plesk API
2.7.2
- Update online cassette
- online api change: domain_id became simply domain name
2.7.1
- Remove route53 tests, boto recordings no longer work.
- Create a library unit test suite
- [Gehirn Web Service] fix 400 response on GET request
- Update setup.py adding cryptography to the setup.py file
- Use ImportError instead of subclass ModuleNotFoundError, which is
supported only by python 3.6
2.7.0.
- Subreg.cz: Use Zeep instead of PySimpleSOAP library
2.6.0
- Improvements to argument handling
2.5.0
- Add Google Cloud DNS provider
2.4.7
- Add Zeit provider
2.4.6
- Fixes to dnsimple
2.4.5
- Add support for Exoscale
2.4.4
- Add support for online.net
2.4.3
- Test fixes
2.4.2
- Minor fixes to OVH provider
2.4.1
- add support for Gandi LiveDNS API
- Handle namespace variations of DnsEntry in transip provider
- Allow to toggle live tests using LEXICON_LIVE_TESTS env variable.
Tests are offline by default.
- GoDaddy provider improvements
- Add testenv that ensures lexicon still works even if an optional
library is missing.
- Add Sakura Cloud DNS provider
- Add Gehirn Infrastructure Service DNS provider
Changes since 2.0.0:
- Added support for provider Glesys.
- Added provider for Memset DNS API.
- Update Namesilo provider with correct query param fixes.
- Use transip-api library from pypi.
- Add OTP to test filters
- Remove unnecessary filter from test
- Update DNSimple provider to v2
- Add username/password authentication (with optional 2fa) to
dnsimplev
No changelog published. From the commitlog:
lexicon 1.2.1
- Fix ttl handling.
lexicon 1.2.0
- Python 3 compatibility, removed support for Python 2.6.
- Fix route53 compat errors.
- Remove gandi and transip support. Transip library is no longer
maintained and is incompatible with python3.
Lexicon provides a way to manipulate DNS records on multiple DNS
providers in a standardized way. Lexicon has a CLI but it can
also be used as a python library.