Triaged
-------
https://code.djangoproject.com/ticket/28268 - Feature: Clear cached_property on related DB operations. (wontfix)
https://code.djangoproject.com/ticket/28276 - debug.py loops over QueryDict['items'] instead of QueryDict.items() (duplicate)
https://code.djangoproject.com/ticket/28277 - Validate that annotate() and aggregate() args and kwarg values are expressions (created)
https://code.djangoproject.com/ticket/28280 - numberformat.format() incorrectly formats large/tiny floats in scientific notation (accepted)
https://code.djangoproject.com/ticket/28283 - _changeform_view sends wrong object after ModelForm validation (accepted)
https://code.djangoproject.com/ticket/28289 - QuerySet.count() does not with work raw sql annotations on inherited model fields (accepted)
https://code.djangoproject.com/ticket/28292 - ORing on ManyToMany to same model can result in duplicate items in queryset (invalid)
https://code.djangoproject.com/ticket/28273 - Document how to prevent adding columns with defaults in migrations (accepted)
https://code.djangoproject.com/ticket/28294 - Document request/args/kwargs attributes of class-based views (accepted)
https://code.djangoproject.com/ticket/28295 - ModelAdmin.prepopulated_fields generates a string with a trailing hyphen (accepted)
https://code.djangoproject.com/ticket/28285 - Updating Password Hasher Invalidates Users First Login After Upgrade (worksforme)
Reviewed/committed
------------------
https://github.com/django/django/pull/8599 - Fixed #28269 -- Fixed Model.__init__() crash on models with a field that has an instance only descriptor.
https://github.com/django/django/pull/8598 - Fixed #28262 -- Fixed incorrect DisallowedModelAdminLookup when a nested reverse relation is in list_filter.
https://github.com/django/django/pull/8600 - Fixed #26651 -- Kept original file suffix in TemporaryUploadedFile name.
https://github.com/django/django/pull/8603 - Refs #27795 -- Removed force_text() usage in serialization framework.
http://github.com/django/django/pull/8597 - Fixed #28271 -- Added charset to technical_500_response() AJAX response.
https://github.com/django/django/pull/8513 - Fixed #28102 -- Doc'd how to compute path to built-in widget template directories.
https://github.com/django/django/pull/8596 - Fixed #28202 -- Fixed FieldListFilter.get_queryset() crash on invalid input.
https://github.com/django/django/pull/8288 - Fixed #18394 -- Added error for invalid JavaScriptCatalog packages.
https://github.com/django/django/pull/8487 - Fixed #28275 -- Added more hooks to SchemaEditor_alter_field().
https://github.com/django/django/pull/8468 - Fixed #28104 -- Prevented condition decorator from setting ETag/Last-Modified headers for non-safe requests.
https://github.com/django/django/pull/8606 - Fixed #28278 -- Fixed invalid HTML for a required AdminFileWidget.
https://github.com/django/django/pull/8589 - Fixed #28257 -- Confirmed support for GDAL 2.2.
https://github.com/django/django/pull/8567 - Fixed #28233 -- Used a simpler example in the aggregation "cheat sheet" docs.
https://github.com/django/django/pull/8537 - Fixed #28232 -- Made raster metadata readable and writable on GDALRaster/Band.
https://github.com/django/django/pull/8608 - Fixed #28165 -- Ignored case in FileExtensionValidator's allowed_extensions.
https://github.com/django/django/pull/8613 - Fixed #28282 -- Fixed class-based indexes name for models that only inherit Model.
https://github.com/django/django/pull/8616 - Fixed #28288 -- Allowed passing papsz options to GDALRaster initialization.
https://github.com/django/django/pull/8614 - Fixed #28241 -- Allowed module_has_submodule()'s module_name arg to be a dotted path.
https://github.com/django/django/pull/8382 - Fixed #28103 -- Added quarter extract, truncation, and lookup.
https://github.com/django/django/pull/8336 - Fixed #27953 -- Added instance's pk to Model.__str__().