Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.0.0 release #102

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,26 @@

## pre-v4.0.0

* Fix unexpected crash during SSL tests:
https://github.com/elli-lib/elli/pull/91

* Do not spawn a new acceptor until after a successful TLS handhake:
https://github.com/elli-lib/elli/pull/90

* Headers are now properly treated as case-insensitive
* Original headers that have not had `string:casefold/1` run on each header
name are still available in the request through `elli_request:original_headers`
Original headers that have not had `string:casefold/1` run on each header
name are still available in the request through `elli_request:original_headers`:
https://github.com/elli-lib/elli/pull/92

* Handle uncommon integer status codes (as per `elli:response_code/0`):
https://github.com/elli-lib/elli/pull/96

* In `elli_http` export `send_file/5` and `close_or_keepalive/2`:
https://github.com/elli-lib/elli/pull/98

## v3.3.0

* Do not use x-forwarded-for for peer #75
* Do not use x-forwarded-for for peer #75
* Handle arguments with no value in (post|get)_arg_decoded #82
* Fix compile-time warnings on missing record info. from aleppo #81

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
The MIT License

Copyright (c) 2012-2016 Knut Nesheim
Copyright (c) 2016-2018 elli-lib team
Copyright (c) 2016-2021 elli-lib team

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
[erlang downloads]: http://www.erlang.org/downloads
[doc badge]: https://img.shields.io/badge/docs-edown-green.svg
[docs]: doc/README.md
[coveralls badge]: https://coveralls.io/repos/github/elli-lib/elli/badge.svg?branch=develop
[coveralls link]: https://coveralls.io/github/elli-lib/elli?branch=develop
[coveralls badge]: https://coveralls.io/repos/github/elli-lib/elli/badge.svg?branch=main
[coveralls link]: https://coveralls.io/github/elli-lib/elli?branch=main
[license badge]: https://img.shields.io/badge/license-MIT-blue.svg

Elli is a webserver you can run inside your Erlang application to
Expand All @@ -27,7 +27,7 @@ webserver, `elli` might be for you. If you're building web services,
not web sites, then `elli` might be for you.

Elli is used in production at Wooga and Game Analytics. Elli requires
OTP 18.0 or newer.
OTP 20.0 or newer.


## Installation
Expand All @@ -40,7 +40,7 @@ Add `elli` to your application by adding it as a dependency to your
```erlang
{deps, [
%% ...
{elli, "3.0.0"}
{elli, "4.0.0"}
]}.
```

Expand Down
10 changes: 10 additions & 0 deletions doc/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[Makefile]
indent_style = tab
6 changes: 3 additions & 3 deletions doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ SOURCE_DOCS := $(wildcard *.md)
EXPORTED_DOCS=\
$(SOURCE_DOCS:.md=.html)

RM=/bin/rm
RM ?= /bin/rm -f

PANDOC=pandoc
PANDOC ?= pandoc

PANDOC_HTML_OPTIONS=--standalone --highlight-style=tango --template tpl.html -f gfm --to html5

Expand All @@ -18,4 +18,4 @@ PANDOC_HTML_OPTIONS=--standalone --highlight-style=tango --template tpl.html -f
all : $(EXPORTED_DOCS)

clean:
- $(RM) -f $(EXPORTED_DOCS)
- $(RM) $(EXPORTED_DOCS)
4 changes: 2 additions & 2 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

# elli #

Copyright (c) 2012-2016 Knut Nesheim, 2016-2018 elli-lib team
Copyright (c) 2012-2016 Knut Nesheim, 2016-2021 elli-lib team

__Version:__ 3.0.0
__Version:__ 4.0.0

__Authors:__ Knut Nesheim, elli-lib team.

Expand Down
4 changes: 2 additions & 2 deletions doc/build.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#! /usr/bin/env bash

cd $(dirname $(realpath $0))

Expand All @@ -7,7 +7,7 @@ make

# fix internal doc links
sed -i 's/https:\/\/github\.com\/doc\/\([a-zA-Z_-]*\)\.md/\1.html/g' *.html
sed -i 's/\"\([a-zA-Z_-]*\)\.md\([a-zA-Z_-#]*\)\"/\"\1.html\2\"/g' *.html
sed -i 's/\"\([a-zA-Z_-]*\)\.md\([a-zA-Z#_-]*\)\"/\"\1.html\2\"/g' *.html
sed -i 's/\"doc\/\([a-zA-Z_-]*\)\.md\"/\"\1.html\"/g' *.html
sed -i 's/\"\([a-zA-Z_-]*\)\.md\"/\"\1.html\"/g' *.html

Expand Down
21 changes: 11 additions & 10 deletions doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,31 @@
[![Hex.pm][hex badge]][hex package]
[![Documentation][doc badge]][docs]
[![Erlang][erlang badge]][erlang downloads]
[![Travis CI][travis badge]][travis builds]
![Common Test](https://github.com/elli-lib/elli/workflows/Common%20Test/badge.svg)
[![Coverage Status][coveralls badge]][coveralls link]
[![MIT License][license badge]](LICENSE)

[travis builds]: https://travis-ci.org/elli-lib/elli
[travis badge]: https://travis-ci.org/elli-lib/elli.svg
[hex badge]: https://img.shields.io/hexpm/v/elli.svg
[hex package]: https://hex.pm/packages/elli
[latest release]: https://github.com/elli-lib/elli/releases/latest
[erlang badge]: https://img.shields.io/badge/erlang-%E2%89%A518.0-red.svg
[erlang badge]: https://img.shields.io/badge/erlang-%E2%89%A520.0-red.svg
[erlang downloads]: http://www.erlang.org/downloads
[doc badge]: https://img.shields.io/badge/docs-edown-green.svg
[docs]: doc/README.md
[coveralls badge]: https://coveralls.io/repos/github/elli-lib/elli/badge.svg?branch=develop
[coveralls link]: https://coveralls.io/github/elli-lib/elli?branch=develop
[coveralls badge]: https://coveralls.io/repos/github/elli-lib/elli/badge.svg?branch=main
[coveralls link]: https://coveralls.io/github/elli-lib/elli?branch=main
[license badge]: https://img.shields.io/badge/license-MIT-blue.svg

Elli is a webserver you can run inside your Erlang application to
expose an HTTP API. Elli is a aimed exclusively at building
expose an HTTP API. Elli is aimed exclusively at building
high-throughput, low-latency HTTP APIs. If robustness and performance
is more important than general purpose features, then `elli` might be
for you. If you find yourself digging into the implementation of a
webserver, `elli` might be for you. If you're building web services,
not web sites, then `elli` might be for you.

Elli is used in production at Wooga and Game Analytics. Elli requires
OTP 18.0 or newer.
OTP 20.0 or newer.


## Installation
Expand All @@ -40,7 +38,10 @@ Add `elli` to your application by adding it as a dependency to your
[`rebar.config`](http://www.rebar3.org/docs/configuration):

```erlang
{deps, [elli]}.
{deps, [
%% ...
{elli, "4.0.0"}
]}.
```

Afterwards you can run:
Expand Down Expand Up @@ -302,4 +303,4 @@ about benchmarking HTTP servers.

Elli is licensed under [The MIT License](LICENSE).

Copyright (c) 2012-2016 Knut Nesheim, 2016-2018 elli-lib team
Copyright (c) 2012-2016 Knut Nesheim, 2016-2021 elli-lib team
4 changes: 2 additions & 2 deletions doc/overview.edoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@author Knut Nesheim
@author elli-lib team
@copyright 2012-2016 Knut Nesheim, 2016-2018 elli-lib team
@version 3.0.0
@copyright 2012-2016 Knut Nesheim, 2016-2021 elli-lib team
@version 4.0.0
@title elli
@doc Erlang web server for HTTP APIs

Expand Down
2 changes: 1 addition & 1 deletion src/elli.app.src
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{application, elli,
[
{description, "Erlang web server for HTTP APIs"},
{vsn, "3.3.0"},
{vsn, "4.0.0"},
{modules, [
elli,
elli_example_callback,
Expand Down