release: v0.6.3

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Valentin Tolmer
2026-05-01 00:37:11 +02:00
committed by nitnelave
parent 49dc766184
commit 48a0a8d961
18 changed files with 81 additions and 32 deletions
+49
View File
@@ -5,6 +5,55 @@ 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.6.3] 2026-05-01
Small release, focused on LDAP compatibility, TLS maintenance, dependency upgrades and documentation/examples.
### Added
- LDAP schema definitions for `memberOf`, `modifyTimestamp` and `pwdChangedTime`
- Support for configuring the healthcheck listen addresses
- Usernames are now included in password recovery emails
### Changed
- JWT `exp` and `iat` claims are now serialized as NumericDate values to comply with RFC7519
- Migrated to `rustls` 0.23 and centralized TLS handling
- The login form no longer enforces a password length limit
### Fixed
- `pwdChangedTime` is now emitted as LDAP GeneralizedTime instead of RFC3339
- LDAP base-scope searches for non-existent entries now return `NoSuchObject`
- `cn` equality filters are now case insensitive
- The server now shuts down the database connection pool gracefully
- The bootstrap script now handles empty globs correctly
### Security
- Updated the LDAP dependency stack, including `ldap3_proto`, in response to
security advisory
[`GHSA-qcxq-75wr-5cm8`](https://github.com/kanidm/ldap3/security/advisories/GHSA-qcxq-75wr-5cm8),
where a specially crafted LDAP query could make the server use unbounded RAM
### Cleanups
- Split GraphQL queries and mutations into smaller modules
- Refactored configuration and user update logic
- Upgraded the Rust toolchain and shared dependencies
### New services
- Apache WebDAV
- Continuwuity
- Gerrit
- Gogs
- Open WebUI
- OpenCloud
- Pocket ID
- Semaphore
- TrueNAS
## [0.6.2] 2025-07-21
Small release, focused on LDAP improvements and ongoing maintenance.
Generated
+16 -16
View File
@@ -2634,7 +2634,7 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
[[package]]
name = "lldap"
version = "0.6.2"
version = "0.6.3"
dependencies = [
"actix",
"actix-files",
@@ -2715,7 +2715,7 @@ dependencies = [
[[package]]
name = "lldap_access_control"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"async-trait",
"lldap_auth",
@@ -2727,7 +2727,7 @@ dependencies = [
[[package]]
name = "lldap_app"
version = "0.6.2"
version = "0.6.3"
dependencies = [
"anyhow",
"base64 0.22.1",
@@ -2761,7 +2761,7 @@ dependencies = [
[[package]]
name = "lldap_auth"
version = "0.6.0"
version = "0.6.3"
dependencies = [
"chrono",
"curve25519-dalek",
@@ -2781,7 +2781,7 @@ dependencies = [
[[package]]
name = "lldap_domain"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"anyhow",
"base64 0.22.1",
@@ -2802,7 +2802,7 @@ dependencies = [
[[package]]
name = "lldap_domain_handlers"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -2820,7 +2820,7 @@ dependencies = [
[[package]]
name = "lldap_domain_model"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"base64 0.22.1",
"bincode",
@@ -2839,14 +2839,14 @@ dependencies = [
[[package]]
name = "lldap_frontend_options"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"serde",
]
[[package]]
name = "lldap_graphql_server"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"anyhow",
"chrono",
@@ -2872,7 +2872,7 @@ dependencies = [
[[package]]
name = "lldap_ldap"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"anyhow",
"chrono",
@@ -2896,7 +2896,7 @@ dependencies = [
[[package]]
name = "lldap_migration_tool"
version = "0.4.2"
version = "0.4.3"
dependencies = [
"anyhow",
"base64 0.22.1",
@@ -2913,7 +2913,7 @@ dependencies = [
[[package]]
name = "lldap_opaque_handler"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"async-trait",
"lldap_auth",
@@ -2924,7 +2924,7 @@ dependencies = [
[[package]]
name = "lldap_set_password"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"anyhow",
"clap",
@@ -2937,7 +2937,7 @@ dependencies = [
[[package]]
name = "lldap_sql_backend_handler"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"anyhow",
"async-trait",
@@ -2970,7 +2970,7 @@ dependencies = [
[[package]]
name = "lldap_test_utils"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"async-trait",
"ldap3_proto",
@@ -2986,7 +2986,7 @@ dependencies = [
[[package]]
name = "lldap_validation"
version = "0.6.0"
version = "0.6.3"
[[package]]
name = "local-channel"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_app"
version = "0.6.2"
version = "0.6.3"
description = "Frontend for LLDAP"
edition.workspace = true
include = ["src/**/*", "queries/**/*", "Cargo.toml", "../schema.graphql"]
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_access_control"
version = "0.1.0"
version = "0.1.1"
description = "Access control wrappers for LLDAP"
authors.workspace = true
edition.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_auth"
version = "0.6.0"
version = "0.6.3"
description = "Authentication protocol for LLDAP"
edition.workspace = true
authors.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_domain_handlers"
version = "0.1.0"
version = "0.1.1"
edition.workspace = true
authors.workspace = true
homepage.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_domain_model"
version = "0.1.0"
version = "0.1.1"
edition.workspace = true
authors.workspace = true
homepage.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_domain"
version = "0.1.0"
version = "0.1.1"
authors = [
"Valentin Tolmer <valentin@tolmer.fr>",
"Simon Broeng Jensen <sbj@cwconsult.dk>",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_frontend_options"
version = "0.1.0"
version = "0.1.1"
description = "Frontend options for LLDAP"
authors.workspace = true
edition.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_graphql_server"
version = "0.1.0"
version = "0.1.1"
description = "GraphQL server for LLDAP"
edition.workspace = true
authors.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_ldap"
version = "0.1.0"
version = "0.1.1"
description = "LDAP operations support"
authors.workspace = true
edition.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_opaque_handler"
version = "0.1.0"
version = "0.1.1"
description = "Opaque handler trait for LLDAP"
authors.workspace = true
edition.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_sql_backend_handler"
version = "0.1.0"
version = "0.1.1"
description = "SQL backend for LLDAP"
authors.workspace = true
edition.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_test_utils"
version = "0.1.0"
version = "0.1.1"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_validation"
version = "0.6.0"
version = "0.6.3"
authors = ["Simon Broeng Jensen <sbj@cwconsult.dk>"]
description = "Validation logic for LLDAP"
edition.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_migration_tool"
version = "0.4.2"
version = "0.4.3"
description = "CLI migration tool to go from OpenLDAP to LLDAP"
edition.workspace = true
authors.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap"
version = "0.6.2"
version = "0.6.3"
description = "Super-simple and lightweight LDAP server"
categories = ["authentication", "command-line-utilities"]
edition.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "lldap_set_password"
version = "0.1.0"
version = "0.1.1"
description = "CLI tool to set a user password in LLDAP"
edition.workspace = true
authors.workspace = true