All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix export json related model by @Vasiliy566 in #837
- Fix JSON export trailing comma by @jbrendel in #843
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.20.0...0.20.1
- add json export format. by @Vasiliy566 in #829
- clamp page if it exceeds the maximum page by @alex-lambdaloopers in #814
- @Vasiliy566 made their first contribution in #829
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.19.0...0.20.0
- Add favicon by @sheldygg in #787
- Add tabler icons by @r-m-n in #795
- feat: use favicon_url instead of logo_url for favicon by @alex-lambdaloopers in #800
- Allow multiple ajax sorts and changes to result size by @mfriedy in #805
- Fix column_property by @aminalaee in #791
- Fix page number issue when changing page size by @numberbee7070 in #782
- Document update to resolve DeprecationWarning from Starlette (#809) by @a4rcvv in #810
- Bug fix: unhandled exception during AjaxSelect load by @diskream in #727
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.18.0...0.19.0
- Add
form_rules
,form_create_rules
,form_edit_rules
by @aminalaee in #779 - Add more docs for overriding default tempates by @jonocodes in #769
- Fix edit_form_query documentation example by @lukeclimen in #777
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.17.0...0.18.0
- Add field description to Create/Edit templates by @ngaranko in #722
- Add edit_form_query method by @lukeclimen in #745
- Validate page and pageSize query parameters by @BhuwanPandey in #752
- Hide save and add another button from edit.html if can_create is False by @MaximZemskov in #742
- Fix list page sort symbol by @aminalaee in #744
- Move template files from
templates
totemplates/sqladmin
by @hasansezertasan in #748 - Fix
form_args
default by @aminalaee in #756 - Fix getting column python type by @aminalaee in #757
- Fix File and Image fields checkbox and input by @aminalaee in #761
- Switch relationship loading to selectionload by @aminalaee in #758
- Fix DELETE call query params by @aminalaee in #763
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.16.1...0.17.0
- Re-add http_exception handler to Admin class in #694
- Move non-field-specific errors to top of edit and create forms in #707
- Fix sort by model attribute in #713
- Fix Category not respecting is_visible and is_accessible in #698
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.16.0...0.16.1
- Switch to async templates by @aminalaee in #652
- Allow using related model fields in list/details page by @aminalaee in #653
- Allow sort by related model field by @aminalaee in #654
- Add search by related model field by @aminalaee in #655
- Expose request to model events by @holdmybeer1min in #660
- Allow model columns to bear the same name as reserved wtforms.BaseForm attributes by @brouberol in #658
- Change pk converter in routes by @aminalaee in #666
- Fix multiple PK model containing boolean values by @ncarvajalc in #670
- Fix brand icon is not showing by @WiraDKP in #665
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.15.2...0.16.0
- Avoid populating Select2 input with existing option by @Toshakins in #626
- Fix ItemMenu sort issue by @aminalaee in #631
- Add customized sort query signature (#624) by @YarLikviD in #625
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.15.0...0.15.1
- Update AuthenticationBackend signature by @aminalaee in #581
- Change signature of
list_query
andcount_query
by @aminalaee in #610
- Search in list when typing by @anton-petrov in #592
- Add
category
config by @aminalaee in #616 - Switch to HTML time input for Time field by @aminalaee in #595
- Add modal confirmation for bulk delete by @aminalaee in #612
- Fix 'itsdangerous' import error when not using Authentication Backend by @GriceTurrble in #597
- Fix docs: Cookbook, Using a request object by @s1beria21 in #575
- Fix delete error no rows selected by @aminalaee in #591
- Fix typing of Admin session_maker by @sheldygg in #604
- Fix broken link in doc by @YannickLeRoux in #620
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.14.1...0.15.0
- Fix Detail page to not use label to get value in #570
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.14.0...0.14.1
- Pass request to model view methods by @rossmacarthur in #547
- Set
sessionmaker
onBaseAdmin
by @rossmacarthur in #542 - Allow custom properties by @aminalaee in #544
- Change signature of delete_model by @aminalaee in #550
- Support SQLAlchemy sessionmaker in Admin by @aminalaee in #565
- Fix
expose
andaction
Auth backend not called by @aminalaee in #561
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.13.0...0.14.0
- Remove httpx from requirements by @agn-7 in #520
- Fix issue when search query contains special characters by @uriyyo in #523
- Fix Ajax UUID by @aminalaee in #525
- Fix search pagination by @aminalaee in #528
- Drop Python3.7 by @aminalaee in #530
- Fix Enum in detail page by @aminalaee in #531
- Add
unique()
to query related models by @florianabel in #535 - Add PosrgreSQL JSONB type support by @uriyyo in #533
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.12.0...0.13.0
- Support
sqlalchemy.sql.sqltypes.Uuid
by @dexter-dopping-ekco in #501 - Implement multi pk support by @dexter-dopping-ekco in #507
- Support special
__all__
keyword by @aminalaee in #511 - use @login_required for custom actions and views by @aminalaee in #513
- Each
ModelView
can now have actions with the same name/slug by @murrple-1 in #503 - Fix count query in search page by @aminalaee in #506
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.11.0...0.12.0
- Add ability to specify custom actions by @murrple-1 in #486
- Add
ChoiceType
by @aminalaee in #482 - Add sqlalchemy_fields URLType converter by @aminalaee in #493
- Upgrade fontawesome by @aminalaee in #481
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.10.3...0.11.0
- Fix ImageType converter by @aminalaee in #471
- reset UploadFile seek after reading by @murrple-1 in #473
- Fix unnecessary joins in details and edit page by @aminalaee in #476
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.10.2...0.10.3
- Fix nullable string fields by @aminalaee in #465
- Fix Multiselect field saving only one value by @nik-joseph in #463
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.10.1...0.10.2
- Fix PK getters for related objects by @timoniq in #449
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.10.0...0.10.1
- Change AuthenticationBackend
authenticate
signature to support OAuth in #440
- Fix docstrings by @linomp in #434
- Update to work with Starlette URL type in url_for by @aminalaee in #444
- Fix nullable Integers to accept zero value by @ovginkel in #445
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.9.0...0.10.0
- Support SQLAlchemy v2 in #411
- Support PostgreSQL arrays in #414
- Add custom form converters in #399
- Support SQLAlchemy composite types in #421
- Add sqlalchemy_utils
PhoneNumberType
,ColorType
andArrowType
in #422
- Fix re-rendering create/edit page with existing data in #385
- Fix exclude columns breaking order in #407
- Fix control relationships in list page in #409
- Fix asyncpg BigInt query in #416
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.8.0...0.9.0
- Add
save_as
option by @aminalaee in #377 - Add
save_as_continue
option by @aminalaee in #379 - Add extra Save buttons for Create/Edit page by @aminalaee in #373
- Display errors in alert for create/edit page by @aminalaee in #382
- Fix
_url_for
methods ignoring root_path by @aminalaee in #371 - Fix export to use
list_query
option by @villqrd in #381
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.7.0...0.8.0
- Add
on_model_change
andafter_model_change
methods by @dima23113 in #342 - Add
on_model_delete
andafter_model_delete
methods by @aminalaee in #343
- Fix search by uuid column by @aminalaee in #366
- Update tests after starlette upgrade by @aminalaee in #344
- Remove hard-coded related model limit by @aminalaee in #354
- Improve items list UI by @ischaojie in #349
- Make navbar work on small screens by @aminalaee in #362
- Add mypy check with config no_implicit_optional by @ischaojie in #360
- Support test-suite py311 by @ischaojie in #365
- Add py.typed for the package to ship its typing information by @franciscorode in #346
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.6.1...0.7.0
- Fix Boolean field for both nullable and non-nullable cases in #336
- Fix Flatpickr not respecting readonly inputs in #336
- Disable batch delete when can_delete permission is not provided in #335
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.6.0...0.6.1
- Add bulk delete action by @aminalaee in #317
- Handle null values when column is nullable by @aminalaee in #323
- Switch Boolean field to select field by @aminalaee in #321
- Fix form_ajax_refs example in documentation by @GitBib in #311
- Remove watch in mkdocstrings mkdocs's config by @ischaojie in #306
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.5.0...0.6.0
- Add
remote_ajax_refs
in #292
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.4.0...0.5.0
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.3.0...0.4.0
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.2.1...0.3.0
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.2.0...0.2.1
- Add
list_query
,count_query
andsearch_query
options in #243 - Add
BaseView
for custom pages in #244 - Add
expose
for BaseView in #251 - Rename
ModelAdmin
toModelView
in #249
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.12...0.2.0
- Add time field converter by @ischaojie in #214
- Add Edit button for "Details" page by @cuamckuu in #222
- Add column_type_formatters by @aminalaee in #239
- Fix lazy subuqery in list query by @aminalaee in #212
- Fix missing browser tab title by @cuamckuu in #229
- Remove sourceMappingURL in JS files by @aminalaee in #231
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.11...0.1.12
- Add
form_include_pk
option by @aminalaee in #207
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.10...0.1.11
- Add support for one-to-one relationship by @okapies in #182
- Add support for UUIDType from sqlalchemy_utils by @okapies in #183
- Add sqlalchemy_utils URL, Currency and Timezone by @aminalaee in #185
- Add form_widget_args by @aminalaee in #188
- Add column_default_sort by @aminalaee in #191
- Fix link relationship to details page when null by @aminalaee in #174
- docs: fix typos by @pgrimaud in #161
- Allow QuerySelectField override object_list with form_args by @aminalaee in #171
- Fix form fields order when specifying columns by @okapies in #184
- Fix ModelConverter when
impl
is not callable by @aminalaee in #186
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.9...0.1.10
- Add column_formatters by @skarrok in #140
- Add column_formatters_detail by @aminalaee in #141
- Handling for sqlalchemy_utils EmailType and IPAddressType by @colin99d in #150
- Link relationships to detail page by @aminalaee in #153
- Function signature typing, and renames by @dwreeves in #116
- Fix SQLModel UUID type by @aminalaee in #158
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.8...0.1.9
- Add csv export support by @dwreeves in #101
- Expose Starlette middlewares and debug to the Admin by @tr11 in #114
- Fix Export unlimited rows by @aminalaee in #107
- Add form and export options docs by @aminalaee in #110
- fix docstring issues by adding an explicit handler by @dwreeves in #106
- Fix get_model_attr with column labels by @aminalaee in #128
- Delay call to
self.get_converter
to useform_overrides
by @lovetoburnswhen in #129
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.7...0.1.8
- Add SQLModel support by @aminalaee in #94
- Add form-specific functionality to ModelAdmin by @dwreeves in #97
- Add
UUID
field converter by @aminalaee in #82 - Add PostgreSQL
INET
andMACADDR
converters by @aminalaee in #83
- Fix Boolean field checkbox UI by @aminalaee in #88
- Fix PostgreSQL UUID PrimaryKey by @aminalaee in #92
- Fix Source Code Link by @baurt in #95
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.6...0.1.7
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.5...0.1.6
- Cleanup DB queries in #51
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.4...0.1.5
- Improve pagination in #36
- Instantiate ModelAdmin internally to avoid class methods in #31
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.3...0.1.4
- Add
title
andlogo
options in #20 - Adding
order_by
to list pagination query in #25 - Allow Relationship properties in list and detail views in #22
Full Changelog: https://github.com/aminalaee/sqladmin/compare/0.1.2...0.1.3