1
0
mirror of https://github.com/django/django.git synced 2025-10-30 17:16:10 +00:00
Commit Graph

33260 Commits

Author SHA1 Message Date
Clifford Gama
93e18a87dd [5.2.x] Fixed ambiguous pronoun reference in docs/ref/models/fields.txt.
Backport of 9cc3970eaa from main.
2025-01-24 18:46:43 +01:00
Jacob Walls
c85b68398b [5.2.x] Refs #470 -- Fixed field_defaults test failures due to year-end boundary conditions.
Backport of 352d860b91 from main.
2025-01-23 12:44:12 -03:00
nessita
123d00a9a3 [5.2.x] Clarified feature freeze tasks in docs/internals/howto-release-django.txt.
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>

Backport of f133285a9a from main.
2025-01-23 11:29:20 -03:00
Claude Paroz
72c0359dda [5.2.x] Fixed #36010 -- Avoided touching mo files while checking writability.
Backport of 2c47207b3c from main.
2025-01-23 11:37:48 +01:00
Mike Edmunds
698d05c11c [5.2.x] Fixed #36013 -- Removed use of IDNA-2003 in django.utils.html.
Removed obsolete and potentially problematic IDNA 2003 ("punycode")
encoding of international domain names in smart_urlquote() and Urlizer,
which are used (only) by AdminURLFieldWidget and the urlize/urlizetrunc
template filters. Changed to use percent-encoded UTF-8, which defers
IDNA details to the browser (like other URLs rendered by Django).

Backport of 29ba75e6e5 from main.
2025-01-23 10:40:58 +01:00
Baptiste Mispelon
d6c2b67884 [5.2.x] Fixed #36125 -- Switched docs to use chat.djangoproject.com when referencing the Discord server.
Backport of 9a1f18635f from main.
2025-01-22 18:23:33 -03:00
antoliny0919
5242220a56 [5.2.x] Fixed #36114 -- Fixed link visibility when list_display_links field contains only whitespace.
Backport of e262d5355d from main.
2025-01-22 14:57:57 +01:00
Simon Charette
1df0f998ae [5.2.x] Fixed #36117 -- Raised ValueError when providing composite expressions to case / when.
Remove redundant Case and When.resolve_expression to delegate composite
expression support to BaseExpression.

Thanks Jacob Tyler Walls for the report and test.

Backport of 00c690efbc from main.
2025-01-22 08:58:23 +01:00
Simon Charette
e306687a3a [5.2.x] Refs #36042 -- Consolidated composite expression checks in BaseExpression.
Remove redundant Func.resolve_expression and adjust CombinedExpression to
delegate source expression resolving to super() to perform checks against
allows_composite_expressions in a single location.

Backport of a76035e925 from main.
2025-01-22 08:57:40 +01:00
Igor Scheller
ae2f5381fe [5.2.x] Refs 35653 -- Clarified docs for EMAIL_SSL_CERTFILE and EMAIL_SSL_KEYFILE settings.
Backport of 136a1e8927 from main.
2025-01-21 19:36:26 -03:00
Simon Charette
9861e86547 [5.2.x] Fixed #36116 -- Optimized multi-column ForwardManyToOne prefetching.
Rely on ColPairs and TupleIn which support a single column to be specified
to avoid special casing ForwardManyToOne.get_prefetch_querysets().

Thanks Jacob Walls for the report.

Backport of 626d77e52a from main.
2025-01-21 09:13:18 +01:00
Mariusz Felisiak
55afe50aca [5.2.x] Refs #32193 -- Updated python-memcached to pymemcache in contributing guide.
Follow up to 05f3a6186e.
Backport of 337c641abb from main
2025-01-20 22:44:34 +01:00
Simon Charette
ad6bca92a8 [5.2.x] Fixed #36107 -- Adjusted UNNEST bulk_create strategy to opt-out sized arrays.
The array fields opt-out heuristic failed to account for sized arrays.

Note that we keep relying on db_type as opposed to performing an ArrayField
instance check against the column's field as there could be other
implementations of model fields that use Postgres arrays to store the
optimization must be disabled for all of them.

Refs #35936.

Thanks Claude Paroz for the report and test.

Backport of 22fc151bb8 from main.
2025-01-20 14:16:51 +01:00
greg
dab04b89af [5.2.x] Fixed #36017 -- Used EmailValidator in urlize to detect emails.
Backport of 61dae11df5 from main.
2025-01-20 14:04:35 +01:00
Clifford Gama
35d402f4e9 [5.2.x] Fixed typos in docs/releases/5.2.txt.
Backport of c41d6c9bb8 from main.
2025-01-16 13:15:24 +01:00
Sarah Boyce
759921c8e9 [5.2.x] Bumped version for 5.2 alpha 1 release. 5.2a1 2025-01-16 09:14:13 +01:00
Sarah Boyce
1eb62e5b62 [5.2.x] Bumped django_next_version in docs config. 2025-01-15 21:19:43 +01:00
Sarah Boyce
1259509220 Made cosmetic edits to docs/releases/5.2.txt. 2025-01-15 21:11:20 +01:00
Sarah Boyce
9e6e58bad2 Removed empty sections from 5.2 release notes. 2025-01-15 21:11:20 +01:00
Sarah Boyce
051acc5c48 Updated man page for Django 5.2 alpha. 2025-01-15 21:11:20 +01:00
Matthias Kestenholz
6a7ee02f59 Fixed #35521 -- Allowed overriding BoundField class on fields, forms and renderers.
Thank you Sarah Boyce, Carlton Gibson, Tim Schilling and Adam Johnson
for reviews.

Co-authored-by: Christophe Henry <contact@c-henry.fr>
Co-authored-by: David Smith <smithdc@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Matthias Kestenholz <mk@feinheit.ch>
2025-01-15 17:04:26 -03:00
Mariusz Felisiak
0cabed9efa Simplified GeoIP2._query() when passing IPv4Address()/IPv6Address() instances.
There is no need to call validate_ipv46_address() for
ipaddress.IPv4Address()/ipaddress.IPv6Address() instances since this
relies on trying to create these kind objects from strings, so they will
always be valid.
2025-01-15 13:46:06 -03:00
Mariusz Felisiak
b3c5830769 Fixed #36098 -- Fixed validate_ipv6_address()/validate_ipv46_address() crash for non-string values.
Regression in ca2be7724e.
2025-01-15 13:46:06 -03:00
Jacob Walls
1602666b79 Fixed #36100 -- Checked if composite pk is set in get_next/get_previous. 2025-01-15 17:23:46 +01:00
Simon Charette
6cfe00ee43 Refs #29499 -- Fixed race condition in update_or_create() test.
The usage of time.sleep() could result in the update_or_create() thread winning
the race to create the row if the backend takes a while to create a new
connection in the main thread.

Relying on threading.Event ensures that the flow of execution is systematically
yield back and forth between the main thread and the thread in charge of
performing the background update_or_create().
2025-01-15 15:36:57 +01:00
Jacob Walls
de9f46d707 Fixed #36070 -- Clarified model validation behavior for composite pks. 2025-01-15 13:44:23 +01:00
Jacob Walls
f054045973 Refs #36070 -- Referred to pk as an attribute when a composite primary key is defined.
This is to avoid confusion that a field is often associated with having
a single associated database column.
2025-01-15 13:44:23 +01:00
Sarah Boyce
b721f12760 Fixed #35998 -- Added caching to django.utils.html.urlize(). 2025-01-14 17:59:32 +01:00
Jacob Walls
d206d4c200 Fixed #36051 -- Declared arity on aggregate functions.
Follow-up to 4a66a69239.
2025-01-14 16:47:07 +01:00
Simon Charette
f07360e808 Refs #36075 -- Adjusted MTI handling of _non_pk_concrete_field_names.
Regression in bf7b17d16d.

Thanks Sage Abdullah for the report.
2025-01-14 16:21:19 +01:00
Simon Charette
161e79d277 Refs #36075 -- Adjusted pk_fields usage in bulk_update eligibility checks.
Regression in bf7b17d16d.

Thanks Sage Abdullah for the report.
2025-01-14 16:21:19 +01:00
Simon Charette
4bfec242b4 Fixed #36093 -- Adjusted unique checks to account for inherited primary keys.
Regression in bf7b17d16d refs #36075.

Thanks Sage Abdullah for the report and tests.
2025-01-14 16:21:19 +01:00
Simon Charette
e580926d74 Fixed #36075 -- Documented how to introspect composite primary keys.
Document _meta.pk_fields and interactions between Field.primary_key and
CompositePrimaryKey.

Thanks Mariusz for the review.
2025-01-14 16:20:17 +01:00
Natalia
f2a1dcaa53 Added CVE-2024-56374 to security archive. 2025-01-14 11:37:50 -03:00
Natalia
3b46bea909 Added stub release notes for 5.1.6. 2025-01-14 11:33:28 -03:00
Michael Manfre
ca2be7724e Fixed CVE-2024-56374 -- Mitigated potential DoS in IPv6 validation.
Thanks Saravana Kumar for the report, and Sarah Boyce and Mariusz
Felisiak for the reviews.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-01-14 08:42:24 -03:00
Natalia
9a2dd9789a Made cosmetic edits to 5.1.5 release notes. 2025-01-14 08:33:03 -03:00
Mariusz Felisiak
0a341125d1 Refs #35844 -- Removed unnecessary ArgumentParser.add_argument_group()'s prefix_chars argument.
The `prefix_chars` argument is deprecated since 7b04496e5c.
2025-01-13 12:53:48 -03:00
Sarah Boyce
23c6effac0 Fixed #36087 -- Supported password reset on a custom user model with a composite primary key. 2025-01-13 15:51:21 +01:00
Bendeguz Csirmaz
d83fb782d3 Fixed #36092 -- Disallowed non-local fields in composite primary keys. 2025-01-13 14:21:41 +01:00
Sarah Boyce
bf7b17d16d Refs #36075 -- Used field in pk_fields over field.primary_key. 2025-01-13 12:04:59 +01:00
Jacob Walls
d66137b39b Fixed #36077 -- Corrected docs on pk value where Model.save() executes an UPDATE.
The empty string is no longer special-cased since
c2ba59fc1d.
2025-01-13 11:18:02 +01:00
Simon Charette
76a0b6aa3a Refs #36050 -- Fixed OuterRef support for CompositePrimaryKey on Oracle.
Oracle doesn't support native tuple comparison so each as_oracle implementation
of tuple lookups must also perform right-hand-side sanitization.
2025-01-13 11:14:01 +01:00
Simon Charette
9e55201555 Fixed #36086 -- Fixed crash when using GeneratedField with non-AutoField pk.
The previous logic was systematically attempting to retrieve last_insert_id
even for models without an AutoField primary key when they had a GeneratedField
on backends that can't return columns from INSERT.

The issue affected MySQL, SQLite < 3.35, and Oracle when the use_returning_into
option was disabled and could result in either crashes when the non-auto
primary key wasn't an IntegerField subclass or silent misassignment of bogus
insert ids (0 or the previous auto primary key insert value) to the first
defined generated field value.
2025-01-13 11:13:29 +01:00
Simon Charette
20eb4bca7d Refs #373 -- Adjusted test allowing AutoField in composite primary keys.
This is not a properly supported feature yet and should be revisited by
refs #35957.
2025-01-13 11:13:29 +01:00
Simon Charette
bfcb34076e Refs #373 -- Removed unused composite pk code in SQLInsertCompiler.
This logic could only be exercised if the composite primary key included an
AutoField but it's not allowed yet (refs #35957).

It was also slightly broken as it expected the AutoField to always be the first
member of returning_fields.
2025-01-13 11:13:29 +01:00
Bendeguz Csirmaz
8bee7fa45c Fixed #36050 -- Added OuterRef support to CompositePrimaryKey. 2025-01-10 14:38:09 +01:00
antoliny0919
97ee8b82c2 Fixed #36032 -- Rendered URLField values as links in the admin. 2025-01-10 12:57:53 +01:00
Bendeguz Csirmaz
5851605863 Fixed #36064 -- Skipped an UPDATE when adding a model instance with a composite primary key with default values. 2025-01-10 11:43:38 +01:00
Bendeguz Csirmaz
8287fd4915 Refs #36064 -- Added test that falsey primary key default/db_default value skips an update query on save.
This adds test coverage for logic change in 9fa4d07ce0.
2025-01-10 11:43:38 +01:00