agate

Simple gemini server for static files
git clone https://github.com/mbrubeck/agate.git
Log | Files | Refs | README

commit 8d11af336e10bd6e481e3b353cd14cb0573b0f28
parent e00f8e5026f8ea86de743d4133f6460c81dc759e
Author: Johann150 <johann.galle@protonmail.com>
Date:   Sat, 27 Feb 2021 21:03:59 +0100

update documents for new version

Diffstat:
MCHANGELOG.md | 10++++++++--
MCONTRIBUTING.md | 1+
MCargo.lock | 2+-
MCargo.toml | 2+-
Mcontent/index.gmi | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------
5 files changed, 65 insertions(+), 22 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -6,8 +6,14 @@ 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] + +## [2.5.3] - 2021-02-27 Thank you to @littleli and @06kellyjac for contributing to this release. +### Added +* Automated tests have been added so things like 2.5.2 should not happen again (#34). +* Version information flag (`-V` or `--version` as conventional with e.g. cargo) + ### Changed * Forbid unsafe code. (There was none before, just make it harder to add some.) * When logging remote IP addresses, the port is now never logged, which also changes the address format. @@ -15,7 +21,6 @@ Thank you to @littleli and @06kellyjac for contributing to this release. ### Fixed * Updated `url` to newest version, which resolves a TODO. * The help exits successfully with `0` rather than `1` (#37). -* Automated tests have been added so things like 2.5.2 should not happen again (#34). * The GitHub workflow has been fixed so Windows binaries are compressed correctly (#36). * Split out install steps to allow for more options in the future. * Add install notes for nix/NixOS to the README (#38). @@ -187,7 +192,8 @@ Thank you to @m040601 for contributing to this release. ## [1.0.0] - 2020-05-21 -[Unreleased]: https://github.com/mbrubeck/agate/compare/v2.5.2...HEAD +[Unreleased]: https://github.com/mbrubeck/agate/compare/v2.5.3...HEAD +[2.5.3]: https://github.com/mbrubeck/agate/compare/v2.5.2...v2.5.3 [2.5.2]: https://github.com/mbrubeck/agate/compare/v2.5.1...v2.5.2 [2.5.1]: https://github.com/mbrubeck/agate/compare/v2.5.0...v2.5.1 [2.5.0]: https://github.com/mbrubeck/agate/compare/v2.4.1...v2.5.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md @@ -82,6 +82,7 @@ Contributions should: 1. Bump the version number appropriately. (Update `Cargo.lock` too!) 1. Run `cargo package` to make sure everything compiles correctly. 1. Update the changelog with the new version ranges. +1. Update agate's homepage (`content/index.gmi`) with changes to the README and CHANGELOG 1. Add a git tag for the version, e.g. with `git tag v2.4.1`. 1. Push the changelog commit and tag to the repository. Upon detecting the push of a tag beginning with "v", CI should start building the prebuilt binaries. diff --git a/Cargo.lock b/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "agate" -version = "2.5.2" +version = "2.5.3" dependencies = [ "anyhow", "configparser", diff --git a/Cargo.toml b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "agate" -version = "2.5.2" +version = "2.5.3" authors = ["Matt Brubeck <mbrubeck@limpet.net>", "Johann150 <johann+agate@qwertqwefsday.eu>"] description = "Very simple server for the Gemini hypertext protocol" keywords = ["server", "gemini", "hypertext", "internet", "protocol"] diff --git a/content/index.gmi b/content/index.gmi @@ -12,14 +12,27 @@ Since Agate by default uses port 1965, you should be able to run other servers ( => https://crates.io/crates/agate Agate on crates.io => https://github.com/mbrubeck/agate Source code -## Installation and setup +## Installation and Setup -1. Download and unpack the pre-compiled binary from the releases page: -=> https://github.com/mbrubeck/agate/releases +1. Get a binary for agate. You can use any of the below ways: -Or, if you have the Rust toolchain installed, run `cargo install agate` to install agate from crates.io. +### Pre-compiled -Or download the source code and run `cargo build --release` inside the source repository, then find the binary at `target/release/agate`. +Download and unpack the [pre-compiled binary](https://github.com/mbrubeck/agate/releases). + +### NixOS/Nix + +Using the nix package manager run `nix-env -i agate` + +_Note:_ agate is currently only in the unstable channel and will reach a release channel once the next release is tagged + +### Cargo + +If you have the Rust toolchain installed, run `cargo install agate` to install agate from crates.io. + +### Source + +Download the source code and run `cargo build --release` inside the source repository, then find the binary at `target/release/agate`. *** You can use the install script in the `tools` directory for the remaining steps if there is one for your system. If there is none, please consider contributing one to make it easier for less tech-savvy users! @@ -143,6 +156,25 @@ The format is based on Keep a Changelog and this project adheres to Semantic Ver ## [Unreleased] +## [2.5.3] - 2021-02-27 +Thank you to @littleli and @06kellyjac for contributing to this release. + +### Added +* Automated tests have been added so things like 2.5.2 should not happen again (#34). +* Version information flag (`-V` or `--version` as conventional with e.g. cargo) + +### Changed +* Forbid unsafe code. (There was none before, just make it harder to add some.) +* When logging remote IP addresses, the port is now never logged, which also changes the address format. + +### Fixed +* Updated `url` to newest version, which resolves a TODO. +* The help exits successfully with `0` rather than `1` (#37). +* The GitHub workflow has been fixed so Windows binaries are compressed correctly (#36). +* Split out install steps to allow for more options in the future. +* Add install notes for nix/NixOS to the README (#38). +* Updated dependencies. + ## [2.5.2] - 2021-02-12 ### Fixed @@ -156,10 +188,10 @@ Functionally equivalent to version 2.5.1, only releasing a new version to update ## [2.5.0] - 2021-02-12 Agate now has an explicit code of conduct and contributing guidelines. -Thank you to @gegeweb for contributing to this release. +Thank you to @ERnsTL, @gegeweb, @SuddenPineapple, and @Ylhp for contributing to this release. ### Added -* You can now supply multiple `--hostname`s to enable basic vhosts (#28). +* You can now supply multiple `--hostname`s to enable basic vhosts (#28, #31). * Disabling support for TLSv1.2 can now be done using the `--only-tls13` flag, but this is *NOT RECOMMENDED* (#12). * The tools now also contain a startup script for FreeBSD (#13). * Using central config mode (flag `-C`), all configuration can be done in one `.meta` file (see README.md for details). @@ -173,7 +205,7 @@ Thank you to @gegeweb for contributing to this release. ### Fixed * The Syntax for the IPv6 address in the README has been corrected. -* Give a better error message when no keys are found in the key file instead of panicking with a range check. +* Give a better error message when no keys are found in the key file instead of panicking with a range check (#33). ## [2.4.1] - 2020-02-08 ### Fixed @@ -187,10 +219,10 @@ Since there is a new maintainer (@Johann150), the range in pre-compiled binaries ### Added * Added some installation tools for Debian. -* Added a sidecar file for specifying languages, MIME media types or complete headers on a per file basis. +* Added a sidecar file for specifying languages, MIME media types or complete headers on a per file basis (#16). ### Changed -* Improved logging output. Agate now also respects the `RUST_LOG` environment variable, so you can configure the log level. +* Improved logging output. Agate now also respects the `RUST_LOG` environment variable, so you can configure the log level (#22, #23). ## [2.3.0] - 2020-01-17 Thanks to @Johann150. @@ -199,14 +231,14 @@ Thanks to @Johann150. * Combine address and port back into a single command-line argument (#21). ## [2.2.0] - 2020-01-16 -Thank you to @Johann150 for contributing to this release. +Thank you to @gegeweb, @Johann150 and @purexo for contributing to this release. ### Changed * Split address and port into separate command-line parameters. ### Fixed -* Listen on both IPv6 and IPv4 interfaces by default. -* fix the logic for detecting hidden files (#20). +* Listen on both IPv6 and IPv4 interfaces by default (#14, #15). +* Do not serve files whose path contains a segment starting with a dot (#17, #20). * Fix redirects of URLs with query strings (#19). ## [2.1.3] - 2020-01-02 @@ -233,15 +265,17 @@ Thank you to @Johann150 for contributing to this release. ## [2.1.0] - 2020-12-29 * Enabled GitHub Discussions. If you are using Agate, please feel free to leave a comment to let us know about it! -Thank you to @Johann150 to contributing to this release. +Thank you to @Johann150 and @KilianKemps for contributing to this release. ### Added -* Optional directory listings (#9). +* Optional directory listings (#8, #9). ### Fixed * Updated dependencies. ## [2.0.0] - 2020-12-23 +Thank you to @bortzmeyer, @KillianKemps, and @Ylhp for contributing to this release. + ### Added * New `--language` option to add a language tag to the MIME type for text/gemini responses (#6). @@ -263,18 +297,20 @@ Thanks @dcreager for contributing this fix. * Updated dependencies to fix `cargo install` (#7). ## [1.3.0] - 2020-11-20 -Thank you @Johann150 and @tronje for contributing to this release! +Thank you @Johann150, @jonhiggs and @tronje for contributing to this release! ### Fixed * verify hostname and port in request URL (#4). -* improved logging (#3). +* improved logging (#2, #3). * Don't redirect to "/" when the path is empty (#5). * Update dependencies. ## [1.2.2] - 2020-09-21 +Thank you to @m040601 for contributing to this release. + ### Changed * Switch from `tree_magic` to `mime_guess` for simpler MIME type guessing. -* Built both x86_64 and ARM binaries. These binaries are built for Linux operating systems with glibc 2.28 or later, such as Debian 10 ("buster") or newer, Ubuntu 18.10 or newer, and Raspberry Pi OS 2019-06-20 or newer. +* Built both x86_64 and ARM binaries. These binaries are built for Linux operating systems with glibc 2.28 or later, such as Debian 10 ("buster") or newer, Ubuntu 18.10 or newer, and Raspberry Pi OS 2019-06-20 or newer (#1). ### Fixed * Update dependencies.