Commit Graph

4750 Commits

Author SHA1 Message Date
Mariusz Felisiak 751d732a38
Fixed #35056 -- Fixed system check crash on reverse m2m relations with related_name in ModelAdmin.filter_horizontal/vertical.
Thanks Thomas Feldmann for the report.

Regression in 107865780a.
2023-12-27 20:36:22 +01:00
David Wobrock 14917c9ae2 Fixed #35050 -- Fixed prefixing field names in FilteredRelation().
Thanks Mark Zorn for the report.

Regression in 59f4754704.
2023-12-23 17:35:13 +01:00
Mariusz Felisiak 6c08dba517
Fixed #35054 -- Fixed crash on Oracle when fetching JSONFields with oracledb 2.0.0. 2023-12-22 09:43:45 +01:00
Nicolas Lupien 2bf46c3825 Fixed #34658 -- Added SimpleTestCase.assertNotInHTML(). 2023-12-22 08:27:59 +01:00
David Smith c709a748ce Fixed #35049 -- Dropped support for GDAL 2.4. 2023-12-20 21:44:11 +01:00
David Smith fa1d0b11e4 Fixed #35048 -- Dropped support for PROJ 5.x. 2023-12-20 21:06:43 +01:00
Emanuel Andrecut e72b2826ff Fixed #35032 -- Corrected Char32UUIDField implementation in 5.0 release notes.
This fixes Char32UUIDField implementation in 5.0 release notes causing
records with UUIDFields created using pre-Django 5.0 and CHAR(32) not
being able to be saved anymore after upgrading and keeping the CHAR(32)
columns.

Regression in 7cd187a5ba.
2023-12-14 09:26:24 +01:00
Tom Carrick 4aae864463 Fixed #35012 -- Restored wrapping admin fieldsets with multiple fields per line.
Thanks James Gillard for the report.

Regression in 729266c6f2.
2023-12-13 06:04:18 +01:00
Simon Charette b0ad41198b Fixed #34013 -- Added QuerySet.order_by() support for annotation transforms.
Thanks Eugene Morozov and Ben Nace for the reports.
2023-12-12 05:51:33 +01:00
Mariusz Felisiak fcf95e5927
Fixed #35018 -- Fixed migrations crash on GeneratedField with BooleanField as output_field on Oracle < 23c.
Thanks Václav Řehák for the report.

Regression in f333e3513e.
2023-12-12 05:39:11 +01:00
Sarah Boyce b287af5dc9 Fixed #35019 -- Fixed save() on models with both GeneratedFields and ForeignKeys.
Thanks Deb Kumar Das for the report.

Regression in f333e3513e.
2023-12-08 09:46:11 +01:00
Mariusz Felisiak 5b3b791e90
Fixed #35024 -- Fixed model instance creation crash on GeneratedField.output_field with backend converters.
Regression in d9de74141e.

This is a long standing issue, however it caused a crash of
GeneratedFields for all output fields that have backend-specific
converters when the RETURNING clause is not supported
(MySQL and SQLite < 3.35).
That's why severity was exacerbated.
2023-12-07 20:50:18 +01:00
Sarah Boyce f80669d2f5 Fixed #35020 -- Fixed ModelAdmin.lookup_allowed() for non-autofield primary keys.
Thanks Joshua Goodwin for the report.

Regression in 45ecd9acca.
2023-12-07 06:16:35 +01:00
Nick Pope 07f9f9960c Deprecated django.contrib.gis.geoip2.GeoIP2.open(). 2023-12-05 08:21:19 +01:00
Mariusz Felisiak 464af0975c Added stub release notes for 4.2.9. 2023-12-05 06:07:51 +01:00
Mariusz Felisiak 689306c745 Updated expected release date for 5.0.1. 2023-12-05 06:02:36 +01:00
Natalia 14884b6be8 Added stub release notes for 5.0.1. 2023-12-04 10:21:37 -03:00
Natalia 1994a26438 Finalized release notes for Django 5.0. 2023-12-04 09:25:23 -03:00
Mariusz Felisiak 8fcb9f1f10 Added release date for 4.2.8. 2023-12-04 09:24:31 +01:00
Nick Pope b925fefd7d Deprecated django.contrib.gis.geoip2.GeoIP2.coords().
The `ordering` argument is undocumented and of limited use, so this is
effectively the same as `GeoIP2.lon_lat()`.
2023-12-01 08:38:42 +01:00
Mariusz Felisiak 37fc832a54
Fixed #35006 -- Fixed migrations crash when altering Meta.db_table_comment on SQLite.
Thanks Юрий for the report.

Regression in 78f163a4fb.
2023-11-30 10:10:27 +01:00
Mariusz Felisiak a4931cd75a
Refs #34380 -- Added FORMS_URLFIELD_ASSUME_HTTPS transitional setting.
This allows early adoption of the new default "https".
2023-11-28 20:04:21 +01:00
Tom Carrick 729266c6f2 Fixed #34982 -- Fixed admin's read-only password widget and help texts alignment for tablet screen size.
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2023-11-27 14:42:25 -03:00
Mariusz Felisiak a652f07596 Fixed #34978, Refs #31331 -- Added backward incompatibility note about raw aggregations on MySQL.
Thanks Matthew Somerville for the report.
2023-11-27 11:57:07 +01:00
Nathaniel Conroy 0257426fe1 Fixed #34992 -- Fixed DatabaseFeatures.allows_group_by_selected_pks on MariaDB with ONLY_FULL_GROUP_BY sql mode.
Regression in 041551d716.
2023-11-27 09:20:10 +01:00
Adam Johnson 0203771b62 Refs #34380 -- Improved docs for forms.URLField.assume_scheme. 2023-11-25 17:08:50 +01:00
Nick Pope 5e28cd3f2c
Fixed #34983 -- Deprecated django.utils.itercompat.is_iterable(). 2023-11-24 12:06:29 +01:00
Tom Carrick a89c715c3b Fixed #34994 -- Fixed checkbox layout in admin's change page for narrow screen widths.
Regression in d687febce5.
2023-11-23 15:18:07 -03:00
Tom Carrick 4eb9c3d90a Fixed #34991 -- Fixed pagination links and input layout in admin's change list page when using list_editable.
Regression in b4817d20b9.

Thanks Tom Carrick for the report and fix.
2023-11-23 09:39:57 -03:00
Tom Carrick a03593967f Fixed #14611 -- Added query_params argument to RequestFactory and Client classes. 2023-11-23 10:39:29 +01:00
Simon Charette e76cc93b01
Fixed #34987 -- Fixed queryset crash when mixing aggregate and window annotations.
Regression in f387d024fc.

Just like `OrderByList` the `ExpressionList` expression used to wrap
`Window.partition_by` must implement `get_group_by_cols` to ensure the
necessary grouping when mixing window expressions with aggregate
annotations is performed against the partition members and not the
partition expression itself.

This is necessary because while `partition_by` is implemented as
a source expression of `Window` it's actually a fragment of the WINDOW
expression at the SQL level and thus it should result in a group by its
members and not the sum of them.

Thanks ElRoberto538 for the report.
2023-11-23 06:09:08 +01:00
Mariusz Felisiak ecfea054ee Refs #34118 -- Doc'd Python 3.12 compatibility in Django 4.2.x. 2023-11-19 16:31:46 +01:00
Simon Charette 7530cf3900 Fixed #34975 -- Fixed crash of conditional aggregate() over aggregations.
Adjustments made to solve_lookup_type to defer the resolving of
references for summarized aggregates failed to account for similar
requirements for lookup values which can also reference annotations
through Aggregate.filter.

Regression in b181cae2e3.

Refs #25307.

Thanks Sergey Nesterenko for the report.
2023-11-18 15:38:04 +01:00
David Smith eec7e9ba89 Refs #32819 -- Established relationship between form fieldsets and their help text.
This adds aria-describedby for widgets rendered in a fieldset such as
radios. aria-describedby for these widgets is added to the <fieldset>
element rather than each <input>.
2023-11-17 08:12:36 +01:00
David Smith 292f1ea90f Refs #32819 -- Used auto_id instead of id_for_label as unique identifier for the field.
`id_for_label` is blank for widgets with multiple inputs such as radios
and multiple checkboxes. Therefore , `help_text` for fields using these
widgets cannot currently be associated using `aria-describedby`.
`id_for_label` is being used as a guard to avoid incorrectly adding
`aria-describedby` to those widgets.

This change uses `auto_id` as the unique identified for the fields
`help_text`. A guard is added to avoid incorrectly adding
`aria-describedby` to inputs by checking the widget's `use_fieldset`
attribute. Fields rendered in a `<fieldset>` should have
`aria-describedby` added to the `<fieldset>` and not every `<input>`.
2023-11-16 12:23:42 +01:00
Mariusz Felisiak 5875f03ce6 Fixed #34944 -- Made GeneratedField.output_field required.
Regression in f333e3513e.
2023-11-14 20:22:07 +01:00
Adam Johnson f7389c4b07 Fixed #34457 -- Restored output for makemigrations --check.
Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2023-11-09 10:03:19 -03:00
Mariusz Felisiak 36173cf29d Added stub release notes for 4.2.8. 2023-11-01 08:22:47 +01:00
Mariusz Felisiak 7caf262183 Added CVE-2023-46695 to security archive. 2023-11-01 08:16:14 +01:00
Mariusz Felisiak 05ba4130ee Fixed CVE-2023-46695 -- Fixed potential DoS in UsernameField on Windows.
Thanks MProgrammer (https://hackerone.com/mprogrammer) for the report.
2023-11-01 06:10:30 +01:00
Akash Kumar Sen 40b3975e7d Fixed #34462 -- Made admin log actions in bulk.
This also deprecates ModelAdmin.log_deletion() and
LogEntryManager.log_action().
2023-10-31 18:06:44 +01:00
Sarah Boyce e4d012ca05 Refs #29850 -- Added exclusion support to window frames. 2023-10-30 12:04:55 +01:00
Tom Carrick 34b411762b Fixed #34932 -- Restored varchar_pattern_ops/text_pattern_ops index creation when deterministic collaction is set.
Regression in f3f9d03edf (4.2) and
8ed25d65ea (5.0).
2023-10-30 07:37:40 +01:00
Sarah Boyce 6375cee490 Refs #29850 -- Added RowRange support for positive integer start and negative integer end. 2023-10-28 15:16:07 +02:00
Tom Carrick e67d3580ed Fixed #10941 -- Added {% query_string %} template tag. 2023-10-26 09:57:21 +02:00
Mariusz Felisiak fdd1323b9c Added stub release notes and release date for 4.2.7, 4.1.13, and 3.2.23. 2023-10-25 05:37:57 +02:00
Claire Pritchard 61cc0e6f2c
Fixed typo in docs/releases/4.2.txt. 2023-10-22 11:02:12 +02:00
Carlton Gibson 3b255d72cf
Refs #34043 -- Tweaked wording in release note. 2023-10-18 21:40:50 +02:00
Sarah Boyce be56c982c0 Refs #34043 -- Added --screenshots option to runtests.py and selenium tests. 2023-10-18 06:14:40 +02:00
Simon Charette 3b4a571275 Fixed #34798 -- Fixed QuerySet.aggregate() crash when referencing expressions containing subqueries.
Regression in 59bea9efd2,
complements e5c844d6f2.

Refs #28477, #34551.

Thanks Haldun Komsuoglu for the report.
2023-10-16 05:37:30 +02:00
Adam Johnson 73b2c63127
Refs #34840 -- Improved release note describing index regression. 2023-10-15 10:27:11 +02:00
Mariusz Felisiak 54b23b1835
Added backticks to setuptools in docs. 2023-10-09 09:55:52 +02:00
Natalia 4e790271e3 Added CVE-2023-43665 to security archive. 2023-10-04 13:05:00 -03:00
Natalia 034457941a Added stub release notes for 4.2.7. 2023-10-04 12:33:08 -03:00
Natalia 17b51094d7 Fixed CVE-2023-43665 -- Mitigated potential DoS in django.utils.text.Truncator when truncating HTML text.
Thanks Wenchao Li of Alibaba Group for the report.
2023-10-04 09:22:26 -03:00
Chinmoy Chakraborty 1dae65dc63 Fixed #34657 -- Made assert(Not)Contains/assertInHTML display haystacks in error messages. 2023-10-03 10:44:36 +02:00
Mariusz Felisiak 679212a47a
Refs #34657 -- Made msg_prefix handling in assertURLEqual()/assertInHTML consistent with other assertions.
Co-authored-by: Chinmoy Chakraborty <chinmoy12c@gmail.com>
2023-10-03 09:25:48 +02:00
Carlton Gibson 35bbb2c9c0 Fixed #34883 -- Allowed template tags to set extra data on templates.
By setting a value in the `parser.extra_data` mapping, template tags
pass additional data out of the parsing context.

Any extra data set is exposed on the template via the matching
`.extra_data` attribute.

Library authors should use a key to namespace extra data. The 'django'
namespace is reserved for internal use.
2023-10-02 16:16:43 +02:00
Natalia 5e4b75b78a Added stub release notes and release date for 4.2.6, 4.1.12, and 3.2.22. 2023-09-27 14:18:40 -03:00
Mariusz Felisiak f9e9526800
Fixed #34873 -- Added QuerySet.explain() support for GENERIC_PLAN option on PostgreSQL 16+. 2023-09-26 12:05:26 +02:00
lstaana 357365a64e Fixed #34835 -- Made admin's changelist filters render in <nav> tag. 2023-09-26 08:45:07 +02:00
Mariusz Felisiak 779cd28acb
Fixed #34840 -- Avoided casting string base fields on PostgreSQL.
Thanks Alex Vandiver for the report.

Regression in 09ffc5c121.
2023-09-22 06:01:11 +02:00
Mariusz Felisiak 2c6ebb65c9
Fixed #34851 -- Dropped support for PostgreSQL 12 and PostGIS 2.5. 2023-09-20 13:45:51 +02:00
Paolo Melchiorre 0b506bfe1a
Refs #31300 -- Added example to GeneratedField release notes. 2023-09-20 09:00:30 +02:00
Mariusz Felisiak 3623a0c079
Fixed #34850 -- Dropped support for MariaDB 10.4. 2023-09-19 15:06:05 +02:00
Mariusz Felisiak 909f8e4c24
Fixed typo in docs/releases/5.0.txt. 2023-09-19 09:27:28 +02:00
Mariusz Felisiak 0e560edf32 Increased the default PBKDF2 iterations for Django 5.1. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak f72f420f17 Refs #26029 -- Removed DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings.
This also removes django.core.files.storage.get_storage_class().

Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak 3a3e737694 Refs #33199 -- Removed support for passing positional arguments to Signer/TimestampSigner.
Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak 5e4c1793b7 Refs #33308 -- Removed support for passing encoded JSON string literals to JSONField & co.
Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak 69af3bea99 Refs #33990 -- Removed TransactionTestCase.assertQuerysetEqual() per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak c35fd9e275 Refs #33990 -- Removed SimpleTestCase.assertFormsetError() per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 7433237664 Refs #33924 -- Removed BaseGeometryWidget.map_height/map_width attributes per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 04eb1b4567 Refs #33872 -- Removed django.contrib.postgres.fields.CIText/CICharField/CIEmailField/CITextField.
Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak 6e4e5523a8 Refs #33691 -- Removed insecure password hashers per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 14ef92fa9e Refs #33864 -- Removed length_is template filter per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 2abf417c81 Refs #27236 -- Removed Meta.index_together per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 00e1879610 Refs #33764 -- Removed BaseUserManager.make_random_password() per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 590a31eb10 Added stub release notes for 5.1. 2023-09-18 22:12:40 +02:00
Natalia 613b7ba212 Made cosmetic edits to docs/releases/5.0.txt. 2023-09-18 10:21:25 -03:00
Natalia a7aaba0f85 Removed empty sections from 5.0 release notes. 2023-09-18 09:51:35 -03:00
Clément Escolano cac94dd8aa Fixed #33651 -- Added support for prefetching GenericForeignKey.
Co-authored-by: revanthgss <revanthgss@almabase.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-18 13:23:21 +02:00
Mariusz Felisiak 190874eadd
Fixed #34560 -- Updated admin's jQuery to 3.7.1. 2023-09-18 08:54:44 +02:00
Ryanwalker277 225328efd9 Fixed #31558 -- Added support for boolean attribute on properties in ModelAdmin.list_display. 2023-09-16 20:54:26 +02:00
Sarah Abderemane 814e7bc220 Fixed #34832 -- Made admin's header content render in <header> tag.
Header tag was changed to <header> get the landmark banner for
accessibility.
2023-09-15 05:36:43 +02:00
Natalia 691f70c477 Fixed #24561 -- Added support for callables on model fields' choices. 2023-09-14 10:15:33 -03:00
Sarah Abderemane 91e617c743 Fixed #34833 -- Made admin's main content render in <main> tag. 2023-09-14 05:41:31 +02:00
Nick Pope f92e68c30a Fixed #34822 -- Added support for serializing functions decorated with functools.lru_cache in migrations.
`@functools.cache` and `@functools.lru_cache` return an object of type
`functools._lru_cache_wrapper` which prevented the migrations serializer from
working. Simply using the existing `FunctionTypeSerializer` for this additional
type works as expected.
2023-09-13 15:57:18 -03:00
Ben Lomax 74f7deec9e Refs #31949 -- Made make_middleware_decorator to work with async functions. 2023-09-13 11:41:01 +02:00
Nick Pope e15174983a Renamed ChoicesMeta to ChoicesType.
This also uses enum.EnumType for Python 3.11+ as Python 3.11 renamed
EnumMeta to EnumType. While the former is still available as an alias
of the latter for now, let's prefer the canonical name for this.

Check out https://docs.python.org/3/library/enum.html#enum.EnumType
2023-09-12 11:51:01 +02:00
Mariusz Felisiak a7c73b944f
Fixed #34821 -- Prevented DEFAULT_FILE_STORAGE/STATICFILES_STORAGE settings from mutating the main STORAGES.
Regression in 6b965c6000.
2023-09-11 13:04:32 +02:00
Yves Weissig 369b498219 Fixed #34642 -- Added File.open() support for *args and **kwargs. 2023-09-11 06:07:47 +02:00
Jeremy Nauta f333e3513e Fixed #31300 -- Added GeneratedField model field.
Thanks Adam Johnson and Paolo Melchiorre for reviews.

Co-Authored-By: Lily Foote <code@lilyf.org>
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-07 06:19:08 +02:00
François Freitag cafe7266ee Fixed #34730 -- Added django.contrib.messages.test.MessagesTestMixin.assertMessages(). 2023-09-05 11:55:37 +02:00
Jacob Walls 6c6606aa01 Refs #34233 -- Bumped minimum supported version of docutils to 0.19. 2023-09-04 22:30:45 +02:00
Mariusz Felisiak a534835c7b Added stub release notes for 4.2.6. 2023-09-04 13:22:22 +02:00
Mariusz Felisiak 8a98768868 Added CVE-2023-41164 to security archive. 2023-09-04 13:09:48 +02:00
Mariusz Felisiak 3f41d6d629 Fixed CVE-2023-41164 -- Fixed potential DoS in django.utils.encoding.uri_to_iri().
Thanks MProgrammer (https://hackerone.com/mprogrammer) for the report.

Co-authored-by: nessita <124304+nessita@users.noreply.github.com>
2023-09-04 11:58:37 +02:00
Sulabh Katila 9a9620dda6 Fixed #34768 -- Avoided initializing colorama on non-Windows platforms. 2023-09-01 11:26:29 +02:00
willzhao 9cc0d7f7f8 Fixed #34803 -- Fixed queryset crash when filtering againts deeply nested OuterRef annotations.
Thanks Pierre-Nicolas Rigal for the report.

Regression in c67ea79aa9.
2023-09-01 10:44:20 +02:00