1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325
|
## 6.7.0 (2025-06-02)
- Added time zone support for SQLite
- Added `day_start` support for SQLite
- Added `group_by_quarter` support for SQLite
## 6.6.0 (2025-05-04)
- Dropped support for Ruby < 3.2 and Active Record < 7.1
## 6.5.1 (2024-10-07)
- Fixed connection leasing for Active Record 7.2+
## 6.5.0 (2024-10-01)
- Added support for Active Record 8
- Dropped support for Ruby < 3.1 and Active Record < 7
## 6.4.0 (2023-09-13)
- Added support for Trilogy
## 6.3.0 (2023-07-02)
- Dropped support for Ruby < 3 and Rails < 6.1
## 6.2.1 (2023-04-18)
- Fixed extra day with `DateTime` ranges
## 6.2.0 (2023-01-29)
- Added support for async methods with Active Record 7.1
## 6.1.0 (2022-04-05)
- Added `expand_range` option
## 6.0.1 (2022-01-16)
- Fixed incorrect results (error before 6.0) with `includes` with Active Record 6.1+
## 6.0.0 (2022-01-15)
- Raise `ActiveRecord::UnknownAttributeReference` for non-attribute arguments
- Raise `ArgumentError` for ranges with string bounds
- Added `n` option for Redshift
- Changed SQL to return dates instead of times for day, week, month, quarter, and year
- Removed `dates` option
- Dropped support for Ruby < 2.6 and Rails < 5.2
## 5.2.4 (2021-12-15)
- Simplified queries for Active Record 7 and MySQL
## 5.2.3 (2021-12-06)
- Fixed error and warnings with Active Record 7
## 5.2.2 (2021-02-08)
- Added support for `nil..nil` ranges in `range` option
## 5.2.1 (2020-09-09)
- Improved error message for invalid ranges
- Fixed bug with date string ranges
## 5.2.0 (2020-09-07)
- Added warning for non-attribute argument
- Added support for beginless and endless ranges in `range` option
## 5.1.0 (2020-07-30)
- Added `n` option to minute and second for custom durations
## 5.0.0 (2020-02-18)
- Added support for `week_start` for SQLite
- Added support for full weekday names
- Made `day_start` behavior consistent between Active Record and enumerable
- Made `last` option extend to end of current period
- Raise error when `day_start` and `week_start` passed to unsupported methods
- The `day_start` option no longer applies to shorter periods
- Fixed `inconsistent time zone info` errors around DST with MySQL and PostgreSQL
- Improved performance of `format` option
- Removed deprecated positional arguments for time zone and range
- Dropped support for `mysql` gem (last release was 2013)
## 4.3.0 (2019-12-26)
- Fixed error with empty results in Ruby 2.7
- Fixed deprecation warnings in Ruby 2.7
- Deprecated positional arguments for time zone and range
## 4.2.0 (2019-10-28)
- Added `day_of_year`
- Dropped support for Rails 4.2
## 4.1.2 (2019-05-26)
- Fixed error with empty data and `current: false`
- Fixed error in time zone check for Rails < 5.2
- Prevent infinite loop with endless ranges
## 4.1.1 (2018-12-11)
- Made column resolution consistent with `group`
- Added support for `alias_attribute`
## 4.1.0 (2018-11-04)
- Many performance improvements
- Added check for consistent time zone info
- Fixed error message for invalid queries with MySQL and SQLite
- Fixed issue with enumerable methods ignoring nils
## 4.0.2 (2018-10-15)
- Make `current` option work without `last`
- Fixed default value for `maximum`, `minimum`, and `average` (periods with no results now return `nil` instead of `0`, pass `default_value: 0` for previous behavior)
## 4.0.1 (2018-05-03)
- Fixed incorrect range with `last` option near time change
## 4.0.0 (2018-02-21)
- Custom calculation methods are supported by default - `groupdate_calculation_methods` is no longer needed
Breaking changes
- Dropped support for Rails < 4.2
- Invalid options now throw an `ArgumentError`
- `group_by` methods return an `ActiveRecord::Relation` instead of a `Groupdate::Series`
- `week_start` now affects `day_of_week`
- Removed support for `reverse_order` (was never supported in Rails 5)
## 3.2.1 (2018-02-21)
- Added `minute_of_hour`
- Added support for `unscoped`
## 3.2.0 (2017-01-30)
- Added limited support for SQLite
## 3.1.1 (2016-10-25)
- Fixed `current: false`
- Fixed `last` with `group_by_quarter`
- Raise `ArgumentError` when `last` option is not supported
## 3.1.0 (2016-10-22)
- Better support for date columns with `time_zone: false`
- Better date range handling for `range` option
## 3.0.2 (2016-08-09)
- Fixed `group_by_period` with associations
- Fixed `week_start` option for enumerables
## 3.0.1 (2016-07-13)
- Added support for Redshift
- Fix for infinite loop in certain cases for Rails 5
## 3.0.0 (2016-05-30)
Breaking changes
- `Date` objects are now returned for day, week, month, quarter, and year by default. Use `dates: false` for the previous behavior, or change this globally with `Groupdate.dates = false`.
- Array and hash methods no longer return the entire series by default. Use `series: true` for the previous behavior.
- The `series: false` option now returns the correct types and order, and plays nicely with other options.
## 2.5.3 (2016-04-28)
- All tests green with `mysql` gem
- Added support for decimal day start
## 2.5.2 (2016-02-16)
- Added `dates` option to return dates for day, week, month, quarter, and year
## 2.5.1 (2016-02-03)
- Added `group_by_quarter`
- Added `default_value` option
- Accept symbol for `format` option
- Raise `ArgumentError` if no field specified
- Added support for Active Record 5 beta
## 2.5.0 (2015-09-29)
- Added `group_by_period` method
- Added `current` option
- Raise `ArgumentError` if no block given to enumerable
## 2.4.0 (2014-12-28)
- Added localization
- Added `carry_forward` option
- Added `series: false` option for arrays and hashes
- Fixed issue w/ Brasilia Summer Time
- Fixed issues w/ Active Record 4.2
## 2.3.0 (2014-08-31)
- Raise error when `ActiveRecord::Base.default_timezone` is not `:utc`
- Added `day_of_month`
- Added `month_of_year`
- Do not quote column name
## 2.2.1 (2014-06-23)
- Fixed Active Record 3 associations
## 2.2.0 (2014-06-22)
- Added support for arrays and hashes
## 2.1.1 (2014-05-17)
- Fixed format option with multiple groups
- Better error message if time zone support is missing for MySQL
## 2.1.0 (2014-03-16)
- Added last option
- Added format option
## 2.0.4 (2014-03-12)
- Added multiple groups
- Added order
- Subsequent methods no longer modify relation
## 2.0.3 (2014-03-11)
- Implemented respond_to?
## 2.0.2 (2014-03-11)
- where, joins, and includes no longer need to be before the group_by method
## 2.0.1 (2014-03-07)
- Use time zone instead of UTC for results
## 2.0.0 (2014-03-07)
- Returns entire series by default
- Added day_start option
- Better interface
## 1.0.5 (2014-03-06)
- Added global time_zone option
## 1.0.4 (2013-07-20)
- Added global week_start option
- Fixed bug with NULL values and series
## 1.0.3 (2013-07-05)
- Fixed deprecation warning when used with will_paginate
- Fixed bug with DateTime series
## 1.0.2 (2013-06-10)
- Added :start option for custom week start for group_by_week
## 1.0.1 (2013-06-03)
- Fixed series for Rails < 3.2 and MySQL
## 1.0.0 (2013-05-15)
- First major release
## 0.1.6 (2013-05-07)
- Fixed error with Ruby 1.8
## 0.1.5 (2013-05-01)
- Added support for getting the entire series
## 0.1.4 (2013-05-01)
- Added support for Ruby 1.8
## 0.1.3 (2013-04-25)
- Improved field names for ordering
## 0.1.2 (2013-04-24)
- Added ability to order easily
## 0.1.1 (2013-04-21)
- Improved return types for MySQL
## 0.1.0 (2013-04-21)
- Added `day_of_week`
- Added `hour_of_day`
## 0.0.3 (2013-04-18)
- Added support for Rails time zone strings
## 0.0.2 (2013-04-18)
- Added tests
## 0.0.1 (2013-04-17)
- First release
|