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