| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-04-18 | Fixed #37028 -- Added BitAnd(), BitOr(), and BitXor() aggregates. | Mariusz Felisiak | |
| 2025-12-02 | Refs #35444 -- Fixed typo in PostgreSQL StringAgg deprecation warning. | Νικόλαος-Διγενής Καραγιάννης | |
| 2025-09-17 | Refs #35444 -- Removed contrib.postgres aggregates ordering kwarg per ↵ | Jacob Walls | |
| deprecation timeline. | |||
| 2025-04-16 | Americanized some spellings. | Adam Johnson | |
| 2025-03-03 | Fixed #35444 -- Added generic support for Aggregate.order_by. | Chris Muthig | |
| This moves the behaviors of `order_by` used in Postgres aggregates into the `Aggregate` class. This allows for creating aggregate functions that support this behavior across all database engines. This is shown by moving the `StringAgg` class into the shared `aggregates` module and adding support for all databases. The Postgres `StringAgg` class is now a thin wrapper on the new shared `StringAgg` class. Thank you Simon Charette for the review. | |||
| 2025-01-06 | Refs #35444 -- Deprecated contrib.postgres aggregates ordering for order_by. | Chris Muthig | |
| Aligns the argument with SQL standards already used in Window.order_by and sets up for adding support to Aggregate. | |||
| 2023-09-18 | Refs #33308 -- Removed support for passing encoded JSON string literals to ↵ | Mariusz Felisiak | |
| JSONField & co. Per deprecation timeline. | |||
| 2023-01-17 | Refs #10929 -- Stopped forcing empty result value by PostgreSQL aggregates. | Mariusz Felisiak | |
| Per deprecation timeline. | |||
| 2022-12-01 | Refs #33308 -- Deprecated support for passing encoded JSON string literals ↵ | Simon Charette | |
| to JSONField & co. JSON should be provided as literal Python objects an not in their encoded string literal forms. | |||
| 2022-02-07 | Refs #33476 -- Reformatted code with Black. | django-bot | |
| 2021-10-01 | Fixed #32961 -- Added BitXor() aggregate to django.contrib.postgres. | Nick Pope | |
| 2021-09-27 | Fixed #33114 -- Defined default output_field of StringAgg. | ali | |
| Thanks Simon Charette for the review. | |||
| 2021-07-19 | Refs #10929 -- Deprecated forced empty result value for PostgreSQL aggregates. | Nick Pope | |
| This deprecates forcing a return value for ArrayAgg, JSONBAgg, and StringAgg when there are no rows in the query. Now that we have a ``default`` argument for aggregates, we want to revert to returning the default of ``None`` which most aggregate functions return and leave it up to the user to decide what they want to be returned by default. | |||
| 2021-07-19 | Fixed #10929 -- Added default argument to aggregates. | Nick Pope | |
| Thanks to Simon Charette and Adam Johnson for the reviews. | |||
| 2020-11-04 | Fixed #32169 -- Added distinct support to JSONBAgg. | Artur Beltsov | |
| 2020-08-28 | Fixed #31956 -- Fixed crash of ordering by JSONField with a custom decoder ↵ | Mariusz Felisiak | |
| on PostgreSQL. Thanks Marc Debureaux for the report. Thanks Simon Charette, Nick Pope, and Adam Johnson for reviews. | |||
| 2020-07-21 | Refs #31720 -- Defined default output_field of BoolAnd() and BoolOr() ↵ | David Chorpash | |
| aggregate functions. | |||
| 2020-06-13 | Fixed #31691 -- Added ordering support to JSONBAgg. | John Parton | |
| 2020-05-08 | Fixed #12990, Refs #27694 -- Added JSONField model field. | sage | |
| Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael Michel for mentoring this Google Summer of Code 2019 project and everyone else who helped with the patch. Special thanks to Mads Jensen, Nick Pope, and Simon Charette for extensive reviews. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2020-02-04 | Simplified imports from django.db and django.contrib.gis.db. | Nick Pope | |
| 2020-02-03 | Fixed CVE-2020-7471 -- Properly escaped StringAgg(delimiter) parameter. | Simon Charette | |
| 2019-01-09 | Fixed #28658 -- Added DISTINCT handling to the Aggregate class. | Simon Charette | |
| 2018-06-28 | Fixed #26067 -- Added ordering support to ArrayAgg and StringAgg. | Floris den Hengst | |
| 2017-12-30 | Fixed #28908 -- Allowed ArrayField lookups on ArrayAgg annotations. | Sergey Fedoseev | |
| 2017-07-20 | Fixed #28370 -- Deprecated the context arg of Field.from_db_value() and ↵ | Tim Graham | |
| Expression.convert_value(). Unused since a0d166306fbdc41f49e6fadf4ec84b17eb147daa. | |||
| 2017-07-14 | Fixed #28394 -- Allowed setting BaseExpression.output_field (renamed from ↵ | Sergey Fedoseev | |
| _output_field). | |||
| 2017-02-04 | Fixed #27767 -- Added distinct argument to ArrayAgg. | orf | |
| 2017-01-25 | Refs #23919 -- Replaced super(ClassName, self) with super(). | chillaranand | |
| 2016-11-28 | Refs #26327 -- Renamed JsonAgg to JSONBAgg. | Mads Jensen | |
| Thanks to Christian von Roques for the report. | |||
| 2016-10-07 | Fixed #26327 -- Added JsonAgg to contrib.postgres. | Mads Jensen | |
| Thanks Tim Graham for review. | |||
| 2016-06-02 | Fixed #26617 -- Added distinct argument to contrib.postgres's StringAgg. | Rustam Kashapov | |
| 2015-03-30 | Fixed #24301 -- Added PostgreSQL-specific aggregate functions | Andriy Sokolovskiy | |
