Releases: typeddjango/django-stubs
5.2.1
What's Changed
- Fix some
<type> is not present at runtime
errors by @UnknownPlatypus in #2635 - Fix missing at runtime errors (second batch) by @UnknownPlatypus in #2636
- Move method defined on
BaseManager
toManager
to follow runtime behavior by @UnknownPlatypus in #2637 - Fix missing at runtime errors (batch 3) by @UnknownPlatypus in #2639
- Add stubs for
django.template.autoreload
by @rafailmdzdv in #2638 - Allow permission methods to take any model instance as obj by @federicobond in #2640
- correct bound for
_UserType
by @asottile in #2645 - fix referencing
.value
of a Choices variable by @asottile in #2644 - Fixes to choices support in plugin by @ngnpope in #2646
- Use github permalink to blob view, not blame view by @UnknownPlatypus in #2647
- add
null
keyword argument toManyToManyField
init by @lev-blit in #2648 - Run stubtest on 2 latest python versions by @sobolevn in #2651
- Stronger type for
settings.AUTH_PASSWORD_VALIDATORS
by @UnknownPlatypus in #2652 - Fix missing at runtime 3 by @UnknownPlatypus in #2653
- Enable a few more ruff rules by @UnknownPlatypus in #2655
- Update django gis backend by @UnknownPlatypus in #2657
- Fix
django.http
errors by @UnknownPlatypus in #2654 - Add
mysqlclient
deps to reveal mysql module stubtest errors by @UnknownPlatypus in #2656 - Update
django.core.handlers
by @UnknownPlatypus in #2660 - Fix a few errors related to the metaclass
MediaDefiningClass
by @UnknownPlatypus in #2662 - Update django to 5.2.1 by @sobolevn in #2664
- Add a test for missing generics in stubs by @UnknownPlatypus in #2659
- Contribute to class by @UnknownPlatypus in #2666
- Restore support for mypy v1.13 by @ngnpope in #2669
- Fix a crash on mypy master branch by @ngnpope in #2670
- Update _AsSqlType to allow tuple[str, tuple] by @jacobtylerwalls in #2673
- fix typing for get_auto_imports, get_namespace, and run_formatters by @BlaackWizard in #2674
- fix: django.contrib.staticfiles for 5.2 by @skv0zsneg in #2684
- Fix postgres OrderableAggMixin & BTreeIndex by @skv0zsneg in #2686
- Switch to pyproject.toml + PEP621 by @UnknownPlatypus in #2688
- Fix some django52 by @skv0zsneg in #2691
- Use
uv
to manage dev dependencies by @UnknownPlatypus in #2698 - Add tests for ClassVar-annotated Migration fields by @zyv in #2702
- Add support for mypy v1.16 by @ngnpope in #2703
- Weaken response argument types in django.utils.cache by @cjwatson in #2704
- Add stub for
django.db.models.expressions.Expression.identity
by @cjwatson in #2685 - change
assertFormError
form arg type to BaseForm by @marxide in #2705 - Updated the "LogEntryManager" class' "log_action" and "log_actions" methods by @ataylor32 in #2708
- Fix signature of
LogEntryManager.log_actions
by @youtux in #2710 - Add "django.contrib.auth.management.commands.createsuperuser" annotations by @brianhelba in #2701
New Contributors
- @rafailmdzdv made their first contribution in #2638
- @lev-blit made their first contribution in #2648
- @BlaackWizard made their first contribution in #2674
- @skv0zsneg made their first contribution in #2684
- @cjwatson made their first contribution in #2704
- @marxide made their first contribution in #2705
- @ataylor32 made their first contribution in #2708
Full Changelog: 5.2.0...5.2.1
5.2.0
Important changes
- We now support [email protected] LTS release!
- Partial Django support is moved to 5.0 from 4.2
- We now also run all checks in this repo under
mypy --strict
mode - Minimal
mypy
version is updated to1.13
What's Changed
- fix
format_lazy
typing by @ashm-dev in #2504 - Update models's fields'
_Choices
type by @stianjensen in #2476 - fix: Add
context_data
attribute to _MonkeyPatchedW/ASGIResponse. by @PacificGilly in #2509 - Fix id and pk of AnonymousUser by @stickperson in #2515
- Add docs about "
type[Model]
does not haveobjects
attribute" by @sobolevn in #2519 - Update
db.migrations.operations
by @Viicos in #2349 - Add
select_format()
methods by @adamchainz in #2525 - Tidy
django.conf.urls
by @adamchainz in #2528 - Fix
Func.function
by @adamchainz in #2529 - Add
ClassVar
annotations on mutableModelAdmin
types forruff
by @zyv in #2524 - Add
ClassVar
annotations onMigration
class attributes by @zyv in #2530 - Remove insecure password hashers by @adamchainz in #2537
- Update for
Model.[a]save()
signature change by @adamchainz in #2535 - Update TestCase classes for Django 5.1 by @adamchainz in #2540
- Improve admin decorators by @adamchainz in #2538
- Update for template system checks change by @adamchainz in #2536
- Remove ForeignObjectRel.is_hidden() by @adamchainz in #2539
- Correct Field.slice_expression() 'length' argument name. by @adamchainz in #2548
- Update django.urls for Django 5.1 by @adamchainz in #2546
- Update django.db.models.options.Options for Django 5.1 by @adamchainz in #2545
- Add admin is_collapsible() methods by @adamchainz in #2541
- Update django.template for Django 5.1 by @adamchainz in #2543
- Add new system checks from Django 5.1 by @adamchainz in #2542
- Add full signatures to CheckConstraint.init overloads by @adamchainz in #2544
- Make Model.[a]save() keyword-only by @adamchainz in #2550
- Add query_params argument to test tools from Django 5.1 by @adamchainz in #2547
- fix #2552 by add ModelIterable to _need_generic by @lucemia in #2553
- Add window frame exclusion from Django 5.1 by @adamchainz in #2554
- Improve process_view() methods by @adamchainz in #2556
- Update core.files.storages for Django 5.1 by @adamchainz in #2558
- Update contrib.auth for Django 5.1 by @adamchainz in #2555
- Complete JSONObject by @adamchainz in #2560
- Fix FieldCacheMixin.cache_name by @adamchainz in #2562
- Use AbstractContextManager instead of
@contextmanager
by @adamchainz in #2561 - Add ModelForm.declared_fields by @adamchainz in #2557
- Update test.selenium for Django 5.1 by @adamchainz in #2559
- Update database expressions for Django 5.1 by @adamchainz in #2563
- fixed typing in contrib.auth.decorators by @Rusich90 in #2564
- Update
_Choices
type for forms by @mrgalopes in #2565 - Update some database backend attributes for Django 5.1 by @adamchainz in #2567
- Update PostgreSQL backend
is_postgresql_*
properties for Django 5.1 by @adamchainz in #2566 - Remove unused code from the plugin by @ngnpope in #2570
- Add
db_table_comment
to model meta by @ngnpope in #2571 - Fix
BaseModelAdmin.get_inlines()
return type by @MaestroXXXVIII in #2576 - Fix a few typos by @UnknownPlatypus in #2579
- Document custom field typing by @UnknownPlatypus in #2578
- Improve stubs for
flatten
andflatten_fieldsets
by @ngnpope in #2572 - Improve typing of choices by @ngnpope in #2582
- Run tests in parallel by @UnknownPlatypus in #2580
- Make GeneratedField parameter db_persist required by @JasonLovesDoggo in #2568
- Re-add explicit test cache disabling by @UnknownPlatypus in #2589
- Ignore
__slotnames__
by @adamchainz in #2584 - Update a bunch of stuff for Django 5.1 by @adamchainz in #2585
- Add get_refs() to BaseExpression and WhereNode by @adamchainz in #2586
- Update Django 4.2 LTS version to 4.2.20 by @intgr in #2592
- Allow tuples for some
TypedModelMeta
fields by @ngnpope in #2594 - Update
django.contrib.gis.geoip2
stubs by @ngnpope in #2593 - Update django to 5.2 by @sobolevn in #2596
- Fix django.urls.base.reverse after 5.2 by @simwr872 in #2595
- Update
django.core.validators
for Django 5.2 by @JaeHyuckSa in #2598 - Update
django.test.client
anddjango.utils
for Django 5.2 by @JaeHyuckSa in #2599 - Update
django.contrib.auth.backends
for Django 5.2 by @JaeHyuckSa in #2600 - Update
django.contrib.auth.models
for Django 5.2 by @JaeHyuckSa in #2601 - Allow
MutableMapping
forForm.Initial
by @UnknownPlatypus in #2604 - Update
django.contrib.admin
for Django 5.2 by @JaeHyuckSa in #2607 - Update
django.db.models.sql
for Django 5.2 by @JaeHyuckSa in #2606 - Update
django.forms.widgets
for Django 5.2 by @federicobond in #2608 - create and re-use
TypeAlias
es andTypeVar
s for "user" and "any user" by @terencehonles in #2384 - Update
django.contrib
for Django 5.2 by @JaeHyuckSa in #2611 - Add stub for
get_select2_language
fromdjango.contrib.admin.widgets
by @michalpokusa in #2612 - Update
django.core.management.commands
for Django 5.2 by @JaeHyuckSa in #2613 - Restrict setuptools to
<79.0.0
forSETUPTOOLS_ENABLE_FEATURES=legacy-editable
to work by @michalpokusa in #2617 - Add EmailMultiAlternatives.body_contains() by @cuu508 in #2618
- Add HttpResponse.text by @cuu508 in #2622
- Allow tuples for some
Options
fields by @ngnpope in #2627 - Add
__all__
by @donBarbos in #2624 - Fix some django 5.2 new missing parameters by @sobolevn in #2629
- [5.2] Improve
django.http.request.MediaType
by @sobolevn in #2631 - [5.2] Fix new errors in
django.http
module by @sobolevn in #2632 - [5.2] Fix
django.template.library
by @sobolevn in #2633 - Update
django.core.serializers
for Django 5.2 by @JaeHyuckSa in #2614 - Update contrib.gis for Django 5.1 by @adamchainz in #2587
- Update some field attributes for Django 5.1 by @adamchainz in #2583
New Contributors
- @stianjensen made their first contri...
5.1.3
What's Changed
- Support [email protected] by @sobolevn in #2502
- Support [email protected] by @sobolevn in #2482
- Support [email protected] by @sobolevn in #2503
- Fix
ContentType
model fields to be infered asAny
, refs #2446 by @sobolevn in #2483 - Fix
@deprecated
based on the review by @sobolevn in #2485 - Fix error with
null=True
andAny
type param forField
types by @sobolevn in #2492 - Fix types for
TestCase.assertJSON{Not,}Equal
by @nickstenning in #2497 - DomainNameValidator types by @HansAarneLiblik in #2498
New Contributors
- @nickstenning made their first contribution in #2497
Full Changelog: 5.1.2...5.1.3
5.1.2
What's Changed
- Update enums to reflect typing spec changes by @hauntsaninja in #2426
- Document compatibility considerations by @khink in #2430
- fix
.values_list
returns incorrect type for field with same name when selected from related model by @Niicck in #2431 - Bump django to 5.1.3 by @sobolevn in #2436
- Fix typing of related manager methods by @ngnpope in #2439
- Fix signature of
ModelAdmin.construct_change_message
by @youtux in #2444 - Update django to 5.1.4, drop black by @sobolevn in #2455
- Extend _AllLimitChoicesTo by @H4rryK4ne in #2456
- Marking default_error_messages as a ClassVar by @delfick in #2457
- Add deprecated decorators for multiple classes and methods by @JaeHyuckSa in #2458
- Update
contrib.admin.options.ModelAdmin
by @JaeHyuckSa in #2422 - Update
contrib.gis.gdal.geometries
by @JaeHyuckSa in #2460 - base.pyi: use base class HttpResponseBase by @dnet in #2459
- Update
contrib.admin.models.LogEntryManager
by @JaeHyuckSa in #2423 - Update mypy to 1.14 by @sobolevn in #2468
- Add py.typed file for pylance support by @ashwanthbalakrishnan5 in #2470
- Fix Signal._live_receivers typing by @mdalp in #2475
- Add type-checking to Manager.acreate by @vitosamson in #2477
New Contributors
- @hauntsaninja made their first contribution in #2426
- @khink made their first contribution in #2430
- @Niicck made their first contribution in #2431
- @youtux made their first contribution in #2444
- @H4rryK4ne made their first contribution in #2456
- @dnet made their first contribution in #2459
- @ashwanthbalakrishnan5 made their first contribution in #2470
- @mdalp made their first contribution in #2475
- @vitosamson made their first contribution in #2477
Full Changelog: 5.1.1...5.1.2
5.1.1
What's Changed
- Add django 5.1 to the test matrix and add its classifier by @foarsitter in #2380
- fix function overload of Library.simple_tag by @asottile in #2390
- Fix resolve_error_handler return type by @ljodal in #2392
- Make
BaseEngine.app_dirname
non-optional by @mthuurne in #2394 - [5.1] Add from_queryset param to
(a)refresh_from_db()
by @jacobtylerwalls in #2402 - Make
from_string()
andget_template()
return backend-specific template by @mthuurne in #2400 - Update type of the
get_session_auth_fallback_hash
method to the correct type by @JaeHyuckSa in #2407 - Fix TypedDictType crash with mypy 1.12.x by @federicobond in #2408
- Remove EOL Python 3.8 and add 3.13 to CI by @sobolevn in #2397
- Treat
QuerySet.alias
likeQuerySet.annotate
by @andersk in #2411 - Fixes #2413 -- update ModelAdmin.log_FOO method signatures by @sergei-maertens in #2414
- Update
db.migrations.serializer
by @JaeHyuckSa in #2421 - Update
django.conf.global_settings
by @JaeHyuckSa in #2420 - Allow
None
onview_on_site
by @nijel in #2419 - Version 5.1.1 release by @flaeppe in #2424
New Contributors
- @foarsitter made their first contribution in #2380
- @sergei-maertens made their first contribution in #2414
- @nijel made their first contribution in #2419
Full Changelog: 5.1.0...5.1.1
5.1.0
Headline changes
- Refactor support for
annotate
to utilisemypy.types.Instance.extra_attrs
by @flaeppe in #2319 - Resolve configured
AUTH_USER_MODEL
with aget_type_analyze_hook
by @flaeppe in #2335
What's Changed
- Fix type hints for
SimpleTestCase
by @flaeppe in #2289 - Check correct model on m2m reverse values/values_list by @flaeppe in #2288
- match Field TypeVar variance in models.fields.related by @asottile in #2292
- try and use named arguments from caller for matching name by @asottile in #2294
- Allow
fields
being anIterable
inbulk_update
by @flaeppe in #2296 - Test usage of
from_queryset
manager as reverse manager by @flaeppe in #2295 - A workaround for #2299 by @sobolevn in #2300
- Run mypy with
--strict
onassert_type
tests by @flaeppe in #2301 - Improve
get_context_object_name
onSingleObjectMixin
andMultipleObjectMixin
by @flaeppe in #2298 - Update pyright to 1.1.374 by @sobolevn in #2305
- Remove
BaseManager.cache
attribute by @flaeppe in #2309 - Loosen bound on
CurrentSiteManager
manager type var by @flaeppe in #2308 - Update build status link for
django-stubs-ext
by @flaeppe in #2310 - Use
Any
forConnectionProxy
attributes by @RealOrangeOne in #2311 - Remove
FieldDoesNotExist
from where it's not present at runtime by @flaeppe in #2313 - Declare
ManyToManyField.description
a_StrOrPromise
by @flaeppe in #2312 - Don't populate a type arg for non generic managers by @flaeppe in #2314
- Fixed bugs with RawQuerySet by @ashm-dev in #2316
- Add Typing for EmailField with Support for String Set and Get Types by @ashm-dev in #2317
- Do
models.Model
adjustments fromget_metaclass_hook
by @flaeppe in #2322 - Bump django from 5.0.7 to 5.0.8 by @sobolevn in #2325
- This PR adds some defaults to stubs with
stubdefaulter
by @sobolevn in #2326 - Add a lot of runtime defaults to stubs with
stubdefaulter
by @sobolevn in #2327 - Fix
tuple[A]
types to betuple[A, ...]
types by @sobolevn in #2328 - Check annotated fields in
<QuerySet>.filter
call by @flaeppe in #2332 - Refactor: Unify plugin check for model type info by @flaeppe in #2286
- Enable
mypy.plugins.proper_plugin
by @flaeppe in #2333 - Use mypy's
make_optional_type
instead of shipping our own by @flaeppe in #2334 - Add arbitrary named arguments to @receiver decorator by @craigds in #2342
- Bump django from 5.0.8 to 5.1 by @Viicos in #2347
- Don't modify return values of manager methods in place, modify a copy instead by @jkaikkosplk in #2345
- [5.1] Add slicing notation to F expressions by @Viicos in #1897
- 5.1: Deprecate CheckConstraint.check by @q0w in #2331
- feat: Add missing stubs by @BradleyKirton in #2348
- Update
utils
by @Viicos in #2352 - Update
contrib.sessions.backends
by @Viicos in #2351 - Update django to 5.1.1 by @sobolevn in #2360
- Allow None return form model Field.formfield() by @adamchainz in #2363
- add cache_name for django 5.1 by @asottile in #2365
- Update Django 4.2 LTS version to 4.2.16 by @intgr in #2369
- Document the release process by @intgr in #2371
- Allow lookups on
.annotate
fields by @sterliakov in #2376 - Break what apparently is a cycle involving custom User model and
QuerySet.as_manager()
by @sterliakov in #2377 - Version 5.1.0 release by @richardebeling in #2374
New Contributors
- @RealOrangeOne made their first contribution in #2311
- @ashm-dev made their first contribution in #2316
- @craigds made their first contribution in #2342
- @jkaikkosplk made their first contribution in #2345
- @BradleyKirton made their first contribution in #2348
- @richardebeling made their first contribution in #2374
Full Changelog: 5.0.4...5.1.0
5.0.4
What's Changed
This is a re-release of django-stubs 5.0.3
with a minor fix:
Full Changelog: 5.0.3...5.0.4
Release notes for version 5.0.3
What's Changed
- Release workflow: publish
django-stubs-ext
beforedjango-stubs
by @flaeppe in #2188 - Migrate
apps/test_config.yml
'assert_type' tests by @flaeppe in #2190 - Add
ManyToManyField.m2m_field_name
andModel._get_pk_val
methods by @YPCrumble in #2177 Lookup
should be a subtype ofExpression
by @mkurnikov in #2199- Update
django.db.models.functions
: allowCombinable
as parameter, addRound
function by @noamkush in #2195 - Add missing
django.core.management.utils
functions by @Viicos in #2200 - Improve
django.middleware
stubs by @Viicos in #2202 - Improve
django.http
stubs by @Viicos in #2201 - Tests: Migrate
db/models/test_constraints.yml
to 'assert_type' tests by @flaeppe in #2204 - Allow any function for admin's
display
andaction
decorators by @flaeppe in #2210 - Remove invalid re-export
django.forms.ChoiceWidget
by @asottile in #2207 - Model._meta.pk is non-None by @asottile in #2218
- update / create defaults are read-only Mapping by @asottile in #2216
- Add missing math.Random database function by @noamkush in #2222
- Make
ReverseManyToOneDescriptor
generic over a model by @flaeppe in #2227 - Extract through table creation to separate method by @flaeppe in #2229
- Do many related manager creation during semantic analysis by @flaeppe in #2231
- Expand CheckRegistry.register as function (#2232) by @jwhitlock in #2233
- don't copy magic or private methods in from_queryset managers by @asottile in #2240
- Make plugin handle explicitly declared reverse descriptors for FKs by @flaeppe in #2230
- Expect a
QuerySet
for multiple defaults inMultipleObjectMixin
by @flaeppe in #2191 - fix handling of explicit
objects
annotation by @asottile in #2241 - Add atomic_blocks to base DB wrapper by @palfrey in #2242
- walk mro for Field set type annotations by @asottile in #2244
- Add
serialized_aliases
parameter tosetup_databases
function indjango.test.utils
by @DongwookKim0823 in #2247 - use field annotations for values_list types by @asottile in #2248
- Improve types of
ConnectionProxy
by @Viicos in #2246 - Add
get_template_tag_modules
function signature todjango.template.backends.django
by @DongwookKim0823 in #2250 - add PlaceholderNode when deferring manager class hook by @asottile in #2228
- Update function signatures for
django.db.models.sql.Query
class by @DongwookKim0823 in #2253 - Update
admin.sites._ViewType
bound to allowStreamingHttpResponse
by @savanto in #2256 - Add
Options._get_fields
by @Viicos in #2254 - Support inheriting ManyToManyField from an abstract model by @flaeppe in #2260
- Allow single generic param for Field in ForeignKey by @rafonseca in #2261
- Refactor: Unify plugin check for model type info by @flaeppe in #2263
- add
Path
type argument to tuple returned byget_app_template_dirs
by @joshuadavidthomas in #2266 - add missing type argument to
Paginator
by @joshuadavidthomas in #2271 - Update mypy to 1.11.0 by @sobolevn in #2269
- Check calls to filtering manager methods involving
ManyToManyField
by @flaeppe in #2275 - Prepare for a release
5.0.3
by @flaeppe in #2274 - lookup manager type via mro by @asottile in #2276
- Check model fields on filtering methods of queryset types by @flaeppe in #2277
- fill QuerySet generics using the manager's model type by @asottile in #2281
- convert as_manager hooks to base class hook by @asottile in #2282
New Contributors
- @YPCrumble made their first contribution in #2177
- @jwhitlock made their first contribution in #2233
- @DongwookKim0823 made their first contribution in #2247
- @savanto made their first contribution in #2256
- @rafonseca made their first contribution in #2261
- @joshuadavidthomas made their first contribution in #2266
Full Changelog: 5.0.2...5.0.3
5.0.3
What's Changed
- Release workflow: publish
django-stubs-ext
beforedjango-stubs
by @flaeppe in #2188 - Migrate
apps/test_config.yml
'assert_type' tests by @flaeppe in #2190 - Add
ManyToManyField.m2m_field_name
andModel._get_pk_val
methods by @YPCrumble in #2177 Lookup
should be a subtype ofExpression
by @mkurnikov in #2199- Update
django.db.models.functions
: allowCombinable
as parameter, addRound
function by @noamkush in #2195 - Add missing
django.core.management.utils
functions by @Viicos in #2200 - Improve
django.middleware
stubs by @Viicos in #2202 - Improve
django.http
stubs by @Viicos in #2201 - Tests: Migrate
db/models/test_constraints.yml
to 'assert_type' tests by @flaeppe in #2204 - Allow any function for admin's
display
andaction
decorators by @flaeppe in #2210 - Remove invalid re-export
django.forms.ChoiceWidget
by @asottile in #2207 - Model._meta.pk is non-None by @asottile in #2218
- update / create defaults are read-only Mapping by @asottile in #2216
- Add missing math.Random database function by @noamkush in #2222
- Make
ReverseManyToOneDescriptor
generic over a model by @flaeppe in #2227 - Extract through table creation to separate method by @flaeppe in #2229
- Do many related manager creation during semantic analysis by @flaeppe in #2231
- Expand CheckRegistry.register as function (#2232) by @jwhitlock in #2233
- don't copy magic or private methods in from_queryset managers by @asottile in #2240
- Make plugin handle explicitly declared reverse descriptors for FKs by @flaeppe in #2230
- Expect a
QuerySet
for multiple defaults inMultipleObjectMixin
by @flaeppe in #2191 - fix handling of explicit
objects
annotation by @asottile in #2241 - Add atomic_blocks to base DB wrapper by @palfrey in #2242
- walk mro for Field set type annotations by @asottile in #2244
- Add
serialized_aliases
parameter tosetup_databases
function indjango.test.utils
by @DongwookKim0823 in #2247 - use field annotations for values_list types by @asottile in #2248
- Improve types of
ConnectionProxy
by @Viicos in #2246 - Add
get_template_tag_modules
function signature todjango.template.backends.django
by @DongwookKim0823 in #2250 - add PlaceholderNode when deferring manager class hook by @asottile in #2228
- Update function signatures for
django.db.models.sql.Query
class by @DongwookKim0823 in #2253 - Update
admin.sites._ViewType
bound to allowStreamingHttpResponse
by @savanto in #2256 - Add
Options._get_fields
by @Viicos in #2254 - Support inheriting ManyToManyField from an abstract model by @flaeppe in #2260
- Allow single generic param for Field in ForeignKey by @rafonseca in #2261
- Refactor: Unify plugin check for model type info by @flaeppe in #2263
- add
Path
type argument to tuple returned byget_app_template_dirs
by @joshuadavidthomas in #2266 - add missing type argument to
Paginator
by @joshuadavidthomas in #2271 - Update mypy to 1.11.0 by @sobolevn in #2269
- Check calls to filtering manager methods involving
ManyToManyField
by @flaeppe in #2275 - Prepare for a release
5.0.3
by @flaeppe in #2274 - lookup manager type via mro by @asottile in #2276
- Check model fields on filtering methods of queryset types by @flaeppe in #2277
- fill QuerySet generics using the manager's model type by @asottile in #2281
- convert as_manager hooks to base class hook by @asottile in #2282
New Contributors
- @YPCrumble made their first contribution in #2177
- @jwhitlock made their first contribution in #2233
- @DongwookKim0823 made their first contribution in #2247
- @savanto made their first contribution in #2256
- @rafonseca made their first contribution in #2261
- @joshuadavidthomas made their first contribution in #2266
Full Changelog: 5.0.2...5.0.3
5.0.2
What's Changed
This is a re-release of django-stubs 5.0.1
with a minor fix:
Full Changelog: 5.0.1...5.0.2
Release notes for version 5.0.1
Headline changes
-
Support for Django 4.1 have been dropped by @sobolevn in #2133
-
A new extra,
django-stubs[oracle]
, was added by @sobolevn in #2131 -
Remove QuerySet alias hacks via PEP 696 TypeVar defaults. All usages of
QuerySetAny
andValuesQuerySet
can now be replaced with simpleQuerySet
by @intgr in #2104
What's Changed
- 5.0: Update
django.contrib.admin.views
anddjango.forms.forms.Form
metaclass by @sudosubin in #2079 - Fix IndexError for custom queryset managers by @meshy in #1913
- 5.0: Update
django.db.models.lookups
by @saJaeHyukc in #2103 - 5.0: Update
django.db.backends.utils
by @saJaeHyukc in #2102 - 5.0: Update
django.forms.field.Field
by @saJaeHyukc in #2107 - 5.0: Update
django.contrib.messages.storage.cookie
by @saJaeHyukc in #2106 - Tests: Add test case for settings import cycle by @intgr in #2098
- 5.0: Update
django.db.models.expressions
by @saJaeHyukc in #2110 - 5.0: Update
django.contrib.auth.backends
by @saJaeHyukc in #2111 - 5.0: Update
django.contrib.auth.base_user
by @saJaeHyukc in #2113 - 5.0: Update
django.db.migrations.serializer
by @saJaeHyukc in #2109 - 5.0: Update
django.db.backends.base.features.BaseDatabaseFeature
by @saJaeHyukc in #2099 - 5.0: Update
django.db.backends.base.operations.BaseDatabaseOperations
by @saJaeHyukc in #2100 - Fix annotation for
request.auser
by @bshelkhonov in #2108 - 5.0: Update
django.contrib.gis.admin.widgets
anddjango.contrib.gis.admin.options
by @saJaeHyukc in #2116 - 5.0: Update
django.forms.boundfield
anddjango.forms.utils
by @saJaeHyukc in #2118 - Prepare django-stubs-ext for QuerySet typevar refactor by @intgr in #2117
BaseBackend.get_user
: Relaxuser_id
param type by @tony in #2121- 5.0: Update
django.forms.renderers
by @saJaeHyukc in #2119 - 5.0: Update
django.forms.forms
by @saJaeHyukc in #2122 - 5.0: Update
django.contrib.gis.db.backends.sqatialite.schema
by @saJaeHyukc in #2123 - Improve types in DB backend
schema
modules by @saJaeHyukc in #2124 - 5.0: Update
django.contrib.messages.test
by @saJaeHyukc in #2126 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2129
- More pre-commit checks by @sobolevn in #2132
- Bump django from 5.0.5 to 5.0.6 by @dependabot in #2135
- 5.0: Update
django.contrib.contenttypes.prefetch
by @saJaeHyukc in #2115 - 5.0: Update
django.contrib.admin.widgets
by @saJaeHyukc in #2105 - 5.0: Update
django.contrib.contenttypes.fields.GenericForeignKey
methods by @saJaeHyukc in #2137 - Relax typing of
backend
indjango.contrib.auth
(ModelBackend
->BaseBackend
) by @tony in #2141 - fix: UserAdmin accepts AbstractUser by @vadimshvetsov in #2139
- 4.2.8: Update
Query.resolve_lookup_value()
parameters by @saJaeHyukc in #2136 - Increase priority of mypy internal Django settings import by @intgr in #2127
- Fix 'Import cycle from Django settings module' errors function context by @intgr in #2142
- Adjust priority of Django settings import again by @intgr in #2143
- 5.0: Update
django.forms.models
by @saJaeHyukc in #2146 - Add typing of
django.db.migrations.autodetector
by @saJaeHyukc in #2149 - 5.0: Update
django.db.models.enums
by @saJaeHyukc in #2148 - 5.0: Update
django.forms.widgets
by @saJaeHyukc in #2147 - Add GitHub actions release workflow for
django-stubs-ext
by @flaeppe in #2150 - 5.0: Update
django.db.models.field.related
by @saJaeHyukc in #2151 - Bump pre-commit from 3.7.0 to 3.7.1 by @dependabot in #2155
- Fix
TextChoices.__new__()
parameter type by @mvaled in #2156 - Ensure ManyToManyField related managers supports renamed imports by @flaeppe in #2153
- 5.0: Update
django.contrib.gis.db.backends.postgis.operations
by @saJaeHyukc in #2138 - 5.0: Update
django.db.models.fields.reverse_related
by @saJaeHyukc in #2158 - 5.0: Update
django.db.models.field
: addgenerated
attribute to model fields by @saJaeHyukc in #2152 - 5.0: Update
django.db.models.sql.datastructures
by @saJaeHyukc in #2159 - 5.0: Update
django.db.models.query
by @saJaeHyukc in #2160 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2161
- 5.0: Update
django.db.models.sql.compiler
by @saJaeHyukc in #2166 - 5.0: Update
django.db.models.functions.datetime
by @saJaeHyukc in #2167 - 5.0: Update
django.forms.formsets
by @saJaeHyukc in #2145 - 5.0: Update
django.db.models.query_utils
by @saJaeHyukc in #2165 - Bump pytest from 8.2.0 to 8.2.1 by @dependabot in #2169
- 5.0: Update
django.db.models.functions.datetime.Now
by @saJaeHyukc in #2173 - 5.0: Update
django.db.models.sql.query.Query
by @saJaeHyukc in #2172 - 5.0: Update
django.db.models.field.related_descriptors
by @saJaeHyukc in #2157 - 5.0: Update django.db.models.constraints.UniqueConstraint by @steve148 in #2175
- 5.0: Update
django.db.models.expressions
by @saJaeHyukc in #2176 - Add
BaseConstraint.get_violation_error_message()
by @q0w in #2178 - Fix signature of Choices member creation, add
assert_type
test cases, runpyright
by @Viicos in #2162 AbstractBaseSession
: Use model fields for subclassed cases by @tony in #2180- Migrate 'test_conf.yml' to 'assert_type' tests by @flaeppe in #2182
- Don't crash when inspecting classes loaded from cache by @flaeppe in #2185
- Formset get_queryset() returns QuerySet by @MrkGrgsn in #2174
- Prepare for a release
5.0.1
by @flaeppe in #2183
New Contributors
- @meshy made their first contribution in #1913
- @bshelkhonov made their first contribution in #2108
- @vadimshvetsov made their first contribution in #2139
- @mvaled made their first contribution in #2156
- @steve148 made their first contribution in #2175
Full Changelog: 5.0.0...5.0.1
5.0.1
Headline changes
-
Support for Django 4.1 have been dropped by @sobolevn in #2133
-
A new extra,
django-stubs[oracle]
, was added by @sobolevn in #2131 -
Remove QuerySet alias hacks via PEP 696 TypeVar defaults. All usages of
QuerySetAny
andValuesQuerySet
can now be replaced with simpleQuerySet
by @intgr in #2104
What's Changed
- 5.0: Update
django.contrib.admin.views
anddjango.forms.forms.Form
metaclass by @sudosubin in #2079 - Fix IndexError for custom queryset managers by @meshy in #1913
- 5.0: Update
django.db.models.lookups
by @saJaeHyukc in #2103 - 5.0: Update
django.db.backends.utils
by @saJaeHyukc in #2102 - 5.0: Update
django.forms.field.Field
by @saJaeHyukc in #2107 - 5.0: Update
django.contrib.messages.storage.cookie
by @saJaeHyukc in #2106 - Tests: Add test case for settings import cycle by @intgr in #2098
- 5.0: Update
django.db.models.expressions
by @saJaeHyukc in #2110 - 5.0: Update
django.contrib.auth.backends
by @saJaeHyukc in #2111 - 5.0: Update
django.contrib.auth.base_user
by @saJaeHyukc in #2113 - 5.0: Update
django.db.migrations.serializer
by @saJaeHyukc in #2109 - 5.0: Update
django.db.backends.base.features.BaseDatabaseFeature
by @saJaeHyukc in #2099 - 5.0: Update
django.db.backends.base.operations.BaseDatabaseOperations
by @saJaeHyukc in #2100 - Fix annotation for
request.auser
by @bshelkhonov in #2108 - 5.0: Update
django.contrib.gis.admin.widgets
anddjango.contrib.gis.admin.options
by @saJaeHyukc in #2116 - 5.0: Update
django.forms.boundfield
anddjango.forms.utils
by @saJaeHyukc in #2118 - Prepare django-stubs-ext for QuerySet typevar refactor by @intgr in #2117
BaseBackend.get_user
: Relaxuser_id
param type by @tony in #2121- 5.0: Update
django.forms.renderers
by @saJaeHyukc in #2119 - 5.0: Update
django.forms.forms
by @saJaeHyukc in #2122 - 5.0: Update
django.contrib.gis.db.backends.sqatialite.schema
by @saJaeHyukc in #2123 - Improve types in DB backend
schema
modules by @saJaeHyukc in #2124 - 5.0: Update
django.contrib.messages.test
by @saJaeHyukc in #2126 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2129
- More pre-commit checks by @sobolevn in #2132
- Bump django from 5.0.5 to 5.0.6 by @dependabot in #2135
- 5.0: Update
django.contrib.contenttypes.prefetch
by @saJaeHyukc in #2115 - 5.0: Update
django.contrib.admin.widgets
by @saJaeHyukc in #2105 - 5.0: Update
django.contrib.contenttypes.fields.GenericForeignKey
methods by @saJaeHyukc in #2137 - Relax typing of
backend
indjango.contrib.auth
(ModelBackend
->BaseBackend
) by @tony in #2141 - fix: UserAdmin accepts AbstractUser by @vadimshvetsov in #2139
- 4.2.8: Update
Query.resolve_lookup_value()
parameters by @saJaeHyukc in #2136 - Increase priority of mypy internal Django settings import by @intgr in #2127
- Fix 'Import cycle from Django settings module' errors function context by @intgr in #2142
- Adjust priority of Django settings import again by @intgr in #2143
- 5.0: Update
django.forms.models
by @saJaeHyukc in #2146 - Add typing of
django.db.migrations.autodetector
by @saJaeHyukc in #2149 - 5.0: Update
django.db.models.enums
by @saJaeHyukc in #2148 - 5.0: Update
django.forms.widgets
by @saJaeHyukc in #2147 - Add GitHub actions release workflow for
django-stubs-ext
by @flaeppe in #2150 - 5.0: Update
django.db.models.field.related
by @saJaeHyukc in #2151 - Bump pre-commit from 3.7.0 to 3.7.1 by @dependabot in #2155
- Fix
TextChoices.__new__()
parameter type by @mvaled in #2156 - Ensure ManyToManyField related managers supports renamed imports by @flaeppe in #2153
- 5.0: Update
django.contrib.gis.db.backends.postgis.operations
by @saJaeHyukc in #2138 - 5.0: Update
django.db.models.fields.reverse_related
by @saJaeHyukc in #2158 - 5.0: Update
django.db.models.field
: addgenerated
attribute to model fields by @saJaeHyukc in #2152 - 5.0: Update
django.db.models.sql.datastructures
by @saJaeHyukc in #2159 - 5.0: Update
django.db.models.query
by @saJaeHyukc in #2160 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2161
- 5.0: Update
django.db.models.sql.compiler
by @saJaeHyukc in #2166 - 5.0: Update
django.db.models.functions.datetime
by @saJaeHyukc in #2167 - 5.0: Update
django.forms.formsets
by @saJaeHyukc in #2145 - 5.0: Update
django.db.models.query_utils
by @saJaeHyukc in #2165 - Bump pytest from 8.2.0 to 8.2.1 by @dependabot in #2169
- 5.0: Update
django.db.models.functions.datetime.Now
by @saJaeHyukc in #2173 - 5.0: Update
django.db.models.sql.query.Query
by @saJaeHyukc in #2172 - 5.0: Update
django.db.models.field.related_descriptors
by @saJaeHyukc in #2157 - 5.0: Update django.db.models.constraints.UniqueConstraint by @steve148 in #2175
- 5.0: Update
django.db.models.expressions
by @saJaeHyukc in #2176 - Add
BaseConstraint.get_violation_error_message()
by @q0w in #2178 - Fix signature of Choices member creation, add
assert_type
test cases, runpyright
by @Viicos in #2162 AbstractBaseSession
: Use model fields for subclassed cases by @tony in #2180- Migrate 'test_conf.yml' to 'assert_type' tests by @flaeppe in #2182
- Don't crash when inspecting classes loaded from cache by @flaeppe in #2185
- Formset get_queryset() returns QuerySet by @MrkGrgsn in #2174
- Prepare for a release
5.0.1
by @flaeppe in #2183
New Contributors
- @meshy made their first contribution in #1913
- @bshelkhonov made their first contribution in #2108
- @vadimshvetsov made their first contribution in #2139
- @mvaled made their first contribution in #2156
- @steve148 made their first contribution in #2175
Full Changelog: 5.0.0...5.0.1