<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>django-mfa3, branch HEAD</title>
<subtitle>multi factor authentication for django</subtitle>
<entry>
<id>09bfa16b00f5bedfa044bb6d69a42b81883993a7</id>
<published>2026-04-25T12:09:46Z</published>
<updated>2026-04-25T12:09:46Z</updated>
<title type="text">ci: update actions</title>
<link rel="alternate" type="text/html" href="commit/09bfa16b00f5bedfa044bb6d69a42b81883993a7.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ci: update actions
</content>
</entry>
<entry>
<id>a4e79574cf07e65e68ba9709c074bd48e4269de2</id>
<published>2025-11-24T16:23:06Z</published>
<updated>2025-11-24T18:07:54Z</updated>
<title type="text">ci: add django 6.0</title>
<link rel="alternate" type="text/html" href="commit/a4e79574cf07e65e68ba9709c074bd48e4269de2.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ci: add django 6.0
</content>
</entry>
<entry>
<id>b98c695908e4e9d53866a3890407fd855a5a8555</id>
<published>2025-10-21T08:10:54Z</published>
<updated>2025-10-21T08:10:54Z</updated>
<title type="text">bump version to 1.1.0</title>
<link rel="alternate" type="text/html" href="commit/b98c695908e4e9d53866a3890407fd855a5a8555.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 1.1.0
</content>
</entry>
<entry>
<id>8fdb0e35b0bdb6805fa5f03aa03ffcc55453fc36</id>
<published>2025-10-21T08:07:08Z</published>
<updated>2025-10-21T08:07:08Z</updated>
<title type="text">pyproject.toml: declare as stable</title>
<link rel="alternate" type="text/html" href="commit/8fdb0e35b0bdb6805fa5f03aa03ffcc55453fc36.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">pyproject.toml: declare as stable
</content>
</entry>
<entry>
<id>00e6558b5c28efe609e0d17c6b30e2d09e8fcfa4</id>
<published>2025-10-21T08:04:32Z</published>
<updated>2025-10-21T08:04:32Z</updated>
<title type="text">ci: test with python 3.14</title>
<link rel="alternate" type="text/html" href="commit/00e6558b5c28efe609e0d17c6b30e2d09e8fcfa4.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ci: test with python 3.14
</content>
</entry>
<entry>
<id>f581d0c5201d5265fe5a997a7ee512470276e2c4</id>
<published>2025-09-03T14:41:25Z</published>
<updated>2025-09-03T19:00:42Z</updated>
<title type="text">pyproject.toml: update license format</title>
<link rel="alternate" type="text/html" href="commit/f581d0c5201d5265fe5a997a7ee512470276e2c4.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">pyproject.toml: update license format
</content>
</entry>
<entry>
<id>fa2db5c60889129bbdaa35bbe498f37cce0e1c9f</id>
<published>2025-08-13T11:03:15Z</published>
<updated>2025-08-14T05:23:03Z</updated>
<title type="text">update translations</title>
<link rel="alternate" type="text/html" href="commit/fa2db5c60889129bbdaa35bbe498f37cce0e1c9f.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">update translations
</content>
</entry>
<entry>
<id>8dfa12427d678b37c0189ec821515379fb0b7cc1</id>
<published>2025-08-13T10:25:38Z</published>
<updated>2025-08-13T10:48:02Z</updated>
<title type="text">add setting MAX_KEYS_PER_ACCOUNT</title>
<link rel="alternate" type="text/html" href="commit/8dfa12427d678b37c0189ec821515379fb0b7cc1.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add setting MAX_KEYS_PER_ACCOUNT
</content>
</entry>
<entry>
<id>2610ba11323ad202849483a7b8afba4ffbf4d5e8</id>
<published>2025-08-13T10:14:53Z</published>
<updated>2025-08-13T10:14:53Z</updated>
<title type="text">strip unnecessary whitespace in example template</title>
<link rel="alternate" type="text/html" href="commit/2610ba11323ad202849483a7b8afba4ffbf4d5e8.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">strip unnecessary whitespace in example template
</content>
</entry>
<entry>
<id>6033a47d5fe712bdab01a27f8b8d6c6e7fb12509</id>
<published>2025-08-07T07:40:38Z</published>
<updated>2025-08-07T07:40:58Z</updated>
<title type="text">bump supported django version</title>
<link rel="alternate" type="text/html" href="commit/6033a47d5fe712bdab01a27f8b8d6c6e7fb12509.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump supported django version
</content>
</entry>
<entry>
<id>025f413d7c5ec56e0efbe466beb58907c01ae051</id>
<published>2025-07-10T13:34:54Z</published>
<updated>2025-07-10T13:34:54Z</updated>
<title type="text">setup static files in test settings</title>
<link rel="alternate" type="text/html" href="commit/025f413d7c5ec56e0efbe466beb58907c01ae051.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">setup static files in test settings

this makes it easier to use these settings for a development server
</content>
</entry>
<entry>
<id>0ef97ebe4f3926550ae83dedf9305f7c62d68c33</id>
<published>2025-05-21T14:54:46Z</published>
<updated>2025-05-21T14:54:46Z</updated>
<title type="text">dependabot: ignore broken qrcode</title>
<link rel="alternate" type="text/html" href="commit/0ef97ebe4f3926550ae83dedf9305f7c62d68c33.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">dependabot: ignore broken qrcode

see a35618c
</content>
</entry>
<entry>
<id>cbecb0e57b9edaf7b9656dff40c1018b1442bca5</id>
<published>2025-05-21T14:44:44Z</published>
<updated>2025-05-21T14:44:44Z</updated>
<title type="text">bump version to 1.0.0</title>
<link rel="alternate" type="text/html" href="commit/cbecb0e57b9edaf7b9656dff40c1018b1442bca5.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 1.0.0
</content>
</entry>
<entry>
<id>a33f743db6aac0f5753c9e2fb3bc4e051bc52e36</id>
<published>2025-05-21T13:30:30Z</published>
<updated>2025-05-21T14:41:35Z</updated>
<title type="text">update to fido2 2.x</title>
<link rel="alternate" type="text/html" href="commit/a33f743db6aac0f5753c9e2fb3bc4e051bc52e36.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">update to fido2 2.x

see https://github.com/Yubico/python-fido2/blob/main/doc/Migration_1-2.adoc
</content>
</entry>
<entry>
<id>44be1fd05bad2783daa8d6a85aa6a25417e30093</id>
<published>2025-05-21T14:41:18Z</published>
<updated>2025-05-21T14:41:18Z</updated>
<title type="text">Merge pull request #13 from xi/fido2-json</title>
<link rel="alternate" type="text/html" href="commit/44be1fd05bad2783daa8d6a85aa6a25417e30093.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Merge pull request #13 from xi/fido2-json

fido2: use JSON encoding</content>
</entry>
<entry>
<id>271b7c240a75250fb9337a5a53c1ffffe4328687</id>
<published>2025-02-03T15:40:21Z</published>
<updated>2025-05-21T14:37:06Z</updated>
<title type="text">js: vendor webauthn-json</title>
<link rel="alternate" type="text/html" href="commit/271b7c240a75250fb9337a5a53c1ffffe4328687.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">js: vendor webauthn-json
</content>
</entry>
<entry>
<id>c1d45f9f973b310f7225a3604e17e6d7a2dfc2ad</id>
<published>2025-02-03T15:06:33Z</published>
<updated>2025-05-21T13:24:36Z</updated>
<title type="text">fido2: use JSON encoding</title>
<link rel="alternate" type="text/html" href="commit/c1d45f9f973b310f7225a3604e17e6d7a2dfc2ad.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fido2: use JSON encoding
</content>
</entry>
<entry>
<id>c3896f0e1343e938df0ecab89102a9620de3eff4</id>
<published>2025-02-03T15:06:27Z</published>
<updated>2025-05-21T13:24:36Z</updated>
<title type="text">js: convert to module</title>
<link rel="alternate" type="text/html" href="commit/c3896f0e1343e938df0ecab89102a9620de3eff4.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">js: convert to module
</content>
</entry>
<entry>
<id>fbbc19dcaa50b50e40e5476ed774d48b056cbe42</id>
<published>2025-05-21T13:13:42Z</published>
<updated>2025-05-21T13:21:13Z</updated>
<title type="text">bump version to 0.15.2</title>
<link rel="alternate" type="text/html" href="commit/fbbc19dcaa50b50e40e5476ed774d48b056cbe42.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.15.2
</content>
</entry>
<entry>
<id>7460adaa323e700cce27f0ee062756d584587c63</id>
<published>2025-05-21T13:13:21Z</published>
<updated>2025-05-21T13:21:13Z</updated>
<title type="text">update test matrix to django 5.2</title>
<link rel="alternate" type="text/html" href="commit/7460adaa323e700cce27f0ee062756d584587c63.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">update test matrix to django 5.2
</content>
</entry>
<entry>
<id>5b45c17f33f09062bcff0fa902f5d7b25769e7a5</id>
<published>2025-05-21T13:09:16Z</published>
<updated>2025-05-21T13:21:13Z</updated>
<title type="text">remove support for fido2 2.x for now</title>
<link rel="alternate" type="text/html" href="commit/5b45c17f33f09062bcff0fa902f5d7b25769e7a5.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">remove support for fido2 2.x for now
</content>
</entry>
<entry>
<id>fa1213f7bc64a38cb302381d1268eac3f7ebe617</id>
<published>2025-02-03T13:59:32Z</published>
<updated>2025-02-05T11:06:05Z</updated>
<title type="text">ci: update supported django/python versions</title>
<link rel="alternate" type="text/html" href="commit/fa1213f7bc64a38cb302381d1268eac3f7ebe617.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ci: update supported django/python versions
</content>
</entry>
<entry>
<id>6592fd5723ba29ec6f5e9597fb9b472ccb5677c6</id>
<published>2025-02-05T11:05:48Z</published>
<updated>2025-02-05T11:06:05Z</updated>
<title type="text">bump version to 0.15.1</title>
<link rel="alternate" type="text/html" href="commit/6592fd5723ba29ec6f5e9597fb9b472ccb5677c6.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.15.1
</content>
</entry>
<entry>
<id>13f6b823862ff4a5456f7053dd53ce2556fdcaf6</id>
<published>2025-02-03T15:00:57Z</published>
<updated>2025-02-05T11:06:05Z</updated>
<title type="text">rm unused templatetag libraries</title>
<link rel="alternate" type="text/html" href="commit/13f6b823862ff4a5456f7053dd53ce2556fdcaf6.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm unused templatetag libraries
</content>
</entry>
<entry>
<id>4a298b20ac756b3f244a3eb7d9496866173f78de</id>
<published>2025-02-03T13:56:06Z</published>
<updated>2025-02-03T15:45:24Z</updated>
<title type="text">fido2: fix json mapping deprecation warning</title>
<link rel="alternate" type="text/html" href="commit/4a298b20ac756b3f244a3eb7d9496866173f78de.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fido2: fix json mapping deprecation warning
</content>
</entry>
<entry>
<id>8118401b3574008cf7857e03576e64d06c390b56</id>
<published>2025-01-27T13:47:10Z</published>
<updated>2025-01-27T13:47:10Z</updated>
<title type="text">update french translation</title>
<link rel="alternate" type="text/html" href="commit/8118401b3574008cf7857e03576e64d06c390b56.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">update french translation
</content>
</entry>
<entry>
<id>e4056204f24f63bac543ba86020d20f5b32df4fb</id>
<published>2025-01-20T13:16:35Z</published>
<updated>2025-01-20T13:16:35Z</updated>
<title type="text">bump version to 0.15.0</title>
<link rel="alternate" type="text/html" href="commit/e4056204f24f63bac543ba86020d20f5b32df4fb.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.15.0
</content>
</entry>
<entry>
<id>0c4256f7d3e73bba5a003f722c23e0a7ab2c73f0</id>
<published>2025-01-20T13:08:25Z</published>
<updated>2025-01-20T13:09:10Z</updated>
<title type="text">clearer label for name</title>
<link rel="alternate" type="text/html" href="commit/0c4256f7d3e73bba5a003f722c23e0a7ab2c73f0.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">clearer label for name

users often input their own names
</content>
</entry>
<entry>
<id>9390c4828cf37ee6fe6898020b17dee4f3ac8f29</id>
<published>2025-01-20T12:59:21Z</published>
<updated>2025-01-20T13:09:07Z</updated>
<title type="text">tweak admin</title>
<link rel="alternate" type="text/html" href="commit/9390c4828cf37ee6fe6898020b17dee4f3ac8f29.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">tweak admin
</content>
</entry>
<entry>
<id>dd13aea88032e278d2419bb4b672389a7c14c015</id>
<published>2024-12-06T08:21:37Z</published>
<updated>2024-12-06T08:21:37Z</updated>
<title type="text">fixup changelog for 0.14.0</title>
<link rel="alternate" type="text/html" href="commit/dd13aea88032e278d2419bb4b672389a7c14c015.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fixup changelog for 0.14.0
</content>
</entry>
<entry>
<id>ecabef2b9029745e24ea3a7552e103ddd3bbd179</id>
<published>2024-12-06T08:15:38Z</published>
<updated>2024-12-06T08:15:38Z</updated>
<title type="text">bump version to 0.14.0</title>
<link rel="alternate" type="text/html" href="commit/ecabef2b9029745e24ea3a7552e103ddd3bbd179.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.14.0
</content>
</entry>
<entry>
<id>f00fb604e587a8f63a1551a27805321b01cf12cb</id>
<published>2024-12-06T07:22:28Z</published>
<updated>2024-12-06T07:26:46Z</updated>
<title type="text">drop support for python 3.8</title>
<link rel="alternate" type="text/html" href="commit/f00fb604e587a8f63a1551a27805321b01cf12cb.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">drop support for python 3.8
</content>
</entry>
<entry>
<id>49003746783e32cd60e55c4593bef5d7e709c4bd</id>
<published>2024-12-06T07:18:53Z</published>
<updated>2024-12-06T07:26:09Z</updated>
<title type="text">Revert &quot;Allow http on localhost&quot;</title>
<link rel="alternate" type="text/html" href="commit/49003746783e32cd60e55c4593bef5d7e709c4bd.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Revert &quot;Allow http on localhost&quot;

This reverts commit 203b60d3b09b412e888188a18c940eeab8f4cd85.

Fixes #24

This behavior is now available upstream, but with some differences:

- localhost is considered secure regardless of DEBUG
- 127.0.0.1 is not considered secure
</content>
</entry>
<entry>
<id>a8d453ae80bfda29d8e151d440b9971391a956cc</id>
<published>2024-11-01T14:39:53Z</published>
<updated>2024-11-01T14:39:53Z</updated>
<title type="text">use autocomplete=&quot;one-time-code&quot;</title>
<link rel="alternate" type="text/html" href="commit/a8d453ae80bfda29d8e151d440b9971391a956cc.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">use autocomplete=&quot;one-time-code&quot;

see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete-one-time-code
</content>
</entry>
<entry>
<id>471f06f0a4bf3740837a0b99e48925a59f54e617</id>
<published>2024-08-09T22:31:23Z</published>
<updated>2024-08-09T22:31:23Z</updated>
<title type="text">ci: test with django 5.1</title>
<link rel="alternate" type="text/html" href="commit/471f06f0a4bf3740837a0b99e48925a59f54e617.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ci: test with django 5.1
</content>
</entry>
<entry>
<id>c6026a977dc843bbbb65fc1abb3f0894b67d206d</id>
<published>2024-07-31T17:39:21Z</published>
<updated>2024-07-31T17:39:49Z</updated>
<title type="text">make it easier to use runserver</title>
<link rel="alternate" type="text/html" href="commit/c6026a977dc843bbbb65fc1abb3f0894b67d206d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">make it easier to use runserver
</content>
</entry>
<entry>
<id>5ff3a84ba0a9e65451aac93d54aa156ccdb8d1f3</id>
<published>2024-07-31T17:30:27Z</published>
<updated>2024-07-31T17:30:48Z</updated>
<title type="text">rm manage.py</title>
<link rel="alternate" type="text/html" href="commit/5ff3a84ba0a9e65451aac93d54aa156ccdb8d1f3.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm manage.py
</content>
</entry>
<entry>
<id>5668c417df3c826954f8a7f8759ec2505cdd1bd1</id>
<published>2024-07-31T17:21:11Z</published>
<updated>2024-07-31T17:21:11Z</updated>
<title type="text">mail: set Auto-Submitted header</title>
<link rel="alternate" type="text/html" href="commit/5668c417df3c826954f8a7f8759ec2505cdd1bd1.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">mail: set Auto-Submitted header
</content>
</entry>
<entry>
<id>19e7f818259a1b1e4810d465fc72426fcaa29200</id>
<published>2024-06-18T18:46:46Z</published>
<updated>2024-06-18T18:46:46Z</updated>
<title type="text">ci: enable pypi trusted publishing</title>
<link rel="alternate" type="text/html" href="commit/19e7f818259a1b1e4810d465fc72426fcaa29200.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ci: enable pypi trusted publishing
</content>
</entry>
<entry>
<id>989018331a26ace033d05b07a6d49119728ec55f</id>
<published>2024-06-18T18:07:18Z</published>
<updated>2024-06-18T18:07:18Z</updated>
<title type="text">bump version to 0.13.0</title>
<link rel="alternate" type="text/html" href="commit/989018331a26ace033d05b07a6d49119728ec55f.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.13.0
</content>
</entry>
<entry>
<id>7be4d3088d50c5ae6c23212b068bb20fb95800dd</id>
<published>2024-06-18T17:26:12Z</published>
<updated>2024-06-18T18:04:57Z</updated>
<title type="text">django 5.1: support LoginRequiredMiddleware</title>
<link rel="alternate" type="text/html" href="commit/7be4d3088d50c5ae6c23212b068bb20fb95800dd.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">django 5.1: support LoginRequiredMiddleware
</content>
</entry>
<entry>
<id>072e8db8f47a76c8c728ff472cb74e782b68e5b6</id>
<published>2024-06-18T17:37:54Z</published>
<updated>2024-06-18T17:49:59Z</updated>
<title type="text">ci: test with django 5.1a1</title>
<link rel="alternate" type="text/html" href="commit/072e8db8f47a76c8c728ff472cb74e782b68e5b6.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ci: test with django 5.1a1
</content>
</entry>
<entry>
<id>4a5e461a7e5391f8bc17cf0005a2f52fc83c805d</id>
<published>2024-06-18T17:42:04Z</published>
<updated>2024-06-18T17:49:59Z</updated>
<title type="text">ci: update setup-python action</title>
<link rel="alternate" type="text/html" href="commit/4a5e461a7e5391f8bc17cf0005a2f52fc83c805d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ci: update setup-python action
</content>
</entry>
<entry>
<id>03e5e486d892e54885b52757f2a40c8df4912056</id>
<published>2024-06-18T17:37:22Z</published>
<updated>2024-06-18T17:49:59Z</updated>
<title type="text">ruff: adapt to 0.3.0</title>
<link rel="alternate" type="text/html" href="commit/03e5e486d892e54885b52757f2a40c8df4912056.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ruff: adapt to 0.3.0
</content>
</entry>
<entry>
<id>f655cffef62c977820d27b1cab82dd62edc419f8</id>
<published>2024-06-18T17:25:43Z</published>
<updated>2024-06-18T17:40:21Z</updated>
<title type="text">refactor: use stronghold decorator</title>
<link rel="alternate" type="text/html" href="commit/f655cffef62c977820d27b1cab82dd62edc419f8.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">refactor: use stronghold decorator
</content>
</entry>
<entry>
<id>ee12d1a44a776fa350c7eb243ed969523668edcc</id>
<published>2024-06-18T17:06:39Z</published>
<updated>2024-06-18T17:40:21Z</updated>
<title type="text">style: rename decorator argument to view_func</title>
<link rel="alternate" type="text/html" href="commit/ee12d1a44a776fa350c7eb243ed969523668edcc.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">style: rename decorator argument to view_func
</content>
</entry>
<entry>
<id>ed114c75e37f5a89830b0fc150f907b586b8e839</id>
<published>2024-06-18T17:39:56Z</published>
<updated>2024-06-18T17:40:21Z</updated>
<title type="text">style: use f-strings</title>
<link rel="alternate" type="text/html" href="commit/ed114c75e37f5a89830b0fc150f907b586b8e839.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">style: use f-strings
</content>
</entry>
<entry>
<id>3e66d6000bb8602522fdceb082b9453a23b85910</id>
<published>2024-03-26T10:08:18Z</published>
<updated>2024-03-26T10:08:18Z</updated>
<title type="text">bump version to 0.12.1</title>
<link rel="alternate" type="text/html" href="commit/3e66d6000bb8602522fdceb082b9453a23b85910.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.12.1
</content>
</entry>
<entry>
<id>4183c84ce7f1c3b03b272ae50f0678d2ec036115</id>
<published>2024-03-26T08:41:14Z</published>
<updated>2024-03-26T09:57:19Z</updated>
<title type="text">bump version to 0.12.0</title>
<link rel="alternate" type="text/html" href="commit/4183c84ce7f1c3b03b272ae50f0678d2ec036115.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.12.0
</content>
</entry>
<entry>
<id>e6bc3fff758846cea9b393c1acda6bd8ec20d8d3</id>
<published>2024-03-26T09:55:06Z</published>
<updated>2024-03-26T09:57:19Z</updated>
<title type="text">fix: include login_failed_subject.txt in package</title>
<link rel="alternate" type="text/html" href="commit/e6bc3fff758846cea9b393c1acda6bd8ec20d8d3.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fix: include login_failed_subject.txt in package
</content>
</entry>
<entry>
<id>0ad343708acb5726ff4aa84512b36ba572bb45fc</id>
<published>2024-03-26T08:22:22Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">set id field type independent of DEFAULT_AUTO_FIELD</title>
<link rel="alternate" type="text/html" href="commit/0ad343708acb5726ff4aa84512b36ba572bb45fc.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">set id field type independent of DEFAULT_AUTO_FIELD

see https://docs.djangoproject.com/en/3.2/topics/db/models/#automatic-primary-key-fields
</content>
</entry>
<entry>
<id>00c35f1bef2a4edfaa4a5ee56ff5a821a45d2976</id>
<published>2024-03-01T15:12:40Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">ruff: adapt to 2.0</title>
<link rel="alternate" type="text/html" href="commit/00c35f1bef2a4edfaa4a5ee56ff5a821a45d2976.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ruff: adapt to 2.0
</content>
</entry>
<entry>
<id>5714529839380abc672eca55f7d1276d059d2f88</id>
<published>2024-03-01T15:12:20Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">ruff: rm target-version</title>
<link rel="alternate" type="text/html" href="commit/5714529839380abc672eca55f7d1276d059d2f88.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">ruff: rm target-version

the default is reasonable
</content>
</entry>
<entry>
<id>223c3556a74d9ba34d82205a6efa3ee1409be88b</id>
<published>2024-01-03T21:45:35Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">fix test: POST for logout</title>
<link rel="alternate" type="text/html" href="commit/223c3556a74d9ba34d82205a6efa3ee1409be88b.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fix test: POST for logout

required starting with django 5.0
</content>
</entry>
<entry>
<id>88410c1eb197349531c306d8a9599f6560496acd</id>
<published>2024-01-03T21:43:16Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">add support for django 5.0</title>
<link rel="alternate" type="text/html" href="commit/88410c1eb197349531c306d8a9599f6560496acd.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add support for django 5.0
</content>
</entry>
<entry>
<id>6ae86e2aae6a4459f42f711d300cdce9b439e7e3</id>
<published>2024-01-03T21:43:09Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">drop support for django 4.1</title>
<link rel="alternate" type="text/html" href="commit/6ae86e2aae6a4459f42f711d300cdce9b439e7e3.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">drop support for django 4.1
</content>
</entry>
<entry>
<id>0010573f3f8587d2d5a62313cc6efce17ad7696d</id>
<published>2024-01-03T18:00:51Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">typo</title>
<link rel="alternate" type="text/html" href="commit/0010573f3f8587d2d5a62313cc6efce17ad7696d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">typo
</content>
</entry>
<entry>
<id>c96f449525e7bc2d10d4a93092fa10b03103306d</id>
<published>2024-01-03T16:56:17Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">extend gitignore</title>
<link rel="alternate" type="text/html" href="commit/c96f449525e7bc2d10d4a93092fa10b03103306d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">extend gitignore
</content>
</entry>
<entry>
<id>7b240f722c5416f9d64367b2748d6a0ed0232ca2</id>
<published>2023-11-04T11:41:24Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">rm support for python 3.7</title>
<link rel="alternate" type="text/html" href="commit/7b240f722c5416f9d64367b2748d6a0ed0232ca2.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm support for python 3.7
</content>
</entry>
<entry>
<id>62b000a683395d0a3a71f781d5a09c1fbe35daa9</id>
<published>2023-11-04T11:37:10Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">integrate MANIFEST.in into pyproject.toml</title>
<link rel="alternate" type="text/html" href="commit/62b000a683395d0a3a71f781d5a09c1fbe35daa9.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">integrate MANIFEST.in into pyproject.toml
</content>
</entry>
<entry>
<id>a22c373d9e4c55118e846376527791bf4684b0b9</id>
<published>2023-11-04T11:04:34Z</published>
<updated>2024-03-26T09:57:06Z</updated>
<title type="text">replace setup.py by pyproject.toml</title>
<link rel="alternate" type="text/html" href="commit/a22c373d9e4c55118e846376527791bf4684b0b9.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">replace setup.py by pyproject.toml
</content>
</entry>
<entry>
<id>8926c837be05b42e2a73dc5d2ae704f5ae17907d</id>
<published>2023-10-13T16:29:18Z</published>
<updated>2023-11-04T11:40:00Z</updated>
<title type="text">github: update actions/checkout to v4</title>
<link rel="alternate" type="text/html" href="commit/8926c837be05b42e2a73dc5d2ae704f5ae17907d.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">github: update actions/checkout to v4
</content>
</entry>
<entry>
<id>da497a5755c127cc2df277198d54a21825cacc30</id>
<published>2023-10-08T08:54:16Z</published>
<updated>2023-10-08T08:54:29Z</updated>
<title type="text">use python 3.12 in CI</title>
<link rel="alternate" type="text/html" href="commit/da497a5755c127cc2df277198d54a21825cacc30.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">use python 3.12 in CI
</content>
</entry>
<entry>
<id>88257443e86e2a7f7c648ef99da49f51f8d49107</id>
<published>2023-09-18T07:15:27Z</published>
<updated>2023-09-18T07:23:35Z</updated>
<title type="text">inherit from MiddlewareMixin</title>
<link rel="alternate" type="text/html" href="commit/88257443e86e2a7f7c648ef99da49f51f8d49107.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">inherit from MiddlewareMixin

gives async compatibility for free
</content>
</entry>
<entry>
<id>72a5937e63fde95f49f6e66bb25d641cce331690</id>
<published>2023-08-31T09:52:10Z</published>
<updated>2023-09-18T07:16:01Z</updated>
<title type="text">disable RUF012</title>
<link rel="alternate" type="text/html" href="commit/72a5937e63fde95f49f6e66bb25d641cce331690.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">disable RUF012

see https://github.com/astral-sh/ruff/issues/5243
</content>
</entry>
<entry>
<id>384160f21ee9b33d7adb13924116d4afe0b68db8</id>
<published>2023-08-30T12:45:57Z</published>
<updated>2023-08-30T12:45:57Z</updated>
<title type="text">README: mention settings.py</title>
<link rel="alternate" type="text/html" href="commit/384160f21ee9b33d7adb13924116d4afe0b68db8.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">README: mention settings.py
</content>
</entry>
<entry>
<id>a989df12dc25fee625e2ba79819f60463afe2fb7</id>
<published>2023-06-16T14:52:45Z</published>
<updated>2023-06-16T14:56:15Z</updated>
<title type="text">github actions: publish to pypi automatically</title>
<link rel="alternate" type="text/html" href="commit/a989df12dc25fee625e2ba79819f60463afe2fb7.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">github actions: publish to pypi automatically

see https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
</content>
</entry>
<entry>
<id>5dfd9a52939a44723e04034cb9edb0f534804b30</id>
<published>2023-06-16T14:51:28Z</published>
<updated>2023-06-16T14:51:28Z</updated>
<title type="text">github actions: update actions</title>
<link rel="alternate" type="text/html" href="commit/5dfd9a52939a44723e04034cb9edb0f534804b30.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">github actions: update actions
</content>
</entry>
<entry>
<id>3e65b51895c5a28b870f2dcbdd98e0d71dff4552</id>
<published>2023-04-14T07:57:42Z</published>
<updated>2023-04-14T07:57:42Z</updated>
<title type="text">use absolute links to github in README</title>
<link rel="alternate" type="text/html" href="commit/3e65b51895c5a28b870f2dcbdd98e0d71dff4552.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">use absolute links to github in README
</content>
</entry>
<entry>
<id>599cb68b632dbe52238408c30d94d13d8bf5008f</id>
<published>2023-04-14T07:44:11Z</published>
<updated>2023-04-14T07:44:11Z</updated>
<title type="text">bump version to 0.11.0</title>
<link rel="alternate" type="text/html" href="commit/599cb68b632dbe52238408c30d94d13d8bf5008f.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.11.0
</content>
</entry>
<entry>
<id>fcaf55a261bf4d7aae4648d2f4b6d9a9a09366c1</id>
<published>2023-04-14T07:43:55Z</published>
<updated>2023-04-14T07:43:55Z</updated>
<title type="text">setup.py: explicit package list</title>
<link rel="alternate" type="text/html" href="commit/fcaf55a261bf4d7aae4648d2f4b6d9a9a09366c1.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">setup.py: explicit package list
</content>
</entry>
<entry>
<id>b544d3fde7beb65547b22e43101147b9851ce1c6</id>
<published>2023-04-14T07:36:18Z</published>
<updated>2023-04-14T07:36:18Z</updated>
<title type="text">Fixup d8f7f3a: drop support for django 2.x</title>
<link rel="alternate" type="text/html" href="commit/b544d3fde7beb65547b22e43101147b9851ce1c6.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Fixup d8f7f3a: drop support for django 2.x
</content>
</entry>
<entry>
<id>b59da7e15231839529dcd57795785be817f4f2e8</id>
<published>2023-04-14T07:29:54Z</published>
<updated>2023-04-14T07:29:54Z</updated>
<title type="text">add setting MFA_FIDO2_USER_VERIFICATION</title>
<link rel="alternate" type="text/html" href="commit/b59da7e15231839529dcd57795785be817f4f2e8.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">add setting MFA_FIDO2_USER_VERIFICATION
</content>
</entry>
<entry>
<id>47ea69f88e08c2b9dca9da37303e88556252b2d9</id>
<published>2023-04-13T06:31:35Z</published>
<updated>2023-04-13T06:40:25Z</updated>
<title type="text">increase test coverage</title>
<link rel="alternate" type="text/html" href="commit/47ea69f88e08c2b9dca9da37303e88556252b2d9.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">increase test coverage
</content>
</entry>
<entry>
<id>366ac7937f164ea43cd77d0dc2ec578041a5be97</id>
<published>2023-04-13T06:31:16Z</published>
<updated>2023-04-13T06:40:25Z</updated>
<title type="text">rm unused code (unpatch_admin)</title>
<link rel="alternate" type="text/html" href="commit/366ac7937f164ea43cd77d0dc2ec578041a5be97.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">rm unused code (unpatch_admin)
</content>
</entry>
<entry>
<id>30d6f1e9d9443acb346a1c1f99b237525bae3455</id>
<published>2023-04-13T06:16:57Z</published>
<updated>2023-04-13T06:40:25Z</updated>
<title type="text">README: better explain enforcing MFA</title>
<link rel="alternate" type="text/html" href="commit/30d6f1e9d9443acb346a1c1f99b237525bae3455.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">README: better explain enforcing MFA
</content>
</entry>
<entry>
<id>5c8f3f304173d1cd3bc7b7fb5e45847b77d7932b</id>
<published>2023-04-13T06:16:28Z</published>
<updated>2023-04-13T06:40:25Z</updated>
<title type="text">test _get_verify_origin_fn</title>
<link rel="alternate" type="text/html" href="commit/5c8f3f304173d1cd3bc7b7fb5e45847b77d7932b.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">test _get_verify_origin_fn
</content>
</entry>
<entry>
<id>166c07d8d2f24871c95cede32b5b01ad21ff5fcf</id>
<published>2023-04-13T05:41:14Z</published>
<updated>2023-04-13T05:41:14Z</updated>
<title type="text">refactor _get_verify_origin_fn</title>
<link rel="alternate" type="text/html" href="commit/166c07d8d2f24871c95cede32b5b01ad21ff5fcf.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">refactor _get_verify_origin_fn
</content>
</entry>
<entry>
<id>be6b093e7ce8a11499860ea39c692c0ac72662f8</id>
<published>2023-04-13T05:24:39Z</published>
<updated>2023-04-13T05:24:39Z</updated>
<title type="text">Merge pull request #17 from humphrey/http-on-localhost</title>
<link rel="alternate" type="text/html" href="commit/be6b093e7ce8a11499860ea39c692c0ac72662f8.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Merge pull request #17 from humphrey/http-on-localhost

Allow http on localhost</content>
</entry>
<entry>
<id>203b60d3b09b412e888188a18c940eeab8f4cd85</id>
<published>2023-04-13T00:37:10Z</published>
<updated>2023-04-13T00:37:10Z</updated>
<title type="text">Allow http on localhost</title>
<link rel="alternate" type="text/html" href="commit/203b60d3b09b412e888188a18c940eeab8f4cd85.html" />
<author>
<name>Humphrey Murray</name>
<email>humphrey@datalive.com.au</email>
</author>
<content type="text">Allow http on localhost

As suggested at https://github.com/Yubico/python-fido2/issues/122
</content>
</entry>
<entry>
<id>a77094f37fc308481632847dacf16be9c7e21530</id>
<published>2023-04-06T11:32:31Z</published>
<updated>2023-04-06T11:32:31Z</updated>
<title type="text">test with django 4.2 release</title>
<link rel="alternate" type="text/html" href="commit/a77094f37fc308481632847dacf16be9c7e21530.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">test with django 4.2 release
</content>
</entry>
<entry>
<id>51a4f3367055be9529ad733d388aa283fabb3226</id>
<published>2023-03-21T18:09:31Z</published>
<updated>2023-03-21T18:09:31Z</updated>
<title type="text">avoid autocompletion in code field</title>
<link rel="alternate" type="text/html" href="commit/51a4f3367055be9529ad733d388aa283fabb3226.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">avoid autocompletion in code field
</content>
</entry>
<entry>
<id>f1800ee79e7d57e8504ec211a0877c6c858b3c41</id>
<published>2023-03-19T19:15:36Z</published>
<updated>2023-03-19T19:15:36Z</updated>
<title type="text">bump version to 0.10.0</title>
<link rel="alternate" type="text/html" href="commit/f1800ee79e7d57e8504ec211a0877c6c858b3c41.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.10.0
</content>
</entry>
<entry>
<id>133e13f27df5f398cb71f4ec8c872043ef2d28fd</id>
<published>2023-03-19T19:14:47Z</published>
<updated>2023-03-19T19:14:47Z</updated>
<title type="text">some more lint rules</title>
<link rel="alternate" type="text/html" href="commit/133e13f27df5f398cb71f4ec8c872043ef2d28fd.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">some more lint rules
</content>
</entry>
<entry>
<id>9e22ee5b5d33193ec5629b8c2acfac4d36412ecb</id>
<published>2023-03-19T19:11:38Z</published>
<updated>2023-03-19T19:11:38Z</updated>
<title type="text">Merge pull request #15 from hleroy/main</title>
<link rel="alternate" type="text/html" href="commit/9e22ee5b5d33193ec5629b8c2acfac4d36412ecb.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Merge pull request #15 from hleroy/main

added french translation</content>
</entry>
<entry>
<id>b338a7f6ac6393518d907bb8b63c8afd8c79eabc</id>
<published>2023-03-19T17:55:38Z</published>
<updated>2023-03-19T17:55:38Z</updated>
<title type="text">added french translation</title>
<link rel="alternate" type="text/html" href="commit/b338a7f6ac6393518d907bb8b63c8afd8c79eabc.html" />
<author>
<name>Hervé Le Roy</name>
<email>hleroy@hleroy.com</email>
</author>
<content type="text">added french translation
</content>
</entry>
<entry>
<id>5f5f4601310215080c153b9fa582e72f0a4df73e</id>
<published>2023-03-06T19:40:35Z</published>
<updated>2023-03-06T19:40:35Z</updated>
<title type="text">fix lint errors</title>
<link rel="alternate" type="text/html" href="commit/5f5f4601310215080c153b9fa582e72f0a4df73e.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">fix lint errors
</content>
</entry>
<entry>
<id>4c01bdb242e9ae54c8126a815a4887229629073e</id>
<published>2023-03-06T19:40:23Z</published>
<updated>2023-03-06T19:40:23Z</updated>
<title type="text">replace flake8/isort by ruff</title>
<link rel="alternate" type="text/html" href="commit/4c01bdb242e9ae54c8126a815a4887229629073e.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">replace flake8/isort by ruff
</content>
</entry>
<entry>
<id>daedffa6edef92028070fad184755c6a7f733197</id>
<published>2023-03-06T19:35:07Z</published>
<updated>2023-03-06T19:35:07Z</updated>
<title type="text">mv coverage config to pyproject.toml</title>
<link rel="alternate" type="text/html" href="commit/daedffa6edef92028070fad184755c6a7f733197.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">mv coverage config to pyproject.toml
</content>
</entry>
<entry>
<id>82c82609ba6425c937eb06ec10e55eb5fdba6e1e</id>
<published>2023-03-02T06:27:22Z</published>
<updated>2023-03-02T06:27:22Z</updated>
<title type="text">bump version to 0.9.0</title>
<link rel="alternate" type="text/html" href="commit/82c82609ba6425c937eb06ec10e55eb5fdba6e1e.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.9.0
</content>
</entry>
<entry>
<id>d94d43463c47db18c840c9356529f5b5ccfcd7f4</id>
<published>2023-02-27T15:43:55Z</published>
<updated>2023-02-27T15:43:55Z</updated>
<title type="text">use qrcode to_string()</title>
<link rel="alternate" type="text/html" href="commit/d94d43463c47db18c840c9356529f5b5ccfcd7f4.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">use qrcode to_string()
</content>
</entry>
<entry>
<id>a35618c6ed2d450df0fc6dfdc7b56598f581f06e</id>
<published>2023-02-27T15:40:23Z</published>
<updated>2023-02-27T15:40:23Z</updated>
<title type="text">restrict qrcode</title>
<link rel="alternate" type="text/html" href="commit/a35618c6ed2d450df0fc6dfdc7b56598f581f06e.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">restrict qrcode

https://github.com/lincolnloop/python-qrcode/issues/317
</content>
</entry>
<entry>
<id>d5f28408047eb6bdffc8b567e65890a56eaf8303</id>
<published>2023-02-27T15:37:10Z</published>
<updated>2023-02-27T15:37:10Z</updated>
<title type="text">autofocus in auth form</title>
<link rel="alternate" type="text/html" href="commit/d5f28408047eb6bdffc8b567e65890a56eaf8303.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">autofocus in auth form
</content>
</entry>
<entry>
<id>0aee417952cac145c6a6e07df87c27f7433f824f</id>
<published>2023-02-20T21:55:41Z</published>
<updated>2023-02-20T21:55:41Z</updated>
<title type="text">test on django 4.2</title>
<link rel="alternate" type="text/html" href="commit/0aee417952cac145c6a6e07df87c27f7433f824f.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">test on django 4.2
</content>
</entry>
<entry>
<id>b1c5ab96a845469d260e698d730daf699492cc7f</id>
<published>2022-12-08T11:51:59Z</published>
<updated>2022-12-08T11:51:59Z</updated>
<title type="text">bump version to 0.8.0</title>
<link rel="alternate" type="text/html" href="commit/b1c5ab96a845469d260e698d730daf699492cc7f.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">bump version to 0.8.0
</content>
</entry>
<entry>
<id>959ec2be9c55b1e0bf4db671213d62cd2982b711</id>
<published>2022-12-08T10:24:32Z</published>
<updated>2022-12-08T10:24:32Z</updated>
<title type="text">update test matrix</title>
<link rel="alternate" type="text/html" href="commit/959ec2be9c55b1e0bf4db671213d62cd2982b711.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">update test matrix
</content>
</entry>
<entry>
<id>937df888d4c24072aaad02d97ab53a9eb52aa068</id>
<published>2022-12-08T10:22:52Z</published>
<updated>2022-12-08T10:22:52Z</updated>
<title type="text">Merge pull request #12 from xi/failed-login-mail</title>
<link rel="alternate" type="text/html" href="commit/937df888d4c24072aaad02d97ab53a9eb52aa068.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">Merge pull request #12 from xi/failed-login-mail

send email on failed login</content>
</entry>
<entry>
<id>fb1a75baf468c433e820d52780a3b95a624d2267</id>
<published>2022-12-08T10:07:52Z</published>
<updated>2022-12-08T10:21:29Z</updated>
<title type="text">tweak example message wording</title>
<link rel="alternate" type="text/html" href="commit/fb1a75baf468c433e820d52780a3b95a624d2267.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">tweak example message wording

inspired by https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98507
</content>
</entry>
<entry>
<id>8194db4b25345b75002cd9e81ca27659b3f63294</id>
<published>2022-09-22T08:15:54Z</published>
<updated>2022-12-08T10:21:29Z</updated>
<title type="text">send email on failed login</title>
<link rel="alternate" type="text/html" href="commit/8194db4b25345b75002cd9e81ca27659b3f63294.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">send email on failed login

this could indicate a case where an attacker has gained access to
username and password, but not to the second factor

inspired by:

- https://syslog.ravelin.com/2fa-is-missing-a-key-feature-c781c3861db
- https://docs.djangoproject.com/en/4.1/topics/auth/default/#django.contrib.auth.forms.PasswordResetForm
</content>
</entry>
<entry>
<id>07110a1499d5305c358a0acf0b7aa51e2c45fcae</id>
<published>2022-11-22T09:48:26Z</published>
<updated>2022-11-22T11:08:11Z</updated>
<title type="text">test with django 4.1 release</title>
<link rel="alternate" type="text/html" href="commit/07110a1499d5305c358a0acf0b7aa51e2c45fcae.html" />
<author>
<name>Tobias Bengfort</name>
<email>tobias.bengfort@posteo.de</email>
</author>
<content type="text">test with django 4.1 release
</content>
</entry>
</feed>
