diff --git a/docs/source/settings.rst b/docs/source/settings.rst index 248f061ee..37725e7d5 100644 --- a/docs/source/settings.rst +++ b/docs/source/settings.rst @@ -42,6 +42,10 @@ application specific configuration. Loading the config from a Python module requires the ``python:`` prefix. +.. versionchanged:: 19.8 + Pre-19.4 behavior of loading a config file without a ``python:`` + prefix is now restored. + Server Socket ------------- diff --git a/gunicorn/config.py b/gunicorn/config.py index cab56ea53..56d8ca76b 100644 --- a/gunicorn/config.py +++ b/gunicorn/config.py @@ -519,6 +519,10 @@ class ConfigFile(Setting): .. versionchanged:: 19.4 Loading the config from a Python module requires the ``python:`` prefix. + + .. versionchanged:: 19.8 + Pre-19.4 behavior of loading a config file without a ``python:`` + prefix is now restored. """ class Bind(Setting): diff --git a/tests/test_config.py b/tests/test_config.py index 714d29262..31424e830 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -238,6 +238,20 @@ def test_load_config_module(): assert app.cfg.proc_name == "fooey" +@pytest.mark.parametrize("options", [ + ["-c", cfg_module()], + ["-c", cfg_file()], +]) +def test_load_fallback(options): + cmdline = ["prog_name"] + cmdline.extend(options) + with AltArgs(cmdline): + app = NoConfigApp() + assert app.cfg.bind == ["unix:/tmp/bar/baz"] + assert app.cfg.workers == 3 + assert app.cfg.proc_name == "fooey" + + def test_cli_overrides_config(): with AltArgs(["prog_name", "-c", cfg_file(), "-b", "blarney"]): app = NoConfigApp()