70 lines
2.4 KiB
Markdown
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
|