diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 58e0cfdf..0f0b93e7 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,12 +1,12 @@ name: I think I found a bug -description: File a bug report issue. If you have a question or are experiencing a problem, please start a [new discussion](https://github.com/stalwartlabs/mail-server/discussions/new?category=q-a) instead. +description: File a bug report issue. If you have a question or are experiencing a problem, please start a [new discussion](https://github.com/stalwartlabs/stalwart/discussions/new?category=q-a) instead. title: "🐛: " labels: ["bug"] body: - type: markdown attributes: value: | - Thanks for taking the time to fill out this bug report! Use this form only for reporting bugs. If you have a question or problem, please use the [Q&A discussion](https://github.com/stalwartlabs/mail-server/discussions/new?category=q-a). + Thanks for taking the time to fill out this bug report! Use this form only for reporting bugs. If you have a question or problem, please use the [Q&A discussion](https://github.com/stalwartlabs/stalwart/discussions/new?category=q-a). - type: textarea id: what-happened attributes: @@ -31,9 +31,9 @@ body: label: Version description: What version of our software are you running? options: + - v0.12.x - v0.11.x - - v0.10.x - - v0.9.x or lower + - v0.10.x or lower validations: required: true - type: dropdown @@ -67,6 +67,7 @@ body: - Internal - SQL - LDAP + - OIDC - type: dropdown id: os attributes: @@ -75,6 +76,7 @@ body: - Linux - Docker - MacOS + - NixOS - FreeBSD - Windows - type: textarea diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 651ebb6b..081d6f59 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -4,7 +4,7 @@ contact_links: url: https://stalw.art/docs/ about: Read the documentation, use the search bar to find answers to your questions. - name: I have a question or problem not covered in the documentation - url: https://github.com/stalwartlabs/mail-server/discussions/new?category=q-a + url: https://github.com/stalwartlabs/stalwart/discussions/new?category=q-a about: Open a Q&A discussion - name: Join Stalwart's Reddit url: https://www.reddit.com/r/stalwartlabs diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index b2ffa809..9241d8e5 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - Thanks for taking the time to fill out this feature request form! Use this form only for requesting new features. If you have a question or problem, please use the [Q&A discussion](https://github.com/stalwartlabs/mail-server/discussions/new?category=q-a). + Thanks for taking the time to fill out this feature request form! Use this form only for requesting new features. If you have a question or problem, please use the [Q&A discussion](https://github.com/stalwartlabs/stalwart/discussions/new?category=q-a). - type: textarea id: request attributes: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9534ad19..ff7f43ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -311,10 +311,10 @@ jobs: - name: Build run: | rustup target add ${{matrix.target}} - cargo build --release --target ${{matrix.target}} -p mail-server --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" + cargo build --release --target ${{matrix.target}} -p stalwart --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" cargo build --release --target ${{matrix.target}} -p stalwart-cli mkdir -p artifacts - mv ./target/${{matrix.target}}/release/stalwart-mail.exe ./artifacts/stalwart-mail.exe + mv ./target/${{matrix.target}}/release/stalwart.exe ./artifacts/stalwart.exe mv ./target/${{matrix.target}}/release/stalwart-cli.exe ./artifacts/stalwart-cli.exe - name: Upload Artifacts @@ -349,17 +349,17 @@ jobs: # Get latest FoundationDB installer curl --retry 5 -Lso foundationdb.pkg "$(gh api -X GET /repos/apple/foundationdb/releases --jq '.[] | select(.prerelease == false) | .assets[] | select(.name | test("${{startsWith(matrix.target, 'x86') && 'x86_64' || 'arm64'}}" + ".pkg$")) | .browser_download_url' | head -n1)" sudo installer -allowUntrusted -dumplog -pkg foundationdb.pkg -target / - cargo build --release --target ${{matrix.target}} -p mail-server --no-default-features --features "foundationdb elastic s3 redis nats enterprise" + cargo build --release --target ${{matrix.target}} -p stalwart --no-default-features --features "foundationdb elastic s3 redis nats enterprise" mkdir -p artifacts - mv ./target/${{matrix.target}}/release/stalwart-mail ./artifacts/stalwart-mail-foundationdb + mv ./target/${{matrix.target}}/release/stalwart ./artifacts/stalwart-foundationdb - name: Build run: | rustup target add ${{matrix.target}} - cargo build --release --target ${{matrix.target}} -p mail-server --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" + cargo build --release --target ${{matrix.target}} -p stalwart --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" cargo build --release --target ${{matrix.target}} -p stalwart-cli mkdir -p artifacts - mv ./target/${{matrix.target}}/release/stalwart-mail ./artifacts/stalwart-mail + mv ./target/${{matrix.target}}/release/stalwart ./artifacts/stalwart mv ./target/${{matrix.target}}/release/stalwart-cli ./artifacts/stalwart-cli - name: Upload Artifacts diff --git a/Cargo.lock b/Cargo.lock index a128fb09..e73ee7c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4203,32 +4203,6 @@ dependencies = [ "webpki-roots 1.0.0", ] -[[package]] -name = "mail-server" -version = "0.12.0" -dependencies = [ - "common", - "dav", - "directory", - "email", - "groupware", - "http 0.12.0", - "imap", - "jemallocator", - "jmap", - "jmap_proto", - "managesieve", - "migration", - "pop3", - "services", - "smtp", - "spam-filter", - "store", - "tokio", - "trc", - "utils", -] - [[package]] name = "managesieve" version = "0.12.0" @@ -7107,6 +7081,32 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "stalwart" +version = "0.12.0" +dependencies = [ + "common", + "dav", + "directory", + "email", + "groupware", + "http 0.12.0", + "imap", + "jemallocator", + "jmap", + "jmap_proto", + "managesieve", + "migration", + "pop3", + "services", + "smtp", + "spam-filter", + "store", + "tokio", + "trc", + "utils", +] + [[package]] name = "stalwart-cli" version = "0.12.0" diff --git a/Dockerfile b/Dockerfile index f481b509..851b2017 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,20 +24,20 @@ RUN rustup target add "$(cat /target.txt)" COPY --from=planner /recipe.json /recipe.json RUN RUSTFLAGS="$(cat /flags.txt)" cargo chef cook --target "$(cat /target.txt)" --release --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" --recipe-path /recipe.json COPY . . -RUN RUSTFLAGS="$(cat /flags.txt)" cargo build --target "$(cat /target.txt)" --release -p mail-server --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" +RUN RUSTFLAGS="$(cat /flags.txt)" cargo build --target "$(cat /target.txt)" --release -p stalwart --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" RUN RUSTFLAGS="$(cat /flags.txt)" cargo build --target "$(cat /target.txt)" --release -p stalwart-cli RUN mv "/build/target/$(cat /target.txt)/release" "/output" FROM docker.io/debian:bookworm-slim -WORKDIR /opt/stalwart-mail +WORKDIR /opt/stalwart RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ apt-get install -yq ca-certificates -COPY --from=builder /output/stalwart-mail /usr/local/bin +COPY --from=builder /output/stalwart /usr/local/bin COPY --from=builder /output/stalwart-cli /usr/local/bin COPY ./resources/docker/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod -R 755 /usr/local/bin -CMD ["/usr/local/bin/stalwart-mail"] -VOLUME [ "/opt/stalwart-mail" ] +CMD ["/usr/local/bin/stalwart"] +VOLUME [ "/opt/stalwart" ] EXPOSE 443 25 110 587 465 143 993 995 4190 8080 ENTRYPOINT ["/bin/sh", "/usr/local/bin/entrypoint.sh"] diff --git a/Dockerfile.build b/Dockerfile.build index 3de80167..d13f7c18 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -92,7 +92,7 @@ RUN \ --mount=type=cache,target=/usr/local/cargo/git \ source /env-cargo && \ if [ ! -z "${FDB_ARCH}" ]; then \ - RUSTFLAGS="-L /usr/lib" cargo chef cook --recipe-path recipe.json --zigbuild --release --target ${TARGET} -p mail-server --no-default-features --features "foundationdb elastic s3 redis nats enterprise"; \ + RUSTFLAGS="-L /usr/lib" cargo chef cook --recipe-path recipe.json --zigbuild --release --target ${TARGET} -p stalwart --no-default-features --features "foundationdb elastic s3 redis nats enterprise"; \ fi RUN \ --mount=type=secret,id=ACTIONS_RESULTS_URL,env=ACTIONS_RESULTS_URL \ @@ -100,7 +100,7 @@ RUN \ --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/usr/local/cargo/git \ source /env-cargo && \ - cargo chef cook --recipe-path recipe.json --zigbuild --release --target ${TARGET} -p mail-server --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" && \ + cargo chef cook --recipe-path recipe.json --zigbuild --release --target ${TARGET} -p stalwart --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" && \ cargo chef cook --recipe-path recipe.json --zigbuild --release --target ${TARGET} -p stalwart-cli # Copy the source code COPY . . @@ -114,8 +114,8 @@ RUN \ --mount=type=cache,target=/usr/local/cargo/git \ source /env-cargo && \ if [ ! -z "${FDB_ARCH}" ]; then \ - RUSTFLAGS="-L /usr/lib" cargo zigbuild --release --target ${TARGET} -p mail-server --no-default-features --features "foundationdb elastic s3 redis nats enterprise" && \ - mv /app/target/${TARGET}/release/stalwart-mail /app/artifact/stalwart-mail-foundationdb; \ + RUSTFLAGS="-L /usr/lib" cargo zigbuild --release --target ${TARGET} -p stalwart --no-default-features --features "foundationdb elastic s3 redis nats enterprise" && \ + mv /app/target/${TARGET}/release/stalwart /app/artifact/stalwart-foundationdb; \ fi # Build generic version RUN \ @@ -124,9 +124,9 @@ RUN \ --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/usr/local/cargo/git \ source /env-cargo && \ - cargo zigbuild --release --target ${TARGET} -p mail-server --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" && \ + cargo zigbuild --release --target ${TARGET} -p stalwart --no-default-features --features "sqlite postgres mysql rocks elastic s3 redis azure nats enterprise" && \ cargo zigbuild --release --target ${TARGET} -p stalwart-cli && \ - mv /app/target/${TARGET}/release/stalwart-mail /app/artifact/stalwart-mail && \ + mv /app/target/${TARGET}/release/stalwart /app/artifact/stalwart && \ mv /app/target/${TARGET}/release/stalwart-cli /app/artifact/stalwart-cli # ***************** @@ -139,16 +139,16 @@ COPY --from=builder /app/artifact / # Runtime image for GNU targets # ***************** FROM --platform=$TARGETPLATFORM docker.io/library/debian:bookworm-slim AS gnu -WORKDIR /opt/stalwart-mail +WORKDIR /opt/stalwart RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ apt-get install -yq ca-certificates tzdata -COPY --from=builder /app/artifact/stalwart-mail /usr/local/bin +COPY --from=builder /app/artifact/stalwart /usr/local/bin COPY --from=builder /app/artifact/stalwart-cli /usr/local/bin COPY ./resources/docker/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod -R 755 /usr/local/bin -CMD ["/usr/local/bin/stalwart-mail"] -VOLUME [ "/opt/stalwart-mail" ] +CMD ["/usr/local/bin/stalwart"] +VOLUME [ "/opt/stalwart" ] EXPOSE 443 25 110 587 465 143 993 995 4190 8080 ENTRYPOINT ["/bin/sh", "/usr/local/bin/entrypoint.sh"] @@ -156,13 +156,13 @@ ENTRYPOINT ["/bin/sh", "/usr/local/bin/entrypoint.sh"] # Runtime image for musl targets # ***************** FROM --platform=$TARGETPLATFORM alpine AS musl -WORKDIR /opt/stalwart-mail +WORKDIR /opt/stalwart RUN apk add --update --no-cache ca-certificates tzdata && rm -rf /var/cache/apk/* -COPY --from=builder /app/artifact/stalwart-mail /usr/local/bin +COPY --from=builder /app/artifact/stalwart /usr/local/bin COPY --from=builder /app/artifact/stalwart-cli /usr/local/bin COPY ./resources/docker/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod -R 755 /usr/local/bin -CMD ["/usr/local/bin/stalwart-mail"] -VOLUME [ "/opt/stalwart-mail" ] +CMD ["/usr/local/bin/stalwart"] +VOLUME [ "/opt/stalwart" ] EXPOSE 443 25 110 587 465 143 993 995 4190 8080 ENTRYPOINT ["/bin/sh", "/usr/local/bin/entrypoint.sh"] diff --git a/LICENSES/LicenseRef-SEL.txt b/LICENSES/LicenseRef-SEL.txt index 25f146ef..1ee7c07c 100644 --- a/LICENSES/LicenseRef-SEL.txt +++ b/LICENSES/LicenseRef-SEL.txt @@ -9,7 +9,7 @@ This Agreement is entered into by and between Stalwart Labs Ltd and you, or the 1. DEFINITIONS -1.1. "Software" refers to the Stalwart Mail & Collaboration Server Enterprise Edition software, including all its versions, updates, modifications, accompanying documentation, and related materials. +1.1. "Software" refers to the Stalwart Server Enterprise Edition software, including all its versions, updates, modifications, accompanying documentation, and related materials. 1.2. "Subscription" refers to the paid access to the Software provided by Licensor to Licensee. 1.3. "Licensor" refers to Stalwart Labs Ltd, the entity providing the Software. 1.4. "Licensee" refers to the individual or entity installing, accessing, or using the Software with a valid Subscription. @@ -54,7 +54,7 @@ This Agreement is entered into by and between Stalwart Labs Ltd and you, or the 7. LIMITATION OF LIABILITY 7.1. In no event will the Licensor be liable for any indirect, incidental, special, consequential, or punitive damages, or any loss of profits or revenues, whether incurred directly or indirectly, or any loss of data, use, goodwill, or other intangible losses, resulting from (i) your use or inability to use the Software; (ii) any unauthorized access to or use of our servers and/or any personal information stored therein. -7.3. Except for liability arising from death or personal injury caused by negligence, fraud, or willful misconduct, Licensor's total aggregate liability for any and all claims under this Agreement shall be limited to the total Subscription fees paid by Licensee to Licensor in the twelve (12) months immediately preceding the event giving rise to the claim. +7.2. Except for liability arising from death or personal injury caused by negligence, fraud, or willful misconduct, Licensor's total aggregate liability for any and all claims under this Agreement shall be limited to the total Subscription fees paid by Licensee to Licensor in the twelve (12) months immediately preceding the event giving rise to the claim. 8. GOVERNING LAW & JURISDICTION diff --git a/README.md b/README.md index 22179663..6f98a3a9 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,13 @@
-
+
@@ -30,23 +30,33 @@
## Features
-**Stalwart Mail Server** is an open-source mail server solution with JMAP, IMAP4, POP3, and SMTP support and a wide range of modern features. It is written in Rust and designed to be secure, fast, robust and scalable.
+**Stalwart** is an open-source mail & collaboration server solution with JMAP, IMAP4, POP3, SMTP, CalDAV, CardDAV and WebDAV support and a wide range of modern features. It is written in Rust and designed to be secure, fast, robust and scalable.
Key features:
-- **JMAP**, **IMAP4**, **POP3** and **ManageSieve** server:
- - [JMAP](https://datatracker.ietf.org/doc/html/rfc8621) server with
- [Sieve Scripts](https://www.ietf.org/archive/id/draft-ietf-jmap-sieve-22.html), [WebSocket](https://datatracker.ietf.org/doc/html/rfc8887), [Blob Management](https://www.rfc-editor.org/rfc/rfc9404.html) and [Quotas](https://www.rfc-editor.org/rfc/rfc9425.html) extensions.
- - [IMAP4rev2](https://datatracker.ietf.org/doc/html/rfc9051) and [IMAP4rev1](https://datatracker.ietf.org/doc/html/rfc3501) server with support for [numerous extensions](https://stalw.art/docs/development/rfcs#imap4-and-extensions).
- - [POP3](https://datatracker.ietf.org/doc/html/rfc1939) server with [extensions](https://datatracker.ietf.org/doc/html/rfc2449), [STLS](https://datatracker.ietf.org/doc/html/rfc2595) and [SASL](https://datatracker.ietf.org/doc/html/rfc5034) support.
- - [ManageSieve](https://datatracker.ietf.org/doc/html/rfc5804) server for managing Sieve scripts.
-- **SMTP** server:
- - Built-in [DMARC](https://datatracker.ietf.org/doc/html/rfc7489), [DKIM](https://datatracker.ietf.org/doc/html/rfc6376), [SPF](https://datatracker.ietf.org/doc/html/rfc7208) and [ARC](https://datatracker.ietf.org/doc/html/rfc8617) support for message authentication.
- - Strong transport security through [DANE](https://datatracker.ietf.org/doc/html/rfc6698), [MTA-STS](https://datatracker.ietf.org/doc/html/rfc8461) and [SMTP TLS](https://datatracker.ietf.org/doc/html/rfc8460) reporting.
- - Inbound throttling and filtering with granular configuration rules, sieve scripting, MTA hooks and milter integration.
- - Distributed virtual queues with delayed delivery, priority delivery, quotas, routing rules and throttling support.
- - Envelope rewriting and message modification.
-- Built-in **Spam and Phishing** filter:
+- **Email** server with complete protocol support:
+ - JMAP:
+ * [JMAP for Mail](https://datatracker.ietf.org/doc/html/rfc8621) server.
+ * [JMAP for Sieve Scripts](https://www.ietf.org/archive/id/draft-ietf-jmap-sieve-22.html).
+ * [WebSocket](https://datatracker.ietf.org/doc/html/rfc8887), [Blob Management](https://www.rfc-editor.org/rfc/rfc9404.html) and [Quotas](https://www.rfc-editor.org/rfc/rfc9425.html) extensions.
+ - IMAP:
+ * [IMAP4rev2](https://datatracker.ietf.org/doc/html/rfc9051) and [IMAP4rev1](https://datatracker.ietf.org/doc/html/rfc3501) server.
+ * [ManageSieve](https://datatracker.ietf.org/doc/html/rfc5804) server.
+ * Numerous [extensions](https://stalw.art/docs/development/rfcs#imap4-and-extensions) supported.
+ - POP3:
+ - [POP3](https://datatracker.ietf.org/doc/html/rfc1939) server.
+ - [STLS](https://datatracker.ietf.org/doc/html/rfc2595) and [SASL](https://datatracker.ietf.org/doc/html/rfc5034) support as well as other [extensions](https://datatracker.ietf.org/doc/html/rfc2449).
+ - SMTP:
+ * SMTP server with built-in [DMARC](https://datatracker.ietf.org/doc/html/rfc7489), [DKIM](https://datatracker.ietf.org/doc/html/rfc6376), [SPF](https://datatracker.ietf.org/doc/html/rfc7208) and [ARC](https://datatracker.ietf.org/doc/html/rfc8617) support for message authentication.
+ * Strong transport security through [DANE](https://datatracker.ietf.org/doc/html/rfc6698), [MTA-STS](https://datatracker.ietf.org/doc/html/rfc8461) and [SMTP TLS](https://datatracker.ietf.org/doc/html/rfc8460) reporting.
+ * Inbound throttling and filtering with granular configuration rules, sieve scripting, MTA hooks and milter integration.
+ * Distributed virtual queues with delayed delivery, priority delivery, quotas, routing rules and throttling support.
+ * Envelope rewriting and message modification.
+- **Calendar**, **Contacts** and **File Storage** server:
+ - [CalDAV](https://datatracker.ietf.org/doc/html/rfc4791) server for calendar and scheduling.
+ - [CardDAV](https://datatracker.ietf.org/doc/html/rfc6352) server for contact management.
+ - [WebDAV](https://datatracker.ietf.org/doc/html/rfc4918) server for file storage and sharing.
+- **Spam** and **Phishing** built-in filter:
- Comprehensive set of filtering **rules** on par with popular solutions.
- LLM-driven spam filtering and message analysis.
- Statistical **spam classifier** with automatic training capabilities.
@@ -75,8 +85,6 @@ Key features:
- **Scalable and fault-tolerant**:
- Designed to handle growth seamlessly, from small setups to large-scale deployments.
- Built with **fault tolerance** and **high availability** in mind, recovers from hardware or software failures with minimal operational impact.
- - Partition-tolerant **failure detection**, ensuring continuous operation even during network partitions or node failures.
- - **Coordinator-free** architecture with automatic node discovery eliminates central bottlenecks and single points of failure.
- **Kubernetes** support for automated scaling and efficient container orchestration.
- Read replicas, sharded blob storage and in-memory data stores for high performance and low latency.
- **Authentication and Authorization**:
@@ -108,11 +116,11 @@ Key features:
## Presentation
-**Want a deeper dive?** Need to explain to your boss why Stalwart is the perfect fit? Whether you're evaluating options, making a case to your team, or simply curious about how it all works under the hood, these slides walk you through the key features, architecture, and benefits of Stalwart Mail Server. Browse the [slides](https://stalw.art/slides) to see what makes it stand out.
+**Want a deeper dive?** Need to explain to your boss why Stalwart is the perfect fit? Whether you're evaluating options, making a case to your team, or simply curious about how it all works under the hood, these slides walk you through the key features, architecture, and benefits of Stalwart. Browse the [slides](https://stalw.art/slides) to see what makes it stand out.
## Get Started
-Install Stalwart Mail Server on your server by following the instructions for your platform:
+Install Stalwart on your server by following the instructions for your platform:
- [Linux / MacOS](https://stalw.art/docs/install/linux)
- [Windows](https://stalw.art/docs/install/windows)
@@ -122,14 +130,14 @@ All documentation is available at [stalw.art/docs/get-started](https://stalw.art
## Support
-If you are having problems running Stalwart Mail Server, you found a bug or just have a question,
-do not hesitate to reach us on [GitHub Discussions](https://github.com/stalwartlabs/mail-server/discussions),
+If you are having problems running Stalwart, you found a bug or just have a question,
+do not hesitate to reach us on [GitHub Discussions](https://github.com/stalwartlabs/stalwart/discussions),
[Reddit](https://www.reddit.com/r/stalwartlabs) or [Discord](https://discord.gg/aVQr3jF8jd).
Additionally you may purchase an [premium support](https://stalw.art/support) to obtain priority support from Stalwart Labs LLC.
## Sponsorship
-Your support is crucial in helping us continue to improve the project, add new features, and maintain the highest level of quality. By [becoming a sponsor](https://opencollective.com/stalwart), you help fund the development and future of Stalwart Mail Server. As a thank-you, sponsors who contribute $5 per month or more will automatically receive a [Small Business Edition](https://stalw.art/small-business/) license, which includes all the powerful features of the [Enterprise edition](https://stalw.art/enterprise/).
+Your support is crucial in helping us continue to improve the project, add new features, and maintain the highest level of quality. By [becoming a sponsor](https://opencollective.com/stalwart), you help fund the development and future of Stalwart. As a thank-you, sponsors who contribute $5 per month or more will automatically receive a [Small Business Edition](https://stalw.art/small-business/) license, which includes all the powerful features of the [Enterprise edition](https://stalw.art/enterprise/).
These are some of our open-source sponsors:
@@ -139,15 +147,17 @@ These are some of our open-source sponsors:
## Roadmap
-- [ ] CalDAV, CardDAV and WebDAV support
-- [ ] JMAP Calendar, Contacts and Tasks support
-- [ ] ActiveSync support
+- [ ] JMAP for Calendars, Contacts and File Storage support
+- [ ] Webmail client
-See the [enhancement requests](https://github.com/stalwartlabs/mail-server/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement) page for a full list of proposed features by the community.
+See the [enhancement requests](https://github.com/stalwartlabs/stalwart/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement) page for a full list of proposed features by the community.
## Funding
-Part of the development of this project was funded through the [NGI0 Entrust Fund](https://nlnet.nl/entrust), a fund established by [NLnet](https://nlnet.nl/) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu/) programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.
+Part of the development of this project was funded through:
+
+- [NGI0 Entrust Fund](https://nlnet.nl/entrust), a fund established by [NLnet](https://nlnet.nl/) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu/) programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.
+- [NGI Zero Core](https://nlnet.nl/NGI0/), a fund established by [NLnet](https://nlnet.nl/) with financial support from the European Commission's programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101092990.
If you find the project useful you can help by [becoming a sponsor](https://opencollective.com/stalwart). Thank you!
@@ -162,4 +172,4 @@ Each file in this project contains a license notice at the top, indicating the a
## Copyright
-Copyright (C) 2024, Stalwart Labs Ltd.
+Copyright (C) 2020, Stalwart Labs Ltd.
diff --git a/SECURITY.md b/SECURITY.md
index 652a6f41..4a18be93 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,19 +1,18 @@
-# Security Policy for Stalwart Mail Server
+# Security Policy for Stalwart
## Supported Versions
-We provide security updates for the following versions of Stalwart Mail Server:
+We provide security updates for the following versions of Stalwart:
| Version | Supported |
| ------- | ------------------ |
-| 0.11.x | :white_check_mark: |
-| 0.10.x | :white_check_mark: |
-| 0.9.x | :white_check_mark: |
-| < 0.8 | :x: |
+| 0.12.x | :white_check_mark: |
+| 0.11.x | :white_check_mark: |
+| < 0.10 | :x: |
## Reporting a Vulnerability
-We take the security of Stalwart Mail Server very seriously. If you believe you've found a security vulnerability, we encourage you to inform us responsibly.
+We take the security of Stalwart very seriously. If you believe you've found a security vulnerability, we encourage you to inform us responsibly.
**Do not report security vulnerabilities through public GitHub issues.**
diff --git a/UPGRADING.md b/UPGRADING.md
index bf22748a..48ff37ee 100644
--- a/UPGRADING.md
+++ b/UPGRADING.md
@@ -54,7 +54,7 @@ Upgrading from `v0.8.x` to `v0.9.0`
Version `0.9.0` introduces significant internal improvements while maintaining compatibility with existing database layouts and configuration file formats from version `0.8.0`. As a result, no data or configuration migration is necessary. This release focuses on enhancing performance and functionality, particularly in logging and tracing capabilities.
-To upgrade to Stalwart Mail Server version `0.9.0` from `0.8.x`, begin by downloading the latest version of the `stalwart-mail` binary. Once downloaded, replace the existing binary with the new version. Additionally, it's important to update the WebAdmin interface to the latest version to ensure compatibility and to access new features introduced in this release.
+To upgrade to Stalwart version `0.9.0` from `0.8.x`, begin by downloading the latest version of the `stalwart-mail` binary. Once downloaded, replace the existing binary with the new version. Additionally, it's important to update the WebAdmin interface to the latest version to ensure compatibility and to access new features introduced in this release.
In terms of breaking changes, this release brings significant updates to webhooks. All webhook event names have been modified, requiring a thorough review and adjustment of existing webhook configurations. Furthermore, the update introduces hundreds of new event types, enhancing the granularity and specificity of event handling capabilities. Users should familiarize themselves with these changes to effectively integrate them into their systems.
@@ -151,7 +151,7 @@ Version `0.8.0` includes both performance and security enhancements that require
Upgrading from `v0.6.0` to `v0.7.0`
-----------------------------------
-Version `0.7.0` of Stalwart Mail Server introduces significant improvements and features that enhance performance and functionality. However, it also comes with multiple breaking changes in the configuration files and a revamped database layout optimized for accessing large mailboxes. Additionally, Stalwart now supports compression for binaries stored in the blob store, further increasing efficiency.
+Version `0.7.0` of Stalwart introduces significant improvements and features that enhance performance and functionality. However, it also comes with multiple breaking changes in the configuration files and a revamped database layout optimized for accessing large mailboxes. Additionally, Stalwart now supports compression for binaries stored in the blob store, further increasing efficiency.
Due to these extensive changes, the recommended approach for upgrading is to perform a clean reinstallation of Stalwart and manually migrate your accounts to the new version.
## Pre-Upgrade Steps
@@ -249,7 +249,7 @@ Upgrading from `v0.4.x` to `v0.5.0`
Rather than manually updating the configuration file, it is recommended to start with a fresh configuration file and update it with the necessary settings:
-- Install `v0.5.0` in a distinct directory. You now have the option to use an [internal directory](https://stalw.art/docs/directory/types/internal), which will allow you to manage users and groups directly from Stalwart Mail server. Alternatively, you can continue to use an external directory such as LDAP or SQL.
+- Install `v0.5.0` in a distinct directory. You now have the option to use an [internal directory](https://stalw.art/docs/directory/types/internal), which will allow you to manage users and groups directly from Stalwart server. Alternatively, you can continue to use an external directory such as LDAP or SQL.
- Update the configuration files with your previous settings. All configuration attributes are backward compatible, except those starting with `store.*`, `directory.*` and `jmap.purge.*`.
- Export each account following the procedure described in the [migration guide](https://stalw.art/docs/management/database/migrate).
- Stop the old `v0.4.x` server.
@@ -301,14 +301,14 @@ Upgrading from `v0.3.x` to `v0.4.0`
5. **Configure the SPAM Filter Database:** Set up and configure the SPAM filter database. More details can be found [here](https://stalw.art/docs/spamfilter/settings/database).
6. **Review All TOML Files:** Navigate to every TOML file under the `etc/` directory and make necessary changes.
7. **Update Binary:** Download and substitute the v0.4.0 binary suitable for your platform from [here](https://github.com/stalwartlabs/mail-server/releases/tag/v0.4.0).
-8. **Restart Service:** Conclude by restarting the Stalwart Mail Server service.
+8. **Restart Service:** Conclude by restarting the Stalwart service.
### Alternative Method:
1. **Separate Installation:** Install v0.4.0 in a distinct directory. This will auto-update all configuration files and establish the spam filter database in SQLite format.
2. **Move Configuration Files:** Transfer the configuration files from `etc/` and the SQLite spam filter database from `data/` to your current installation's directory.
3. **Replace Binary:** Move the binary from the `bin/` directory to your current installation's `data/` directory.
-4. **Restart Service:** Finally, restart the Stalwart Mail Server service.
+4. **Restart Service:** Finally, restart the Stalwart service.
We apologize for the lack of an automated migration tool for this upgrade. However, we are planning on introducing an automated migration tool in the near future. Thank you for your understanding and patience.
diff --git a/api/v1/openapi.yml b/api/v1/openapi.yml
index 8e450e65..1753c464 100644
--- a/api/v1/openapi.yml
+++ b/api/v1/openapi.yml
@@ -4,7 +4,7 @@
openapi: 3.0.0
info:
- title: Stalwart Mail Server API
+ title: Stalwart API
version: 1.0.0
servers:
- url: https://mail.example.org/api
diff --git a/crates/common/src/config/telemetry.rs b/crates/common/src/config/telemetry.rs
index dc286a95..6c13aaa4 100644
--- a/crates/common/src/config/telemetry.rs
+++ b/crates/common/src/config/telemetry.rs
@@ -660,10 +660,10 @@ impl Metrics {
.property_or_default("metrics.open-telemetry.interval", "1m")
.unwrap_or_else(|| Duration::from_secs(60));
let resource = Resource::new([
- KeyValue::new(SERVICE_NAME, "stalwart-mail"),
+ KeyValue::new(SERVICE_NAME, "stalwart"),
KeyValue::new(SERVICE_VERSION, env!("CARGO_PKG_VERSION")),
]);
- let instrumentation = InstrumentationLibrary::builder("stalwart-mail")
+ let instrumentation = InstrumentationLibrary::builder("stalwart")
.with_version(env!("CARGO_PKG_VERSION"))
.build();
diff --git a/crates/common/src/manager/boot.rs b/crates/common/src/manager/boot.rs
index 12afaae6..374dd13f 100644
--- a/crates/common/src/manager/boot.rs
+++ b/crates/common/src/manager/boot.rs
@@ -58,7 +58,7 @@ const HELP: &str = concat!(
env!("CARGO_PKG_VERSION"),
r#"
-Usage: stalwart-mail [OPTIONS]
+Usage: stalwart [OPTIONS]
Options:
-c, --config