Skip to content

Commit fd80918

Browse files
authored
Merge branch 'master' into master
2 parents 2a0433e + bd734c5 commit fd80918

File tree

201 files changed

+3927
-4608
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+3927
-4608
lines changed

.github/dependabot.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "monthly"

.github/workflows/lint.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: lint
2+
on: [push, pull_request]
3+
permissions:
4+
contents: read # to fetch code (actions/checkout)
5+
jobs:
6+
lint:
7+
name: tox-${{ matrix.toxenv }}
8+
runs-on: ubuntu-latest
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
toxenv: [lint, docs-lint, pycodestyle]
13+
python-version: [ "3.10" ]
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Using Python ${{ matrix.python-version }}
17+
uses: actions/setup-python@v4
18+
with:
19+
python-version: ${{ matrix.python-version }}
20+
- name: Install Dependencies
21+
run: |
22+
python -m pip install --upgrade pip
23+
python -m pip install tox
24+
- run: tox -e ${{ matrix.toxenv }}

.github/workflows/tox.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: tox
2+
on: [push, pull_request]
3+
permissions:
4+
contents: read # to fetch code (actions/checkout)
5+
jobs:
6+
tox:
7+
name: ${{ matrix.os }} / ${{ matrix.python-version }}
8+
runs-on: ${{ matrix.os }}
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
os: [ubuntu-latest, macos-latest] # All OSes pass except Windows because tests need Unix-only fcntl, grp, pwd, etc.
13+
python-version: [ "3.7", "3.8", "3.9", "3.10", "3.11", "pypy-3.8" ]
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Using Python ${{ matrix.python-version }}
17+
uses: actions/setup-python@v4
18+
with:
19+
python-version: ${{ matrix.python-version }}
20+
- name: Install Dependencies
21+
run: |
22+
python -m pip install --upgrade pip
23+
python -m pip install tox
24+
- run: tox -e py

.pylintrc

+5-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ ignore=
1212

1313
disable=
1414
attribute-defined-outside-init,
15-
bad-continuation,
1615
bad-mcs-classmethod-argument,
1716
bare-except,
1817
broad-except,
@@ -21,18 +20,18 @@ disable=
2120
eval-used,
2221
fixme,
2322
import-error,
23+
import-outside-toplevel,
2424
import-self,
2525
inconsistent-return-statements,
2626
invalid-name,
27-
misplaced-comparison-constant,
2827
missing-docstring,
2928
no-else-return,
3029
no-member,
3130
no-self-argument,
32-
no-self-use,
3331
no-staticmethod-decorator,
3432
not-callable,
3533
protected-access,
34+
raise-missing-from,
3635
redefined-outer-name,
3736
too-few-public-methods,
3837
too-many-arguments,
@@ -51,3 +50,6 @@ disable=
5150
useless-import-alias,
5251
comparison-with-callable,
5352
try-except-raise,
53+
consider-using-with,
54+
consider-using-f-string,
55+
unspecified-encoding

.readthedocs.yaml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# .readthedocs.yaml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Set the version of Python and other tools you might need
9+
build:
10+
os: ubuntu-22.04
11+
tools:
12+
python: "3.11"
13+
14+
# Build documentation in the docs/ directory with Sphinx
15+
sphinx:
16+
configuration: docs/source/conf.py
17+
18+
# We recommend specifying your dependencies to enable reproducible builds:
19+
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
20+
# python:
21+
# install:
22+
# - requirements: docs/requirements.txt

.travis.yml

-35
This file was deleted.

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ The relevant maintainer for a pull request is assigned in 3 steps:
141141

142142
* Step 2: Find the MAINTAINERS file which affects this directory. If the directory itself does not have a MAINTAINERS file, work your way up the the repo hierarchy until you find one.
143143

144-
* Step 3: The first maintainer listed is the primary maintainer. The pull request is assigned to him. He may assign it to other listed maintainers, at his discretion.
144+
* Step 3: The first maintainer listed is the primary maintainer who is assigned the Pull Request. The primary maintainer can reassign a Pull Request to other listed maintainers.
145145

146146

147147
### I'm a maintainer, should I make pull requests too?

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
2009-2018 (c) Benoît Chesneau <benoitc@e-engura.org>
1+
2009-2023 (c) Benoît Chesneau <benoitc@gunicorn.org>
22
2009-2015 (c) Paul J. Davis <[email protected]>
33

44
Permission is hereby granted, free of charge, to any person

MAINTAINERS

+18-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,23 @@
1+
Core maintainers
2+
================
3+
14
Benoit Chesneau <[email protected]>
2-
Paul J. Davis <[email protected]>
3-
Randall Leeds <[email protected]>
45
Konstantin Kapustin <[email protected]>
6+
Randall Leeds <[email protected]>
7+
Berker Peksağ <[email protected]>
8+
Jason Madden <[email protected]>
9+
Brett Randall <[email protected]>
10+
11+
Alumni
12+
======
13+
14+
This list contains maintainers that are no longer active on the project.
15+
It is thanks to these people that the project has become what it is today.
16+
Thank you!
17+
18+
19+
Paul J. Davis <[email protected]>
520
Kenneth Reitz <[email protected]>
621
Nikolay Kim <[email protected]>
722
Andrew Svetlov <[email protected]>
8-
Stéphane Wirtel <[email protected]>
9-
Berker Peksağ <[email protected]>
23+
Stéphane Wirtel <[email protected]>

NOTICE

+3-38
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Gunicorn
22

3-
2009-2018 (c) Benoît Chesneau <benoitc@e-engura.org>
3+
2009-2023 (c) Benoît Chesneau <benoitc@gunicorn.org>
44
2009-2015 (c) Paul J. Davis <[email protected]>
55

66
Gunicorn is released under the MIT license. See the LICENSE
@@ -19,7 +19,7 @@ not be used in advertising or publicity pertaining to distribution
1919
of the software without specific, written prior permission.
2020

2121
VINAY SAJIP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
22-
INCLUDINGALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
22+
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
2323
VINAY SAJIP BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
2424
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
2525
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
@@ -82,43 +82,8 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
8282
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
8383
OTHER DEALINGS IN THE SOFTWARE.
8484

85-
doc/sitemap_gen.py
86-
------------------
87-
Under BSD License :
88-
89-
Copyright (c) 2004, 2005, Google Inc.
90-
All rights reserved.
91-
92-
Redistribution and use in source and binary forms, with or without
93-
modification, are permitted provided that the following conditions
94-
are met:
95-
96-
* Redistributions of source code must retain the above copyright
97-
notice, this list of conditions and the following disclaimer.
98-
99-
* Redistributions in binary form must reproduce the above
100-
copyright notice, this list of conditions and the following
101-
disclaimer in the documentation and/or other materials provided
102-
with the distribution.
103-
104-
* Neither the name of Google Inc. nor the names of its contributors
105-
may be used to endorse or promote products derived from this
106-
software without specific prior written permission.
107-
108-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
109-
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
110-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
111-
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
112-
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
113-
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
114-
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
115-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
116-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
117-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
118-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
119-
12085

12186
util/unlink.py
12287
--------------
12388

124-
backport frop python3 Lib/test/support.py
89+
backport from python3 Lib/test/support.py

README.rst

+17-7
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,30 @@ Gunicorn
99
:alt: Supported Python versions
1010
:target: https://pypi.python.org/pypi/gunicorn
1111

12-
.. image:: https://travis-ci.org/benoitc/gunicorn.svg?branch=master
12+
.. image:: https://github.com/benoitc/gunicorn/actions/workflows/tox.yml/badge.svg
1313
:alt: Build Status
14-
:target: https://travis-ci.org/benoitc/gunicorn
14+
:target: https://github.com/benoitc/gunicorn/actions/workflows/tox.yml
15+
16+
.. image:: https://github.com/benoitc/gunicorn/actions/workflows/lint.yml/badge.svg
17+
:alt: Lint Status
18+
:target: https://github.com/benoitc/gunicorn/actions/workflows/lint.yml
1519

1620
Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork
1721
worker model ported from Ruby's Unicorn_ project. The Gunicorn server is broadly
1822
compatible with various web frameworks, simply implemented, light on server
1923
resource usage, and fairly speedy.
2024

21-
Feel free to join us in `#gunicorn`_ on Freenode_.
25+
Feel free to join us in `#gunicorn`_ on `Libera.chat`_.
2226

2327
Documentation
2428
-------------
2529

26-
The documentation is hosted at http://docs.gunicorn.org.
30+
The documentation is hosted at https://docs.gunicorn.org.
2731

2832
Installation
2933
------------
3034

31-
Gunicorn requires **Python **Python 3.x >= 3.4**.
35+
Gunicorn requires **Python 3.x >= 3.5**.
3236

3337
Install from PyPI::
3438

@@ -52,13 +56,19 @@ Example with test app::
5256
$ gunicorn --workers=2 test:app
5357

5458

59+
Contributing
60+
------------
61+
62+
See `our complete contributor's guide <CONTRIBUTING.md>`_ for more details.
63+
64+
5565
License
5666
-------
5767

5868
Gunicorn is released under the MIT License. See the LICENSE_ file for more
5969
details.
6070

6171
.. _Unicorn: https://bogomips.org/unicorn/
62-
.. _`#gunicorn`: https://webchat.freenode.net/?channels=gunicorn
63-
.. _Freenode: https://freenode.net/
72+
.. _`#gunicorn`: https://web.libera.chat/?channels=#gunicorn
73+
.. _`Libera.chat`: https://libera.chat/
6474
.. _LICENSE: https://github.com/benoitc/gunicorn/blob/master/LICENSE

SECURITY.md

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Security Policy
2+
3+
## Reporting a Vulnerability
4+
5+
**Please note that public Github issues are open for everyone to see!**
6+
7+
If you believe you are found a problem in Gunicorn software, examples or documentation, we encourage you to send your report privately via [email](mailto:[email protected]?subject=Security%20issue%20in%20Gunicorn), or via Github using the *Report a vulnerability* button in the [Security](https://github.com/benoitc/gunicorn/security) section.
8+
9+
## Supported Releases
10+
11+
At this time, **only the latest release** receives any security attention whatsoever.
12+
13+
| Version | Status |
14+
| ------- | ------------------ |
15+
| latest release | :white_check_mark: |
16+
| 21.2.0 | :x: |
17+
| 20.0.0 | :x: |
18+
| < 20.0 | :x: |
19+
20+
## Python Versions
21+
22+
Gunicorn runs on Python 3.7+, we *highly recommend* the latest release of a [supported series](https://devguide.python.org/versions/) and will not prioritize issues exclusively affecting in EoL environments.

0 commit comments

Comments
 (0)