The versioning of this gem follows ActiveRecord versioning, and does not follow SemVer. See the README for more details.
8.0.0 - 2026-01-22
- Drop unnecessary load_schema statements #197
- Attribute delegation #192
- Spec wording, better error message for bogus va :through #202
- Support rails 8, drop support for 7.2 #216
- Make the virtual_delegate deprecation warning less noisy #217
7.2.0.1 - 2025-07-18
- Fix includes and associations with empty uses #195
7.2.0.0 - 2025-06-25
7.1.2 - 2025-06-20
7.1.1 - 2025-06-18
- Deprecate virtual_delegate without a type #188
7.1.0 - 2025-02-19
- Use TableAlias for table aliasing #168
- Rails 7.1 support
7.0.0 - 2024-08-01
- Use Arel.literal #154
- drop attribute_builder #153
- dropped virtual_aggregate #152
- resolve rubocops (also fix bin/console) #151
- Rails 7.0 support / dropping 6.1 #150
- condense includes produced by replace_virtual_fields #149
- fix bin/console #148
- Rails 7.0 support pt1 #146
- Fix sqlite3 v2 and rails #140
- Use custom Arel node #114
6.1.2 - 2023-10-26
- Fix bind variables for joins with static strings #124
- Add
virtual_totalforhabtm#123 - Fix:
:usesclause now works with an array and nested hashes. #120 - Uses symbols in the
includes()clause. defined byvirtual_attribute :usesand virtual_delegate. #128
6.1.1 - 2022-08-09
- fix HomogeneousIn clauses #111
6.1.0 - 2022-02-03
- BREAKING Dropped support for Rails 5.0, 5.1, 5.2, 6.0
- BREAKING This gem will now no longer follow Semantic Versioning, but instead follow Rails' versioning numbers in order to simplify version matches between them both.
- Added Rails 6.1 support
- Ruby 3.0 compatibility: kwargs, regular expression fixes
- changed extension mechanism from
arel_attribute()toarel_table[] - Auto add grouping to virtual attribute arel
3.0.0 - 2020-09-28
- fix virtual_aggregate to return a consistent 0 when calculating a sum of no records
- fix virtual delegate to include the type column when fetching associated models for polymorphism
- add virtual_average, virtual_minimum, and virtual_maximum
2.0.0 - 2020-05-22
- This is a trivial release, but because it modifies a public interface, the jump makes it look significant.
- BREAKING removed legacy virtual_column parameter support. (it is not ruby 2.7 compatible)
- fixed warnings in ruby 2.7
1.6.0 - 2019-12-02
- rails 5.2 support
- fix Arel#name error
- Display deprecation notices for invalid associations (rather than throw an error)
1.5.0 - 2019-12-02
select()no longer modifiesselect_values. It understands virtual attributes at a lower level.includes()can now handle all proper values presented.virtual_totaladded support forhas_many:throughvirtual_totalwith a nil attribute value no longer executes an extra query- rails 6.0 support, (rails 5.2 only fails
habtmpreloading) - ruby 2.6.x support (no longer testing ruby 2.4)
1.4.0 - 2019-07-13
- fix includes to include all associations
- fix bin/console to now actually run
- select no longer munges field attribute
- support virtual attributes in left_outer_joins
1.3.1 - 2019-06-06
- quote column aliases
1.3.0 - 2019-05-24
- Rails 5.2 support
1.2.0 - 2019-04-23
- Virtual_delegate :type now specified to avoid rare race conditions with attribute discovery
- Delays interpreting delegate until column is used
- Postgres now supports order by virtual_aggregate
- More flexible includes. e.g.: Arrays of symbols now work
- Raises errors for invalid
includes()and:uses
1.1.0 - 2019-04-23
- Add legacy types for
VirtualAttribute::Types - Fix rails 5.1 bug with
includes() - Remove reference to
MiqPreloader
1.0.0 - 2019-03-05
- Renamed to activerecord-virtual_attributes
- Moved from ManageIQ to own repo
- Added support for Rails 5.1
- Initial Release
- Extracted from ManageIQ/manageiq