Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1022 commits
Select commit Hold shift + click to select a range
aa6a998
Merge pull request #2655 from pallets-eco/chore/docs
samuelhwilliams Aug 27, 2025
395c94a
mypy on examples; remove old stubs
ElLorans Sep 1, 2025
c8d0773
support async
ElLorans Sep 8, 2025
02c0ebc
redis command case-insensitive
ElLorans Sep 9, 2025
f28d56a
self.get_query()
ElLorans Sep 9, 2025
edc9397
Merge pull request #2660 from ElLorans/master
samuelhwilliams Sep 12, 2025
082ed50
prevent crash if user empty but innerlist has values
ElLorans Sep 12, 2025
a87c215
Merge branch 'master' into mongoengine
ElLorans Sep 12, 2025
ca45831
typing
ElLorans Sep 12, 2025
b529c9a
update with bootstrap daterangepicker
ElLorans Sep 14, 2025
07a3c49
transl
ElLorans Sep 15, 2025
c33231d
missing \"
ElLorans Sep 15, 2025
6f8a553
missing \"
ElLorans Sep 15, 2025
20a3b26
put back empty line
ElLorans Sep 18, 2025
8eeef6f
remove old transl
ElLorans Sep 18, 2025
7d6ffde
Merge pull request #2662 from pallets-eco/chore/docs
samuelhwilliams Sep 19, 2025
2526205
Merge pull request #2659 from pallets-eco/feature/async
samuelhwilliams Sep 24, 2025
af3d6d0
Merge pull request #2661 from pallets-eco/feature/pymongo
samuelhwilliams Sep 25, 2025
25d0e83
fix category menu icons
samialfattani Oct 2, 2025
b5fe556
fix classes for all menu-item types
samialfattani Oct 2, 2025
a84eb5d
fix typing
samialfattani Oct 2, 2025
eff1070
Merge pull request #2666 from samialfattani/menu_icon
samuelhwilliams Oct 3, 2025
6322f59
build db for easy testing
ElLorans Oct 4, 2025
e8f095a
bugfix: add filter
ElLorans Oct 4, 2025
4021572
test filters
ElLorans Oct 5, 2025
c6fc630
remove redundant import
ElLorans Oct 5, 2025
76f527c
update uv.lock
ElLorans Oct 5, 2025
9d9d88d
remove space before dot
ElLorans Oct 7, 2025
759d4da
Merge pull request #2611 from Bastian-Kuhn/mongoengine
samuelhwilliams Oct 9, 2025
88e756d
Prepare v2.0.0a5 release
samuelhwilliams Oct 9, 2025
d635213
Merge pull request #2671 from pallets-eco/prepare/v2.0.0a5
samuelhwilliams Oct 9, 2025
2ce064b
chore(deps): bump the github-actions group across 1 directory with 6 …
dependabot[bot] Oct 9, 2025
a9f2e0c
Merge pull request #2665 from pallets-eco/dependabot/github_actions/g…
samuelhwilliams Oct 9, 2025
9cf2eea
Convert to real booleans for sqla bool filters
samuelhwilliams Oct 17, 2025
b065dc9
Merge pull request #2676 from pallets-eco/fix-sqla-bool-filters
samuelhwilliams Oct 17, 2025
ea865ae
Update publishing workflow
samuelhwilliams Oct 17, 2025
96ab5ee
Typo fix publishing workflow
samuelhwilliams Oct 17, 2025
7b954a8
Fix up one more download-artifact path
samuelhwilliams Oct 17, 2025
8e8dac7
Prepare v2.0.0rc1 release
samuelhwilliams Oct 17, 2025
ca3d478
Merge pull request #2679 from pallets-eco/rel/v2.0.0rc1
samuelhwilliams Oct 17, 2025
a100538
Remove support for python 3.9
samuelhwilliams Oct 19, 2025
060d1b8
Run styling and formatting
samuelhwilliams Oct 19, 2025
6ad1a49
Merge pull request #2681 from pallets-eco/remove-py39
samuelhwilliams Oct 19, 2025
6ccc5db
Update Serbian translations (#2664)
umpirsky Oct 20, 2025
63347f2
Bump to version 2.0.0rc2
samuelhwilliams Oct 20, 2025
e0316c0
Merge pull request #2683 from pallets-eco/release/v2.0.0rc2
samuelhwilliams Oct 20, 2025
4179007
Prepare official v2.0.0 release
samuelhwilliams Oct 20, 2025
175849a
python 3.14
ElLorans Oct 20, 2025
0aac6fe
uv lock
ElLorans Oct 21, 2025
88b32cb
Merge pull request #2684 from pallets-eco/release/v2.0.0
samuelhwilliams Oct 25, 2025
a91e451
Fix changelog formatting
samuelhwilliams Oct 25, 2025
4846dea
upgrade pillow for python 3.14 from 11.2.1 to 12.0
ElLorans Oct 26, 2025
19ee825
include mongoengine
ElLorans Oct 26, 2025
821eb7a
screenshot
ElLorans Oct 26, 2025
4975a03
Merge pull request #2687 from pallets-eco/fix/docs
samuelhwilliams Oct 26, 2025
8e866f0
style: fix annotation for LinkRowAction
subnix Oct 30, 2025
84613a9
Merge pull request #2689 from subnix/style/fix-link-row-action-typing
samuelhwilliams Oct 30, 2025
4725024
Fix typos in Arabic language
samialfattani Oct 31, 2025
7749f91
update mo file
samialfattani Oct 31, 2025
6ded990
chore(deps): bump the github-actions group with 3 updates (#2694)
dependabot[bot] Nov 1, 2025
d923bbc
fix typos
samialfattani Nov 1, 2025
4303e46
Merge pull request #2692 from samialfattani/fix_arabic
samuelhwilliams Nov 2, 2025
16d36f2
Release v2.0.1
samuelhwilliams Nov 2, 2025
0eb8920
add menu divider
samialfattani Nov 3, 2025
731281b
filter resource warning
ElLorans Nov 3, 2025
5368f70
error discription in red color
samialfattani Nov 5, 2025
9336e2d
Merge pull request #2685 from pallets-eco/py3.14
samuelhwilliams Nov 9, 2025
67c5702
Merge pull request #2699 from samialfattani/err_desc
samuelhwilliams Nov 9, 2025
6b0a8a0
Merge pull request #2696 from samialfattani/feature/menu-divider
samuelhwilliams Nov 9, 2025
e26bee4
v2.0.2
samuelhwilliams Nov 11, 2025
b0a6f0d
Merge pull request #2704 from pallets-eco/release/v2.0.2
samuelhwilliams Nov 11, 2025
43c42b4
use default image size
samialfattani Nov 16, 2025
f45f119
Merge pull request #2710 from samialfattani/image-width
samuelhwilliams Nov 19, 2025
a0b6776
Type hints (#2695)
ElLorans Dec 6, 2025
8290f18
chore(deps): bump the github-actions group with 3 updates (#2711)
dependabot[bot] Dec 6, 2025
4a0b419
put default value in rename file/folder form (#2707)
samialfattani Dec 6, 2025
ba7d0f2
add example of form rules (#2691)
samialfattani Dec 6, 2025
d6274b0
Mongoengine column_filters allow str (#2702)
ElLorans Dec 6, 2025
07d8b90
[i18n] Improve i18n translation for zh_Hans_CN and zh_Hant_TW (#2068)
greyli Dec 6, 2025
7f6efe4
Fix s3 cloud compatibility on Local Windows (#2698)
samialfattani Dec 10, 2025
642e314
add page title + icon (#2706)
samialfattani Dec 12, 2025
365d6ab
filter ResourceWarning (#2718)
ElLorans Dec 14, 2025
7922903
remove db.session (#2719)
ElLorans Dec 14, 2025
4b958c9
Fix/popperjs map (#2708)
samialfattani Dec 17, 2025
f7a87e0
FileAdmin: show empty date when directory has no date (#2721)
alexprabhat99 Dec 19, 2025
c194c77
gitignore test files (#2720)
samialfattani Dec 19, 2025
c0b5f00
demonstrate all themes in bootstrap4 example (#2722)
samialfattani Dec 19, 2025
82847d8
Fix: Save & Add Another redirects client using non relative URL (#2716)
Pavlo-Momotenko Dec 19, 2025
3300cf5
remove deprecated ruff ignore-init-module-imports (#2724)
ElLorans Dec 20, 2025
c31cb98
ignore unclosed file resource warning (#2726)
ElLorans Dec 22, 2025
75214d4
fix css class generated by column name (#2730)
samialfattani Dec 24, 2025
c9e9419
update lock
ElLorans Dec 20, 2025
34dbfae
upper bound tox
ElLorans Dec 24, 2025
f929035
upper bound tox
ElLorans Dec 24, 2025
ff4009b
fix type hints for mypy 1.19
ElLorans Dec 24, 2025
a8ea284
Docs Admin + Config
samialfattani Dec 25, 2025
3c668f6
add doc for ajax_update (#2728)
samialfattani Dec 30, 2025
d6465fa
chore(deps): bump the github-actions group with 5 updates (#2736)
dependabot[bot] Jan 1, 2026
ff32000
flash err msg on create/edit/upload forms (#2734)
samialfattani Jan 1, 2026
4660b94
Revert "flash err msg on create/edit/upload forms (#2734)" (#2737)
ElLorans Jan 1, 2026
0274770
Deprecate ModelView(Model, db.session) in favor of ModelView(Model, d…
ElLorans Jan 4, 2026
ac3ba1d
Form alert (#2738)
samialfattani Jan 4, 2026
d3c401a
fix deprecation warning (#2739)
ElLorans Jan 4, 2026
7af90f3
fix QueryAjaxModelLoader super() call (#2741)
karpitsky Jan 12, 2026
de3dc5f
type hints for mapped_column (#2743)
ElLorans Jan 18, 2026
ca68830
best practices in examples (#2744)
ElLorans Jan 18, 2026
128fc56
chore(deps): bump werkzeug in /examples/sqla_association_proxy (#2745)
dependabot[bot] Jan 18, 2026
ae1ced1
use sqla in place of flask_sqla (#2746)
ElLorans Jan 18, 2026
b594d02
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/simple (#…
dependabot[bot] Jan 18, 2026
e51f356
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/s3 (#2748)
dependabot[bot] Jan 18, 2026
b62f707
chore(deps): bump urllib3 from 2.5.0 to 2.6.3 in /examples/s3 (#2749)
dependabot[bot] Jan 18, 2026
0a9f28a
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/rediscli …
dependabot[bot] Jan 18, 2026
32ef1df
chore(deps): bump urllib3 from 2.5.0 to 2.6.3 in /examples/rediscli (…
dependabot[bot] Jan 18, 2026
3b1e13b
chore(deps): bump werkzeug in /examples/pymongo_simple (#2752)
dependabot[bot] Jan 19, 2026
2253b15
chore(deps): bump urllib3 in /examples/pymongo_simple (#2753)
dependabot[bot] Jan 19, 2026
7799bc5
chore(deps): bump werkzeug in /examples/peewee_simple (#2754)
dependabot[bot] Jan 19, 2026
0996ab2
chore(deps): bump werkzeug in /examples/multiple_admin_instances (#2755)
dependabot[bot] Jan 19, 2026
985a859
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/mongoengi…
dependabot[bot] Jan 19, 2026
bebaeee
chore(deps): bump urllib3 from 2.5.0 to 2.6.3 in /examples/mongoengin…
dependabot[bot] Jan 19, 2026
2670114
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/methodvie…
dependabot[bot] Jan 19, 2026
6f9891e
chore(deps): bump werkzeug in /examples/host_matching (#2759)
dependabot[bot] Jan 19, 2026
4af6eba
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/geo_alche…
dependabot[bot] Jan 19, 2026
31bce5d
chore(deps): bump urllib3 from 2.5.0 to 2.6.3 in /examples/geo_alchem…
dependabot[bot] Jan 19, 2026
fa5fad8
chore(deps): bump werkzeug in /examples/forms_files_images (#2762)
dependabot[bot] Jan 19, 2026
f262cf7
chore(deps): bump urllib3 in /examples/azure_blob_storage (#2763)
dependabot[bot] Jan 19, 2026
abff2a2
chore(deps): bump pillow in /examples/forms_files_images (#2764)
dependabot[bot] Jan 19, 2026
ab2dc1c
chore(deps): bump werkzeug in /examples/datetime_timezone (#2765)
dependabot[bot] Jan 19, 2026
24cf326
chore(deps): bump werkzeug in /examples/custom_layout (#2766)
dependabot[bot] Jan 19, 2026
dd50947
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/csp_nonce…
dependabot[bot] Jan 19, 2026
cecf238
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/bootstrap…
dependabot[bot] Jan 19, 2026
a89b203
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/babel (#2…
dependabot[bot] Jan 19, 2026
3df2c2b
chore(deps): bump azure-core in /examples/azure_blob_storage (#2770)
dependabot[bot] Jan 19, 2026
fd5aa48
chore(deps): bump werkzeug in /examples/azure_blob_storage (#2771)
dependabot[bot] Jan 19, 2026
7aefc29
chore(deps): bump werkzeug in /examples/auth_flask_login (#2772)
dependabot[bot] Jan 19, 2026
8ec382c
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/auth (#2773)
dependabot[bot] Jan 19, 2026
22efd23
chore(deps): bump werkzeug in /examples/sqla_custom_inline_forms (#2774)
dependabot[bot] Jan 20, 2026
321aede
chore(deps): bump werkzeug from 3.1.3 to 3.1.5 in /examples/sqla (#2775)
dependabot[bot] Jan 20, 2026
c193508
chore(deps): bump the github-actions group with 3 updates (#2778)
dependabot[bot] Feb 2, 2026
c587c99
chore(deps): bump cryptography in /examples/azure_blob_storage (#2790)
dependabot[bot] Feb 11, 2026
526edae
chore(deps): bump pillow in /examples/forms_files_images (#2791)
dependabot[bot] Feb 11, 2026
2504229
Feat/flask-sqlalchemy-lite full support (#2789)
ElLorans Feb 13, 2026
b10a3e5
response with 403 when inaccessible_callback returns None (#2793)
samialfattani Feb 13, 2026
a7c904f
chore(deps): bump the github-actions group with 3 updates (#2797)
dependabot[bot] Mar 1, 2026
ab4f4e1
chore(deps): bump werkzeug in /examples/sqla_association_proxy (#2799)
dependabot[bot] Mar 1, 2026
f5fbb77
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/sqla (#2798)
dependabot[bot] Mar 1, 2026
8b54693
chore(deps): bump werkzeug from 3.1.5 to 3.1.6 in /examples/s3 (#2801)
dependabot[bot] Mar 1, 2026
555ae17
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/s3 (#2800)
dependabot[bot] Mar 1, 2026
08b9284
Doc/model view (#2792)
samialfattani Mar 1, 2026
e606a6e
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/rediscli (#2…
dependabot[bot] Mar 1, 2026
969e341
chore(deps): bump werkzeug from 3.1.5 to 3.1.6 in /examples/rediscli …
dependabot[bot] Mar 1, 2026
366742b
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/pymongo_simp…
dependabot[bot] Mar 1, 2026
01448a3
chore(deps): bump werkzeug in /examples/pymongo_simple (#2805)
dependabot[bot] Mar 1, 2026
d91d1c9
chore(deps): bump werkzeug in /examples/peewee_simple (#2807)
dependabot[bot] Mar 1, 2026
acb5a68
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/peewee_simpl…
dependabot[bot] Mar 1, 2026
0bbdc90
chore(deps): bump flask in /examples/multiple_admin_instances (#2808)
dependabot[bot] Mar 1, 2026
13a0e9d
chore(deps): bump werkzeug in /examples/multiple_admin_instances (#2809)
dependabot[bot] Mar 1, 2026
00c7177
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/mongoengine …
dependabot[bot] Mar 1, 2026
9f185d1
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/methodview (…
dependabot[bot] Mar 1, 2026
bd21229
chore(deps): bump werkzeug from 3.1.5 to 3.1.6 in /examples/methodvie…
dependabot[bot] Mar 1, 2026
39a42aa
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/host_matchin…
dependabot[bot] Mar 1, 2026
7e52fcc
chore(deps): bump werkzeug in /examples/host_matching (#2814)
dependabot[bot] Mar 1, 2026
d8c3f05
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/geo_alchemy …
dependabot[bot] Mar 1, 2026
6846b09
chore(deps): bump werkzeug from 3.1.5 to 3.1.6 in /examples/geo_alche…
dependabot[bot] Mar 1, 2026
783a42d
chore(deps): bump flask in /examples/forms_files_images (#2817)
dependabot[bot] Mar 1, 2026
e7cdf35
chore(deps): bump werkzeug in /examples/forms_files_images (#2818)
dependabot[bot] Mar 1, 2026
4d1d7ed
chore(deps): bump flask in /examples/datetime_timezone (#2819)
dependabot[bot] Mar 1, 2026
2add766
chore(deps): bump werkzeug in /examples/datetime_timezone (#2820)
dependabot[bot] Mar 1, 2026
dbc9d21
chore(deps): bump flask from 3.1.1 to 3.1.3 in /examples/custom_layou…
dependabot[bot] Mar 1, 2026
fc72a8d
Bumps werkzeug 3.1.5->3.1.6, flask from 3.1.1->3.1.3. (#2823)
ElLorans Mar 1, 2026
1154fdd
examples fix: guard against None values in localizeDateTimes() to pre…
ElLorans Mar 4, 2026
0a64283
fix typo README.md (#2825)
ElLorans Mar 4, 2026
6498955
chore(deps): bump pyjwt in /examples/azure_blob_storage (#2830)
dependabot[bot] Mar 14, 2026
1993a9d
upgrade Bootstrap4 to the latest v4.6.2 (#2787)
samialfattani Mar 15, 2026
a52977a
fix: _warn_session_deprecation not detecting sqla-lite.session (#2834)
ElLorans Mar 16, 2026
5bd954e
fix: flask-sqla-lite sqlalchemy.exc.InvalidRequestError and Unique va…
ElLorans Mar 16, 2026
d1c4cfe
chore(deps): bump requests from 2.32.4 to 2.33.0 in /examples/s3 (#2843)
dependabot[bot] Mar 26, 2026
035fade
chore(deps): bump requests in /examples/azure_blob_storage (#2842)
dependabot[bot] Mar 26, 2026
13a5c58
chore(deps): bump requests in /examples/pymongo_simple (#2841)
dependabot[bot] Mar 26, 2026
d0891c5
chore(deps): bump requests in /examples/geo_alchemy (#2840)
dependabot[bot] Mar 26, 2026
79e2cff
chore(deps): bump requests from 2.32.4 to 2.33.0 in /examples/rediscl…
dependabot[bot] Mar 26, 2026
0281992
type fix (#2837)
ElLorans Mar 26, 2026
ca3699b
chore(deps): bump cryptography from 46.0.5 to 46.0.6 in /examples/azu…
dependabot[bot] Mar 29, 2026
52d7314
docs: add Docker requirement to testcontainers examples (#2845)
hasansezertasan Mar 29, 2026
a836157
Fix page link styling with simple_list_pager (#2851)
teamdoug Mar 31, 2026
7a40428
[examples] chore(deps): bump cryptography in /examples/azure_blob_sto…
dependabot[bot] Apr 9, 2026
61fb7ce
chore(deps): bump the github-actions group with 3 updates (#2852)
dependabot[bot] Apr 9, 2026
47026c6
fix(typing): enable disallow_incomplete_defs mypy flag (#2846)
hasansezertasan Apr 9, 2026
1e2b50e
[examples] chore(deps): bump pillow in /examples/forms_files_images (…
dependabot[bot] Apr 14, 2026
75201c0
Escape [] in .gitignore (#2860)
cjmayo Apr 16, 2026
72c131f
Exclude LICENSE.txt from Dependabot pip updates (#2856) (#2859)
giac41 Apr 20, 2026
6f46e8c
Bump azure-core from 1.37.0 to 1.38.0 (#2862)
dependabot[bot] Apr 20, 2026
5750ef8
Bump urllib3 from 2.6.2 to 2.6.3 (#2863)
dependabot[bot] Apr 20, 2026
8a695ba
Bump pillow from 12.0.0 to 12.2.0 (#2864)
dependabot[bot] Apr 20, 2026
a2c0478
Bump pytest from 9.0.2 to 9.0.3 (#2865)
dependabot[bot] Apr 20, 2026
6301242
Bump requests from 2.32.4 to 2.33.0 in /examples/mongoengine (#2866)
dependabot[bot] Apr 20, 2026
5bec0d7
Bump cryptography from 46.0.3 to 46.0.7 (#2867)
dependabot[bot] Apr 20, 2026
7e7ef68
Bump uv from 0.9.18 to 0.11.6 (#2868)
dependabot[bot] Apr 20, 2026
34b357e
Bump virtualenv from 20.35.4 to 20.36.1 (#2869)
dependabot[bot] Apr 20, 2026
d391f34
Bump werkzeug from 3.1.4 to 3.1.6 (#2871)
dependabot[bot] Apr 20, 2026
6b246b8
Bump filelock from 3.20.1 to 3.20.3 (#2872)
dependabot[bot] Apr 20, 2026
4d9aec2
Bump flask from 3.1.2 to 3.1.3 (#2873)
dependabot[bot] Apr 20, 2026
7178d7a
Bump requests from 2.32.5 to 2.33.0 (#2874)
dependabot[bot] Apr 20, 2026
bf4b2c4
Bump pygments from 2.19.2 to 2.20.0 (#2876)
dependabot[bot] Apr 20, 2026
ce1e659
[examples] Bump python-dotenv from 1.1.1 to 1.2.2 in /examples/s3 (#2…
dependabot[bot] Apr 22, 2026
153e799
[examples] Bump python-dotenv from 1.1.1 to 1.2.2 in /examples/azure_…
dependabot[bot] Apr 22, 2026
e3505ac
fix encoding of file edit
samialfattani Apr 27, 2026
ca0b186
v2.1.0
ElLorans Apr 27, 2026
1a7d64e
Merge pull request #2880 from pallets-eco/releases/v2.1.0
samuelhwilliams Apr 28, 2026
417eb54
bugfix: v2.1.0 UnboundLocalError in sqla.ModelView
ElLorans Apr 28, 2026
eb4e398
revert file renaming
samialfattani Apr 28, 2026
fe4a642
Merge pull request #2886 from pallets-eco/fix/unbound_local_err
samuelhwilliams Apr 30, 2026
b266dce
Support string column paths in filters
samuelhwilliams Apr 28, 2026
6ad3a0a
Update sqla example showing deep nested string filtering
samuelhwilliams Apr 29, 2026
413004f
Tweak sqla example account seeding
samuelhwilliams Apr 30, 2026
a57ea47
Merge pull request #2883 from pallets-eco/support-dotted-paths-in-fil…
samuelhwilliams May 1, 2026
399a06d
Ignore uv.lock files from examples (#2889)
ElLorans May 3, 2026
f5b821f
build(deps): bump the github-actions group across 1 directory with 4 …
dependabot[bot] May 5, 2026
93aaa17
Prepare release v2.2.0
samuelhwilliams May 7, 2026
e652fce
Merge pull request #2893 from pallets-eco/release-v2.2.0
samuelhwilliams May 7, 2026
23be1ac
[chore]: speed up test suite (#2838)
ElLorans May 12, 2026
f4fe762
add changelog line
samialfattani May 14, 2026
bcbe79c
Merge branch 'master' into fix/edit-files
samialfattani May 14, 2026
97a093b
Merge pull request #2881 from samialfattani/fix/edit-files
samuelhwilliams May 15, 2026
52bd4b6
bump lock dependencies, remove dead ones (#2890)
ElLorans May 20, 2026
3ea6e40
build(deps): bump idna from 3.13 to 3.15 (#2899)
dependabot[bot] May 20, 2026
a779786
build(deps): bump urllib3 from 2.6.3 to 2.7.0 (#2897)
dependabot[bot] May 20, 2026
cb31746
disallow_untyped_calls = true (#2895)
ElLorans May 21, 2026
dd15bb1
build: add exclude-newer and simplify uv dependency groups (#2903)
ElLorans May 22, 2026
49a5662
disallow untyped defs (#2905)
ElLorans May 22, 2026
c8ac222
examples fix ModuleNotFoundError: remove Babel (#2906)
ElLorans May 23, 2026
ca18a28
fix type hints: allow ModelView(Model, flask_sqlalchemy.SQLAlchemy.se…
ElLorans May 24, 2026
dd378c9
fix(sqla): coerce ARRAY element type in conv_ARRAY (closes #1724) (#2…
jbbqqf May 26, 2026
3865d2a
build(deps): bump uv from 0.11.8 to 0.11.15 (#2911)
dependabot[bot] May 29, 2026
fe3eec9
build(deps): bump dessant/lock-threads from 6.0.0 to 6.0.2 in the git…
dependabot[bot] Jun 14, 2026
b59a1c3
build(deps): bump cryptography from 47.0.0 to 48.0.1 (#2927)
dependabot[bot] Jun 25, 2026
7e7fee8
build(deps): bump the github-actions group with 4 updates (#2929)
dependabot[bot] Jul 7, 2026
cda2122
fix(mongoengine): set Content-Disposition on api_file_view downloads …
hasansezertasan Jul 7, 2026
414d07f
invert sorting arrows in list view (#2934)
Tikrong Jul 8, 2026
f9f9ab0
build(deps): bump soupsieve from 2.8.3 to 2.8.4 (#2936)
dependabot[bot] Jul 11, 2026
daf95ee
fix(mongoengine): stop reading deprecated GridOut.contentType (#2935)
hasansezertasan Jul 12, 2026
cd4f93f
fix(filters): BaseTimeBetweenFilter.validate() returns False on inval…
Noethix55555 Jul 12, 2026
3651292
fix(mongoengine): handle unresolved DBRef in QueryAjaxModelLoader.for…
hasansezertasan Jul 12, 2026
3e78a94
Fix for Peewee InlineFormAdmin ignores form_extra_fields #1802fix con…
ElLorans Jul 12, 2026
19d4f02
fix lists changelog (#2937)
ElLorans Jul 15, 2026
4c24e9a
build(deps): bump pillow from 12.2.0 to 12.3.0 (#2938)
dependabot[bot] Jul 21, 2026
564d4bf
fix(peewee): return None from get_one() when no record matches (#2939)
timyjsong Jul 31, 2026
e386a19
build(deps): bump the github-actions group with 3 updates (#2941)
dependabot[bot] Aug 3, 2026
7bae149
Fix typo in comment (#2945)
latent-9 Aug 9, 2026
73eeed0
update dependencies (#2946)
ElLorans Aug 9, 2026
7fee024
[type hints]: Admin(index_view=...) now accepts a BaseView instance r…
ElLorans Aug 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// For format details, see https://aka.ms/devcontainer.json
{
"name": "flask-admin (Python 3.12)",
"image": "mcr.microsoft.com/devcontainers/python:3.12-bullseye",

// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}
19 changes: 19 additions & 0 deletions .devcontainer/tests/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
ARG IMAGE=python:3.10-slim
FROM ${IMAGE}

ENV UV_PROJECT_ENVIRONMENT=/venv
ENV UV_PYTHON=python3.10
ENV UV_CACHE_DIR=/root/.cache/uv

RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends postgresql-client \
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*

COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/

WORKDIR /workspace
COPY pyproject.toml uv.lock ./
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --extra all --no-install-project

COPY . .
21 changes: 21 additions & 0 deletions .devcontainer/tests/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// For format details, see https://aka.ms/devcontainer.json.
{
"name": "flask-admin tests (Postgres + Azurite + Mongo)",
"dockerComposeFile": "docker-compose.yaml",
"service": "app",
"workspaceFolder": "/workspace",
"forwardPorts": [10000, 10001, 5432, 27017],
"portsAttributes": {
"10000": {"label": "Azurite Blob Storage Emulator", "onAutoForward": "silent"},
"10001": {"label": "Azurite Blob Storage Emulator HTTPS", "onAutoForward": "silent"},
"5432": {"label": "PostgreSQL port", "onAutoForward": "silent"},
"27017": {"label": "MongoDB port", "onAutoForward": "silent"},
},
"features": {
// For authenticating to a production Azure account
"ghcr.io/devcontainers/features/azure-cli:1": {}
},
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "root",
"postAttachCommand": "uv sync --extra all && PGPASSWORD=postgres psql -U postgres -h postgres -c 'CREATE EXTENSION IF NOT EXISTS hstore;' flask_admin_test"
}
48 changes: 48 additions & 0 deletions .devcontainer/tests/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
services:
app:
build:
context: ../..
dockerfile: .devcontainer/tests/Dockerfile
args:
IMAGE: python:3.10-slim

volumes:
- ../..:/workspace
- uv-cache:/root/.cache/uv

# Overrides default command so things don't shut down after the process ends.
command: sleep infinity
environment:
AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://azurite:10000/devstoreaccount1;
SQLALCHEMY_DATABASE_URI: postgresql://postgres:postgres@postgres/flask_admin_test
MONGOCLIENT_HOST: mongo
depends_on:
- postgres
- azurite
- mongo

postgres:
image: postgis/postgis:16-3.4
restart: unless-stopped
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: flask_admin_test
volumes:
- postgres-data:/var/lib/postgresql/data
- ./init-hstore.sql:/docker-entrypoint-initdb.d/init-hstore.sql

azurite:
image: mcr.microsoft.com/azure-storage/azurite:latest
restart: unless-stopped
command: azurite --skipApiVersionCheck --blobHost 0.0.0.0
volumes:
- azurite-data:/data

mongo:
image: mongo:5.0.14-focal
restart: unless-stopped

volumes:
postgres-data:
azurite-data:
uv-cache:
1 change: 1 addition & 0 deletions .devcontainer/tests/init-hstore.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CREATE EXTENSION IF NOT EXISTS hstore;
14 changes: 14 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.ruff_cache
.tox
.mypy_cache
.pytest_cache
.vscode
.idea

.git
__pycache__
**/*.pyc
**/*.pyo
*.egg-info
.coverage
.venv
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
root = true

[*]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf
charset = utf-8
max_line_length = 88

[*.{css,html,js,json,jsx,scss,ts,tsx,yaml,yml}]
indent_size = 2
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Bug report
about: Report a bug in Flask-Admin (not other projects which depend on Flask-Admin)
---

<!--
This issue tracker is a tool to address bugs in Flask-Admin itself.
Please use GitHub Discussions or the Pallets Discord for questions about your
own code.

Replace this comment with a clear outline of what the bug is.
-->

<!--
Describe how to replicate the bug.

Include a minimal reproducible example that demonstrates the bug.
Include the full traceback if there was an exception.
-->

<!--
Describe the expected behavior that should have happened but didn't.
-->

Environment:

- Python version:
- Flask version:
- Flask-Admin version:
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Questions on Discussions
url: https://github.com/pallets-eco/flask-admin/discussions/
about: Ask questions about your own code on the Discussions tab.
- name: Questions on Chat
url: https://discord.gg/pallets
about: Ask questions about your own code on our Discord chat.
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Feature request
about: Suggest a new feature for Flask-Admin
---

<!--
Replace this comment with a description of what the feature should do.
Include details such as links to relevant specs or previous discussions.
-->

<!--
Replace this comment with an example of the problem which this feature
would resolve. Is this problem solvable without changes to Flask-Admin,
such as by subclassing or using an extension?
-->
20 changes: 20 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
groups:
github-actions:
patterns:
- '*'
- package-ecosystem: uv
directory: /
schedule:
interval: monthly
exclude-paths:
- "LICENSE.txt"
groups:
python-requirements:
patterns:
- '*'
25 changes: 25 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!--
Before opening a PR, open a ticket describing the issue or feature the
PR will address. An issue is not required for fixing typos in
documentation, or other simple non-code changes.

Replace this comment with a description of the change. Describe how it
addresses the linked ticket.
-->

<!--
Link to relevant issues or previous PRs, one per line. Use "fixes" to
automatically close an issue.

fixes #<issue number>
-->

<!--
Ensure each step in the contributing guide is complete, especially the following:

- Add tests that demonstrate the correct behavior of the change. Tests
should fail without the change.
- Add or update relevant docs, in the docs folder and in code.
- Add an entry in changelog.rst summarizing the change and linking to the issue.
- Add `.. versionchanged::` entries in any relevant code docs.
-->
24 changes: 24 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# .github/release.yml

changelog:
exclude:
labels:
- ignore-for-release
authors:
- octocat
categories:
- title: Breaking changes 🛠
labels:
- Semver-Major
- breaking-change
- title: Exciting new features 🎉
labels:
- Semver-Minor
- enhancement
- title: Bug fixes 🐛
labels:
- Semver-Patch
- bug
- title: Other changes
labels:
- "*"
24 changes: 24 additions & 0 deletions .github/workflows/lock.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Lock inactive closed issues
# Lock closed issues that have not received any further activity for two weeks.
# This does not close open issues, only humans may do that. It is easier to
# respond to new issues with fresh examples rather than continuing discussions
# on old issues.

on:
schedule:
- cron: '0 0 * * *'
permissions:
issues: write
pull-requests: write
discussions: write
concurrency:
group: lock
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@89ae32b08ed1a541efecbab17912962a5e38981c # v6.0.2
with:
issue-inactive-days: 14
pr-inactive-days: 14
discussion-inactive-days: 14
58 changes: 58 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Publish
on:
push:
tags: ['*']
jobs:
build:
runs-on: ubuntu-latest
outputs:
artifact-id: ${{ steps.upload-artifact.outputs.artifact-id }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
with:
enable-cache: true
prune-cache: false
cache-dependency-glob: |
**/uv.lock
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version-file: pyproject.toml
- run: echo "SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)" >> $GITHUB_ENV
- run: uv build
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
id: upload-artifact
with:
name: dist
path: dist/
if-no-files-found: error
create-release:
needs: [build]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
artifact-ids: ${{ needs.build.outputs.artifact-id }}
path: dist/
- name: create release
run: gh release create --draft --repo ${{ github.repository }} ${{ github.ref_name }} dist/*
env:
GH_TOKEN: ${{ github.token }}
publish-pypi:
needs: [build]
environment:
name: publish
url: https://pypi.org/project/Flask-Admin/${{ github.ref_name }}
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
artifact-ids: ${{ needs.build.outputs.artifact-id }}
path: dist/
- uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
with:
packages-dir: dist/
Loading