Skip to content

Latest commit

 

History

History
408 lines (292 loc) · 16.7 KB

CHANGELOG.md

File metadata and controls

408 lines (292 loc) · 16.7 KB

CHANGELOG

3.3.1 - 2024-02-15

  • [FEATURE] Support dynamic config.content_security_policy_nonce #609
  • [FEATURE] Add flamgraph path to response header: #601

3.3.0 - 2023-12-07

  • [FEATURE] Use ?pp=flamegraph?ignore_gc=true or config.flamegraph_ignore_gc to ignore gc in flamegraphs. #599

3.2.1 - 2023-12-07

  • [FIX] memory_profiler was broken due to an undefined local #597

3.2.0 - 2023-12-06

  • [BREAKING CHANGE] Ruby version 2.7.0 or later is required.
  • [FEATURE] All RMP actions can be chosen by including a X-Rack-Mini-Profiler header as well as by query parameter. #578
  • [FEATURE] Speedscope 1.12 -> 1.16
  • [FIX] If patch_rails is false, do not patch mysql2 or pg #583
  • [FIX] vertical position bottom now aligns the detail window correctly #581
  • [FIX] Webpacker hiccup in some setups #582
  • [INTERNAL] Capture rows instantiated by ActiveRecord, UI to be added later #585
  • [INTERNAL] Lots of refactoring.

3.1.1 - 2023-08-01

  • [FIX] Include configured base path in speedscope iframe URL #587
  • [FIX] Race condition starting CacheCleanupThread #586
  • [FEATURE] Add controller name to description #567
  • [FIX] 'more' link w/HTTPS #574

3.1.0 - 2023-04-11

  • [FEATURE] The query parameter that RMP uses (by default, pp) is now configurable #553
  • [FEATURE] You can now opt-out of the Net::HTTP patch by using RACK_MINI_PROFILER_PATCH_NET_HTTP="false"
  • [FIX] Error responses now include header values from the app, and stackprof not installed message now has correct content #547
  • [FIX] RMP pages now have more valid HTML, with title elements #552
  • [BREAKING CHANGE] Ruby 2.4 and Ruby 2.5 are no longer supported.
  • [FIX] Now works with apps that don't otherwise require erb #531
  • [DOCS] Added Heroku Redis instructions
  • [DEPRECATION] We are changing the name of the generators to rack_mini_profiler, e.g. rack_mini_profiler:install #550

3.0.0 - 2022-02-24

  • PERF: Improve snapshots page performance (#518) (introduces breaking changes to the API of AbstractStore, MemoryStore and RedisStore, and removes the snapshots_limit config option.)

2.3.4 - 2022-02-23

  • [FEATURE] Add cookie path support for subfolder sites
  • [FIX] Remove deprecated uses of Redis#pipelined

2.3.3 - 2021-08-30

  • [FEATURE] Introduce pp=flamegraph_mode
  • [FEATURE] Richer CSP configuration options
  • [FEATURE] Add support for Hotwire Turbo Drive

2.3.2 - 2021-04-30

  • [FEATURE] Introduce pp=async-flamegraph for asynchronous flamegraphs

2.3.1 - 2021-01-29

  • [FIX] compatability with Ruby 3.0
  • [FIX] compatability with peek-mysql2

2.3.0 - 2020-12-29

  • [FEATURE] flamegraphs are now based off speedscope

2.2.1 - 2020-12-23

  • [FIX] Turbolinks integration causing increasing number of GET requests
  • [FEATURE] enahanced log transporter with compression and exponential backoff
  • [FEATURE] sameSite=Lax added to MiniProfiler cookie

2.2.0 - 2020-10-19

  • [UX] Enhancements to snapshots UI
  • [FEATURE] Mini Profiler cookie is now sameSite=lax
  • [FEATURE] Snapshots transporter
  • [FEATURE] Redact SQL queries in snapshots by default

2.1.0 - 2020-09-17

  • [FEATURE] Allow assets to be precompiled with Sprockets
  • [FEATURE] Snapshots sampling (see README in repo)
  • [FEATURE] Allow skip_paths config to contain regular expressions

2.0.4 - 2020-08-04

  • [FIX] webpacker may exist with no config, allow for that

2.0.3 - 2020-07-29

  • [FIX] support for deprecation free Redis 4.2
  • [FEATURE] skip /packs when serving static assets
  • [FEATURE] allow Net::HTTP patch to be applied with either prerpend or alias

2.0.2 - 2020-05-25

  • [FIX] client timings were not showing up when you clicked show trivial

2.0.1 - 2020-03-17

  • [REVERT] Prepend Net::HTTP patch instead of class_eval and aliasing (#429) (technique clashes with New Relic and Skylight agents)

2.0.0 - 2020-03-11

  • [FEATURE] Prepend Net::HTTP patch instead of class_eval and aliasing (#429)
  • [FEATURE] Stop patching Rails and use ActiveSupport::Notifications by default (see README.md for details)

1.1.6 - 2020-01-30

  • [FIX] edge condition on page transition function could lead to exceptions

1.1.5 - 2020-01-28

  • [FIX] correct custom counter regression
  • [FIX] respect max_traces_to_show
  • [FIX] handle storage engine failures in whitelist mode

1.1.4 - 2019-12-12

  • [SECURITY] carefully crafted SQL could cause an XSS on sites that do not use CSPs

1.1.3 - 2019-10-28

  • [FEATURE] precompile all templates to avoid need for unsafe-eval

1.1.2 - 2019-10-24

  • [FIX] JS payload was not working on IE11 and leading to errors
  • [FIX] Remove global singleton_class which was injected
  • [FIX] Regressions post removal of jQuery

1.1.1 - 2019-10-22

  • [FIX] correct JavaScript fetch support header iteration (Jorge Manrubia)

1.1.0 - 2019-10-01

  • [FEATURE] remove jQuery dependency, switch template library to dot.js
  • [FEATURE] disable all sensitive debugging methods by default (env, memory profiling) can be enabled with enable_advanced_debugging_tools.
  • [FIX] when conditionally requiring rack mini profiler, asset precompile could fail
  • [FEATURE] /rack-mini-profiler/requests can be used to monitor all requests for apps that do not have a UI (like API apps)
  • [SECURITY] XSS injection in ?pp=help via rogue uri

1.0.2 - 2019-02-05

  • [FIX] correct script injection to work with Rails 6 and above

1.0.1 - 2018-12-10

  • [FIX] add support for exec_params instrumentation in PG, this method as of PG 1.1.0 no longer routes calls to exec / async_exec
  • [FIX] add missing started_at on requests
  • [UX] amend colors so we pass lighthouse
  • [FEATURE] fetch API support
  • [FIX] getEntriesByName is missing in iOS, workaround
  • [FEATURE] drop support for Ruby 2.2.0 we require 2.3.0 and up (EOL Ruby no longer supported)

1.0.0 - 2018-03-29

  • [BREAKING CHANGE] Ruby version 2.2.0 or later is required
  • [FEATURE] use new web performance API to avoid warning @MikeRogers0
  • [FEATURE] store hidden pref regarding showing mini profiler in session @MikeRogers0
  • [FIX] correct jQuery 3.0 deprecations @TiSer
  • [FIX] JS in IFRAME @naiyt

0.10.8 - 2017-12-01

  • [FEATURE] Add # frozen_string_literal: true to all lib/**/*.rb files

0.10.7 - 2017-11-24

  • [FEATURE] Replace Time.now with Process.clock_gettime(Process::CLOCK_MONOTONIC)
  • [FIX] Error with webrick and empty cache control

0.10.6 - 2017-10-30

  • [FEATURE] Support for vertical positions (top/bottom)
  • [FEATURE] Suppress profiler results in print media @Mike Dillon
  • [FIX] toggle shortcut not working @lukesilva
  • [FEATURE] install generator @yhirano
  • [FEATURE] store initial cache control headers in X-MiniProfiler-Original-Cache-Control @mrasu

0.10.5 - 2017-05-22

  • [FIX] revert PG bind sniffing until it is properly tested

0.10.4 - 2017-05-17

  • [FEATURE] log binds for pg @neznauy
  • [FIX] use async exec pg monkey patch instead of exec
  • [FEATURE] nuke less css and use sass instead
  • [FIX] use jQuery on instead of bind
  • [FIX] ensure redis get_unviewed_ids returns only ids that exist
  • [FIX] correctly respect SCRIPT in env if it is sniffed by middleware

0.10.2 - 2017-02-08

  • [FIX] improve turbolinks support
  • [FEATURE] make location of mini_profiler injection customizable

0.10.1 - 2016-05-18

  • [FEATURE] push forward the security checks so no work is ever done if a valid production cookie is not available (@sam)

0.9.9.2 - 2016-03-06

  • [FEATURE] on pageTransition collapse previously expanded timings

0.9.9.1 - 2016-03-06

  • [FEATURE] expost MiniProfiler.pageTransition() for use by SPA web apps (@sam)

0.9.9 - 2016-03-06

  • [FIX] removes alias_method_chain in favor of alias_method until Ruby 1.9.3 (@ayfredlund)
  • [FIX] Dont block mongo when already patched for another db (@rrooding @kbrock)
  • [FIX] get_profile_script when running under passenger configured with RailsBaseURI (@nspring)
  • [FEATURE] Add support for neo4j (@ProGM)
  • [FIX] ArgumentError: comparison of String with 200 failed (@paweljw)
  • [FEATURE] Add support for Riak (@janx)
  • [PERF] GC profiler much faster (@dgynn)
  • [FIX] If local storage is disabled don't bomb out (@elia)
  • [FIX] Create tmp directory when actually using it (@kbrock)
  • [ADDED] Default collapse_results setting that collapses multiple timings on same page to a single one (@sam)
  • [ADDED] Rack::MiniProfiler.profile_singleton_method (@kbrock)
  • [CHANGE] Added Rack 2.0 support (and dropped support for Rack 1.1) (@dgynn)

0.9.8 - 2015-11-27 (Sam Saffron)

  • [FEATURE] disable_env_dump config setting (@mathias)
  • [FEATURE] set X-MiniProfiler-Ids for all 2XX reqs (@tymagu2)
  • [FEATURE] add support for NoBrainer (rethinkdb) profiling (@niv)
  • [FEATURE] add oracle enhanced adapter profiling (@rrooding)
  • [FEATURE] pp=profile-memory can now parse query params (@dgynn)

0.9.7 - 2015-08-03 (Sam Saffron)

  • [FEATURE] remove confusing pp=profile-gc-time (Nate Berkopec)
  • [FEATURE] truncate strings in pp=analyze-memory (Nate Berkopec)
  • [FEATURE] rename pp=profile-gc-ruby-head to pp=profile-memory (Nate Berkopec)

0.9.6 - 2015-07-08 (Sam Saffron)

  • [FIX] incorrect truncation in pp=analyze-memory

0.9.5 - 2015-07-08 (Sam Saffron)

  • [FEATURE] improve pp=analyze-memory

0.9.4 - 2015-07-08 (Sam Saffron)

  • [UX] added a link to "more" actions in profiler
  • [FEATURE] pp=help now displays links
  • [FEATURE] simple memory report with pp=analyze-memory

0.9.2 - 2014-06-26 (Sam Saffron)

  • [CHANGE] staging and other environments behave like production (Cedric Felizard)
  • [DOC] CHANGELOG reorg (Olivier Lacan)
  • [FIXED] Double calls to Rack::MiniProfilerRails.initialize! now raise an exception (Julik Tarkhanov)
  • [FIXED] Add no-store header (George Mendoza)

0.9.1 - 2014-03-13 (Sam Saffron)

  • [ADDED] Added back Ruby 1.8 support (thanks Malet)
  • [IMPROVED] Amended Railstie so MiniProfiler can be launched with action view or action controller (Thanks Akira)
  • [FIXED] Rails 3.0 support (thanks Zlatko)
  • [FIXED] Possible XSS (admin only)
  • [FIXED] Corrected Sql patching to avoid setting instance vars on nil which is frozen (thanks Andy, huoxito)

0.9.0.pre - 2013-12-05 (Sam Saffron)

  • Bumped up version to reflect the stability of the project
  • [IMPROVED] Reports for pp=profile-gc
  • [IMPROVED] pp=flamegraph&flamegraph_sample_rate=1 , allow you to specify sampling rates

2013-09-17 (Ross Wilson)

  • [IMPROVED] Instead of supressing all "/assets/" requests we now check the configured config.assets.prefix path since developers can rename the path to serve Asset Pipeline files from

0.1.31 - 2013-09-03

  • [IMPROVED] Flamegraph now has much increased fidelity
  • [REMOVED] Ripped out flamegraph so it can be isolated into a gem
  • [REMOVED] Ripped out pp=sample it just was never really used

0.1.30 - 2013-08-30

  • [ADDED] Rack::MiniProfiler.counter_method(klass,name) for injecting counters
  • [FIXED] Counters were not shifting the table correctly

0.1.29 - 2013-08-20

  • [ADDED] Implemented exception tracing using TracePoint see pp=trace-exceptions
  • [FIXED] SOLR patching had an incorrect monkey patch

0.1.28 - 2013-07-30

  • [FIXED] Diagnostics in abstract storage was raising not implemented killing ?pp=env and others
  • [FIXED] SOLR xml unescaped by mistake

0.1.27 - 2013-06-26

  • [ADDED] Rack::MiniProfiler.config.backtrace_threshold_ms
  • [ADDED] jQuery 2.0 support
  • [FIXED] Disabled global ajax handlers on MP requests @JP

0.1.26 - 2013-04-11

  • [IMPROVED] Allow Rack::MiniProfilerRails.initialize!(Rails.application), for post config intialization

0.1.25 - 2013-04-08

  • [FIXED] Missed flamegraph.html from build

0.1.24 - 2013-04-08

  • [ADDED] Flame Graph Support see: http://samsaffron.com/archive/2013/03/19/flame-graphs-in-ruby-miniprofiler
  • [ADDED] New toggle_shortcut and start_hidden options
  • [ADDED] Mongoid support
  • [ADDED] Rack::MiniProfiler.counter counter_name {}
  • [ADDED] Net:HTTP profiling
  • [ADDED] Ruby 1.8.7 support ... grrr
  • [IMPROVED] More robust gc profiling
  • [IMPROVED] Script tag initialized via data-attributes
  • [IMPROVED] Allow usage of existing jQuery if its already loaded
  • [IMPROVED] Pre-authorize to run in all non development? and production? modes
  • [FIXED] AngularJS support and MooTools
  • [FIXED] File retention leak in file_store
  • [FIXED] HTML5 implicit tags
  • [FIXED] pp=enable

0.1.22 - 2012-09-20

  • [FIXED] Permission issue in the gem

2012-09-17

  • [IMPROVED] Allow rack-mini-profiler to be sourced from github
  • [IMPROVED] Extracted the pp=profile-gc-time out, the object space profiler needs to disable gc

0.1.21 - 2012-09-17

  • [ADDED] New MemchacedStore
  • [ADDED] Rails 4 support

0.1.20 - 2012-09-12 (Sam Saffron)

  • [ADDED] pp=profile-gc: allows you to profile the GC in Ruby 1.9.3

0.1.19 - 2012-09-10 (Sam Saffron)

  • [FIXED] Compatibility issue with Ruby 1.8.7

0.1.17 - 2012-09-07 (Sam Saffron)

  • [FIXED] pp=sample was bust unless stacktrace was installed

0.1.16 - 2012-09-05 (Sam Saffron)

  • [IMPROVED] Implemented stacktrace properly
  • [FIXED] Long standing problem specs (issue with memory store)
  • [FIXED] Issue where profiler would be dumped when you got a 404 in production (and any time rails is bypassed)

0.1.15.pre - 2012-09-04 (Sam Saffron)

  • [FIXED] Annoying bug where client settings were not sticking
  • [FIXED] Long standing issue with Rack::ConditionalGet stopping MiniProfiler from working properly

0.1.13.pre - 2012-09-03 (Sam Saffron)

  • [ADDED] Setting: config.backtrace_ignores = [] - an array of regexes that match on caller lines that get ignored
  • [ADDED] Setting: config.backtrace_includes = [] - an array of regexes that get included in the trace by default
  • [ADDED] pp=normal-backtrace to clear the "sticky" state
  • [IMPROVED] Cleaned up the way client settings are stored
  • [IMPROVED] Made pp=full-backtrace "sticky"
  • [IMPROVED] Changed "pp=sample" to work with "caller" no need for stack trace gem
  • [FIXED] pg gem prepared statements were not being logged correctly

0.1.12.pre - 2012-08-20 (Sam Saffron)

  • [IMPROVED] Cap X-MiniProfiler-Ids at 10, otherwise the header can get killed

0.1.11.pre - 2012-08-10 (Sam Saffron)

  • [ADDED] Basic prepared statement profiling for Postgres

0.1.10 - 2012-08-07 (Sam Saffron)

  • [ADDED] Option to disable profiler for the current session (pp=disable / pp=enable)
  • [ADDED] yajl compatability contributed by Sven Riedel

0.1.9 - 2012-07-30 (Sam Saffron)

  • [IMPROVED] Made compliant with ancient versions of Rack (including Rack used by Rails2)
  • [FIXED] Broken share link
  • [FIXED] Crashes on startup (in MemoryStore and FileStore)
  • [FIXED] Unicode issue

0.1.7 - 2012-07-18 (Sam Saffron)

  • [ADDED] First Paint time for Google Chrome
  • [FIXED] Ensure non Rails installs have mini profiler

0.1.6 - 2012-07-12 (Sam Saffron)

  • [ADDED] Native PG and MySql2 interceptors, this gives way more accurate times
  • [ADDED] some more client probing built in to rails
  • [IMPROVED] Refactored context so its a proper class and not a hash
  • [IMPROVED] More tests
  • [FIXED] Incorrect profiling steps (was not indenting or measuring start time right

0.1.3 - 2012-07-09 (Sam Saffron)

  • [ADDED] New option to display full backtraces pp=full-backtrace
  • [IMPROVED] Cleaned up mechanism for profiling in production, all you need to do now is call Rack::MiniProfiler.authorize_request to get profiling working in production
  • [IMPROVED] Cleaned up railties, got rid of the post authorize callback

0.1.1 - 2012-06-28 (Sam Saffron)

  • [ADDED] Started change log
  • [ADDED] added MemcacheStore
  • [IMPROVED] Corrected profiler so it properly captures POST requests (was supressing non 200s)
  • [IMPROVED] Amended Rack.MiniProfiler.config[:user_provider] to use ip addres for identity
  • [IMPROVED] Supress all '/assets/' in the rails tie (makes debugging easier)
  • [FIXED] Issue where unviewed missing ids never got cleared
  • [FIXED] record_sql was mega buggy