- Fixed deprecation warning with Rack 3.1+
- Dropped support for Ruby < 3.2 and Rails < 7.1
- Dropped support for Ruby < 3.1 and Rails < 7
- Dropped support for Mongoid < 8
- Fixed connection leasing for Active Record 7.2+
- Improved error handling for invalid API parameters
- Added support for Trilogy
- Updated Ahoy.js to 0.4.4
- Excluded visits from Rails health check
- Fixed error with geocoding with anonymity sets
- 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_methodis only called once per request - Fixed error with Mongoid when
Mongoid.raise_not_found_erroristrue - Fixed association for Mongoid
- Support for
importmap-railsis no longer experimental - Fixed asset precompilation error with
importmap-rails
- Added experimental support for
importmap-rails
- Added support for
where_event,where_props, andwhere_groupfor SQLite - Fixed results with
where_eventfor MySQL, MariaDB, and Postgreshstore - Fixed results with
where_propsandwhere_groupwhen 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
geocodergem 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_codeto 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
instancemethod - Added
requestargument touser_method - Updated Ahoy.js to 0.3.8
- Removed
exclude_methodcall when geocoding
- Added
group_propmethod - Use
datetimetype in migration
- Updated Ahoy.js to 0.3.6
- Updated Ahoy.js to 0.3.5
- Added
cookie_options
- Made
Ahoy::Trackerwork outside of requests - Fixed storage of
falsevalues with customized store - Fixed error with
user_methodandRails::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_eventhelper - Improved bot detection for Device Detector
- Added option for IP masking
- Added option to use anonymity sets instead of cookies
- Added
user_agent_parseroption - Fixed
visitablefor Rails 4.2 - Removed
search_keywordfrom 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_neededto 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.sendBeaconby default in supported browsers - Added
geocodeevent - Added
where_eventmethod for querying events - Added support for
visitableandwhere_propsto Mongoid - Added
preserve_callbacksoption - Use
jsonfor MySQL by default - Fixed log silencing
Breaking changes
- Simpler interface for data stores
- Renamed
track_visits_immediatelytoserver_side_visitsand enabled by default - Renamed
mountoption toapiand disabled by default - Enabled
protect_from_forgeryby default - Removed deprecated options
- Removed throttling
- Removed most built-in stores
- Removed support for Rails < 4.2
- Added
ginindex on properties for events - Fixed
visitableoptions 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/visitsis called indefinitely whenAhoy.cookie_domain = :all
- Fixed issues with
where_properties
- Added
where_propertiesmethod - Added Kafka store
- Added
mountoption - Use less intrusive version of
safely
- Use
ActiveRecordTokenStoreby default (integer instead of uuid for id) - Detect database for
rails g ahoy:stores:active_recordfor easier installation - Use
safelyas default exception handler - Fixed issue with log silencer
- Use multi-column indexes on
ahoy_eventstable creation
- Raise errors in test environment
- Added throttling
- Added
max_content_lengthandmax_events_per_request
- Fixed issue with latest version of
browsergem - Added support for RabbitMQ
- Added support for Amazon Kinesis Firehose
- Fixed deprecation warnings in Rails 5
- Fixed
SystemStackError: stack level too deepwhen used withactiverecord-session_store
- Added support for PostgreSQL
jsonbcolumn type - Added Fluentd store
- Added latitude, longitude, and postal_code to visits
- Log exclusions
- Better support for Authlogic
- Added
screen_heightandscreen_width
- Added
geocodeoption - 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
visitableoutside of requests
- Added support for any data store, and Mongoid out of the box
- Added
track_visits_immediatelyoption - Added exception catching and reporting
- Visits expire after inactivity, not fixed interval
- Added
visit_durationandvisitor_durationoptions
- Fixed bot exclusion for visits
- Fixed user method
- Fixed visitor cookies when set on server
- Added
domainoption for server cookies
- Added
current_visit_tokenandcurrent_visitor_tokenmethod - Switched to UUIDs
- Quiet endpoint requests
- Skip server-side bot events
- Added
requestargument toexclude_method
- Added
exclude_methodoption - Added support for batch events
- Fixed cookie encoding
- Fixed
optionsvariable from being modified
- Fixed IE 8 error
- Added
track_botsoption - Added
$authenticateevent
- Added event tracking (merged ahoy_events)
- Added ahoy.js
- Fixed bug with
user_typeset tofalseinstead ofnil
- Made cookie functions public for ahoy_events
- Better user agent parser
- Added support for Doorkeeper
- Added options to
visitable - Added
landing_paramsmethod
- Added
ahoy.ready()andahoy.log()for events
- Supports
current_userfromApplicationController - Added
ahoy.reset() - Added
ahoy.debug() - Added experimental support for native apps
- Prefer
ahoyoverAhoy
- Attach user on Devise sign up
- Ability to specify visit model
- Made most database columns optional
- Performance hack for referer-parser
- First major release
- Added UTM parameters
- Renamed
ahoy_visitmethod tocurrent_visit
- Added
ahoy_visitmethod to controllers
- First release