- Changed visits to expire with anonymity sets
- Fixed error when Active Job is not available
- Fixed deprecation warning with Rails 7.1
- Dropped support for Ruby < 3 and Rails < 6.1
- Dropped support for Mongoid 6
- Updated Ahoy.js to 0.4.2
- Added primary key type to generated migration
- Updated Ahoy.js to 0.4.1
- Ensure
exclude_method
is only called once per request - Fixed error with Mongoid when
Mongoid.raise_not_found_error
istrue
- Fixed association for Mongoid
- Support for
importmap-rails
is no longer experimental - Fixed asset precompilation error with
importmap-rails
- Added experimental support for
importmap-rails
- Added support for
where_event
,where_props
, andwhere_group
for SQLite - Fixed results with
where_event
for MySQL, MariaDB, and Postgreshstore
- Fixed results with
where_props
andwhere_group
when used with other scopes for MySQL, MariaDB, and Postgreshstore
- Disabled geocoding by default (this was already the case for new installations with 3.2.0+)
- Made the
geocoder
gem an optional dependency - Updated Ahoy.js to 0.4.0
- Updated API to return 400 status code when missing required parameters
- Dropped support for Ruby < 2.6 and Rails < 5.2
- Added
country_code
to geocoding - Updated Ahoy.js to 0.3.9
- Fixed install generator for MariaDB
- Disabled geocoding by default for new installations
- Fixed deprecation warning with Active Record 6.1
- Added
instance
method - Added
request
argument touser_method
- Updated Ahoy.js to 0.3.8
- Removed
exclude_method
call when geocoding
- Added
group_prop
method - Use
datetime
type in migration
- Updated Ahoy.js to 0.3.6
- Updated Ahoy.js to 0.3.5
- Added
cookie_options
- Made
Ahoy::Tracker
work outside of requests - Fixed storage of
false
values with customized store - Fixed error with
user_method
andRails::InfoController
- Gracefully handle
ActionDispatch::RemoteIp::IpSpoofAttackError
- Made Device Detector the default user agent parser
- Made v2 the default bot detection version
- Removed a large number of dependencies
- Removed search keyword detection (most search engines today prevent this)
- Removed support for Rails < 5
- Updated Ahoy.js to 0.3.4
- Fixed v2 bot detection
- Added latitude and longitude to installation
- Added
amp_event
helper - Improved bot detection for Device Detector
- Added option for IP masking
- Added option to use anonymity sets instead of cookies
- Added
user_agent_parser
option - Fixed
visitable
for Rails 4.2 - Removed
search_keyword
from new installs
- Fixed error on duplicate records
- Fixed message when visit not found for geocoding
- Better compatibility with GeoLite2
- Better browser compatibility for Ahoy.js
- Added
Ahoy.server_side_visits = :when_needed
to automatically create visits server-side when needed for events andvisitable
- Better handling of visit duration and expiration in JavaScript
- Removed dependency on jQuery
- Use
navigator.sendBeacon
by default in supported browsers - Added
geocode
event - Added
where_event
method for querying events - Added support for
visitable
andwhere_props
to Mongoid - Added
preserve_callbacks
option - Use
json
for MySQL by default - Fixed log silencing
Breaking changes
- Simpler interface for data stores
- Renamed
track_visits_immediately
toserver_side_visits
and enabled by default - Renamed
mount
option toapi
and disabled by default - Enabled
protect_from_forgery
by default - Removed deprecated options
- Removed throttling
- Removed most built-in stores
- Removed support for Rails < 4.2
- Added
gin
index on properties for events - Fixed
visitable
options when name not provided
- Added support for Rails 5.1
- Added support for Rails API
- Added NATS and NSQ stores
- Fixed issue with duplicate events
- Added support for PostGIS for
where_properties
- Fixed error with Rails 5 and Mongoid 6
- Fixed regression with server not generating visit and visitor tokens
- Accept UTM parameters as request parameters (for native apps)
- Better support for Rails 5
- Restored throttling after removing side effects
- Removed throttling due to unintended side effects with its implementation
- Ensure basic token requirements
- Fixed visit recreation on cookie expiration
- Fixed issue where
/ahoy/visits
is called indefinitely whenAhoy.cookie_domain = :all
- Fixed issues with
where_properties
- Added
where_properties
method - Added Kafka store
- Added
mount
option - Use less intrusive version of
safely
- Use
ActiveRecordTokenStore
by default (integer instead of uuid for id) - Detect database for
rails g ahoy:stores:active_record
for easier installation - Use
safely
as default exception handler - Fixed issue with log silencer
- Use multi-column indexes on
ahoy_events
table creation
- Raise errors in test environment
- Added throttling
- Added
max_content_length
andmax_events_per_request
- Fixed issue with latest version of
browser
gem - Added support for RabbitMQ
- Added support for Amazon Kinesis Firehose
- Fixed deprecation warnings in Rails 5
- Fixed
SystemStackError: stack level too deep
when used withactiverecord-session_store
- Added support for PostgreSQL
jsonb
column type - Added Fluentd store
- Added latitude, longitude, and postal_code to visits
- Log exclusions
- Better support for Authlogic
- Added
screen_height
andscreen_width
- Added
geocode
option - Report errors to service by default
- Fixed association mismatch
- Fixed BSON for Mongoid 3
- Fixed Doorkeeper integration
- Fixed user tracking in overridden authenticate method
- Fixed
visitable
outside of requests
- Added support for any data store, and Mongoid out of the box
- Added
track_visits_immediately
option - Added exception catching and reporting
- Visits expire after inactivity, not fixed interval
- Added
visit_duration
andvisitor_duration
options
- Fixed bot exclusion for visits
- Fixed user method
- Fixed visitor cookies when set on server
- Added
domain
option for server cookies
- Added
current_visit_token
andcurrent_visitor_token
method - Switched to UUIDs
- Quiet endpoint requests
- Skip server-side bot events
- Added
request
argument toexclude_method
- Added
exclude_method
option - Added support for batch events
- Fixed cookie encoding
- Fixed
options
variable from being modified
- Fixed IE 8 error
- Added
track_bots
option - Added
$authenticate
event
- Added event tracking (merged ahoy_events)
- Added ahoy.js
- Fixed bug with
user_type
set tofalse
instead ofnil
- Made cookie functions public for ahoy_events
- Better user agent parser
- Added support for Doorkeeper
- Added options to
visitable
- Added
landing_params
method
- Added
ahoy.ready()
andahoy.log()
for events
- Supports
current_user
fromApplicationController
- Added
ahoy.reset()
- Added
ahoy.debug()
- Added experimental support for native apps
- Prefer
ahoy
overAhoy
- Attach user on Devise sign up
- Ability to specify visit model
- Made most database columns optional
- Performance hack for referer-parser
- First major release