lander/CHANGELOG.md

70 lines
2.4 KiB
Markdown

# 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).
## [Unreleased](https://git.rustybever.be/Chewing_Bever/lander/src/branch/dev)
## [0.2.1](https://git.rustybever.be/Chewing_Bever/lander/src/tag/0.2.1)
### Added
* LNM - Lander Network Module
* Rewrite of the event loop & HTTP loop
* Fully independent library, maintained in its own repository
* Numerous improvements
* Streaming of headers
* Allow custom & an arbitrary number of response headers
* Better API for adding routes
* State machine HTTP loop
* Automatically support HEAD requests for all GET requests
* Event loop uses `epoll` instead of `poll`
* Configurable multithreading using `epoll`
* Trie-based router (no more RegEx)
* Landerctl
* `-c` flag to use custom config file (useful for testing)
* LSM
* Binary tree iterators
* Trie iterators
* Store iterators
## Removed
* Content-Disposition header for files
* Secure routes with a specified key (e.g. `/sl/:key`), as these were identical
to `/s/:key` routes
## [0.2.0](https://git.rustybever.be/Chewing_Bever/lander/src/tag/0.2.0)
### Added
* HTTP Loop
* Fully decoupled functionality from Lander-specific code
* Users can now define custom global & request-local contexts
* Introduced "response steps", allowing custom code during the response
part of a request
* LSM - Lander Storage Module
* Rewrite of trie codebase
* Introduced a custom data store using an in-memory trie as index and a
custom binary on-disk format
* Support for lookup, insert & a basic remove
* Lander
* Replaced old trie implementation with LSM store
* Add support for hosting arbitrary files
* Content type of file is set if provided when uploading file
* Support removing entries
* Landerctl
* Replaced old Bash script with Libcurl-based application
* Supporting posting redirects, pastes & arbitrarily large files
## [0.1.0](https://git.rustybever.be/Chewing_Bever/lander/src/tag/0.1.0)
### Added
* Implemented own event & HTTP loop (used Crow framework before)
* Serve redirects & pastes
* Support uploading pastes & redirects
* Env vars for configuring data dir and port