| Age | Commit message (Expand) | Author |
| 2022-04-11 | [3.2.x] Fixed CVE-2022-28346 -- Protected QuerySet.annotate(), aggregate(), a... | Mariusz Felisiak |
| 2021-02-24 | [3.2.x] Fixed #32478 -- Included nested columns referenced by subqueries in G... | Simon Charette |
| 2020-12-10 | Fixed #32178 -- Allowed database backends to skip tests and mark expected fai... | Hasan Ramezani |
| 2020-11-27 | Fixed #25534, Fixed #31639 -- Added support for transform references in expre... | Ian Foote |
| 2020-11-06 | Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. | Hasan Ramezani |
| 2020-11-03 | Fixed #32166 -- Removed redundant definition of Greatest in test_expression_o... | Sicong |
| 2020-10-21 | Fixed #26390 -- Disabled grouping by Random(). | Étienne Beaulé |
| 2020-09-29 | Fixed #31880 -- Made QuerySet.aggregate() raise FieldError when aggregating o... | David Wobrock |
| 2020-08-17 | Fixed #31888 -- Avoided module-level MySQL queries in tests. | Ahmad A. Hussein |
| 2020-07-15 | Refs #30446 -- Removed unnecessary Value(..., output_field) in docs and tests. | Simon Charette |
| 2020-07-15 | Fixed #30446 -- Resolved Value.output_field for stdlib types. | Simon Charette |
| 2020-03-25 | Fixed #31377 -- Disabled grouping by aliases on QuerySet.values()/values_list... | Hasan Ramezani |
| 2020-03-03 | Refs #31331 -- Checked ONLY_FULL_GROUP_BY mode in AggregateTestCase.test_aggr... | Mariusz Felisiak |
| 2020-03-03 | Fixed #31150 -- Included subqueries that reference related fields in GROUP BY... | Mariusz Felisiak |
| 2020-02-04 | Simplified imports from django.db and django.contrib.gis.db. | Nick Pope |
| 2020-02-03 | Fixed #31217 -- Made QuerySet.values()/values_list() group by not selected an... | Mariusz Felisiak |
| 2020-01-15 | Refs #31136 -- Made QuerySet.values()/values_list() group only by selected an... | Mariusz Felisiak |
| 2020-01-04 | Fixed #31136 -- Disabled grouping by aliases on QuerySet.values()/values_list(). | Mariusz Felisiak |
| 2019-12-23 | Fixed #31109 -- Disabled grouping by aliases on QuerySet.exists(). | Simon Charette |
| 2019-12-19 | Fixed #31094 -- Included columns referenced by subqueries in GROUP BY on aggr... | Simon Charette |
| 2019-12-19 | Refs #31094 -- Added test for not using aliases in GROUP BY clauses. | Simon Charette |
| 2019-11-18 | Relaxed some query ordering assertions in tests. | Tim Graham |
| 2019-07-31 | Fixed #30665 -- Added support for distinct argument to Avg() and Sum(). | Étienne Beaulé |
| 2019-07-31 | Moved test for distinct Count() to a separate test case. | Étienne Beaulé |
| 2019-06-10 | Fixed #30548 -- Improved exception when expression contains mixed types. | CruxBox |
| 2019-03-21 | Fixed #30158 -- Avoided unnecessary subquery group by on aggregation. | Simon Charette |
| 2019-01-21 | Fixed #30120 -- Fixed invalid SQL in distinct aggregate. | Simon Charette |
| 2019-01-14 | Refs #28643 -- Changed Avg() to use NumericOutputFieldMixin. | Nick Pope |
| 2019-01-09 | Fixed #28658 -- Added DISTINCT handling to the Aggregate class. | Simon Charette |
| 2018-08-23 | Fixed #29048 -- Added **extra_context to database function as_vendor() methods. | priyanshsaxena |
| 2018-02-02 | Simplified aggregation.tests. | Mariusz Felisiak |
| 2017-07-21 | Refs #24887 -- Stopped mutating a test expression during as_sql(). | Simon Charette |
| 2017-07-11 | Fixed #28382 -- Prevented BaseExpression._output_field from being set if _res... | Sergey Fedoseev |
| 2017-06-29 | Fixed #28277 -- Added validation of QuerySet.annotate() and aggregate() args. | Mariusz Felisiak |
| 2017-06-01 | Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. | Jon Dufresne |
| 2017-01-25 | Refs #23919 -- Replaced super(ClassName, self) with super(). | chillaranand |
| 2017-01-18 | Refs #23919 -- Removed encoding preambles and future imports | Claude Paroz |
| 2017-01-14 | Fixed tests that rely on hardcoded id with keepdb | Josh Smeaton |
| 2016-11-10 | Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings. | za |
| 2016-04-05 | Fixed #26458 -- Based Avg's default output_field resolution on its source fie... | Simon Charette |
| 2016-03-28 | Sorted single letter imports per the latest version of isort. | Tim Graham |
| 2016-01-29 | Refs #26022 -- Replaced six.assertRaisesRegex with assertRaisesMessage as app... | Hasan |
| 2015-12-03 | Fixed many spelling mistakes in code, comments, and docs. | Josh Soref |
| 2015-09-23 | Refs #14030 -- Removed backwards compatiblity for old-style aggregates. | Tim Graham |
| 2015-09-14 | Fixed #25377 -- Changed Count queries to execute COUNT(*) instead of COUNT('*'). | Adam Chainz |
| 2015-09-12 | Fixed #23395 -- Limited line lengths to 119 characters. | Dražen Odobašić |
| 2015-07-27 | Fixed #25095 -- Fixed annotate() + values() group by bug | Mitchell Kotler |
| 2015-07-13 | Fixed #24923 -- errored out nicely when using aggregates in order_by() | Anssi Kääriäinen |
| 2015-06-27 | Fixed #24887 -- Removed one-arg limit from models.aggregate | Greg Chapple |
| 2015-06-24 | Renamed RemovedInDjangoXYWarnings for new roadmap. | Tim Graham |