- [IMPROVEMENT] Initial support for parsing queries from activerecord-sqlserver-adapter
- [IMPROVEMENT] Set "turbo-frame" in the request segment when making a Turbo-Frame request
- [IMPROVEMENT] Remove an outdated "abbrev" requirement
- [IMPROVEMENT] When using certain versions of Rubygems (< 3.4.9), some users experienced a Rubygems bug in which the wrong version of Psych native extensions were loaded during Skylight's native extension building. We have inlined the data needed to download libskylight, so YAML is no longer required during installation. Note that for existing versions of Skylight, this issue may also be corrected by updating Rubygems to at least 3.4.9.
- [BUGFIX] Fix a logger message that could raise an error when I18n is misconfigured or unconfigured.
- [BUGFIX] Fix an issue with proxy config in skylightd.
- [BREAKING] End support for Ruby 2.6
- The following libraries are no longer tested and are not guaranteed to work with Skylight 6:
- Sinatra 1.x
- GraphQL 1.7 and 1.8
- Sidekiq 4
- NOTE: There is an inconsistency in the order of application of
ruby2_keywords
andinstrument_method
in Ruby >= 3.2. We recommend not combining these two annotations at all, but if you must, callinstrument_method
after your method has been defined. - [IMPROVEMENT] When Rails's
exceptions_app
(used by ActionDispatch::ShowExceptions) is set to another instrumented responder (like a Rails router), Skylight will not set the endpoint name after exception processing has started. This means that error traces will now be aggregated under the original endpoint that generated the error (but with the 'error' segment), rather than under the exception handler's controller and action name. - [IMPROVEMENT] (Once again) Provide native support for FreeBSD.
- [BUGFIX] Fix an issue in which the daemon could time out if the processes file descriptor count was set very high (e.g. on Heroku's Performance dynos)
- [IMPROVEMENT] Better support for GraphQL versions >= 2.0.18.
- [IMPROVEMENT] Remove an outdated "abbrev" requirement
- [BUGFIX] Fix a middleware response method that was incompatible with Puma >= 6.
- [IMPROVEMENT] Improved support for Redis v5
- [IMPROVEMENT] Track the original class/method name for Sidekiq delayed object proxies
- [BUGFIX] Fix
mongoid
probe not activating correctly - [BUGFIX] Fix
mongo
probe not instrumenting clients created before Skylight initialization
- [BUGFIX] Fix case-sensitivity issue when computing relative paths
- [BUGFIX] Fix Elasticsearch integration for gem versions >= 8.
- [FEATURE] Support for Rails 7's
load_async
. - [IMPROVEMENT]
skylight doctor
now checks glibc compatibility. - [BUGFIX] Fix an issue where
skylight doctor
wouldn't correctly log installation errors.
- [FEATURE] Experimental gRPC transport
- [IMPROVEMENT] Internal native client refactors
- [IMPROVEMENT] Add Rack::Builder probe to better instrument middlewares in Sinatra and other Builder-based apps
- [BUGFIX] Fix some internal errors related to Rails 7
- [BUGFIX] Fix an issue in which trace logging could output the incorrect request ID.
- [BUGFIX] Fix native extension configuration for arm64 hosts
- [BUGFIX] Correct ruby version requirement in skylight.gemspec
-
[FEATURE] Add experimental tcp-based
skylightd
(may be enabled withSKYLIGHT_ENABLE_TCP=true
) -
[IMPROVEMENT] Support aarch64-darwin targets (Apple M1)
-
[IMPROVEMENT] Support aarch64-linux-gnu targets
-
[IMPROVEMENT] Support aarch64-linux-musl targets
-
[IMPROVEMENT] Prevent large traces from shutting down the instrumenter
-
[IMPROVEMENT] Avoid 'invalid option' warnings when instrumenting certain Tilt templates in Sinatra
-
[IMPROVEMENT] Decrease verbosity of source locations logs in the debug level.
-
[BREAKING] Remove
SKYLIGHT_SSL_CERT_DIR
config -
[BREAKING] Drop support for Ruby 2.5
- [IMPROVEMENT] Use argument-forwarding (...) where available in custom instrumentation
-
[FEATURE] Add normalizer for Shrine events (thanks @janko!)
-
[FEATURE] Source Locations detection and reporting is now enabled by default (can be disabled with
SKYLIGHT_ENABLE_SOURCE_LOCATIONS=false
) -
[FEATURE] Configuration for the Source Locations caches via
SYLIGHT_SOURCE_LOCATION_CACHE_SIZE
-
[IMPROVEMENT] Improve keyword argument handling in Skylight::Helpers (thanks @lukebooth!)
-
[IMPROVEMENT] Replace a Kernel.puts with Skylight.log (thanks @johnnyshields!)
-
[IMPROVEMENT] Various updates to the SQL lexer
-
[IMPROVEMENT] Reduce volume of log messages sent to the native logger in debug level
-
[IMPROVEMENT] Optimizations for the Source Locations extension
-
[IMPROVEMENT] Improved Delayed::Job probe
-
[IMPROVEMENT] Maintain method visibility when instrumenting with
instrument_method
-
[IMPROVEMENT] Update probes to use
Module#prepend
where possible -
[IMPROVEMENT] New tokio-based skylightd
-
[IMPROVEMENT] Support
render_layout
notifications in Rails 6.1 -
[IMPROVEMENT] Support
ActionMailer::MailDeliveryJob
in Rails 6.1 -
[IMPROVEMENT] Better logging config.
SKYLIGHT_NATIVE_LOG_LEVEL
now defaults towarn
. -
[BREAKING] Rename
environment
keyword argument topriority_key
. Noteenv
has not changed. -
[BREAKING] Merge skylight-core into skylight. All classes previously namespaced under
Skylight::Core
have been moved toSkylight
. -
[BREAKING] Remove
Skylight::Util::Inflector
-
[BREAKING] Drop support for Rails 4
-
[BREAKING] Drop support for Ruby 2.3 and 2.4
-
[BREAKING] Drop support for glibc < 2.23
-
[BUGFIX] Fix issue with missing metadata in MongoDB probe
-
[BUGFIX] Resolve an inability to parse certain SQL queries containing arrays
-
[BUGFIX] Allow multiple probes to be registered under the same key
-
[BUGFIX] Do not refer to Redis constant until the probe is installed
-
[BUGFIX] Fix nested calls to
Normalizers::Faraday::Request.disable
- [BUGFIX] Backport an ActionView fix from Skylight 5 (makes Skylight 4 compatible with Rails 6.1)
- [BUGFIX] Fix an issue in which
Mime::NullType
would result in an exception
- [IMPROVEMENT] Fix Ruby 2.7 warnings
- [IMPROVEMENT] Update Grape normalizer for version 1.3.1
- [BUGFIX] Fix an issue where GraphQL normalizers could fail to load in non-Rails contexts
- Support graphql-ruby version 1.10
- [IMPROVEMENT] Enable instrumentation for ActionMailer::MailDeliveryJob
- [BUGFIX] Improved handling for non-SPEC compliant Rack middleware
- [FEATURE] Add GraphQL probe
- [FEATURE] Optionally add Rack mount point to Sinatra endpoint names
- [FEATURE] Add
Skylight.mute
andSkylight.unmute
blocks to selectively disable and re-enable - [IMPROVEMENT] Shut down the native instrumenter when the remote daemon is unreachable instrumentation
- [IMPROVEMENT] Revise agent authorization strategy (fixes some issues related to activation for background jobs)
- [IMPROVEMENT] Fix Rails 6 deprecation warnings
- [BUGFIX] Skip the Sidekiq probe if Sidekiq is not present
- [BUGFIX] Correct an issue where the delayed_job probe may not be activated on startup
- [BUGFIX] Fix Skylight installation when bundled with edge rails Issue #132
- [IMPROVEMENT] Improve socket retry handling in skylightd
- [FEATURE] add normalizers for Graphiti >= 1.2
- [BUGFIX] re-enable aliases in skylight.yml
- [BUGFIX] Fix an issue with Delayed::Job worker name formatting
- [BUGFIX] Better detection of known web servers
- [FEATURE] Skylight for Background Jobs
- [FEATURE] instrument ActiveStorage notifications
- [FEATURE] Probe for Delayed::Job (standalone)
- [FEATURE] Add Skylight#started? method
- [IMPROVEMENT] Support anonymous ActiveModelSerializer classes
- [IMPROVEMENT] Improve error handling in normalizers
- [IMPROVEMENT] Handle Rails 6's middleware instrumentation
- [IMPROVEMENT] Better rendered format detection in Rails controllers
- [IMPROVEMENT] Recognize the Passenger startup script as 'web'
- [IMPROVEMENT] ActionMailer::DeliveryJob are now reported using the mailer name and method
- [IMPROVEMENT] Better content type handling for ActionController normalizer
- [IMPROVEMENT] Better handle some things in Ruby 2.6
- [IMPROVEMENT] Better logging in a couple places
- [IMPROVEMENT] Fixed a couple Ruby warnings (thanks, @y-yagi!)
- [IMPROVEMENT] Handle 403 config validation response
- [IMPROVEMENT] Config for
prune_large_traces
is now true by default - [BUGFIX] Require http formatters for Faraday (thanks, @serkin!)
- [BREAKING] Drop support for Ruby 2.2 since it is EOL
- [BREAKING] New method for assigning 'segment' to a trace endpoint name
- [BUGFIX] ActiveJob#perform_now should not reassign the endpoint name
- [BUGFIX] skylightd correctly closes cloned file descriptors on startup
- [BUGFIX] Convert numeric git shas to strings
- [BUGFIX] Fix derived endpoint names under Grape 1.2
- [IMPROVEMENT] Get AMS version from
Gem.loaded_specs
(thanks @mattias-lundell!)
- [IMPROVEMENT] Trace Mongo aggregate queries
- [BUGFIX] Correct configuration keys in skylight.yml
- [BUGFIX] SQL queries with schema-qualified table names are parsed correctly
- [BUGFIX]
SELECT ... FOR UPDATE
queries are parsed correctly - [BUGFIX] Revision to SQL string escaping rules
- [BUGFIX] Fix issue where Rails routing errors could result in a broken trace.
- [FEATURE] First class support for multiple application environments
- [IMPROVEMENT] Better instrumentation of ActiveJob enqueues
- [BREAKING] The ActiveJob enqueue_at normalizer is now a probe that is enabled by default. The normalizer no longer needs to be required.
- [BREAKING] Remove SKYLIGHT_USE_OLD_SQL_LEXER config option
- [IMPROVEMENT] Improve handling of broken middleware traces
- [IMPROVEMENT] Don't rely on ActiveSupport's String#first (Thanks @foxtacles!)
- [BUGFIX] Susbcribe to AS::Notifications events individually
- [IMPROVEMENT] add normalizer for 'format_response.grape' notifications
- [BUGFIX] Correctly deprecate the Grape probe
- [BUGFIX] Correctly deprecate the now unncessary Grape probe.
- [FEATURE] New SQL lexer to support a wider variety of SQL queries.
- [BREAKING] Drop support for Ruby versions prior to 2.2
- [BREAKING] Drop support for Rails versions prior to 4.2
- [BREAKING] Drop support for Tilt versions prior to 1.4.1
- [BREAKING] Drop support for Sinatra versions prior to 1.4
- [BREAKING] Drop support for Grape versions prior to 0.13.0
- [BREAKING] Drop support for Linux with glibc versions prior to 2.15
- [BREAKING] Remove couch_potato normalizer as it doesn't appear to have ever worked
- [BREAKING]
log_sql_parse_errors
config option is now on by default. - [IMPROVEMENT] Auto-disable Middleware probe if it appears to be causing issues
- [IMPROVEMENT] More detailed logging and improved error handling
- [IMPROVEMENT] Fix Ruby Warnings (Thanks @amatsuda!)
- [IMPROVEMENT] Improved handling of errors generated in the Rust agent.
- [IMRPOVEMENT] Add logging to Instrumentable for easier access
- [IMPROVEMENT] Improved logging during startup
- [FEATURE] New API for loading Probes. Example:
Skylight.probe(:excon')
- [FEATURE] New API for enabling non-default Normalizers. Example:
Skylight.enable_normalizer('active_job')
- [DEPRECATION] Support for Rails versions prior to 4.2
- [DEPRECATION] Support for Tilt versions prior to 1.4.1
- [DEPRECATION] Support for Sinatra versions prior to 1.4
- [DEPRECATION] Support for Grape versions prior to 0.13.0
- [IMPROVEMENT] Include endpoint name in error logging
- [BUGFIX] Make sure to correctly release broken traces
- [BUGFIX] Keep the
require
method private when overwriting
- [FEATURE] Time spent the Rails router is now identified separately in the trace
- [IMPROVEMENT] Switch logger to debug mode if tracing is enabled
- [IMPROVEMENT] Improved logging for a number of error cases
- [IMPROVEMENT] Middleware probe should now accept anything allowed by Rack::Lint
- [IMPROVEMENT] We were using arity checks to determine Rails version but due to other libraries' monkey patches this could sometimes fail. We just check version numbers now.
- [BUGFIX] Middleware probe no longer errors when Middleware returns a frozen array
- [BUGFIX]
skylight doctor
no longer erroneously reports inability to reach Skylight servers.
- [FEATURE] Coach instrumentation. Enabled automatically via ActiveSupport::Notifications.
- [FEATURE] Option to enable or disable agent by setting SKYLIGHT_ENABLED via ENV.
- [IMPROVEMENT] Better logging for certain error cases.
- [BUGFIX] Backport a SPEC compliance fix for older Rack::ETag to resolve case where the Middleware probe could cause empty traces.
- [BUGFIX] Fix a case where using the non-block form of
Skylight.instrument
withSkylight.done
could cause lost trace data.
- [BUGFIX] The minimum glibc requirement was errorneously bumped to 2.15. We have returned it to 2.5.
- [BUGFIX] In rare cases, Rails Middleware can be anonymous classes. We now handle those without raising an exception.
- [BUGFIX] For experimental deploy tracking support, resolve an error that occurred if the Git SHA and description were not set.
- [BUGFIX] Fix an issue that would prevent the daemon from starting up on FreeBSD.
- [FEATURE] Add probe for Rack Middlewares
- [FEATURE] ActiveRecord Instantiation instrumentation
- [FEATURE] Faraday instrumentation. Add 'faraday' to your probes list.
- [IMPROVEMENT] Increase limit for items tracked in a requests
- [IMPROVEMENT] Allow for more fine-grained control over position of Skylight::Middleware
- [IMPROVEMENT] Improved handling of the user-level configuration options
- [IMPROVEMENT] Avoid processing Skylight::Middleware unnecessarily
- [EXPERIMENTAL] FreeBSD support. (This should work automatically on FreeBSD systems, but real-world testing has been minimal.)
- [EXPERIMENTAL] ActionJob Enqueue instrumentation. (Only tracks the enqueuing of new jobs. Does not instrument jobs themselves. Off by default since it's not clear how useful it is. To enable:
require 'skylight/normalizers/active_job/enqueue_at'
.)
- [IMPROVEMENT] Better suggestions in
skylight doctor
.
- [FEATURE] Add normalizer for couch_potato. (Thanks @cobot)
- [IMPROVEMENT]
skylight doctor
now validates SSL configuration - [IMPROVEMENT] Add ENV option to force use of bundled SSL certificates
- [BUGFIX] Update bundled SSL certificates to avoid an authentication issue some users encountered due to a new skylight.io certificate.
- [BUGFIX] Ignored heartbeat endpoints with response types weren't actually ignored. They now will be!
- [FEATURE] Response Type tracking for all applications. (Previously known as Segments.)
- [FEATURE] Support musl-based OSes (including Alpine Linux)
- [FEATURE] Add Elasticsearch Probe
- [FEATURE] Add HTTPClient probe (#76)j
- [IMPROVEMENT] Update tested Ruby versions, drop 1.9.2
- [BUGFIX] Fix HTTP_PROXY handling of empty strings (#90)
- [BUGFIX] Don't crash on empty content_type strings
- [BUGFIX] Use more robust method to detect home dir (#75)
- [BUGFIX] Add option to suppress environment warning (#62)
- [BUGFIX] Gracefully handle non-writable log files
- [BUGFIX] Fix skylight doctor's handling of config files
- [BUGFIX] Support MetalControllers that don't use ActionController::Rendering
- [BETA FEATURE] Track separate segments for endpoints. Contact support@skylight.io to have this feature enabled for your account.
- [FEATURE] Initial 'skylight doctor' command
- [BREAKING] Removed old
skylight setup
without creation token - [BREAKING] Remove Ruby based SQL lexer
- [IMPROVEMENT] Internal refactors
- [BUGFIX] Correctly pass 'false' config values to Rust agent
- [BUGFIX] Turn off -Werror and -pedantic for builds. Issue #64
- [BUGFIX] Fix issue with Grape multi-method naming
- [BUGFIX] Add http to proxy_url for native fetching
- [BUGFIX] Fix setting
proxy_url
in config YML - [IMPROVEMENT] Log errors during authentication validation
- [BUGFIX] Sinatra instrumenation now works for latest master
- [BUGFIX] Sequel support for 4.35.0
- [BUGFIX] Handle latest ActiveModel::Serializers version
- [BUGFIX] More precise check for existence of Rails
- [BREAKING] Drop official support for Sinatra 1.2 (it likely never worked correctly)
- [IMPROVEMENT] On Heroku, logs are now written to STDOUT
- [IMPROVEMENT] Allow Skylight to raise on logged errors, useful for testing and debugging
- [IMPROVEMENT] Finish Rack::Responses in Middleware
- [IMRPOVEMENT] Better message when config/skylight.yml already exists
- [IMPROVEMENT] Update Rust Agent with SQL improvements, including handling for arrays and WITH
- [BUGFIX] Don't validate configuration on disabled environments.
- [BUGFIX] Fix git repository warning on startup. Issue #58
- [FEATURE] Preliminary work for deploy tracking (not yet functional)
- [BUGFIX] Don't crash if user config (~/.skylight) is empty
- [BUGFIX] Better handling of unsupported moped versions
- [IMPROVEMENT] Internal refactor of configuration handling
- [IMPROVEMENT] Improve automated tests
- [IMPROVEMENT] Fix tests in Rails 5 (No actual code changes required!)
- [FEATURE] ActiveModel::Serializers Instrumentation. Always on in latest HEAD, for previous version add 'active_model_serializers' to probes list.
- [BUGFIX] Handle multi-byte characters in SQL lexer
- [FEATURE] Added instrumentation for official Mongo Ruby Driver (utilized by Mongoid 5+). Add 'mongo' to probes list to enable.
- [BUGFIX] SQL lexer now handles indentifiers beginning with underscores.
- [BUGFIX] Excon instrumentation now works correctly.
- [BUGFIX] Graceful handling of native agent failures on old OS X versions.
- [IMPROVEMENT] Freeze some more strings for (likely very minor) performance improvements.
- [IMPROVEMENT] Better error messages when sockdir is an NFS mount.
- [IMPROVEMENT] On OS X, ensure that Xcode license has been approved before trying to build native agent.
- [BUGFIX] Update SQL lexer to handle more common queries
- [BUGFIX] Correctly report native gem installation failures
- [BUGFIX] Correctly update Rust agent to include SQL fixes that were supposed to land in 0.9.1.
- [BUGFIX] Update Rust SQL lexer to handle
NOT
and::
typecasting.
- [FEATURE] Expose Skylight::Helpers.instrument_class_method
- [BUGFIX] Allow for instrumentation of setters
- [BUGFIX] Fix an issue where loading some items in the Grape namespace without loading the whole library would cause an exception.
- [IMPROVEMENT] Switch to Rust SQL lexer by default
- [IMPROVEMENT] Add support for Redis pipelined and multi
- [IMPROVEMENT] Updated Rust internals
- [IMPROVEMENT] Agent should now work on current Rails master
- [IMPROVEMENT] Better disabling of development mode warning
- [BUGFIX] Fix agent on OS X El Capitan.
- [PERFORMANCE] Explicitly subscribe to normalized events
- [IMPROVEMENT] Use native unique description tracking
- [IMPROVEMENT] Native SQL: Support multistatement queries
- [FEATURE] Add Grape instumentation. See https://docs.skylight.io/grape
- [FEATURE] Process ERB in config/skylight.yml
- [FEATURE] Add Rust based SQL lexing. Currently beta. Enable with
config.sql_mode = 'rust'
. - [BUGFIX] Fixed a case where, With some logger configurations, duplicate messages could be written to STDOUT.
- [BUGFIX] Fix bug in FFI error handling
- [BUFIX] Condvar bug in Rust. Updated to latest nightly.
- [BUGFIX] Don't crash on ruby stack overflow
- [IMPROVEMENT] Silence a noisy log message
- [IMPROVEMENT] Update to latest openssl & curl
- [FEATURE] Add probe on ActionView for layout renders
- [BUGFIX] Don't use $DEBUG to enable verbose internal logging
- [IMPROVEMENT] Eliminates runtime dependency on the Rails constant across the entire codebase
- [FEATURE] Support for Sinatra applications. See https://docs.skylight.io/sinatra/
- [FEATURE] Support for the Sequel ORM (off by default for Rails apps)
- [FEATURE] Support for Tilt templates (off by default for Rails apps)
- [IMPROVEMENT] Support ignoring multiple heartbeat endpoints
- [BUGFIX] Fix compilation errors on old GCC
- [BUGFIX] Fix issues with working directory dissappearing
- [IMPROVEMENT] Automatically load configuration from ENV
- [FEATURE] Track object allocations per span
- [IMPROVEMENT] Fix C warnings
- [BUGFIX] Fix Moped integration when queries include times
- [BUGFIX] Fix exit status on MRI 1.9.2
- [BUGFIX] Strip SQL comments for better aggregation
- [BUGFIX] Fix downloading native agent on 32bit systems
- [BUGFIX] Support legacy config settings
- [FEATURE] Check FS permissions on instrumenter start
- Featherweight Agent: lowered CPU and memory overhead
- [IMPROVEMENT] Add support for ignoring an endpoint by name
- [BUGFIX] Skylight crashing on start won't crash entire app
- [BUGFIX] Fix app name fetching on Windows for
skylight setup
- [IMPROVEMENT] HEAD requests are no longer instrumented and will not count towards usage totals.
- [IMPROVEMENT] Added LICENSE and CLA
- [IMPROVEMENT] Improve how warnings are logged to reduce overall noise and interfere less with cron jobs
- [BUGFIX] Fixed a case where failed app creation raised an exception instead of printing error messages
- [FEATURE] Redis probe (Not enabled by default. See https://docs.skylight.io/agent/#railtie)
- [FEATURE] Support app creation with token instead of email/password
- [BUGFIX] App creation now works even when Webmock is enabled
- [BUGFIX] Fix instrumentation for methods ending in special chars
- [BUGFIX] Improved SQL parsing
- [IMPROVEMENT] Respect collector token expiration to reduce token requests
- Fix warning for Cache.instrument overwrite
- Fixed ActiveSupport::Cache monkeypatch
- Basic instrumentation for ActiveSupport::Cache
- Fix incompatibility with old version of rack-mini-profiler
- Better error messages when config/skylight.yml is invalid
- Better error messages for non-writeable lock/sockfile path
- Do not build C extension if dependencies (libraries/headers) are missing
- [RUST] Improve performance by not double copying memory when serializing
- Enable the Net::HTTP probe by default
- Load probes even when agent is disabled
- Check for Excon::Middlewares before installing the probe
- SQL error encoder should not operate in-place
- Fix Middleware
- More debug logging
- Log Rails version in MetricsReporter
- Handle missing Net::ReadTimeout in 1.9.3
- Include original exception information in sql_parse errors
- Debugging for failed application creation
- Make double sure that Trace started_at is an Integer
- Include more information in type check errors
- Use stdlib SecureRandom instead of ActiveSupport::SecureRandom - Fixes Rails 3.1
- Instrumenter#start! should fail if worker not spawned
- Configurable timeouts for Util::HTTP
- Improve proxy handling for Util::HTTP
- Improve HTTP error handling
- Refactor sql_parse errors
- Improved error handling and internal metrics
- Improved missing native agent message
- Improved install logging
- Added initial inline docs
- Respects HTTP_PROXY env var during installation
- Don't overwrite sockfile_path if set explicitly
- Don't raise on missing native agent path
- Avoid finalizing sockets in the child process
- Fix non-displaying warnings around native agent
- Remove HTTP path information from title for better grouping
- Update vendored highline to 1.6.21
- Send more information with exceptions for easier debugging
- Instrument and report internal agent metrics for easier debugging
- Fix bug with tracking request counts per endpoint
- Use a default event category if none passed to Skylight.instrument
- Fix bugs around disabling the agent
- Fix native extension compilation bugs
- Shorter token validation timeout
- Allow validation to be skipped
- Update Rust component
- Return true from Task#handle to avoid sutdown
- Fix numeric check that caused crash on some 32-bit systems
- Improve error message for missing Skylight ext
- Better config error messages
- Validate authentication token before starting
- Add proxy support
- Don't try to boot Skylight without native agent
- Make exception classes always available
- CLI should require railtie before loading application.rb
- Load the railtie even without native agent
- Autoload Skylight:Helpers even when native agent isn't available
- Fix SEGV
- Fix requires to allow CLI to function without native extension.
- Native Rust agent
- Send exceptions occurring during HTTP requests to the client.
- Warn users when skylight is potentially disabled incorrectly.
- Update SQL Lexer to 0.0.6
- Log the backtraces of unhandled exceptions
- Add support for disabling GC tracking
- Add support for disabling agent
- Disable annotations to reduce memory load.
inspect
even whitelisted payload props- Ignore Errno::EINTR for 'ps' call
- Revert "Update SqlLexer to 0.0.4"
- Whitelist process action annotation keys.
- Update SqlLexer to 0.0.4
- Fix SQL lexing for comments, arrays, double-colon casting, and multiple queries
- Handle template paths from gems
- Status and exception reports for agent debugging
- Added support for Mongoid/Moped
- Fix probe enabling
- Improved error reporting
- Fix bug with multiple subscribers to same notification
- Fix bin/skylight
- Added Probes, initially Net::HTTP and Excon
- Wide-ranging memory cleanup
- Better resiliance to binary and encoding errors
- Add support for disabling
- De-dupe rendering instrumentation better
- Fix send_file event to not spew a gazillion nodes
- Rails 3.0 compatibility
- Detailed SQL annotations
- Update agent for new authentication scheme
- Change ENV variable prefix from SK* to SKYLIGHT*
- Add instrument_method helper
- Add the ability to configure logging from railtie
- Tracks the current host
- [BUG] Handle AS::N monkey patching when there are already subscribers
- [BUG] Handle ruby 1.9.2 encoding bug
- [BUG] Fix unix domain socket write function in standalone agent
- Performance improvements
- Tolerate invalid trace building
- Fix Skylight on Rails 4
- Provide a default CA cert when one is not already present
- Expose Skylight.start! and Skylight.trace as APIs
- Expose Skylight.instrument as an API for custom instrumentation.
- [BUG] Fix some errors caused by floating point rounding
- [BUG] Handle clock skew caused by system clock changes
- [BUG] Require net/https and openssl
- [BUG] Rails' logger does not respond to #log. Use level methods instead
- [BUG] Disable GC profiling on JRuby
- [BUG] GC Profiling was not getting enabled
- Initial release