# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.1.0] - 2025-10-20 ### Added - Initial release of LDAP Docker development tool - OpenLDAP 1.5.0 container with SSL/TLS support - phpLDAPadmin web interface for easy administration - Pre-configured test users and groups for testing.local domain - SSL certificate generation script using Python cryptography - Makefile with convenient shortcuts for common operations - Example Python authentication script demonstrating LDAP integration with environment variable support - Support for custom dev-ca certificates - Persistent Docker volumes for data and configuration - Test suite for certificate generation - Comprehensive environment variable reference table in Configuration section with usage cross-references - `{.env:VARIABLE_NAME}` syntax throughout documentation to indicate configurable values - Explanatory notes about `.env` configuration flexibility at key sections - Comprehensive documentation: - README.md - Full project documentation with integrated configuration guide - certs/README.md - Certificate management guide - examples/README.md - Integration patterns and code examples ### Changed - Renamed Makefile targets from `test-*` to `verify-*` for integration checks that require a running container - `test-connection` → `verify-connection` - `test-auth` → `verify-auth` - `test-users` → `verify-users` - `test-ssl` → `verify-ssl` - `test-all` → `verify-all` - Added separate `make test` and `make test-cov` targets for running unit tests with pytest - Improved naming clarity: "verify" commands check running containers, "test" commands run unit tests ### Test Data - 4 pre-configured test users (admin, jdoe, jsmith, testuser) - 3 test groups (admins, developers, users) - All test users use password: `password123` - Admin credentials: `cn=admin,dc=testing,dc=local` / `admin_password` ### Infrastructure - Docker Compose configuration for easy deployment - UV package manager integration for Python dependencies - `.env` file support for configuration - Cross-platform support (MacOS, Linux, Windows) - Rancher Desktop and Docker Desktop compatibility ### Configuration - Environment variable support for all configurable values - `.env.example` file with comprehensive documentation - Configurable ports (LDAP, LDAPS, phpLDAPadmin) - Configurable domain and organization settings - Configurable SSL/TLS certificate filenames - Configurable admin credentials ### Documentation - README with clear Quick Start, Configuration, and Troubleshooting sections - All code examples (Python, bash, ldapsearch) reference `.env` variables - examples/README.md with `.env` variable references in all code samples - certs/README.md with `.env` variables for hostnames, ports, and certificate filenames - Admin Credentials, Testing Authentication, and Certificate Requirements sections use `.env` syntax - Default Test Users table shows dynamic email addresses based on `LDAP_DOMAIN` - Development section LDIF examples reference `.env` variables ### Fixed - Updated `pyproject.toml` to use `dependency-groups.dev` instead of deprecated `tool.uv.dev-dependencies` - Added `tool.hatch.build.targets.wheel.packages` configuration to fix build errors - Removed obsolete `version` field from `docker-compose.yml` (Docker Compose v2+ compatibility) - Fixed LDAP user password hashes to use proper SSHA format generated by `slappasswd` - Fixed attribute type conversion in example scripts for uidNumber and gidNumber - Fixed `scripts/__init__.py` import error that prevented pytest from running - Fixed timezone-aware datetime comparisons in certificate generation tests (updated to use `not_valid_before_utc` and `not_valid_after_utc`) ### Technical Details - Base DN: `dc=testing,dc=local` (configurable via `LDAP_BASE_DN`) - LDAP Port: 389 (configurable via `LDAP_PORT`) - LDAPS Port: 636 (configurable via `LDAPS_PORT`) - Web Admin Port: 8080 (configurable via `PHPLDAPADMIN_PORT`) - Python 3.9+ required (optional, for certificate generation and examples) - Docker/Rancher Desktop required ## [Unreleased] ### Planned Features - Docker image with pre-built configuration --- ## Release Notes ### Version 0.1.0 This is the initial release providing a complete LDAP development environment suitable for: - Testing LDAP authentication in applications - Development and integration testing - Learning LDAP concepts - Prototyping LDAP-based systems **Key Features:** - Quick setup with `docker-compose up -d` - Fully configurable via `.env` file - Pre-populated with test users and groups - SSL/TLS support with custom certificate capability - Web-based administration interface - Comprehensive documentation with clear examples **Important Security Notes:** - This tool is for **DEVELOPMENT USE ONLY** - Default passwords are well-known and insecure - Self-signed certificates are not suitable for production - Never use this with real user data or in production environments ### Upgrade Instructions Not applicable for initial release. ### Breaking Changes Not applicable for initial release. --- For support, issues, or feature requests, please refer to the project documentation or open an issue on the project repository.