skylight 5.0.1 → 5.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +395 -364
  3. data/CLA.md +1 -1
  4. data/LICENSE.md +7 -17
  5. data/README.md +1 -1
  6. data/ext/extconf.rb +42 -54
  7. data/ext/libskylight.yml +9 -6
  8. data/lib/skylight.rb +20 -30
  9. data/lib/skylight/api.rb +22 -18
  10. data/lib/skylight/cli.rb +47 -46
  11. data/lib/skylight/cli/doctor.rb +50 -50
  12. data/lib/skylight/cli/helpers.rb +19 -19
  13. data/lib/skylight/cli/merger.rb +141 -139
  14. data/lib/skylight/config.rb +265 -300
  15. data/lib/skylight/deprecation.rb +4 -4
  16. data/lib/skylight/errors.rb +3 -4
  17. data/lib/skylight/extensions.rb +17 -29
  18. data/lib/skylight/extensions/source_location.rb +128 -128
  19. data/lib/skylight/formatters/http.rb +1 -3
  20. data/lib/skylight/gc.rb +30 -40
  21. data/lib/skylight/helpers.rb +43 -41
  22. data/lib/skylight/instrumenter.rb +25 -18
  23. data/lib/skylight/middleware.rb +31 -35
  24. data/lib/skylight/native.rb +8 -10
  25. data/lib/skylight/native_ext_fetcher.rb +10 -12
  26. data/lib/skylight/normalizers.rb +43 -39
  27. data/lib/skylight/normalizers/action_controller/process_action.rb +24 -25
  28. data/lib/skylight/normalizers/action_controller/send_file.rb +7 -6
  29. data/lib/skylight/normalizers/action_dispatch/route_set.rb +7 -7
  30. data/lib/skylight/normalizers/active_job/perform.rb +48 -44
  31. data/lib/skylight/normalizers/active_model_serializers/render.rb +7 -3
  32. data/lib/skylight/normalizers/active_storage.rb +11 -13
  33. data/lib/skylight/normalizers/active_support/cache.rb +1 -12
  34. data/lib/skylight/normalizers/coach/handler_finish.rb +1 -3
  35. data/lib/skylight/normalizers/default.rb +1 -9
  36. data/lib/skylight/normalizers/faraday/request.rb +1 -3
  37. data/lib/skylight/normalizers/grape/endpoint.rb +13 -19
  38. data/lib/skylight/normalizers/grape/endpoint_run.rb +16 -18
  39. data/lib/skylight/normalizers/grape/endpoint_run_filters.rb +1 -3
  40. data/lib/skylight/normalizers/graphql/base.rb +23 -28
  41. data/lib/skylight/normalizers/render.rb +19 -21
  42. data/lib/skylight/normalizers/shrine.rb +15 -17
  43. data/lib/skylight/normalizers/sql.rb +4 -4
  44. data/lib/skylight/probes.rb +38 -46
  45. data/lib/skylight/probes/action_controller.rb +32 -28
  46. data/lib/skylight/probes/action_dispatch/request_id.rb +9 -5
  47. data/lib/skylight/probes/action_dispatch/routing/route_set.rb +7 -5
  48. data/lib/skylight/probes/action_view.rb +9 -10
  49. data/lib/skylight/probes/active_job_enqueue.rb +3 -9
  50. data/lib/skylight/probes/active_model_serializers.rb +8 -8
  51. data/lib/skylight/probes/delayed_job.rb +37 -42
  52. data/lib/skylight/probes/elasticsearch.rb +3 -5
  53. data/lib/skylight/probes/excon.rb +1 -1
  54. data/lib/skylight/probes/excon/middleware.rb +22 -23
  55. data/lib/skylight/probes/graphql.rb +2 -7
  56. data/lib/skylight/probes/middleware.rb +14 -5
  57. data/lib/skylight/probes/mongo.rb +83 -91
  58. data/lib/skylight/probes/net_http.rb +1 -1
  59. data/lib/skylight/probes/redis.rb +5 -17
  60. data/lib/skylight/probes/sequel.rb +7 -11
  61. data/lib/skylight/probes/sinatra.rb +8 -5
  62. data/lib/skylight/probes/tilt.rb +2 -4
  63. data/lib/skylight/railtie.rb +121 -135
  64. data/lib/skylight/sidekiq.rb +4 -5
  65. data/lib/skylight/subscriber.rb +31 -33
  66. data/lib/skylight/test.rb +89 -84
  67. data/lib/skylight/trace.rb +121 -115
  68. data/lib/skylight/user_config.rb +14 -17
  69. data/lib/skylight/util/clock.rb +1 -0
  70. data/lib/skylight/util/component.rb +18 -21
  71. data/lib/skylight/util/deploy.rb +11 -13
  72. data/lib/skylight/util/http.rb +104 -105
  73. data/lib/skylight/util/logging.rb +4 -6
  74. data/lib/skylight/util/lru_cache.rb +2 -6
  75. data/lib/skylight/util/platform.rb +2 -6
  76. data/lib/skylight/util/ssl.rb +1 -25
  77. data/lib/skylight/version.rb +1 -1
  78. data/lib/skylight/vm/gc.rb +1 -9
  79. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76c9ece1445d480897ecc306024fe939dacb94c14a02e68f7e33f5d722955284
4
- data.tar.gz: 839b19ed8b3846003b3a54e5d0f3e327b0f969f2672b267dcaf4d1aa27df6254
3
+ metadata.gz: 2881749e5739ff283ad0f62f4db4c22697a6ee17a9f0f47f80839591f49e104c
4
+ data.tar.gz: 8c8b28c31dc351e9a2c3e847907f90917aede27e6cef2c0881392769c9b5510d
5
5
  SHA512:
6
- metadata.gz: 2cbbcfd4a159b6abfa976f9d8ad4a87317973955d058408b681b1564d6d54bacadcb0e60c4bbac9ea03383dfed6d9355ac953a0b636c50a60ff99e52bcb3c5a2
7
- data.tar.gz: b338f0d0a22d0b904600d050f217758d3b07c28e66c88c6f5eb961cd8701750b58a7175e3e9e31dad604c6c58c2d1b22197517c239192f41b9579c5c08a9ca5b
6
+ metadata.gz: ee70e27064ac11830d29ee7fdf52886a0b776afe3e36aec79e5c2da40e6a0fe09f40ff46d4e7c5947587bd94428bf3b1dd40274fdc4fdbc93836aabedf0b5f1d
7
+ data.tar.gz: c3441c25d153055d0461b23c01416bf773c612c3af607dd8b9cf142491f5237b205e4da5ab1edcf653327199cdcbceba3170a4c101560dc875d991b6945a98c2
data/CHANGELOG.md CHANGED
@@ -1,668 +1,699 @@
1
+ ## 5.1.1 (May 27, 2021)
2
+
3
+ - [BUGFIX] Correct ruby version requirement in skylight.gemspec
4
+
5
+ ## 5.1.0 (May 24, 2021)
6
+
7
+ - [FEATURE] Add experimental tcp-based `skylightd` (may be enabled with `SKYLIGHT_ENABLE_TCP=true`)
8
+
9
+ - [IMPROVEMENT] Support aarch64-darwin targets (Apple M1)
10
+ - [IMPROVEMENT] Support aarch64-linux-gnu targets
11
+ - [IMPROVEMENT] Support aarch64-linux-musl targets
12
+ - [IMPROVEMENT] Prevent large traces from shutting down the instrumenter
13
+ - [IMPROVEMENT] Avoid 'invalid option' warnings when instrumenting certain Tilt templates in Sinatra
14
+ - [IMPROVEMENT] Decrease verbosity of source locations logs in the debug level.
15
+
16
+ - [BREAKING] Remove `SKYLIGHT_SSL_CERT_DIR` config
17
+ - [BREAKING] Drop support for Ruby 2.5
18
+
1
19
  ## 5.0.1 (March 11, 2021)
2
- * [IMPROVEMENT] Use argument-forwarding (...) where available in custom instrumentation
20
+
21
+ - [IMPROVEMENT] Use argument-forwarding (...) where available in custom instrumentation
3
22
 
4
23
  ## 5.0.0 (March 5, 2021)
5
24
 
6
- * [FEATURE] Add normalizer for Shrine events (thanks @janko!)
7
- * [FEATURE] Source Locations detection and reporting is now enabled by default (can be disabled with `SKYLIGHT_ENABLE_SOURCE_LOCATIONS=false`)
8
- * [FEATURE] Configuration for the Source Locations caches via `SYLIGHT_SOURCE_LOCATION_CACHE_SIZE`
9
-
10
- * [IMPROVEMENT] Improve keyword argument handling in Skylight::Helpers (thanks @lukebooth!)
11
- * [IMPROVEMENT] Replace a Kernel.puts with Skylight.log (thanks @johnnyshields!)
12
- * [IMPROVEMENT] Various updates to the SQL lexer
13
- * [IMPROVEMENT] Reduce volume of log messages sent to the native logger in debug level
14
- * [IMPROVEMENT] Optimizations for the Source Locations extension
15
- * [IMPROVEMENT] Improved Delayed::Job probe
16
- * [IMPROVEMENT] Maintain method visibility when instrumenting with `instrument_method`
17
- * [IMPROVEMENT] Update probes to use `Module#prepend` where possible
18
- * [IMPROVEMENT] New tokio-based skylightd
19
- * [IMPROVEMENT] Support `render_layout` notifications in Rails 6.1
20
- * [IMPROVEMENT] Support `ActionMailer::MailDeliveryJob` in Rails 6.1
21
- * [IMPROVEMENT] Better logging config. `SKYLIGHT_NATIVE_LOG_LEVEL` now defaults to `warn`.
22
-
23
- * [BREAKING] Rename `environment` keyword argument to `priority_key`. Note `env` has not changed.
24
- * [BREAKING] Drop support for Ruby 2.4
25
- * [BREAKING] Merge skylight-core into skylight. All classes previously namespaced under `Skylight::Core` have been moved to `Skylight`.
26
- * [BREAKING] Remove `Skylight::Util::Inflector`
27
- * [BREAKING] Drop support for Rails 4
28
- * [BREAKING] Drop support for Ruby 2.3
29
-
30
- * [BUGFIX] Fix issue with missing metadata in MongoDB probe
31
- * [BUGFIX] Resolve an inability to parse certain SQL queries containing arrays
32
- * [BUGFIX] Allow multiple probes to be registered under the same key
33
- * [BUGFIX] Do not refer to Redis constant until the probe is installed
34
- * [BUGFIX] Fix nested calls to `Normalizers::Faraday::Request.disable`
25
+ - [FEATURE] Add normalizer for Shrine events (thanks @janko!)
26
+ - [FEATURE] Source Locations detection and reporting is now enabled by default (can be disabled with `SKYLIGHT_ENABLE_SOURCE_LOCATIONS=false`)
27
+ - [FEATURE] Configuration for the Source Locations caches via `SYLIGHT_SOURCE_LOCATION_CACHE_SIZE`
28
+
29
+ - [IMPROVEMENT] Improve keyword argument handling in Skylight::Helpers (thanks @lukebooth!)
30
+ - [IMPROVEMENT] Replace a Kernel.puts with Skylight.log (thanks @johnnyshields!)
31
+ - [IMPROVEMENT] Various updates to the SQL lexer
32
+ - [IMPROVEMENT] Reduce volume of log messages sent to the native logger in debug level
33
+ - [IMPROVEMENT] Optimizations for the Source Locations extension
34
+ - [IMPROVEMENT] Improved Delayed::Job probe
35
+ - [IMPROVEMENT] Maintain method visibility when instrumenting with `instrument_method`
36
+ - [IMPROVEMENT] Update probes to use `Module#prepend` where possible
37
+ - [IMPROVEMENT] New tokio-based skylightd
38
+ - [IMPROVEMENT] Support `render_layout` notifications in Rails 6.1
39
+ - [IMPROVEMENT] Support `ActionMailer::MailDeliveryJob` in Rails 6.1
40
+ - [IMPROVEMENT] Better logging config. `SKYLIGHT_NATIVE_LOG_LEVEL` now defaults to `warn`.
41
+
42
+ - [BREAKING] Rename `environment` keyword argument to `priority_key`. Note `env` has not changed.
43
+ - [BREAKING] Merge skylight-core into skylight. All classes previously namespaced under `Skylight::Core` have been moved to `Skylight`.
44
+ - [BREAKING] Remove `Skylight::Util::Inflector`
45
+ - [BREAKING] Drop support for Rails 4
46
+ - [BREAKING] Drop support for Ruby 2.3 and 2.4
47
+ - [BREAKING] Drop support for glibc < 2.23
48
+
49
+ - [BUGFIX] Fix issue with missing metadata in MongoDB probe
50
+ - [BUGFIX] Resolve an inability to parse certain SQL queries containing arrays
51
+ - [BUGFIX] Allow multiple probes to be registered under the same key
52
+ - [BUGFIX] Do not refer to Redis constant until the probe is installed
53
+ - [BUGFIX] Fix nested calls to `Normalizers::Faraday::Request.disable`
35
54
 
36
55
  ## 4.3.2 (December 14, 2020)
37
- * [BUGFIX] Backport an ActionView fix from Skylight 5 (makes Skylight 4 compatible with Rails 6.1)
56
+
57
+ - [BUGFIX] Backport an ActionView fix from Skylight 5 (makes Skylight 4 compatible with Rails 6.1)
38
58
 
39
59
  ## 4.3.1 (June 24, 2020)
40
- * [BUGFIX] Fix an issue in which `Mime::NullType` would result in an exception
60
+
61
+ - [BUGFIX] Fix an issue in which `Mime::NullType` would result in an exception
41
62
 
42
63
  ## 4.3.0 (March 18, 2020)
43
- * [IMPROVEMENT] Fix Ruby 2.7 warnings
44
- * [IMPROVEMENT] Update Grape normalizer for version 1.3.1
45
- * [BUGFIX] Fix an issue where GraphQL normalizers could fail to load in non-Rails contexts
64
+
65
+ - [IMPROVEMENT] Fix Ruby 2.7 warnings
66
+ - [IMPROVEMENT] Update Grape normalizer for version 1.3.1
67
+ - [BUGFIX] Fix an issue where GraphQL normalizers could fail to load in non-Rails contexts
46
68
 
47
69
  ## 4.2.2 (February 25, 2020)
48
- * Support graphql-ruby version 1.10
70
+
71
+ - Support graphql-ruby version 1.10
49
72
 
50
73
  ## 4.2.1 (January 14, 2020)
51
- * [IMPROVEMENT] Enable instrumentation for ActionMailer::MailDeliveryJob
52
- * [BUGFIX] Improved handling for non-SPEC compliant Rack middleware
74
+
75
+ - [IMPROVEMENT] Enable instrumentation for ActionMailer::MailDeliveryJob
76
+ - [BUGFIX] Improved handling for non-SPEC compliant Rack middleware
53
77
 
54
78
  ## 4.2.0 (October 30, 2019)
55
- * [FEATURE] Add GraphQL probe
56
- * [FEATURE] Optionally add Rack mount point to Sinatra endpoint names
57
- * [FEATURE] Add `Skylight.mute` and `Skylight.unmute` blocks to selectively disable and re-enable
58
- * [IMPROVEMENT] Shut down the native instrumenter when the remote daemon is unreachable
59
- instrumentation
60
- * [IMPROVEMENT] Revise agent authorization strategy (fixes some issues related to activation for background jobs)
61
- * [IMPROVEMENT] Fix Rails 6 deprecation warnings
62
- * [BUGFIX] Skip the Sidekiq probe if Sidekiq is not present
79
+
80
+ - [FEATURE] Add GraphQL probe
81
+ - [FEATURE] Optionally add Rack mount point to Sinatra endpoint names
82
+ - [FEATURE] Add `Skylight.mute` and `Skylight.unmute` blocks to selectively disable and re-enable
83
+ - [IMPROVEMENT] Shut down the native instrumenter when the remote daemon is unreachable
84
+ instrumentation
85
+ - [IMPROVEMENT] Revise agent authorization strategy (fixes some issues related to activation for background jobs)
86
+ - [IMPROVEMENT] Fix Rails 6 deprecation warnings
87
+ - [BUGFIX] Skip the Sidekiq probe if Sidekiq is not present
63
88
 
64
89
  ## 4.1.2 (June 27, 2019)
65
- * [BUGFIX] Correct an issue where the delayed_job probe may not be activated on startup
90
+
91
+ - [BUGFIX] Correct an issue where the delayed_job probe may not be activated on startup
66
92
 
67
93
  ## 4.1.1 (June 25, 2019)
68
- * [BUGFIX] Fix Skylight installation when bundled with edge rails [Issue #132](https://github.com/skylightio/skylight-ruby/issues/132)
69
- * [IMPROVEMENT] Improve socket retry handling in skylightd
94
+
95
+ - [BUGFIX] Fix Skylight installation when bundled with edge rails [Issue #132](https://github.com/skylightio/skylight-ruby/issues/132)
96
+ - [IMPROVEMENT] Improve socket retry handling in skylightd
70
97
 
71
98
  ## 4.1.0 (June 3, 2019)
72
- * [FEATURE] add normalizers for Graphiti >= 1.2
73
- * [BUGFIX] re-enable aliases in skylight.yml
99
+
100
+ - [FEATURE] add normalizers for Graphiti >= 1.2
101
+ - [BUGFIX] re-enable aliases in skylight.yml
74
102
 
75
103
  ## 4.0.2 (May 21, 2019)
76
- * [BUGFIX] Fix an issue with Delayed::Job worker name formatting
104
+
105
+ - [BUGFIX] Fix an issue with Delayed::Job worker name formatting
77
106
 
78
107
  ## 4.0.1 (May 9, 2019)
79
- * [BUGFIX] Better detection of known web servers
108
+
109
+ - [BUGFIX] Better detection of known web servers
80
110
 
81
111
  ## 4.0.0 (May 6, 2019)
82
112
 
83
- * [FEATURE] Skylight for Background Jobs
84
- * [FEATURE] instrument ActiveStorage notifications
85
- * [FEATURE] Probe for Delayed::Job (standalone)
86
- * [FEATURE] Add Skylight#started? method
87
- * [IMPROVEMENT] Support anonymous ActiveModelSerializer classes
88
- * [IMPROVEMENT] Improve error handling in normalizers
89
- * [IMPROVEMENT] Handle Rails 6's middleware instrumentation
90
- * [IMPROVEMENT] Better rendered format detection in Rails controllers
91
- * [IMPROVEMENT] Recognize the Passenger startup script as 'web'
92
- * [IMPROVEMENT] ActionMailer::DeliveryJob are now reported using the mailer name and method
93
- * [IMPROVEMENT] Better content type handling for ActionController normalizer
94
- * [IMPROVEMENT] Better handle some things in Ruby 2.6
95
- * [IMPROVEMENT] Better logging in a couple places
96
- * [IMPROVEMENT] Fixed a couple Ruby warnings (thanks, @y-yagi!)
97
- * [IMPROVEMENT] Handle 403 config validation response
98
- * [IMPROVEMENT] Config for `prune_large_traces` is now true by default
99
- * [BUGFIX] Require http formatters for Faraday (thanks, @serkin!)
100
- * [BREAKING] Drop support for Ruby 2.2 since it is EOL
101
- * [BREAKING] New method for assigning 'segment' to a trace endpoint name
113
+ - [FEATURE] Skylight for Background Jobs
114
+ - [FEATURE] instrument ActiveStorage notifications
115
+ - [FEATURE] Probe for Delayed::Job (standalone)
116
+ - [FEATURE] Add Skylight#started? method
117
+ - [IMPROVEMENT] Support anonymous ActiveModelSerializer classes
118
+ - [IMPROVEMENT] Improve error handling in normalizers
119
+ - [IMPROVEMENT] Handle Rails 6's middleware instrumentation
120
+ - [IMPROVEMENT] Better rendered format detection in Rails controllers
121
+ - [IMPROVEMENT] Recognize the Passenger startup script as 'web'
122
+ - [IMPROVEMENT] ActionMailer::DeliveryJob are now reported using the mailer name and method
123
+ - [IMPROVEMENT] Better content type handling for ActionController normalizer
124
+ - [IMPROVEMENT] Better handle some things in Ruby 2.6
125
+ - [IMPROVEMENT] Better logging in a couple places
126
+ - [IMPROVEMENT] Fixed a couple Ruby warnings (thanks, @y-yagi!)
127
+ - [IMPROVEMENT] Handle 403 config validation response
128
+ - [IMPROVEMENT] Config for `prune_large_traces` is now true by default
129
+ - [BUGFIX] Require http formatters for Faraday (thanks, @serkin!)
130
+ - [BREAKING] Drop support for Ruby 2.2 since it is EOL
131
+ - [BREAKING] New method for assigning 'segment' to a trace endpoint name
102
132
 
103
133
  ## 3.1.4 (January 24, 2019)
104
134
 
105
- * [BUGFIX] ActiveJob#perform_now should not reassign the endpoint name
135
+ - [BUGFIX] ActiveJob#perform_now should not reassign the endpoint name
106
136
 
107
137
  ## 3.1.3 (January 23, 2019)
108
138
 
109
- * [BUGFIX] skylightd correctly closes cloned file descriptors on startup
110
- * [BUGFIX] Convert numeric git shas to strings
139
+ - [BUGFIX] skylightd correctly closes cloned file descriptors on startup
140
+ - [BUGFIX] Convert numeric git shas to strings
111
141
 
112
142
  ## 3.1.2 (November 29, 2018)
113
143
 
114
- * [BUGFIX] Fix derived endpoint names under Grape 1.2
144
+ - [BUGFIX] Fix derived endpoint names under Grape 1.2
115
145
 
116
146
  ## 3.1.1 (October 25, 2018)
117
147
 
118
- * [IMPROVEMENT] Get AMS version from `Gem.loaded_specs` (thanks @mattias-lundell!)
148
+ - [IMPROVEMENT] Get AMS version from `Gem.loaded_specs` (thanks @mattias-lundell!)
119
149
 
120
150
  ## 3.1.0 (October 22, 2018)
121
151
 
122
- * [IMPROVEMENT] Trace Mongo aggregate queries
123
- * [BUGFIX] Correct configuration keys in skylight.yml
124
- * [BUGFIX] SQL queries with schema-qualified table names are parsed correctly
125
- * [BUGFIX] `SELECT ... FOR UPDATE` queries are parsed correctly
126
- * [BUGFIX] Revision to SQL string escaping rules
127
- * [BUGFIX] Fix issue where Rails routing errors could result in a broken trace.
152
+ - [IMPROVEMENT] Trace Mongo aggregate queries
153
+ - [BUGFIX] Correct configuration keys in skylight.yml
154
+ - [BUGFIX] SQL queries with schema-qualified table names are parsed correctly
155
+ - [BUGFIX] `SELECT ... FOR UPDATE` queries are parsed correctly
156
+ - [BUGFIX] Revision to SQL string escaping rules
157
+ - [BUGFIX] Fix issue where Rails routing errors could result in a broken trace.
128
158
 
129
159
  ## 3.0.0 (September 5, 2018)
130
160
 
131
- * [FEATURE] First class support for [multiple application environments](https://www.skylight.io/support/environments)
132
- * [IMPROVEMENT] Better instrumentation of ActiveJob enqueues
133
- * [BREAKING] The ActiveJob enqueue_at normalizer is now a probe that is enabled by default. The normalizer no longer needs to be required.
134
- * [BREAKING] Remove SKYLIGHT_USE_OLD_SQL_LEXER config option
161
+ - [FEATURE] First class support for [multiple application environments](https://www.skylight.io/support/environments)
162
+ - [IMPROVEMENT] Better instrumentation of ActiveJob enqueues
163
+ - [BREAKING] The ActiveJob enqueue_at normalizer is now a probe that is enabled by default. The normalizer no longer needs to be required.
164
+ - [BREAKING] Remove SKYLIGHT_USE_OLD_SQL_LEXER config option
135
165
 
136
166
  ## 2.0.2 (June 4, 2018)
137
167
 
138
- * [IMPROVEMENT] Improve handling of broken middleware traces
139
- * [IMPROVEMENT] Don't rely on ActiveSupport's String#first (Thanks @foxtacles!)
140
- * [BUGFIX] Susbcribe to AS::Notifications events individually
141
- * [IMPROVEMENT] add normalizer for 'format_response.grape' notifications
142
- * [BUGFIX] Correctly deprecate the Grape probe
168
+ - [IMPROVEMENT] Improve handling of broken middleware traces
169
+ - [IMPROVEMENT] Don't rely on ActiveSupport's String#first (Thanks @foxtacles!)
170
+ - [BUGFIX] Susbcribe to AS::Notifications events individually
171
+ - [IMPROVEMENT] add normalizer for 'format_response.grape' notifications
172
+ - [BUGFIX] Correctly deprecate the Grape probe
143
173
 
144
174
  ## 2.0.1 (May 1, 2018)
145
175
 
146
- * [BUGFIX] Correctly deprecate the now unncessary Grape probe.
176
+ - [BUGFIX] Correctly deprecate the now unncessary Grape probe.
147
177
 
148
178
  ## 2.0.0 (April 25, 2018)
149
179
 
150
- * [FEATURE] New SQL lexer to support a wider variety of SQL queries.
151
- * [BREAKING] Drop support for Ruby versions prior to 2.2
152
- * [BREAKING] Drop support for Rails versions prior to 4.2
153
- * [BREAKING] Drop support for Tilt versions prior to 1.4.1
154
- * [BREAKING] Drop support for Sinatra versions prior to 1.4
155
- * [BREAKING] Drop support for Grape versions prior to 0.13.0
156
- * [BREAKING] Drop support for Linux with glibc versions prior to 2.15
157
- * [BREAKING] Remove couch_potato normalizer as it doesn't appear to have ever worked
158
- * [BREAKING] `log_sql_parse_errors` config option is now on by default.
159
- * [IMPROVEMENT] Auto-disable Middleware probe if it appears to be causing issues
160
- * [IMPROVEMENT] More detailed logging and improved error handling
161
- * [IMPROVEMENT] Fix Ruby Warnings (Thanks @amatsuda!)
162
- * [IMPROVEMENT] Improved handling of errors generated in the Rust agent.
163
- * [IMRPOVEMENT] Add logging to Instrumentable for easier access
164
- * [IMPROVEMENT] Improved logging during startup
180
+ - [FEATURE] New SQL lexer to support a wider variety of SQL queries.
181
+ - [BREAKING] Drop support for Ruby versions prior to 2.2
182
+ - [BREAKING] Drop support for Rails versions prior to 4.2
183
+ - [BREAKING] Drop support for Tilt versions prior to 1.4.1
184
+ - [BREAKING] Drop support for Sinatra versions prior to 1.4
185
+ - [BREAKING] Drop support for Grape versions prior to 0.13.0
186
+ - [BREAKING] Drop support for Linux with glibc versions prior to 2.15
187
+ - [BREAKING] Remove couch_potato normalizer as it doesn't appear to have ever worked
188
+ - [BREAKING] `log_sql_parse_errors` config option is now on by default.
189
+ - [IMPROVEMENT] Auto-disable Middleware probe if it appears to be causing issues
190
+ - [IMPROVEMENT] More detailed logging and improved error handling
191
+ - [IMPROVEMENT] Fix Ruby Warnings (Thanks @amatsuda!)
192
+ - [IMPROVEMENT] Improved handling of errors generated in the Rust agent.
193
+ - [IMRPOVEMENT] Add logging to Instrumentable for easier access
194
+ - [IMPROVEMENT] Improved logging during startup
165
195
 
166
196
  ## 1.7.0 (April 24, 2018)
167
197
 
168
- * [FEATURE] New API for loading Probes. Example: `Skylight.probe(:excon')`
169
- * [FEATURE] New API for enabling non-default Normalizers. Example: `Skylight.enable_normalizer('active_job')`
170
- * [DEPRECATION] Support for Rails versions prior to 4.2
171
- * [DEPRECATION] Support for Tilt versions prior to 1.4.1
172
- * [DEPRECATION] Support for Sinatra versions prior to 1.4
173
- * [DEPRECATION] Support for Grape versions prior to 0.13.0
198
+ - [FEATURE] New API for loading Probes. Example: `Skylight.probe(:excon')`
199
+ - [FEATURE] New API for enabling non-default Normalizers. Example: `Skylight.enable_normalizer('active_job')`
200
+ - [DEPRECATION] Support for Rails versions prior to 4.2
201
+ - [DEPRECATION] Support for Tilt versions prior to 1.4.1
202
+ - [DEPRECATION] Support for Sinatra versions prior to 1.4
203
+ - [DEPRECATION] Support for Grape versions prior to 0.13.0
174
204
 
175
205
  ## 1.6.1 (April 12, 2018)
176
206
 
177
- * [IMPROVEMENT] Include endpoint name in error logging
178
- * [BUGFIX] Make sure to correctly release broken traces
179
- * [BUGFIX] Keep the `require` method private when overwriting
207
+ - [IMPROVEMENT] Include endpoint name in error logging
208
+ - [BUGFIX] Make sure to correctly release broken traces
209
+ - [BUGFIX] Keep the `require` method private when overwriting
180
210
 
181
211
  ## 1.6.0 (March 21, 2018)
182
212
 
183
- * [FEATURE] Time spent the Rails router is now identified separately in the trace
184
- * [IMPROVEMENT] Switch logger to debug mode if tracing is enabled
185
- * [IMPROVEMENT] Improved logging for a number of error cases
186
- * [IMPROVEMENT] Middleware probe should now accept anything allowed by Rack::Lint
187
- * [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.
188
- * [BUGFIX] Middleware probe no longer errors when Middleware returns a frozen array
213
+ - [FEATURE] Time spent the Rails router is now identified separately in the trace
214
+ - [IMPROVEMENT] Switch logger to debug mode if tracing is enabled
215
+ - [IMPROVEMENT] Improved logging for a number of error cases
216
+ - [IMPROVEMENT] Middleware probe should now accept anything allowed by Rack::Lint
217
+ - [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.
218
+ - [BUGFIX] Middleware probe no longer errors when Middleware returns a frozen array
189
219
 
190
220
  ## 1.5.1 (February 7, 2018)
191
221
 
192
- * [BUGFIX] `skylight doctor` no longer erroneously reports inability to reach Skylight servers.
222
+ - [BUGFIX] `skylight doctor` no longer erroneously reports inability to reach Skylight servers.
193
223
 
194
224
  ## 1.5.0 (December 6, 2017)
195
225
 
196
- * [FEATURE] [Coach](https://github.com/gocardless/coach) instrumentation. Enabled automatically via ActiveSupport::Notifications.
197
- * [FEATURE] Option to enable or disable agent by setting SKYLIGHT_ENABLED via ENV.
198
- * [IMPROVEMENT] Better logging for certain error cases.
199
- * [BUGFIX] Backport a SPEC compliance fix for older Rack::ETag to resolve case where the Middleware probe could cause empty traces.
200
- * [BUGFIX] Fix a case where using the non-block form of `Skylight.instrument` with `Skylight.done` could cause lost trace data.
226
+ - [FEATURE] [Coach](https://github.com/gocardless/coach) instrumentation. Enabled automatically via ActiveSupport::Notifications.
227
+ - [FEATURE] Option to enable or disable agent by setting SKYLIGHT_ENABLED via ENV.
228
+ - [IMPROVEMENT] Better logging for certain error cases.
229
+ - [BUGFIX] Backport a SPEC compliance fix for older Rack::ETag to resolve case where the Middleware probe could cause empty traces.
230
+ - [BUGFIX] Fix a case where using the non-block form of `Skylight.instrument` with `Skylight.done` could cause lost trace data.
201
231
 
202
232
  ## 1.4.4 (November 7, 2017)
203
233
 
204
- * [BUGFIX] The minimum glibc requirement was errorneously bumped to 2.15. We have returned it to 2.5.
234
+ - [BUGFIX] The minimum glibc requirement was errorneously bumped to 2.15. We have returned it to 2.5.
205
235
 
206
236
  ## 1.4.3 (October 18, 2017)
207
237
 
208
- * [BUGFIX] In rare cases, Rails Middleware can be anonymous classes. We now handle those without raising an exception.
238
+ - [BUGFIX] In rare cases, Rails Middleware can be anonymous classes. We now handle those without raising an exception.
209
239
 
210
240
  ## 1.4.2 (October 11, 2017)
211
241
 
212
- * [BUGFIX] For experimental deploy tracking support, resolve an error that occurred if the Git SHA and description were not set.
242
+ - [BUGFIX] For experimental deploy tracking support, resolve an error that occurred if the Git SHA and description were not set.
213
243
 
214
244
  ## 1.4.1 (October 10, 2017)
215
245
 
216
- * [BUGFIX] Fix an issue that would prevent the daemon from starting up on FreeBSD.
246
+ - [BUGFIX] Fix an issue that would prevent the daemon from starting up on FreeBSD.
217
247
 
218
248
  ## 1.4.0 (October 4, 2017)
219
249
 
220
- * [FEATURE] Add probe for Rack Middlewares
221
- * [FEATURE] ActiveRecord Instantiation instrumentation
222
- * [FEATURE] Faraday instrumentation. Add 'faraday' to your probes list.
223
- * [IMPROVEMENT] Increase limit for items tracked in a requests
224
- * [IMPROVEMENT] Allow for more fine-grained control over position of Skylight::Middleware
225
- * [IMPROVEMENT] Improved handling of the user-level configuration options
226
- * [IMPROVEMENT] Avoid processing Skylight::Middleware unnecessarily
227
- * [EXPERIMENTAL] FreeBSD support. (This should work automatically on FreeBSD systems, but real-world testing has been minimal.)
228
- * [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'`.)
250
+ - [FEATURE] Add probe for Rack Middlewares
251
+ - [FEATURE] ActiveRecord Instantiation instrumentation
252
+ - [FEATURE] Faraday instrumentation. Add 'faraday' to your probes list.
253
+ - [IMPROVEMENT] Increase limit for items tracked in a requests
254
+ - [IMPROVEMENT] Allow for more fine-grained control over position of Skylight::Middleware
255
+ - [IMPROVEMENT] Improved handling of the user-level configuration options
256
+ - [IMPROVEMENT] Avoid processing Skylight::Middleware unnecessarily
257
+ - [EXPERIMENTAL] FreeBSD support. (This should work automatically on FreeBSD systems, but real-world testing has been minimal.)
258
+ - [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'`.)
229
259
 
230
260
  ## 1.3.1 (May 17, 2017)
231
261
 
232
- * [IMPROVEMENT] Better suggestions in `skylight doctor`.
262
+ - [IMPROVEMENT] Better suggestions in `skylight doctor`.
233
263
 
234
264
  ## 1.3.0 (May 17, 2017)
235
265
 
236
- * [FEATURE] Add normalizer for couch_potato. (Thanks @cobot)
237
- * [IMPROVEMENT] `skylight doctor` now validates SSL configuration
238
- * [IMPROVEMENT] Add ENV option to force use of bundled SSL certificates
266
+ - [FEATURE] Add normalizer for couch_potato. (Thanks @cobot)
267
+ - [IMPROVEMENT] `skylight doctor` now validates SSL configuration
268
+ - [IMPROVEMENT] Add ENV option to force use of bundled SSL certificates
239
269
 
240
270
  ## 1.2.2 (April 28, 2017)
241
271
 
242
- * [BUGFIX] Update bundled SSL certificates to avoid an authentication issue some users encountered due to a new skylight.io certificate.
272
+ - [BUGFIX] Update bundled SSL certificates to avoid an authentication issue some users encountered due to a new skylight.io certificate.
243
273
 
244
274
  ## 1.2.1 (April 20, 2017)
245
275
 
246
- * [BUGFIX] Ignored heartbeat endpoints with response types weren't actually ignored. They now will be!
276
+ - [BUGFIX] Ignored heartbeat endpoints with response types weren't actually ignored. They now will be!
247
277
 
248
278
  ## 1.2.0 (April 10, 2017)
249
279
 
250
- * [FEATURE] Response Type tracking for all applications. (Previously known as Segments.)
280
+ - [FEATURE] Response Type tracking for all applications. (Previously known as Segments.)
251
281
 
252
282
  ## 1.1.0 (March 9, 2017)
253
283
 
254
- * [FEATURE] Support musl-based OSes (including Alpine Linux)
255
- * [FEATURE] Add Elasticsearch Probe
256
- * [FEATURE] Add HTTPClient probe (#76)j
257
- * [IMPROVEMENT] Update tested Ruby versions, drop 1.9.2
258
- * [BUGFIX] Fix HTTP_PROXY handling of empty strings (#90)
259
- * [BUGFIX] Don't crash on empty content_type strings
260
- * [BUGFIX] Use more robust method to detect home dir (#75)
261
- * [BUGFIX] Add option to suppress environment warning (#62)
284
+ - [FEATURE] Support musl-based OSes (including Alpine Linux)
285
+ - [FEATURE] Add Elasticsearch Probe
286
+ - [FEATURE] Add HTTPClient probe (#76)j
287
+ - [IMPROVEMENT] Update tested Ruby versions, drop 1.9.2
288
+ - [BUGFIX] Fix HTTP_PROXY handling of empty strings (#90)
289
+ - [BUGFIX] Don't crash on empty content_type strings
290
+ - [BUGFIX] Use more robust method to detect home dir (#75)
291
+ - [BUGFIX] Add option to suppress environment warning (#62)
262
292
 
263
293
  ## 1.0.1 (November 15, 2016)
264
294
 
265
- * [BUGFIX] Gracefully handle non-writable log files
266
- * [BUGFIX] Fix skylight doctor's handling of config files
267
- * [BUGFIX] Support MetalControllers that don't use ActionController::Rendering
295
+ - [BUGFIX] Gracefully handle non-writable log files
296
+ - [BUGFIX] Fix skylight doctor's handling of config files
297
+ - [BUGFIX] Support MetalControllers that don't use ActionController::Rendering
268
298
 
269
299
  ## 1.0.0 (October 19, 2016)
270
300
 
271
- * [BETA FEATURE] Track separate segments for endpoints. Contact support@skylight.io to have this feature enabled for your account.
272
- * [FEATURE] Initial 'skylight doctor' command
273
- * [BREAKING] Removed old `skylight setup` without creation token
274
- * [BREAKING] Remove Ruby based SQL lexer
275
- * [IMPROVEMENT] Internal refactors
276
- * [BUGFIX] Correctly pass 'false' config values to Rust agent
301
+ - [BETA FEATURE] Track separate segments for endpoints. Contact support@skylight.io to have this feature enabled for your account.
302
+ - [FEATURE] Initial 'skylight doctor' command
303
+ - [BREAKING] Removed old `skylight setup` without creation token
304
+ - [BREAKING] Remove Ruby based SQL lexer
305
+ - [IMPROVEMENT] Internal refactors
306
+ - [BUGFIX] Correctly pass 'false' config values to Rust agent
277
307
 
278
308
  ## 0.10.6 (August 10, 2016)
279
309
 
280
- * [BUGFIX] Turn off -Werror and -pedantic for builds. [Issue #64](https://github.com/skylightio/skylight-ruby/issues/64)
310
+ - [BUGFIX] Turn off -Werror and -pedantic for builds. [Issue #64](https://github.com/skylightio/skylight-ruby/issues/64)
281
311
 
282
312
  ## 0.10.5 (June 22, 2016)
283
313
 
284
- * [BUGFIX] Fix issue with Grape multi-method naming
285
- * [BUGFIX] Add http to proxy_url for native fetching
286
- * [BUGFIX] Fix setting `proxy_url` in config YML
287
- * [IMPROVEMENT] Log errors during authentication validation
314
+ - [BUGFIX] Fix issue with Grape multi-method naming
315
+ - [BUGFIX] Add http to proxy_url for native fetching
316
+ - [BUGFIX] Fix setting `proxy_url` in config YML
317
+ - [IMPROVEMENT] Log errors during authentication validation
288
318
 
289
319
  ## 0.10.4 (June 3, 2016)
290
320
 
291
- * [BUGFIX] Sinatra instrumenation now works for latest master
292
- * [BUGFIX] Sequel support for 4.35.0
293
- * [BUGFIX] Handle latest ActiveModel::Serializers version
294
- * [BUGFIX] More precise check for existence of Rails
295
- * [BREAKING] Drop official support for Sinatra 1.2 (it likely never worked correctly)
296
- * [IMPROVEMENT] On Heroku, logs are now written to STDOUT
297
- * [IMPROVEMENT] Allow Skylight to raise on logged errors, useful for testing and debugging
298
- * [IMPROVEMENT] Finish Rack::Responses in Middleware
299
- * [IMRPOVEMENT] Better message when config/skylight.yml already exists
300
- * [IMPROVEMENT] Update Rust Agent with SQL improvements, including handling for arrays and WITH
321
+ - [BUGFIX] Sinatra instrumenation now works for latest master
322
+ - [BUGFIX] Sequel support for 4.35.0
323
+ - [BUGFIX] Handle latest ActiveModel::Serializers version
324
+ - [BUGFIX] More precise check for existence of Rails
325
+ - [BREAKING] Drop official support for Sinatra 1.2 (it likely never worked correctly)
326
+ - [IMPROVEMENT] On Heroku, logs are now written to STDOUT
327
+ - [IMPROVEMENT] Allow Skylight to raise on logged errors, useful for testing and debugging
328
+ - [IMPROVEMENT] Finish Rack::Responses in Middleware
329
+ - [IMRPOVEMENT] Better message when config/skylight.yml already exists
330
+ - [IMPROVEMENT] Update Rust Agent with SQL improvements, including handling for arrays and WITH
301
331
 
302
332
  ## 0.10.3 (February 2, 2016)
303
333
 
304
- * [BUGFIX] Don't validate configuration on disabled environments.
334
+ - [BUGFIX] Don't validate configuration on disabled environments.
305
335
 
306
336
  ## 0.10.2 (January 19, 2016)
307
337
 
308
- * [BUGFIX] Fix git repository warning on startup. [Issue #58](https://github.com/skylightio/skylight-ruby/issues/58)
338
+ - [BUGFIX] Fix git repository warning on startup. [Issue #58](https://github.com/skylightio/skylight-ruby/issues/58)
309
339
 
310
340
  ## 0.10.1 (January 4, 2016) [YANKED]
311
341
 
312
- * [FEATURE] Preliminary work for deploy tracking (not yet functional)
313
- * [BUGFIX] Don't crash if user config (~/.skylight) is empty
314
- * [BUGFIX] Better handling of unsupported moped versions
315
- * [IMPROVEMENT] Internal refactor of configuration handling
316
- * [IMPROVEMENT] Improve automated tests
317
- * [IMPROVEMENT] Fix tests in Rails 5 (No actual code changes required!)
342
+ - [FEATURE] Preliminary work for deploy tracking (not yet functional)
343
+ - [BUGFIX] Don't crash if user config (~/.skylight) is empty
344
+ - [BUGFIX] Better handling of unsupported moped versions
345
+ - [IMPROVEMENT] Internal refactor of configuration handling
346
+ - [IMPROVEMENT] Improve automated tests
347
+ - [IMPROVEMENT] Fix tests in Rails 5 (No actual code changes required!)
318
348
 
319
349
  ## 0.10.0 (December 3, 2015)
320
350
 
321
- * [FEATURE] ActiveModel::Serializers Instrumentation. Always on in latest HEAD, for previous version add 'active_model_serializers' to probes list.
322
- * [BUGFIX] Handle multi-byte characters in SQL lexer
351
+ - [FEATURE] ActiveModel::Serializers Instrumentation. Always on in latest HEAD, for previous version add 'active_model_serializers' to probes list.
352
+ - [BUGFIX] Handle multi-byte characters in SQL lexer
323
353
 
324
354
  ## 0.9.4 (November 23, 2015)
325
355
 
326
- * [FEATURE] Added instrumentation for official Mongo Ruby Driver (utilized by Mongoid 5+). Add 'mongo' to probes list to enable.
327
- * [BUGFIX] SQL lexer now handles indentifiers beginning with underscores.
328
- * [BUGFIX] Excon instrumentation now works correctly.
329
- * [BUGFIX] Graceful handling of native agent failures on old OS X versions.
330
- * [IMPROVEMENT] Freeze some more strings for (likely very minor) performance improvements.
331
- * [IMPROVEMENT] Better error messages when sockdir is an NFS mount.
332
- * [IMPROVEMENT] On OS X, ensure that Xcode license has been approved before trying to build native agent.
356
+ - [FEATURE] Added instrumentation for official Mongo Ruby Driver (utilized by Mongoid 5+). Add 'mongo' to probes list to enable.
357
+ - [BUGFIX] SQL lexer now handles indentifiers beginning with underscores.
358
+ - [BUGFIX] Excon instrumentation now works correctly.
359
+ - [BUGFIX] Graceful handling of native agent failures on old OS X versions.
360
+ - [IMPROVEMENT] Freeze some more strings for (likely very minor) performance improvements.
361
+ - [IMPROVEMENT] Better error messages when sockdir is an NFS mount.
362
+ - [IMPROVEMENT] On OS X, ensure that Xcode license has been approved before trying to build native agent.
333
363
 
334
364
  ## 0.9.3 (November 17, 2015)
335
365
 
336
- * [BUGFIX] Update SQL lexer to handle more common queries
337
- * [BUGFIX] Correctly report native gem installation failures
366
+ - [BUGFIX] Update SQL lexer to handle more common queries
367
+ - [BUGFIX] Correctly report native gem installation failures
338
368
 
339
369
  ## 0.9.2 (November 13, 2015)
340
370
 
341
- * [BUGFIX] Correctly update Rust agent to include SQL fixes that were supposed to land in 0.9.1.
371
+ - [BUGFIX] Correctly update Rust agent to include SQL fixes that were supposed to land in 0.9.1.
342
372
 
343
373
  ## 0.9.1 (November 10, 2015)
344
374
 
345
- * [BUGFIX] Update Rust SQL lexer to handle `NOT` and `::` typecasting.
375
+ - [BUGFIX] Update Rust SQL lexer to handle `NOT` and `::` typecasting.
346
376
 
347
377
  ## 0.9.0 (November 6, 2015)
348
378
 
349
- * [FEATURE] Expose Skylight::Helpers.instrument_class_method
350
- * [BUGFIX] Allow for instrumentation of setters
351
- * [BUGFIX] Fix an issue where loading some items in the Grape namespace without loading the whole library would cause an exception.
352
- * [IMPROVEMENT] Switch to Rust SQL lexer by default
353
- * [IMPROVEMENT] Add support for Redis pipelined and multi
354
- * [IMPROVEMENT] Updated Rust internals
355
- * [IMPROVEMENT] Agent should now work on current Rails master
356
- * [IMPROVEMENT] Better disabling of development mode warning
379
+ - [FEATURE] Expose Skylight::Helpers.instrument_class_method
380
+ - [BUGFIX] Allow for instrumentation of setters
381
+ - [BUGFIX] Fix an issue where loading some items in the Grape namespace without loading the whole library would cause an exception.
382
+ - [IMPROVEMENT] Switch to Rust SQL lexer by default
383
+ - [IMPROVEMENT] Add support for Redis pipelined and multi
384
+ - [IMPROVEMENT] Updated Rust internals
385
+ - [IMPROVEMENT] Agent should now work on current Rails master
386
+ - [IMPROVEMENT] Better disabling of development mode warning
357
387
 
358
388
  ## 0.8.1 (October 1, 2015)
359
389
 
360
- * [BUGFIX] Fix agent on OS X El Capitan.
361
- * [PERFORMANCE] Explicitly subscribe to normalized events
362
- * [IMPROVEMENT] Use native unique description tracking
363
- * [IMPROVEMENT] Native SQL: Support multistatement queries
390
+ - [BUGFIX] Fix agent on OS X El Capitan.
391
+ - [PERFORMANCE] Explicitly subscribe to normalized events
392
+ - [IMPROVEMENT] Use native unique description tracking
393
+ - [IMPROVEMENT] Native SQL: Support multistatement queries
364
394
 
365
395
  ## 0.8.0 (August 13, 2015)
366
396
 
367
- * [FEATURE] Add Grape instumentation. See https://docs.skylight.io/grape
368
- * [FEATURE] Process ERB in config/skylight.yml
369
- * [FEATURE] Add Rust based SQL lexing. Currently beta. Enable with `config.sql_mode = 'rust'`.
370
- * [BUGFIX] Fixed a case where, With some logger configurations, duplicate messages could be written to STDOUT.
397
+ - [FEATURE] Add Grape instumentation. See https://docs.skylight.io/grape
398
+ - [FEATURE] Process ERB in config/skylight.yml
399
+ - [FEATURE] Add Rust based SQL lexing. Currently beta. Enable with `config.sql_mode = 'rust'`.
400
+ - [BUGFIX] Fixed a case where, With some logger configurations, duplicate messages could be written to STDOUT.
371
401
 
372
402
  ## 0.7.1 (August 4, 2015)
373
403
 
374
- * [BUGFIX] Fix bug in FFI error handling
404
+ - [BUGFIX] Fix bug in FFI error handling
375
405
 
376
406
  ## 0.7.0 (August 3, 2015)
377
407
 
378
- * [BUFIX] Condvar bug in Rust. Updated to latest nightly.
379
- * [BUGFIX] Don't crash on ruby stack overflow
380
- * [IMPROVEMENT] Silence a noisy log message
381
- * [IMPROVEMENT] Update to latest openssl & curl
382
- * [FEATURE] Add probe on ActionView for layout renders
408
+ - [BUFIX] Condvar bug in Rust. Updated to latest nightly.
409
+ - [BUGFIX] Don't crash on ruby stack overflow
410
+ - [IMPROVEMENT] Silence a noisy log message
411
+ - [IMPROVEMENT] Update to latest openssl & curl
412
+ - [FEATURE] Add probe on ActionView for layout renders
383
413
 
384
414
  ## 0.6.1 (June 30, 2015)
385
415
 
386
- * [BUGFIX] Don't use $DEBUG to enable verbose internal logging
416
+ - [BUGFIX] Don't use $DEBUG to enable verbose internal logging
387
417
 
388
418
  ## 0.6.0 (January 27, 2015)
389
419
 
390
- * [IMPROVEMENT] Eliminates runtime dependency on the Rails
420
+ - [IMPROVEMENT] Eliminates runtime dependency on the Rails
391
421
  constant across the entire codebase
392
- * [FEATURE] Support for Sinatra applications. See https://docs.skylight.io/sinatra/
393
- * [FEATURE] Support for the Sequel ORM (off by default for Rails apps)
394
- * [FEATURE] Support for Tilt templates (off by default for Rails apps)
422
+ - [FEATURE] Support for Sinatra applications. See https://docs.skylight.io/sinatra/
423
+ - [FEATURE] Support for the Sequel ORM (off by default for Rails apps)
424
+ - [FEATURE] Support for Tilt templates (off by default for Rails apps)
395
425
 
396
426
  ## 0.5.2 (December 15, 2014)
397
427
 
398
- * [IMPROVEMENT] Support ignoring multiple heartbeat endpoints
399
- * [BUGFIX] Fix compilation errors on old GCC
428
+ - [IMPROVEMENT] Support ignoring multiple heartbeat endpoints
429
+ - [BUGFIX] Fix compilation errors on old GCC
400
430
 
401
431
  ## 0.5.1 (December 5, 2014)
402
432
 
403
- * [BUGFIX] Fix issues with working directory dissappearing
433
+ - [BUGFIX] Fix issues with working directory dissappearing
404
434
 
405
435
  ## 0.5.0 (December 4, 2014)
406
- * [IMPROVEMENT] Automatically load configuration from ENV
407
- * [FEATURE] Track object allocations per span
408
- * [IMPROVEMENT] Fix C warnings
436
+
437
+ - [IMPROVEMENT] Automatically load configuration from ENV
438
+ - [FEATURE] Track object allocations per span
439
+ - [IMPROVEMENT] Fix C warnings
409
440
 
410
441
  ## 0.4.3 (November 17, 2014)
411
442
 
412
- * [BUGFIX] Fix Moped integration when queries include times
443
+ - [BUGFIX] Fix Moped integration when queries include times
413
444
 
414
445
  ## 0.4.2 (November 12, 2014)
415
446
 
416
- * [BUGFIX] Fix exit status on MRI 1.9.2
417
- * [BUGFIX] Strip SQL comments for better aggregation
447
+ - [BUGFIX] Fix exit status on MRI 1.9.2
448
+ - [BUGFIX] Strip SQL comments for better aggregation
418
449
 
419
450
  ## 0.4.1 (November 7, 2014)
420
451
 
421
- * [BUGFIX] Fix downloading native agent on 32bit systems
422
- * [BUGFIX] Support legacy config settings
423
- * [FEATURE] Check FS permissions on instrumenter start
452
+ - [BUGFIX] Fix downloading native agent on 32bit systems
453
+ - [BUGFIX] Support legacy config settings
454
+ - [FEATURE] Check FS permissions on instrumenter start
424
455
 
425
456
  ## 0.4.0 (November 3, 2014)
426
457
 
427
- * Featherweight Agent: lowered CPU and memory overhead
428
- * [IMPROVEMENT] Add support for ignoring an endpoint by name
458
+ - Featherweight Agent: lowered CPU and memory overhead
459
+ - [IMPROVEMENT] Add support for ignoring an endpoint by name
429
460
 
430
461
  ## 0.3.21 (October 8, 2014)
431
462
 
432
- * [BUGFIX] Skylight crashing on start won't crash entire app
463
+ - [BUGFIX] Skylight crashing on start won't crash entire app
433
464
 
434
465
  ## 0.3.20 (September 3, 2014)
435
466
 
436
- * [BUGFIX] Fix app name fetching on Windows for `skylight setup`
467
+ - [BUGFIX] Fix app name fetching on Windows for `skylight setup`
437
468
 
438
469
  ## 0.3.19 (July 30, 2014)
439
470
 
440
- * [IMPROVEMENT] HEAD requests are no longer instrumented and will not count towards usage totals.
441
- * [IMPROVEMENT] Added LICENSE and CLA
442
- * [IMPROVEMENT] Improve how warnings are logged to reduce overall noise and interfere less with cron jobs
443
- * [BUGFIX] Fixed a case where failed app creation raised an exception instead of printing error messages
471
+ - [IMPROVEMENT] HEAD requests are no longer instrumented and will not count towards usage totals.
472
+ - [IMPROVEMENT] Added LICENSE and CLA
473
+ - [IMPROVEMENT] Improve how warnings are logged to reduce overall noise and interfere less with cron jobs
474
+ - [BUGFIX] Fixed a case where failed app creation raised an exception instead of printing error messages
444
475
 
445
476
  ## 0.3.18 (July 17, 2014)
446
477
 
447
- * [FEATURE] Redis probe (Not enabled by default. See https://docs.skylight.io/agent/#railtie)
448
- * [FEATURE] Support app creation with token instead of email/password
449
- * [BUGFIX] App creation now works even when Webmock is enabled
450
- * [BUGFIX] Fix instrumentation for methods ending in special chars
451
- * [BUGFIX] Improved SQL parsing
452
- * [IMPROVEMENT] Respect collector token expiration to reduce token requests
478
+ - [FEATURE] Redis probe (Not enabled by default. See https://docs.skylight.io/agent/#railtie)
479
+ - [FEATURE] Support app creation with token instead of email/password
480
+ - [BUGFIX] App creation now works even when Webmock is enabled
481
+ - [BUGFIX] Fix instrumentation for methods ending in special chars
482
+ - [BUGFIX] Improved SQL parsing
483
+ - [IMPROVEMENT] Respect collector token expiration to reduce token requests
453
484
 
454
485
  ## 0.3.17 (July 1, 2014)
455
486
 
456
- * Fix warning for Cache.instrument overwrite
487
+ - Fix warning for Cache.instrument overwrite
457
488
 
458
489
  ## 0.3.16 (July 1, 2014) [YANKED]
459
490
 
460
- * Fixed ActiveSupport::Cache monkeypatch
491
+ - Fixed ActiveSupport::Cache monkeypatch
461
492
 
462
493
  ## 0.3.15 (June 30, 2014) [YANKED]
463
494
 
464
- * Basic instrumentation for ActiveSupport::Cache
465
- * Fix incompatibility with old version of rack-mini-profiler
466
- * Better error messages when config/skylight.yml is invalid
467
- * Better error messages for non-writeable lock/sockfile path
495
+ - Basic instrumentation for ActiveSupport::Cache
496
+ - Fix incompatibility with old version of rack-mini-profiler
497
+ - Better error messages when config/skylight.yml is invalid
498
+ - Better error messages for non-writeable lock/sockfile path
468
499
 
469
500
  ## 0.3.14 (June 3, 2014)
470
501
 
471
- * Do not build C extension if dependencies (libraries/headers) are
502
+ - Do not build C extension if dependencies (libraries/headers) are
472
503
  missing
473
- * [RUST] Improve performance by not double copying memory when serializing
474
- * Enable the Net::HTTP probe by default
504
+ - [RUST] Improve performance by not double copying memory when serializing
505
+ - Enable the Net::HTTP probe by default
475
506
 
476
507
  ## 0.3.13 (May 12, 2014)
477
508
 
478
- * Load probes even when agent is disabled
479
- * Check for Excon::Middlewares before installing the probe
480
- * SQL error encoder should not operate in-place
481
- * Fix Middleware
482
- * More debug logging
483
- * Log Rails version in MetricsReporter
484
- * Handle missing Net::ReadTimeout in 1.9.3
485
- * Include original exception information in sql_parse errors
486
- * Debugging for failed application creation
487
- * Make double sure that Trace started_at is an Integer
509
+ - Load probes even when agent is disabled
510
+ - Check for Excon::Middlewares before installing the probe
511
+ - SQL error encoder should not operate in-place
512
+ - Fix Middleware
513
+ - More debug logging
514
+ - Log Rails version in MetricsReporter
515
+ - Handle missing Net::ReadTimeout in 1.9.3
516
+ - Include original exception information in sql_parse errors
517
+ - Debugging for failed application creation
518
+ - Make double sure that Trace started_at is an Integer
488
519
 
489
520
  ## 0.3.12 (April 17, 2014)
490
521
 
491
- * Include more information in type check errors
492
- * Use stdlib SecureRandom instead of ActiveSupport::SecureRandom - Fixes Rails 3.1
493
- * Instrumenter#start! should fail if worker not spawned
494
- * Configurable timeouts for Util::HTTP
495
- * Improve proxy handling for Util::HTTP
496
- * Improve HTTP error handling
497
- * Refactor sql_parse errors
522
+ - Include more information in type check errors
523
+ - Use stdlib SecureRandom instead of ActiveSupport::SecureRandom - Fixes Rails 3.1
524
+ - Instrumenter#start! should fail if worker not spawned
525
+ - Configurable timeouts for Util::HTTP
526
+ - Improve proxy handling for Util::HTTP
527
+ - Improve HTTP error handling
528
+ - Refactor sql_parse errors
498
529
 
499
530
  ## 0.3.11 (April 11, 2014)
500
531
 
501
- * Improved error handling and internal metrics
502
- * Improved missing native agent message
503
- * Improved install logging
504
- * Added initial inline docs
505
- * Respects HTTP_PROXY env var during installation
506
- * Don't overwrite sockfile_path if set explicitly
532
+ - Improved error handling and internal metrics
533
+ - Improved missing native agent message
534
+ - Improved install logging
535
+ - Added initial inline docs
536
+ - Respects HTTP_PROXY env var during installation
537
+ - Don't overwrite sockfile_path if set explicitly
507
538
 
508
539
  ## 0.3.10 (April 8, 2014)
509
540
 
510
- * Don't raise on missing native agent path
541
+ - Don't raise on missing native agent path
511
542
 
512
543
  ## 0.3.9 (April 8, 2014)
513
544
 
514
- * Avoid finalizing sockets in the child process
515
- * Fix non-displaying warnings around native agent
516
- * Remove HTTP path information from title for better grouping
545
+ - Avoid finalizing sockets in the child process
546
+ - Fix non-displaying warnings around native agent
547
+ - Remove HTTP path information from title for better grouping
517
548
 
518
549
  ## 0.3.8 (April 3, 2014)
519
550
 
520
- * Update vendored highline to 1.6.21
521
- * Send more information with exceptions for easier debugging
522
- * Instrument and report internal agent metrics for easier debugging
523
- * Fix bug with tracking request counts per endpoint
551
+ - Update vendored highline to 1.6.21
552
+ - Send more information with exceptions for easier debugging
553
+ - Instrument and report internal agent metrics for easier debugging
554
+ - Fix bug with tracking request counts per endpoint
524
555
 
525
556
  ## 0.3.7 (March 31, 2014)
526
557
 
527
- * Use a default event category if none passed to Skylight.instrument
528
- * Fix bugs around disabling the agent
529
- * Fix native extension compilation bugs
558
+ - Use a default event category if none passed to Skylight.instrument
559
+ - Fix bugs around disabling the agent
560
+ - Fix native extension compilation bugs
530
561
 
531
562
  ## 0.3.6 (March 27, 2014)
532
563
 
533
- * Shorter token validation timeout
534
- * Allow validation to be skipped
564
+ - Shorter token validation timeout
565
+ - Allow validation to be skipped
535
566
 
536
567
  ## 0.3.5 (March 26, 2014)
537
568
 
538
- * Update Rust component
539
- * Return true from Task#handle to avoid sutdown
540
- * Fix numeric check that caused crash on some 32-bit systems
541
- * Improve error message for missing Skylight ext
542
- * Better config error messages
543
- * Validate authentication token before starting
544
- * Add proxy support
569
+ - Update Rust component
570
+ - Return true from Task#handle to avoid sutdown
571
+ - Fix numeric check that caused crash on some 32-bit systems
572
+ - Improve error message for missing Skylight ext
573
+ - Better config error messages
574
+ - Validate authentication token before starting
575
+ - Add proxy support
545
576
 
546
577
  ## 0.3.4 (March 13, 2014)
547
578
 
548
- * Don't try to boot Skylight without native agent
549
- * Make exception classes always available
550
- * CLI should require railtie before loading application.rb
579
+ - Don't try to boot Skylight without native agent
580
+ - Make exception classes always available
581
+ - CLI should require railtie before loading application.rb
551
582
 
552
583
  ## 0.3.3 (March 12, 2014)
553
584
 
554
- * Load the railtie even without native agent
585
+ - Load the railtie even without native agent
555
586
 
556
587
  ## 0.3.2 (March 11, 2014)
557
588
 
558
- * Autoload Skylight:Helpers even when native agent isn't available
559
- * Fix SEGV
589
+ - Autoload Skylight:Helpers even when native agent isn't available
590
+ - Fix SEGV
560
591
 
561
592
  ## 0.3.1 (March 8, 2014)
562
593
 
563
- * Fix requires to allow CLI to function without native extension.
594
+ - Fix requires to allow CLI to function without native extension.
564
595
 
565
596
  ## 0.3.0 (February 28, 2014)
566
597
 
567
- * Native Rust agent
568
- * Send exceptions occurring during HTTP requests to the client.
569
- * Warn users when skylight is potentially disabled incorrectly.
570
- * Update SQL Lexer to 0.0.6
571
- * Log the backtraces of unhandled exceptions
572
- * Add support for disabling GC tracking
573
- * Add support for disabling agent
598
+ - Native Rust agent
599
+ - Send exceptions occurring during HTTP requests to the client.
600
+ - Warn users when skylight is potentially disabled incorrectly.
601
+ - Update SQL Lexer to 0.0.6
602
+ - Log the backtraces of unhandled exceptions
603
+ - Add support for disabling GC tracking
604
+ - Add support for disabling agent
574
605
 
575
606
  ## 0.2.7 (February 26, 2014)
576
607
 
577
- * Disable annotations to reduce memory load.
608
+ - Disable annotations to reduce memory load.
578
609
 
579
610
  ## 0.2.6 (February 25, 2014)
580
611
 
581
- * `inspect` even whitelisted payload props
582
- * Ignore Errno::EINTR for 'ps' call
612
+ - `inspect` even whitelisted payload props
613
+ - Ignore Errno::EINTR for 'ps' call
583
614
 
584
615
  ## 0.2.5 (February 21, 2014)
585
616
 
586
- * Revert "Update SqlLexer to 0.0.4"
617
+ - Revert "Update SqlLexer to 0.0.4"
587
618
 
588
619
  ## 0.2.4 (February 20, 2014)
589
620
 
590
- * Whitelist process action annotation keys.
591
- * Update SqlLexer to 0.0.4
621
+ - Whitelist process action annotation keys.
622
+ - Update SqlLexer to 0.0.4
592
623
 
593
624
  ## 0.2.3 (December 20, 2013)
594
625
 
595
- * Fix SQL lexing for comments, arrays, double-colon casting, and multiple queries
596
- * Handle template paths from gems
597
- * Status and exception reports for agent debugging
626
+ - Fix SQL lexing for comments, arrays, double-colon casting, and multiple queries
627
+ - Handle template paths from gems
628
+ - Status and exception reports for agent debugging
598
629
 
599
630
  ## 0.2.2 (December 10, 2013)
600
631
 
601
- * Added support for Mongoid/Moped
602
- * Fix probe enabling
603
- * Improved error reporting
604
- * Fix bug with multiple subscribers to same notification
632
+ - Added support for Mongoid/Moped
633
+ - Fix probe enabling
634
+ - Improved error reporting
635
+ - Fix bug with multiple subscribers to same notification
605
636
 
606
637
  ## 0.2.1 (December 4, 2013)
607
638
 
608
- * Fix bin/skylight
639
+ - Fix bin/skylight
609
640
 
610
641
  ## 0.2.0 (December 3, 2013)
611
642
 
612
- * Added Probes, initially Net::HTTP and Excon
613
- * Wide-ranging memory cleanup
614
- * Better resiliance to binary and encoding errors
615
- * Add support for disabling
616
- * De-dupe rendering instrumentation better
617
- * Fix send_file event to not spew a gazillion nodes
618
- * Rails 3.0 compatibility
619
- * Detailed SQL annotations
643
+ - Added Probes, initially Net::HTTP and Excon
644
+ - Wide-ranging memory cleanup
645
+ - Better resiliance to binary and encoding errors
646
+ - Add support for disabling
647
+ - De-dupe rendering instrumentation better
648
+ - Fix send_file event to not spew a gazillion nodes
649
+ - Rails 3.0 compatibility
650
+ - Detailed SQL annotations
620
651
 
621
652
  ## 0.1.8 (July 19, 2013)
622
653
 
623
- * Update agent for new authentication scheme
624
- * Change ENV variable prefix from SK_ to SKYLIGHT_
654
+ - Update agent for new authentication scheme
655
+ - Change ENV variable prefix from SK* to SKYLIGHT*
625
656
 
626
657
  ## 0.1.7 (July 11, 2013)
627
658
 
628
- * Add instrument_method helper
629
- * Add the ability to configure logging from railtie
630
- * Tracks the current host
631
- * [BUG] Handle AS::N monkey patching when there are already subscribers
632
- * [BUG] Handle ruby 1.9.2 encoding bug
659
+ - Add instrument_method helper
660
+ - Add the ability to configure logging from railtie
661
+ - Tracks the current host
662
+ - [BUG] Handle AS::N monkey patching when there are already subscribers
663
+ - [BUG] Handle ruby 1.9.2 encoding bug
633
664
 
634
665
  ## 0.1.6 (June 11, 2013)
635
666
 
636
- * [BUG] Fix unix domain socket write function in standalone agent
637
- * Performance improvements
638
- * Tolerate invalid trace building
639
- * Fix Skylight on Rails 4
667
+ - [BUG] Fix unix domain socket write function in standalone agent
668
+ - Performance improvements
669
+ - Tolerate invalid trace building
670
+ - Fix Skylight on Rails 4
640
671
 
641
672
  ## 0.1.5 (May 31, 2013)
642
673
 
643
- * Provide a default CA cert when one is not already present
644
- * Expose Skylight.start! and Skylight.trace as APIs
645
- * Expose Skylight.instrument as an API for custom instrumentation.
674
+ - Provide a default CA cert when one is not already present
675
+ - Expose Skylight.start! and Skylight.trace as APIs
676
+ - Expose Skylight.instrument as an API for custom instrumentation.
646
677
 
647
678
  ## 0.1.4 (May 30, 2013)
648
679
 
649
- * [BUG] Fix some errors caused by floating point rounding
650
- * [BUG] Handle clock skew caused by system clock changes
680
+ - [BUG] Fix some errors caused by floating point rounding
681
+ - [BUG] Handle clock skew caused by system clock changes
651
682
 
652
683
  ## 0.1.3 (May 29, 2013)
653
684
 
654
- * [BUG] Require net/https and openssl
655
- * [BUG] Rails' logger does not respond to #log. Use level methods
685
+ - [BUG] Require net/https and openssl
686
+ - [BUG] Rails' logger does not respond to #log. Use level methods
656
687
  instead
657
688
 
658
689
  ## 0.1.2 (May 29, 2013)
659
690
 
660
- * [BUG] Disable GC profiling on JRuby
691
+ - [BUG] Disable GC profiling on JRuby
661
692
 
662
693
  ## 0.1.1 (May 29, 2013)
663
694
 
664
- * [BUG] GC Profiling was not getting enabled
695
+ - [BUG] GC Profiling was not getting enabled
665
696
 
666
697
  ## 0.1.0 (May 24, 2013)
667
698
 
668
- * Initial release
699
+ - Initial release