v0.5.28
- Stops inferred LDAPS fallback when LDAP bind fails with authentication errors such as invalidCredentials / data 52e.
- Reports authentication failures as ldap_auth_failed instead of ldap_connect_failed.
- Clarifies README and advanced docs: LDAPS fallback is only for transport connection failures, not credential failures.
Validation:
- python3 -m compileall -q dmsa_forge tests
- python3 -m unittest discover -s tests
- temporary venv pip install . smoke test
- connection fallback regression tests
- dry-run JSON smoke checks