- Fix silent failures (#269)
- Update to Ruby 3.2 (#262)
- Rename Segment namespace to SegmentIO (#259)
- Lower allocated and retained strings (#258)
- Modify timestamp to have 3 fractional digits (#250 && #251)
- Fix for empty user_id or anonymous_id (#245)
- Not enqueuing test action in real queue (#237)
- Fix test queue reset! documentation (#235)
- Enable overriding transport Pass options when initializing Transport (#230)
- Add test option for easier testing (#222)
- Improvement: Update timestamp for sub-millisecond reporting
- Update supported Ruby versions (2.4, 2.5, 2.6, 2.7), remove unsupported Ruby versions (2.0, 2.1, 2.2, 2.3)
- Promoted pre-release version to stable.
- Fix: Allow
anonymous_id
in#alias
and#group
.
- Promote pre-release version to stable.
- Fix: Don't assume all errors are 'ConnectionError's
- Fix: Revert 'reuse TCP connections' to fix EMFILE errors
- Fix: Fix oj/rails conflict
- Fix: Add missing 'Forwardable' requirement
- Improvement: Better logging
- Fix: Require
version
module first.
- Promote pre-release version to stable.
- Fix: Prevent 'batch size exceeded' errors by automatically batching items according to size
- Performance: Reuse TCP connections
- Improvement: Emit logs when in-memory queue is full
- Improvement: Emit logs when messages exceed maximum allowed size
- Improvement: Add exponential backoff to retries
- Improvement: Handle HTTP status code failure appropriately
- Fix: Override
respond_to_missing
instead ofrespond_to?
to facilitate mock the library in tests.
- adding commander as dep (for CLI)
- add executables to spec
- Adding an (experimental) CLI
- Fix: Ensure error handler is called before Client#flush finishes.
- Feature: Support setting a custom message ID.
- readme: updated install docs
- fix: page/screen to allow no name
- git: ignore ruby version
- travis-ci: remove old rubys
- Fix batch being cleared and causing duplicates
- fix: don't clear batch if request failed
- Move timeout retry above output
- Fix rescuing timeouts
- fix: add 3 ms to timestamp
- fix: include optional options hash in calls
- fix: category param on #page and #screen
- fix: datetime conversions
- fix: isofying trait dates in #group
- fix: undefined method `is_requesting?' for nil:NilClass when calling flush (#51)
- fix: formatting ios dates
- fix: respond_to? implementation
- add: able to stub requests by setting STUB env var
- add: namespace under Segment::Analytics
- add: can create multiple instances with creator method (rather than having a singleton)
- add: logging with Logger instance or Rails.logger if available
- add: able to stub requests so they just log and don't hit the server
- fix: worker continues running across forked processes
- fix: removed usage of ActiveSupport methods since its not a dependency
- fix: sending data that matches segment's new api spec
(there is no v2.0.0)
- adding .initialized? by @lumberj
- removing faraday dependency
- adding .group(), .page(), and .screen() calls
- relaxing faraday dependency, fixes #31
- Add
requestId
fields to all requests for tracing.
- Allow the consumer thread to shut down so it won't remain live in hot deploy scenarios. This fixes the jruby memory leak by @nirvdrum
- adding
sleep
backoff between connection retries
- adding retries for connection hangups
- Removing global Analytics constant in favor of adding it to our config. NOTE: If you are upgrading from a previous version and want to continue using the
Analytics
namespace, you'll have to addAnalytics = AnalyticsRuby
to your config. Otherwise you WILL NOT be sending analytics data. See the setup docs for more info
- Adding support and tests for 1.8.7
- Pass
Time
values as iso8601 timestamp strings
- Allow init/track/identify/alias to accept strings as keys. by @shipstar
- Adding faraday timeout by @yanchenyun
- Adding check for properties to be a Hash
- Adding alias call
- Adding flush method
- Adding ClassMethods for more extensibility by arronmabrey
- Fixing user_id.to_s semantics, reported by arronmabrey
- Reduced faraday requirements by arronmabrey
- Fixing thrown exception on non-initialized tracks thanks to sbellity
- Updating dependencies
- Adding actual support for MultiJson 1.0
- Updated docs to point at segment.io
- Renaming of all the files for proper bundling usage
- Updated readme and install instruction courtesy of @zeke
- Removed typhoeus and reverted to default adapter
- Removing session_id in favor of a single user_id
- Rakefile and renaming courtesy of @kiennt
- Updated tests with mocks