Skip to content

Latest commit

 

History

History
1371 lines (695 loc) · 56.3 KB

CHANGELOG.md

File metadata and controls

1371 lines (695 loc) · 56.3 KB

1.1.0 (2024-05-22)

Features

1.0.1 (2024-04-30)

Bug Fixes

  • Handle exceptions in app.matches? (0e9db0d), closes #358

1.0.0 (2024-02-06)

Features

  • disable recording for tests tagged :noappmap (0278ad9)

BREAKING CHANGES

  • bump to version 1.0.0

0.103.0 (2023-12-18)

Bug Fixes

  • Drop metadata timestamp (950d8e6)

Features

  • APPMAP_OUTPUT_DIR (82fe6d7)
  • AppMap.record accepts thread (9863cc5)
  • Drop extended git info (1d26cb4)
  • Ensure existence of the appmap output dir (3019868)
  • Record around command-labeled methods (9692e2b)
  • Report metadata timestamp as iso8601 (56f8a52)

0.102.2 (2023-11-07)

Bug Fixes

0.102.1 (2023-07-25)

Bug Fixes

  • Guard access to the :size method (e0b53b2), closes #341

0.102.0 (2023-07-18)

Features

  • Discourage conflicting recording methods (f86303b)

0.101.0 (2023-07-17)

Bug Fixes

  • Auto-enable tracing on block recording (59886b6)

Features

0.100.0 (2023-07-11)

Features

  • Add appmap-agent-config command to bootstrap appmap.yml (568acc3)

0.99.4 (2023-05-15)

Bug Fixes

  • More robust extraction of test failures (3851f7c)
  • Use a copy of rack environment to probe the route (7ec89a8), closes #329

0.99.3 (2023-05-10)

Bug Fixes

  • Capture HTTP requests in Rails on Rack level if possible (e50a280), closes #323

0.99.2 (2023-05-10)

Bug Fixes

  • Ensure that signature hash key consists of strings (acb5db9)

0.99.1 (2023-04-24)

Bug Fixes

  • backtrace_locations may be nil (7f3890a), closes #324

0.99.0 (2023-04-13)

Bug Fixes

  • Don't report vendored paths as local (e09cb4f)
  • Report the first relative path in the backtrace (f81b346)

Features

  • Report metadata.test_failure (82c87d2)

0.98.1 (2023-03-09)

Bug Fixes

  • Prevent AppMaps from being constantly re-indexed (0311ab4)
  • Report test_status from minitest (659f89a)

0.98.0 (2023-02-22)

Features

  • Allow environment configuration of property value inspection (20579d3)

0.97.0 (2023-02-10)

Features

  • Implement items Parameter object format (AppMap v1.10.0) (9a28773)

0.96.0 (2023-02-01)

Bug Fixes

  • Dir.exists? and File.exists? don't exist in Ruby 3.2 (2879b06)

Features

0.95.2 (2023-01-27)

Bug Fixes

  • wrap_example_block passes example (810f603)

0.95.1 (2023-01-26)

Bug Fixes

  • Don't match ending ) in swaggerize_path (4bba178)

0.95.0 (2022-12-15)

Bug Fixes

  • Disable active_record hooks (239986d)
  • Fix Array#pack hook (2a8b2ed)
  • Fix name of rails7 test database (6581b65)
  • Typo in label configuration (999b25b)

Features

  • Enable deserialize.safe labels (62be78a)
  • Enhance the hook log a lot (c93d91c)
  • Enhancing hook logging and profiling (01dbe4b)

0.94.1 (2022-11-23)

Bug Fixes

  • Handle properties of mixed content and repeated values (4e14eb8)

0.94.0 (2022-11-22)

Features

  • Emit nested return_value.properties (2c74c68)

0.93.5 (2022-11-08)

Bug Fixes

  • Only show a warning in non-Rails projects (4ed86c7), closes #292

0.93.4 (2022-11-04)

Bug Fixes

  • Use correct signature for Init_appmap() in appmap.c (1157085)

0.93.3 (2022-10-11)

Bug Fixes

0.93.2 (2022-10-07)

Bug Fixes

  • Add language, appmap_dir to generated appmap.yml (9b5e590)

0.93.1 (2022-10-04)

Bug Fixes

  • Unyield static asset requests (4041e4b)

0.93.0 (2022-09-22)

Features

  • Record the time spent instrumentating a function, as opposed to only the time spend executing a function (0941b4d)
  • save elapsed_instrumentation for HTTP requests (a32fb52)
  • save elapsed_instrumentation for RequestListener (5a081cc)
  • Save elapsed_instrumentation for sql_query (40a851e)

0.92.1 (2022-09-21)

Bug Fixes

  • Drop database server version (e52f210)

0.92.0 (2022-09-19)

Bug Fixes

  • Detect Rails via Rails::Railtie (cf83f00)

Features

  • Don't auto-enable requests recording in 'test' (30413cd)
  • Enable recording for known environments (6c59c8a)
  • Use APPMAP=true to flag library loading (9900631)

0.91.0 (2022-09-19)

Features

  • Emit metadata.recorder.type (6358669)

0.90.1 (2022-09-19)

Bug Fixes

  • Faster comment extraction (f6199a6)

Performance Improvements

  • Don't save comment and source in classmap. (c3c8e75)

0.90.0 (2022-09-15)

Features

  • Include required_ruby_version in the gemspec (a5d7c6b)
  • Save default appmap.yml (77a08d5)

0.89.0 (2022-09-07)

Bug Fixes

  • Make Rack a runtime dependency (3f2924d)

Features

  • Add builtin labels for JWT (3569333)
  • Write an AppMap for each observed HTTP request (2e89eaf)

0.88.0 (2022-08-31)

Bug Fixes

  • Allow recording of error responses (e538556)

Features

  • Add HTTP server request support for Rails 7 (bd7f6c9)

0.87.0 (2022-08-19)

Features

  • Improve performance of initial hooking (901e262)

0.86.0 (2022-08-10)

Features

  • Don't record rspec test when appmap: false (09c4a24)

0.85.0 (2022-08-08)

Features

0.84.0 (2022-08-04)

Bug Fixes

  • Address stack overflow error with tracing? (f426210)
  • Handle nil class names (263f2fc)

Features

  • Label ActiveSupport::MessageEncryptor (38a7aeb)
  • Label crypto function with algorithm name (a7a9c61)
  • Label EncryptedKeyRotatingCookieJar.commit (8e1d015)
  • Label OpenSSL::Random (5c947a9)
  • Label Random (7572803)
  • Label the rest of OpenSSL::Cipher (7863b7b)
  • Make activesupport a runtime dependency (140a674)

0.83.6 (2022-08-01)

Bug Fixes

  • Catch an uncaught EINVAL on Windows when attempting to parse source code (9a152d8)

0.83.5 (2022-06-30)

Bug Fixes

  • Remove spec and test from the gem (ab2f6cb)

0.83.4 (2022-06-22)

Bug Fixes

  • Exclude AppMaps from the gem when packaging (a0634f0)

0.83.3 (2022-06-03)

Bug Fixes

  • Eval handler now works correctly even when not tracing (4c9c40a)

0.83.2 (2022-05-11)

Bug Fixes

  • Only warn if Hook::LOG is true (0ffd29e)

0.83.1 (2022-05-05)

Bug Fixes

  • Allow appmap_dir, language and additional properties (a3bb87c)

0.83.0 (2022-04-29)

Features

  • #before_setup is lang.eval.safe and deserialize.safe (cf03641)
  • pandoc-ruby is system.exec.safe (2b3ec8e)

0.82.0 (2022-04-27)

Bug Fixes

  • Guess 'app' as the source path (090f9f3)

Features

  • install command emits language, appmap_dir (f780095)

0.81.1 (2022-04-27)

Bug Fixes

  • AppMap format version is 1.7.0 (53b3f04)
  • Avoid return within a block (Ruby 2.5) (85094fd)

0.81.0 (2022-04-26)

Features

  • Add Ruby 2.5 to the version whitelist (945f7da)

0.80.2 (2022-04-26)

Bug Fixes

  • Ensure that request env key is a string (721baef)
  • Fix method_display_name (b05c7fe)

0.80.1 (2022-04-08)

Bug Fixes

  • Don't call #size on complex objects (3f19d1e)

0.80.0 (2022-04-08)

Bug Fixes

  • Don't record SQL within an existing event (ff37a69)

Features

  • Env var to EXPLAIN queries (740be75)
  • Optionally record parameter schema (b7f41b1)
  • query_plan is available whether a current transaction exists or not (6edf774)
  • Record parameter and return value size (6e69754)
  • Save render return value to a thread-local (f9d1e3f)

0.79.0 (2022-04-06)

Features

  • Use a more unique test database name (0eed036)

0.78.0 (2022-04-04)

Features

  • Hook and label Kernel#eval (e0c151d)

0.77.4 (2022-04-04)

Bug Fixes

  • Update Rails request handler to the new hook architecture (595b39a)

0.77.3 (2022-03-29)

Bug Fixes

  • Rescue exceptions when calling Class#to_s (f59f2f6)

0.77.2 (2022-03-25)

Bug Fixes

  • Pass the proper openapi-template arg (05cbfde)

0.77.1 (2022-03-24)

Bug Fixes

  • Add 3.1 as a supported version (453f6df)

0.77.0 (2022-03-22)

Features

0.76.0 (2022-03-19)

Features

0.75.0 (2022-03-17)

Features

  • Apply label deserialize.safe to ActiveSupport.run_load_hooks (1f67f9b)
  • Print stacks if requested by env var (72ef911)

0.74.0 (2022-03-14)

Bug Fixes

  • Apply special case hook handling to Kernel and instance_eval (25823ff)
  • Only apply a method hook to a class that defines the method (ede2236)
  • Optimize/improve string-ification of values (c9b6cdb)

Features

  • Improve hook performance by using bind_call (e09fce9)
  • Label system.exec, string.pack, string.html_safe (963c6dd)
  • Log initiation of each builtin hook (902a736)

0.73.0 (2022-03-07)

Bug Fixes

  • Remove GC before test case execution, because it's slow (d38695e)

Features

  • Use bind_call when its available (60d4fb5)

0.72.5 (2022-02-17)

Bug Fixes

  • Override method accessors to provide the correct signature (#223) (936bba4)

0.72.4 (2022-02-17)

Bug Fixes

  • Retain the proper signature on hooked methods (31e2de2)

0.72.3 (2022-02-14)

Bug Fixes

  • No longer bundle @appland/appmap with this gem (7bbad49)

0.72.2 (2022-02-11)

Bug Fixes

  • Ensure request headers includes all relevant fields (e866f68)

0.72.1 (2022-01-31)

Bug Fixes

0.72.0 (2022-01-24)

Bug Fixes

  • Fix a stack overflow when an override is prepended (540907b)
  • Hook the first class or module in the ancestor chain (8143f14)

Features

  • Label JSON, Marshal and YAML with (de)serialize (318d294)

0.71.0 (2022-01-19)

Features

  • Add labels for http.session.clear, dao.materialize, log (8e6784b)

0.70.2 (2022-01-12)

Bug Fixes

  • switch to activesupport's deep_dup implementation (7715f28)

0.70.1 (2021-12-10)

Bug Fixes

  • Use require_name as the default package 'path' for builtins (bcb4367)

0.70.0 (2021-12-08)

Features

  • Hook protected methods (a3722b5)
  • Report sub-packages for nested folders (dce709b)

0.69.0 (2021-12-01)

Features

  • Add labels for job creation and canceling (644fafe)

0.68.2 (2021-11-25)

Bug Fixes

  • Missing gems will no longer attempt to be hooked (ac6cf26)

0.68.1 (2021-11-12)

Bug Fixes

  • Support new style of functions syntax in appmap.yml (dca327c)

0.68.0 (2021-11-05)

Bug Fixes

Features

  • Externalize config of hooks (8080222)
  • Support loading hook config via path env vars (4856483)

0.67.1 (2021-11-02)

Bug Fixes

  • Don't try to index AppMaps when inspecting (ca18861)

0.67.0 (2021-10-21)

Bug Fixes

  • Ensure rack is available, and handle nil HTTP response (5e81dc4)
  • Handle WeakRef (852ee04)

Features

  • APPMAP_AUTOREQUIRE and APPMAP_INITIALIZE env vars to customize loading behavior (369807e)
  • Perform GC before running each test (84c895e)

0.66.2 (2021-10-07)

Bug Fixes

  • fix Travis for Ruby 3.0 (8ec7359)
  • Fix warning of circular import (84d456d)
  • Properly handle headers which aren't mangled by Rack (8e78e13)
  • replace deprecated File.exists? method (80ce5b5)
  • Validate presence package configuration (f478d6b)

0.66.1 (2021-09-29)

Bug Fixes

  • Fix compilation on macOS with Xcode 13 (8c66e08)

0.66.0 (2021-09-28)

Features

  • Add option for explicit 'require' in function config (1cf6c2a)
  • Builtin code such as Ruby Logger can be hooked via appmap.yml (779c9e5)

0.65.1 (2021-09-16)

Performance Improvements

  • Cache method metadata (d11e0f3)
  • Don't scan the backtrace on every SQL query (9bb7457)

0.65.0 (2021-09-14)

Bug Fixes

  • Require fileutils as needed (790c3a8)

Features

  • Add support for Ruby 3.0, and drop Ruby 2.5 (eba14e1)

0.64.0 (2021-08-24)

Features

  • Show config file name in validation messages (95520f8)

0.63.0 (2021-08-24)

Bug Fixes

  • Run yarn install --prod in ./release.sh (8cf73f0)

Features

  • Migrate from @appland/cli to @appland/appmap (81854e6)

0.62.1 (2021-08-06)

  • Ensure that node_modules is present in the release.

0.62.0 (2021-07-21)

Bug Fixes

  • Update @appland/cli version (e41fd65)

Features

  • Add 'depends' Rake tasks (a2e6793)
  • Add standalone appmap-index command (ee497c9)
  • Update @appland/cli to 1.3.0 (5821df3)
  • User no longer has to supply the command to run tests (7ac2fed)

0.61.1 (2021-07-16)

Bug Fixes

  • add DISABLE_SPRING flag by default (51ffd76)

0.61.0 (2021-07-14)

Features

  • check if rails is present in appmap-agent-validate (b584c2d)

0.60.0 (2021-07-08)

Features

  • add agent-setup-validate command (d9b3bc1)
  • validate ruby version (+ better config loading validation) (1756e6c)

0.59.2 (2021-07-08)

Bug Fixes

  • Remove improper reliance on Rails 'try' (c6b5b16)

0.59.1 (2021-07-08)

Bug Fixes

  • Events may be constructed in stages (b0b23f5)

0.59.0 (2021-07-07)

Features

  • define commands as objects (1b43203)

0.58.0 (2021-07-06)

Features

  • Add test_commands sections to appmap-agent-status executable (4cd8fe5)

0.57.1 (2021-07-02)

Bug Fixes

  • rename agentVersionPorject to agentVersion (905fc5d)

0.57.0 (2021-06-29)

Features

  • Update init command to return JSON (1f93e89)

0.56.0 (2021-06-28)

Features

  • add appmap-agent-status executable with config/project properties (043f845)

0.55.0 (2021-06-28)

Bug Fixes

  • Avoid calling == (f30ed9f)
  • Log dynamic loading of appmap helpers at info level (15dcd3c)
  • Remove dynamic loading of rake and rspec helpers (6790970)

Features

  • APPMAP_PROFILE_DISPLAY_STRING and APPMAP_OBJECT_STRING (3f5daa8)
  • Package name to require can be specified when hooking a gem (fcc5eb6)
  • Profile packaging hooking (c020a31)

0.54.4 (2021-06-27)

Bug Fixes

  • Only allow trace_end once per location (10e48cf)

0.54.3 (2021-06-25)

Bug Fixes

  • Get deployment working with packaging of NodeJS code (733c5b8)

0.54.2 (2021-06-25)

Bug Fixes

  • Require appmap/railtie if Rails is defined (66b4cbd)

0.54.1 (2021-06-25)

Bug Fixes

  • Add missing imports and remove deprecation warnings (f1cb087)
  • Workaround Ruby bug in 2.7.3 with kwrest (26e34ca)

0.54.0 (2021-06-24)

Bug Fixes

  • Handle new behavior in RSpec ExampleGroup (176d0df)

Features

0.53.0 (2021-06-23)

Features

  • appmap-agent-setup as a separate command not using GLI library (f0eedb7)

0.52.1 (2021-06-23)

Bug Fixes

  • Better project name guesser (d22f379)

0.52.0 (2021-06-22)

Features

  • Bundle NPM package @appland/cli with this gem (945e28c)

0.51.3 (2021-06-22)

Bug Fixes

  • Remove outdate lore, command, and algorithm code (d899989)

0.51.2 (2021-06-22)

Bug Fixes

  • Be less verbose when logging config messages (fba2fd0)
  • Method objects must support eql? and hash to ensure they are unique in a Set (f4d5b11)
  • Require rails, then appmap/railtie (07967a1)
  • Use a hybrid strategy to auto-requiring appmap modules (6fb09b8)

0.51.1 (2021-06-21)

Bug Fixes

  • Add missing require 'yaml' (1187a02)

0.51.0 (2021-06-21)

Features

  • Provide default appmap.yml settings (7fa8159)

0.50.0 (2021-06-17)

Bug Fixes

  • Remove appmap configuration in test cases which now occurs automatically (7391c4c)

Features

  • Direct minitest and rspec startup messages to the Rails log, when available (15f6444)
  • Enroll railtie, rspec, and minitest helpers automatically (1709374)
  • railtie enrolls the app in remote recording (3a1f8aa)

0.49.0 (2021-06-16)

Features

  • Add refinement to the labels (6a93396)

0.48.2 (2021-05-26)

Bug Fixes

  • Correct the method-hooking logic to capture some missing model methods (be529bd)

0.48.1 (2021-05-25)

Bug Fixes

  • Account for bundle path when normalizing source path (095c278)
  • Scan exception messages for non-UTF8 characters (3dcaeae)

0.48.0 (2021-05-19)

Features

  • Hook the code only when APPMAP=true (dd9e383)
  • Remove server process recording from doc and tests (383ba0a)

0.47.1 (2021-05-13)

Bug Fixes

  • Add the proper template function hooks for Rails 6.0.7 (175f489)

0.47.0 (2021-05-13)

Features

  • Emit swagger-style normalized paths instead of Rails-style ones (5a93cd7)

0.46.0 (2021-05-12)

Features

  • Record view template rendering events and template paths (973b258)

0.45.1 (2021-05-04)

Bug Fixes

  • Optimize instrumentation and load time (db4a8ce)

0.45.0 (2021-05-03)

Bug Fixes

  • Properly name status_code in HTTP server response (556e87c)

Features

  • Record http_client_request and http_client_response (1db32ae)
  • Update AppMap format version to 1.5.0 (061705e)
  • build: add deployment via semantic-release with automatic publication to rubygems (9f183de)

v0.44.0

  • Support recording and labeling of indivudal functions via functions: section in appmap.yml.
  • Remove deprecated exe/appmap.
  • Add test_status and exception fields to AppMap metadata.
  • Write AppMap file atomically, by writing to a temp file first and then moving it into place.
  • Remove printing of Inventory.json file.
  • Remove source code from classMap.

v0.43.0

  • Record name and class of each entry in Hash-like parameters, messages, and return values.
  • Record client-sent headers in HTTP server request and response.
  • Record HTTP server request mime_type.
  • Record HTTP server request authorization.

v0.42.1

  • Add missing require set.
  • Check cls.respond_to?(:singleton_class), since it oddly, may not.

v0.42.0

  • Remove feature_group and feature metadata from minitest and RSpec AppMaps.
  • Add metadata.source_location.

v0.41.2

  • Don't rely on gemspec.source_paths to list all the source locations in a gem. Hook any code that's loaded from inside the gem_dir.

v0.41.1

  • Make best effort to ensure that class name is not null in the appmap.json.
  • Don't try and instrument gems which are a dependency of the this gem.
  • Fix a nil exception when applying the exclude list to builtins.

v0.41.0

  • Adjust some label names to match provider.*, format.*.
  • Add global exclude list to appmap.yml which can be used to definitively exclude specific classes and methods.

v0.40.0

  • Parse source code comments into function labels.

v0.39.2

  • Correctly recognize normalized path info for subengines.

v0.39.1

  • Support Ruby 2.7.
  • Remove support for Rails 4.
  • Stop recommending -t appmap argument for rspec.

v0.39.0

  • Recognize and record normalized_path_info in Rails applications, per 1.4 AppMap format version.

v0.38.1

  • Package configuration can be shallow, in case which only the initial entry into the package is recorded.

v0.37.2

  • Fix ParameterFilter deprecation warning.

v0.37.1

  • Fix parameter mapping with keyword and rest arguments.

v0.37.0

  • Capture method source and comment.

v0.36.0

  • appmap.yml package definition may specify gem.
  • Skip loading the railtie if APPMAP_INITIALIZE environment variable is set to false.

v0.35.2

  • Make sure MethodEvent#display_string works when the value's #to_s and/or #inspect methods have problems.

v0.35.1

  • Take out hooking of IO and Logger methods.
  • Enable logging if either APPMAP_DEBUG or DEBUG is true.

v0.35.0

  • Provide a custom display string for files and HTTP requests.
  • Report mime_type on HTTP response.

v0.34.6

  • Only warn once about problems determining database version for an ActiveRecord connection.

v0.34.5

  • Ensure that hooking a method doesn't change its arity.

v0.34.4

  • Make sure AppMap:Rails::SQLExaminer::ActiveRecordExaminer.server_version only calls ActiveRecord::Base.connection.database_version if it's available.
  • Fix AppMap:Rails::SQLExaminer::ActiveRecordExaminer.database_type returns :postgres in all supported versions of Rails.

v0.34.3

  • Fix a crash in singleton_method_owner_name that occurred if __attached__.class returned something other than a Module or a Class.

v0.34.2

  • Add an extension that gets the name of the owner of a singleton method without calling any methods that may have been redefined (e.g. #to_s or .name).

v0.34.1

  • Ensure that capturing events doesn't change the behavior of a hooked method that uses Time.now. For example, if a test expects that Time.now will be called a certain number of times by a hooked method, that expectation will now be met.
  • Make sure appmap/cucumber requires appmap.

v0.34.0

  • Records builtin security and I/O methods from OpenSSL, Net, and IO.

v0.33.0

  • Added command AppMap.open to open an AppMap in the browser.

v0.32.0

  • Removes un-necessary fields from return events.

v0.31.0

  • Add the ability to hook methods by default, and optionally add labels to them in the classmap. Use it to hook ActiveSupport::SecurityUtils.secure_compare.

v0.30.0

  • Add support for Minitest.

v0.29.0

  • Add lib/appmap/record.rb, which can be required to record the rest of the process.

v0.28.1

  • Fix the defined_class recorded in an appmap for an instance method included in a class at runtime.
  • Only include the static attribute on call events in an appmap. Determine its value based on the receiver of the method call.

v0.28.0

  • Change behavior of AppMap.record to return a complete AppMap as a Hash.
  • Update README with information about recording Cucumber tests.
  • AppMap.initialize automatically runs when AppMap is required, unless disabled by environment variable APPMAP_INITIALIZE=false.
  • AppMap.hook no longer takes a configuration argument.
  • Add AppMap::Util.scenario_filename.

v0.27.0

  • Add AppMap.record to programatically record and capture an AppMap of a Ruby block.

v0.26.1

  • Fix a bug that caused duplicate entries in the list of frameworks that appear in the metadata section of an appmap.

v0.26.0

  • appmap upload is removed. Upload functionality has been moved to the AppLand CLI.

v0.25.2

  • Stop checking a whitelist to see if each SQL query should be recorded. Record all queries.

v0.25.1

  • Ensure that caught exceptions are re-raised.
  • Add safety around indexing potentially nil backtrace locations.

v0.25.0

v0.24.1

  • Fixes an issue which prevented a remote recording from returning scenario data successfully.
  • Remote recording routes now return descriptive status codes as intended.
  • Remote recording routes now have the correct Content-Type header.

v0.24.0

Internals of appmap-ruby have been changed to record each method event using alias_method, rather than TracePoint. Performance is much better as a result.

WARNING Breaking changes

  • Rack apps no longer generate http_server_request events.
  • appmap inspect has been removed. appmap-ruby no longer parses the source tree. Instead, it observes the methods as they are loaded by the VM. So, to get a class map, you have to create a recording. The RSpec recorder still prints an inventory to Inventory.appmap.json when it exits. The class map in this file contains every class and method which was loaded by any of the tests.

v0.23.0

  • appmap stats command added.

v0.22.0

  • RSpec recorder generates an "inventory" (AppMap with classMap, without events) named Inventory.appmap.json.
  • appmap inspect generates an inventory AppMap which includes version, metadata, and classMap. Previously, the file output by this command was the class map represented as an array.

v0.21.0

  • Scenario data includes recorder and client info, describing how the data was recorded.

v0.20.0

Updated to AppMap file format version 1.2.

  • Event message is now an array of parameter objects.
  • The value of each appmap: tags in an RSpec is recorded as a label in the AppMap file metadata.
  • layout is removed from AppMap file metadata.

v0.19.0

  • RSpec feature and feature group names can be inferred from example group and example names.
  • Stop using ActiveSupport::Inflector.transliterate, since it can cause exceptions.
  • Handle StandardError which occurs while calling #inspect of an object.

v0.18.1

  • Now tested with Rails 4, 5, and 6.
  • Now tested with Ruby 2.5 and 2.6.
  • explain_sql is no longer collected.
  • appmap/railtie is automatically required when running in a Rails environment.

v0.17.0

WARNING Breaking changes

  • appmap upload expects arguments user and org.
  • appmap upload receives and retransmits the scenario batch id
  • assigned by the server.

v0.16.0

WARNING Breaking changes

  • Record button removed. Frontend interactions are now recorded with a browser extension. As a result, AppMap::Middleware::RecordButton has been renamed to AppMap::Middleware::RemoteRecording

v0.15.1

  • Record button moved to the bottom of the window.

v0.15.0

WARNING Breaking changes

  • AppMap version updated to 1.1
  • Event parameters are reported as an array rather than a map, so that parameter order is preserved.
  • Event receiver reports the receiver/this/self parameter of each method call.

v0.14.1

  • RSpec recorder won't try to modify a frozen string.

v0.14.0

  • SQL queries are reported for SQLite.

v0.13.0

  • SQL queries are reported for ActiveRecord.

v0.12.0

  • Record button integrates into any HTML UI and provides a button to record and upload AppMaps.

v0.11.0

  • Information about language and frameworks is provided in the AppMap metadata.

v0.10.0

  • AppMap::Algorithm::PruneClassMap prunes a class map so that only functions, classes and packages which are referenced by some event are retained.

v0.9.0

  • appmap/rspec only records trace events which happen during an example block. before and after events are excluded from the AppMap.
  • appmap/rspec exports feature and feature_group attributes to the AppMap metadata section.

v0.8.0

  • appmap upload accepts multiple arguments, to upload multiple files in one command.

v0.7.0

  • appmap/railtie is provided to integrate AppMap recording into Rails apps.
    • Use gem :appmap, require: %w[appmap appmap/railtie] to activate.
    • Set Rails configuration setting config.appmap.enabled = true to enable recording of the app via the Railtie, and to enable recording of RSpec tests via appmap/rspec.
    • In a non-Rails environment, set APPMAP=true to to enable recording of RSpec tests.
  • SQL queries are reported as AppMap event sql_query data.
  • self attribute is removed from call events.

v0.6.0

  • Web server requests and responses through WEBrick are reported as AppMap event http_server_request data.
  • Rails params hash is reported as an AppMap event message data.
  • Rails request is reported as an AppMap event http_server_request data.

v0.5.1

  • RSpec test recorder is added.

v0.5.0

  • 'inspect', 'record' and 'upload' commands are converted into a unified 'appmap' command with subcommands.
  • Config file name is changed from .appmap.yml to appmap.yml.
  • appmap.yml configuration format is updated.

v0.4.0

Initial release.