From afe91c7cc0bb11ebf9d2f82a93572d877d8983dc Mon Sep 17 00:00:00 2001 From: Valentin Tolmer Date: Mon, 27 Mar 2023 09:56:36 +0200 Subject: [PATCH] release: 0.4.2 --- CHANGELOG.md | 61 ++++++++++++++++++++++++++++++++++++++- README.md | 19 ++++++++++-- app/Cargo.toml | 2 +- auth/Cargo.toml | 2 +- migration-tool/Cargo.toml | 2 +- server/Cargo.toml | 2 +- 6 files changed, 80 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a42a54..7d63a0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,66 @@ 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). -## [Unreleased] +## [0.4.2] - 2023-03-27 + +### Added + + - Add support for MySQL/MariaDB/PostgreSQL, in addition to SQLite. + - Healthcheck command for docker setups. + - User creation through LDAP. + - IPv6 support. + - Dev container for VsCode. + - Add support for DN LDAP filters. + - Add support for SubString LDAP filters. + - Add support for LdapCompare operation. + - Add support for unencrypted/unauthenticated SMTP connection. + - Add a command to setup the database schema. + - Add a tool to set a user's password from the command line. + - Added consistent release artifacts. + +### Changed + + - Payload is now compressed, reducing the size to 700kb. + - entryUUID is returned in the default LDAP fields. + - Slightly improved support for LDAP browsing tools. + - Password reset can be identified by email (instead of just username). + - Various front-end improvements, and support for dark mode. + - Add content-type header to the password reset email, fixing rendering issues in some clients. + - Identify groups with "cn" instead of "uid" in memberOf field. + +### Removed + + - Removed dependency on nodejs/rollup. + +### Fixed + + - Email is now using the async API. + - Fix handling of empty/null names (display, first, last). + - Obscured old password field when changing password. + - Respect user setting to disable password resets. + - Fix handling of "present" filters with unknown attributes. + - Fix handling of filters that could lead to an ambiguous SQL query. + +### New services + + - Authentik + - Dell iDRAC + - Dex + - Kanboard + - NextCloud + OIDC or Authelia + - Nexus + - SUSE Rancher + - VaultWarden + - WeKan + - WikiJS + - ZendTo + +### Dependencies (highlights) + + - Upgraded Yew to 0.19 + - Upgraded actix to 0.13 + - Upgraded clap to 4 + - Switched from sea-query to sea-orm 0.11 ## [0.4.1] - 2022-10-10 diff --git a/README.md b/README.md index 9dd4bce..5cde870 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,9 @@ services: - LLDAP_JWT_SECRET=REPLACE_WITH_RANDOM - LLDAP_LDAP_USER_PASS=REPLACE_WITH_PASSWORD - LLDAP_LDAP_BASE_DN=dc=example,dc=com + # You can also set a different database: + # - LLDAP_DATABASE_URL=mysql://mysql-user:password@mysql-server/my-database + # - LLDAP_DATABASE_URL=postgres://postgres-user:password@postgres-server/my-database ``` Then the service will listen on two ports, one for LDAP and one for the web @@ -142,6 +145,8 @@ See https://github.com/Evantage-WS/lldap-kubernetes for a LLDAP deployment for K ### From source +#### Backend + To compile the project, you'll need: - curl and gzip: `sudo apt install curl gzip` @@ -156,13 +161,21 @@ cargo build --release -p lldap -p migration-tool The resulting binaries will be in `./target/release/`. Alternatively, you can just run `cargo run -- run` to run the server. +#### Frontend + To bring up the server, you'll need to compile the frontend. In addition to -cargo, you'll need: +`cargo`, you'll need: - WASM-pack: `cargo install wasm-pack` -Then you can build the frontend files with `./app/build.sh` (you'll need to run -this after every front-end change to update the WASM package served). +Then you can build the frontend files with + +```shell +./app/build.sh +```` + +(you'll need to run this after every front-end change to update the WASM +package served). The default config is in `src/infra/configuration.rs`, but you can override it by creating an `lldap_config.toml`, setting environment variables or passing diff --git a/app/Cargo.toml b/app/Cargo.toml index cc489be..e2a7fed 100644 --- a/app/Cargo.toml +++ b/app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lldap_app" -version = "0.4.2-alpha" +version = "0.4.2" authors = ["Valentin Tolmer "] edition = "2021" include = ["src/**/*", "queries/**/*", "Cargo.toml", "../schema.graphql"] diff --git a/auth/Cargo.toml b/auth/Cargo.toml index 8940df6..a128899 100644 --- a/auth/Cargo.toml +++ b/auth/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lldap_auth" -version = "0.3.0-alpha.1" +version = "0.3.0" authors = ["Valentin Tolmer "] edition = "2021" diff --git a/migration-tool/Cargo.toml b/migration-tool/Cargo.toml index 019f509..4229a20 100644 --- a/migration-tool/Cargo.toml +++ b/migration-tool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "migration-tool" -version = "0.4.2-alpha" +version = "0.4.2" edition = "2021" authors = ["Valentin Tolmer "] diff --git a/server/Cargo.toml b/server/Cargo.toml index 7d4088f..0cc3d3b 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -2,7 +2,7 @@ authors = ["Valentin Tolmer "] edition = "2021" name = "lldap" -version = "0.4.2-alpha" +version = "0.4.2" [dependencies] actix = "0.13"