diff --git a/.github/contributors.json b/.github/contributors.json
index 4c1ae84862..a04f8c9df1 100644
--- a/.github/contributors.json
+++ b/.github/contributors.json
@@ -1643,5 +1643,10 @@
"name": "Alex Kanavos",
"github_login": "alexkanavos",
"twitter_username": ""
+ },
+ {
+ "name": "LJFP",
+ "github_login": "ljfp",
+ "twitter_username": ""
}
]
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3c73612a0a..d7006c6907 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,87 @@ All enhancements and patches to Cookiecutter Django will be documented in this f
+## 2024.10.01
+
+
+### Updated
+
+- Update sentry-sdk to 2.15.0 ([#5413](https://github.com/cookiecutter/cookiecutter-django/pull/5413))
+
+## 2024.09.29
+
+
+### Updated
+
+- Update psycopg to 3.2.3 ([#5411](https://github.com/cookiecutter/cookiecutter-django/pull/5411))
+
+## 2024.09.28
+
+
+### Updated
+
+- Update uvicorn to 0.31.0 ([#5408](https://github.com/cookiecutter/cookiecutter-django/pull/5408))
+
+## 2024.09.27
+
+
+### Updated
+
+- Update redis to 5.1.0 ([#5406](https://github.com/cookiecutter/cookiecutter-django/pull/5406))
+
+- Update django-allauth to 65.0.2 ([#5405](https://github.com/cookiecutter/cookiecutter-django/pull/5405))
+
+## 2024.09.26
+
+
+### Updated
+
+- Update ruff to 0.6.8 ([#5402](https://github.com/cookiecutter/cookiecutter-django/pull/5402))
+
+## 2024.09.24
+
+
+### Updated
+
+- Update django-stubs to 5.1.0 ([#5400](https://github.com/cookiecutter/cookiecutter-django/pull/5400))
+
+## 2024.09.23
+
+
+### Changed
+
+- Fix Makefile and make.bat files used for automatic generation of documentation. ([#5347](https://github.com/cookiecutter/cookiecutter-django/pull/5347))
+
+### Updated
+
+- Update django-allauth to 65.0.1 ([#5399](https://github.com/cookiecutter/cookiecutter-django/pull/5399))
+
+- Auto-update pre-commit hooks ([#5392](https://github.com/cookiecutter/cookiecutter-django/pull/5392))
+
+- Update django-allauth to 65.0.0 ([#5393](https://github.com/cookiecutter/cookiecutter-django/pull/5393))
+
+- Update ruff to 0.6.7 ([#5394](https://github.com/cookiecutter/cookiecutter-django/pull/5394))
+
+## 2024.09.21
+
+
+### Updated
+
+- Auto-update pre-commit hooks ([#5391](https://github.com/cookiecutter/cookiecutter-django/pull/5391))
+
+## 2024.09.20
+
+
+### Updated
+
+- Update sphinx-autobuild to 2024.9.19 ([#5386](https://github.com/cookiecutter/cookiecutter-django/pull/5386))
+
+- Bump traefik from 3.1.3 to 3.1.4 in /{{cookiecutter.project_slug}}/compose/production/traefik ([#5389](https://github.com/cookiecutter/cookiecutter-django/pull/5389))
+
+- Update ruff to 0.6.6 ([#5388](https://github.com/cookiecutter/cookiecutter-django/pull/5388))
+
+- Update tox to 4.20.0 ([#5387](https://github.com/cookiecutter/cookiecutter-django/pull/5387))
+
## 2024.09.17
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index bbf688aebc..14b2581d20 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -1419,6 +1419,13 @@ Listed in alphabetical order.
|
+
+ LJFP |
+
+ ljfp
+ |
+ |
+
Luis Nell |
diff --git a/pyproject.toml b/pyproject.toml
index 7e939c7ef3..cb147b8133 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "cookiecutter-django"
-version = "2024.09.17"
+version = "2024.10.01"
description = "A Cookiecutter template for creating production-ready Django projects quickly."
readme = "README.md"
keywords = [
diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
index e487ac49da..3d7cc6f092 100644
--- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
+++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
@@ -35,7 +35,7 @@ repos:
# Run the Ruff linter.
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.6.5
+ rev: v0.6.8
hooks:
# Linter
- id: ruff
diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile
index fbb62e2394..028e8f0f74 100644
--- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile
+++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile
@@ -1,5 +1,5 @@
# define an alias for the specific python version used in this file.
-FROM docker.io/python:3.12.6-slim-bookworm AS python
+FROM docker.io/python:3.12.7-slim-bookworm AS python
# Python build stage
FROM python AS python-build-stage
diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile
index ed1b1dd2a2..40caf85117 100644
--- a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile
+++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile
@@ -1,5 +1,5 @@
# define an alias for the specific python version used in this file.
-FROM docker.io/python:3.12.6-slim-bookworm AS python
+FROM docker.io/python:3.12.7-slim-bookworm AS python
# Python build stage
diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile
index 86aae67d5b..35393dbf76 100644
--- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile
+++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile
@@ -25,7 +25,7 @@ RUN npm run build
{%- endif %}
# define an alias for the specific python version used in this file.
-FROM docker.io/python:3.12.6-slim-bookworm AS python
+FROM docker.io/python:3.12.7-slim-bookworm AS python
# Python build stage
FROM python AS python-build-stage
diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile
index e6ca24eb96..0ef4ce6ca9 100644
--- a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile
+++ b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile
@@ -1,4 +1,4 @@
-FROM docker.io/traefik:3.1.3
+FROM docker.io/traefik:3.1.4
RUN mkdir -p /etc/traefik/acme \
&& touch /etc/traefik/acme/acme.json \
&& chmod 600 /etc/traefik/acme/acme.json
diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile
index cf080e4767..9e0e4d6c06 100644
--- a/{{cookiecutter.project_slug}}/docs/Makefile
+++ b/{{cookiecutter.project_slug}}/docs/Makefile
@@ -13,11 +13,11 @@ APP = /app
APP = ../{{cookiecutter.project_slug}}
{% endif %}
-.PHONY: help livehtml apidocs Makefile
+.PHONY: html livehtml apidocs Makefile
-# Put it first so that "make" without argument is like "make help".
-help:
- @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -c .
+# Put it first so that "make" without argument is like "make html".
+html:
+ @$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -c .
# Build, watch and serve docs with live reload
livehtml:
diff --git a/{{cookiecutter.project_slug}}/docs/make.bat b/{{cookiecutter.project_slug}}/docs/make.bat
index 6cd1129f03..fbf6eb45f2 100644
--- a/{{cookiecutter.project_slug}}/docs/make.bat
+++ b/{{cookiecutter.project_slug}}/docs/make.bat
@@ -12,7 +12,7 @@ set SOURCEDIR=_source
set BUILDDIR=_build
set APP=..\{{cookiecutter.project_slug}}
-if "%1" == "" goto help
+if "%1" == "" goto html
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
@@ -39,8 +39,8 @@ GOTO :EOF
sphinx-apidoc -o %SOURCEDIR%/api %APP%
GOTO :EOF
-:help
-%SPHINXBUILD% -b help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+:html
+%SPHINXBUILD% -b html %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd
diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt
index 7ea91c806c..a84169f427 100644
--- a/{{cookiecutter.project_slug}}/requirements/base.txt
+++ b/{{cookiecutter.project_slug}}/requirements/base.txt
@@ -11,7 +11,7 @@ argon2-cffi==23.1.0 # https://github.com/hynek/argon2_cffi
{%- if cookiecutter.use_whitenoise == 'y' %}
whitenoise==6.7.0 # https://github.com/evansd/whitenoise
{%- endif %}
-redis==5.0.8 # https://github.com/redis/redis-py
+redis==5.1.0 # https://github.com/redis/redis-py
{%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "n" %}
hiredis==3.0.0 # https://github.com/redis/hiredis-py
{%- endif %}
@@ -23,7 +23,7 @@ flower==2.0.1 # https://github.com/mher/flower
{%- endif %}
{%- endif %}
{%- if cookiecutter.use_async == 'y' %}
-uvicorn[standard]==0.30.6 # https://github.com/encode/uvicorn
+uvicorn[standard]==0.31.0 # https://github.com/encode/uvicorn
uvicorn-worker==0.2.0 # https://github.com/Kludex/uvicorn-worker
{%- endif %}
@@ -32,7 +32,7 @@ uvicorn-worker==0.2.0 # https://github.com/Kludex/uvicorn-worker
django==5.0.9 # pyup: < 5.1 # https://www.djangoproject.com/
django-environ==0.11.2 # https://github.com/joke2k/django-environ
django-model-utils==5.0.0 # https://github.com/jazzband/django-model-utils
-django-allauth[mfa]==64.2.1 # https://github.com/pennersr/django-allauth
+django-allauth[mfa]==65.0.2 # https://github.com/pennersr/django-allauth
django-crispy-forms==2.3 # https://github.com/django-crispy-forms/django-crispy-forms
crispy-bootstrap5==2024.2 # https://github.com/django-crispy-forms/crispy-bootstrap5
{%- if cookiecutter.frontend_pipeline == 'Django Compressor' %}
diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt
index 8698553557..1d635b37dc 100644
--- a/{{cookiecutter.project_slug}}/requirements/local.txt
+++ b/{{cookiecutter.project_slug}}/requirements/local.txt
@@ -4,9 +4,9 @@ watchdog==4.0.2 # https://github.com/gorakhargosh/watchdog
Werkzeug[watchdog]==3.0.4 # https://github.com/pallets/werkzeug
ipdb==0.13.13 # https://github.com/gotcha/ipdb
{%- if cookiecutter.use_docker == 'y' %}
-psycopg[c]==3.2.2 # https://github.com/psycopg/psycopg
+psycopg[c]==3.2.3 # https://github.com/psycopg/psycopg
{%- else %}
-psycopg[binary]==3.2.2 # https://github.com/psycopg/psycopg
+psycopg[binary]==3.2.3 # https://github.com/psycopg/psycopg
{%- endif %}
{%- if cookiecutter.use_async == 'y' or cookiecutter.use_celery == 'y' %}
watchfiles==0.24.0 # https://github.com/samuelcolvin/watchfiles
@@ -15,7 +15,7 @@ watchfiles==0.24.0 # https://github.com/samuelcolvin/watchfiles
# Testing
# ------------------------------------------------------------------------------
mypy==1.11.2 # https://github.com/python/mypy
-django-stubs[compatible-mypy]==5.0.4 # https://github.com/typeddjango/django-stubs
+django-stubs[compatible-mypy]==5.1.0 # https://github.com/typeddjango/django-stubs
pytest==8.3.3 # https://github.com/pytest-dev/pytest
pytest-sugar==1.0.0 # https://github.com/Frozenball/pytest-sugar
{%- if cookiecutter.use_drf == "y" %}
@@ -25,11 +25,11 @@ djangorestframework-stubs==3.15.1 # https://github.com/typeddjango/djangorestfr
# Documentation
# ------------------------------------------------------------------------------
sphinx==7.4.7 # https://github.com/sphinx-doc/sphinx
-sphinx-autobuild==2024.9.17 # https://github.com/GaretJax/sphinx-autobuild
+sphinx-autobuild==2024.9.19 # https://github.com/GaretJax/sphinx-autobuild
# Code quality
# ------------------------------------------------------------------------------
-ruff==0.6.5 # https://github.com/astral-sh/ruff
+ruff==0.6.8 # https://github.com/astral-sh/ruff
coverage==7.6.1 # https://github.com/nedbat/coveragepy
djlint==1.35.2 # https://github.com/Riverside-Healthcare/djLint
pre-commit==3.8.0 # https://github.com/pre-commit/pre-commit
diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt
index 8678d3121d..424704337d 100644
--- a/{{cookiecutter.project_slug}}/requirements/production.txt
+++ b/{{cookiecutter.project_slug}}/requirements/production.txt
@@ -3,12 +3,12 @@
-r base.txt
gunicorn==23.0.0 # https://github.com/benoitc/gunicorn
-psycopg[c]==3.2.2 # https://github.com/psycopg/psycopg
+psycopg[c]==3.2.3 # https://github.com/psycopg/psycopg
{%- if cookiecutter.use_whitenoise == 'n' %}
Collectfasta==3.2.0 # https://github.com/jasongi/collectfasta
{%- endif %}
{%- if cookiecutter.use_sentry == "y" %}
-sentry-sdk==2.14.0 # https://github.com/getsentry/sentry-python
+sentry-sdk==2.15.0 # https://github.com/getsentry/sentry-python
{%- endif %}
{%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %}
hiredis==3.0.0 # https://github.com/redis/hiredis-py
diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt
index 32bcba665c..32905d6e0f 100644
--- a/{{cookiecutter.project_slug}}/runtime.txt
+++ b/{{cookiecutter.project_slug}}/runtime.txt
@@ -1 +1 @@
-python-3.12.6
+python-3.12.7
|