- Add Speedcurve's LUX to connect-src policy (#206)
- Fix the new before_send behaviour & tests, and add documentation (#197)
- Remove support for
should_capture
callbacks in favour ofbefore_send
(#196)
- BREAKING: Implement RFC 141 - remove unsuitable healthchecks and return a 500 on healthcheck failure (#193)
- Allow LUX domain on img-src policy (#191)
- Fixes bug in GovukI18n introduced in the last version (#189)
- Add GovukI18n module with custom plural rules (#187)
- Ensure Redis healthcheck avoids potential race condition (#185)
- Add new Redis healthcheck and relevant tests (#183)
- Allow apps to configure the host and protocol for Statsd (#180)
- Add
GdsApi::ContentStore::ItemNotFound
todata_sync_excluded_exceptions
(#178) - Dependabot bumps to allow latest versions of logstasher (#177) and unicorn (#175)
- Adds govuk_app_config version to every Sentry call (#174)
- Fix broken data sync error handling for non-Rails apps (#172)
- Ignore intermittent template retrieval errors from Slimmer (#170)
- Ignore errors that occur in temporary environments (adds
active_sentry_environments
config) (#168)
- Fix govuk_app_config in Ruby 2.7 environments by explicitly requiring the 'delegate' library (#167)
- Increase scope of
data_sync_excluded_exceptions
so that it includes subclasses (#165)
- Use delegator pattern for
GovukError.configure
, to allow customshould_capture
(#160)
- Bump 'sentry-raven' to 3.1.1 to improve grouping of errors (#162)
- Add new GovukHealthcheck::Mongoid and GovukHealthcheck::RailsCache health checks (#161)
- Remove unused SidekiqQueueSizeCheck healthcheck base class (#156)
- Add www.googletagmanager.com and www.gstatic.com to Content Security Policy (#153)
- Fix linting issues (#149)
- Monkey patch
ActionDispatch::DebugExceptions#log_error
so it logs errors on a single line (#147)
- Add missing ActiveRecord rescue_responses (#142)
- Revert using sentry option of rails_report_rescued_exceptions (#140)
- Stop exceptions rescued by rails from appearing in Sentry (#138)
- Add hmrc-uk.digital.nuance.com (Nuance/HMRC Webchat provider) and gov.klick2contact.com (HMPO web chat provider) to connect-src CSP list (#133)
- Add www.gov.uk to CSP list (#129)
- Add hmrc-uk.digital.nuance.com (Nuance/HMRC Webchat provider) to script-src CSP list (#130)
- Reorder requires to resolve: "NameError: uninitialized constant GovukAppConfig::Railtie::GovukLogging"
- Remove support for AWS X-Ray.
- Fix GdsApi::HTTPIntermittentServer errors no longer being filtered from exceptions sent to Sentry.
- Fix regression in error reporting code which caused an error.
- Fix CSP in development
- Add
youtube-nocookie.com
to consent security policy - Update dependencies
- Update error reporting code
- Use
GOVUK_CSP_REPORT_ONLY
andGOVUK_CSP_REPORT_URI
to configure content security policy.
- Fix incorrect report_uri= method usage in content security policy
- Use Rails DSL to configure content security policy, allowing apps to modify the policy and use nonce features.
- Tweak our CSP to work with 'dev.gov.uk'
- Revert PR #89 - it relies on an unreleased feature of aws-xray-sdk
- Don't log Context Missing Errors (
ERROR -- : can not find the current context.
)
- Return Critical status for SidekiqRedis if Redis raises a connection error.
- Add a DoubleClick domain to our content security policy.
- Fix the
UNICORN_TIMEOUT
setting, which previously resulted in a crash on start.
- Allow configuring the unicorn timeout through the
UNICORN_TIMEOUT
environment variable (default: 60).
- Add content security policy support.
- Remove formating from the Logstasher logger, used by default for the GDS API Adapters logging.
- Configure the GDS API Adapters logger to use logstasher
- More consistent log level configuration by default
- Make ActiveRecord healthcheck more accurate
- Add Initialized healthchecks
- Fix crash on start due to incorrect method invocation.
- Fix crash on start due to incorrect method invocation.
- Disable X-Ray entirely if the
GOVUK_APP_CONFIG_DISABLE_XRAY
environment variable is set.
- Only instrument the
aws_sdk
gem with AWS X-Ray if theXRAY_PATCH_AWS_SDK
environment variable is present.
- Do not report Sidekiq queue thresholds in healthchecks which are infinite or NaN.
- Set a default segment name for XRay if the
GOVUK_APP_NAME
environment variable is missing, rather than throwing an exception.
- Make XRay log missing segments (such as when executing rake tasks) as an error, rather than throwing an exception.
- Record 1% of requests with AWS X-Ray.
- Handle a health check which raises an exception.
- Configure Sentry to only log on startup in the production Rails environment (if Rails is in use)
- Add various convenience health check classes which make it easier to add custom checks into apps without writing lots of code.
- Make health checks classes rather than instances, allowing internal data to be cached and improve performance.
- Set the
Content-Type
of healthchecks toapplication/json
. - Make the health check statuses symbols.
- Add healthcheck support. See README.md for usage information.
- Ignore
ActionController::UnknownHttpMethod
errors.
- Check the inner exception as well for the intermittent failure behaviour
added in 1.4.0, eg in the case of
ActionView::Template::Error
- Don't log intermittent errors from
gds-api-adapters
in Sentry, count them in Graphite instead
- Update instructions to suggest that GovukUnicorn should be required directly
require "govuk_app_config/govuk_unicorn"
rather than passively throughrequire "govuk_app_config"
to isolate it from other configuration. - Move STDOUT/STDERR configuration inside GovukLogging module to reduce side effects when gem is initialised.
- In your applications
config/unicorn.rb
file changerequire "govuk_app_config"
torequire "govuk_app_config/govuk_unicorn"
- Fix collection of Statsd gauge metrics
- Include a class to configure unicorn to the common GOV.UK configuration
- Find or create a config/unicorn.rb file in the app
- At the top of the file insert:
require "govuk_app_config/govuk_unicorn" GovukUnicorn.configure(self)
- If the app has the following, remove it:
# Load the system-wide standard Unicorn file def load_file_if_exists(config, file) config.instance_eval(File.read(file)) if File.exist?(file) end load_file_if_exists(self, "/etc/govuk/unicorn.rb")
- Use
INFO
log level for the default Rails logger
- Upgrade unicorn gem from 5.3.1 to 5.4.0
- Support statsd methods of decrement, count, timing, set, and batch
- Add Unicorn (our web server) as a dependency
- Use version 2.7.0 of the Sentry client.
- Set up logging configuration for Rails applications.
- Don't send
ActionController::BadRequest
to Sentry
- Remove
gem 'unicorn'
from your Gemfile - For Rails apps only:
- Remove
gem 'logstasher'
from your Gemfile - Remove all
config.logstasher.*
configs fromconfig/environments/production.rb
- If the app has a
config/initializers/logstash.rb
remove it - If the app has any of the following (likely in
config/environments/production.rb
), remove it:# Use default logging formatter so that PID and timestamp are not suppressed. config.log_formatter = ::Logger::Formatter.new # Use a different logger for distributed setups. # require 'syslog/logger' config.logger = ActiveSupport::TaggedLogging.new(Logger.new($stderr)) $real_stdout = $stdout.clone $stdout.reopen($stderr)
- Remove
- Add
time
andgauge
toGovukStatsd
- Add
GovukError.configure
as an alias toRaven.configure
- First actual release with support for Sentry
Empty gem.