You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add MongoDB aggregation framework and analytics (v1.12.0)
* Update faraday and rack, remove rack-middleware
* Bring activemodel to v8
* Add matches key in query behaviors
* Add starts with , array size, time range
* Pass session and opts if provided to call_function
* Add aggregate pipeline functions
* Add does not equal linked pointer
Output aggregate pipeline
Output aggregate pipeline
Fix typo & add parse string processing for pointers
Format with _p_
* Format _created_at and updated_at fields for aggregation pipeline
* Add date conversion as well
* Add verbose aggregate method
* Update dates
* Update query.rb
* Bump minimum ruby version to 3.2 & parsestack version
* Add additional sum / min / max fields
* Add return pointer options for various parse queries to reduce load
* Add pluck, enhanced group_by, and sortable grouping to Query
Introduces a pluck method for extracting field values from query results, enhances group_by and group_by_date to support array flattening, pointer conversion, and sortable results, and adds GroupedResult, SortableGroupBy, and SortableGroupByDate classes for flexible aggregation and sorting. Also adds group_objects_by for grouping actual objects in Ruby. Improves documentation and extensibility for advanced aggregation use cases.
* Reorder sorotable
* Add new feature tests
* Add to_table functions
* table tests and sorting
* Adjust tests
* Update query.rb
* Update query.rb
* Refactor aggregation logic and add Aggregation helper class
Refactored aggregation-related methods in Parse::Query to use a new Aggregation helper class for executing MongoDB pipelines. This improves code reuse, consistency, and testability for aggregation operations such as distinct, count_distinct, and group_by. Updated related tests to focus on core logic and pointer conversion, and added new utility methods for raw results and pointer extraction.
* Add pipeline aggregation
* Recheck pointers
* process pointers
* Fix dates
* Fix dates again
* Return parse pointers instead of mongodb strings
* distinct by default will return all ids
* Change version to 1.12.0
* Adjust changes and readme
* Update parse-stack.gemspec
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update test/lib/parse/query/aggregation_features_test.rb
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Adjust typos
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: Changes.md
+62Lines changed: 62 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,67 @@
1
1
## Parse-Stack Changelog
2
2
3
+
### 1.12.0
4
+
5
+
#### Breaking Changes
6
+
-**BREAKING**: `distinct` method now returns object IDs directly by default for pointer fields instead of full pointer hash objects like `{"__type"=>"Pointer", "className"=>"Team", "objectId"=>"abc123"}`. Use `distinct(field, return_pointers: true)` to get Parse::Pointer objects.
7
+
-**BREAKING**: Minimum Ruby version is now 3.2+ (dropped support for Ruby < 3.2)
8
+
-**BREAKING**: Updated to Faraday 2.x and removed `faraday_middleware` dependency
9
+
-**BREAKING**: Fixed typo "constaint" to "constraint" throughout codebase
10
+
11
+
#### New Aggregation Functions
12
+
- NEW: `sum(field)` - Calculate sum of numeric values across matching records
13
+
- NEW: `min(field)` - Find minimum value for a field
14
+
- NEW: `max(field)` - Find maximum value for a field
15
+
- NEW: `average(field)` / `avg(field)` - Calculate average value for numeric fields
0 commit comments