14.2.0 (2023-08-16)
14.1.0 (2023-08-13)
14.0.0 (2023-08-04)
- Expand short paths on Windows (7e41bc2)
- Tolerate UNKNOWN errors on Windows (4f178f6)
- Wait a bit longer while spawning subcommands (9d6ff47)
- Remove support for Node 14 (66739e6)
- Support for Node 14 has been removed. Official support ended more than two months ago.
13.9.1 (2023-07-28)
- use static path in function path (84e5fbb)
13.9.0 (2023-05-15)
- add data url in JSON schema (f8abc37)
- do not crash on missing source map (d025826)
- more restrictive schema to improve error message (e1f5531)
- prevent infinite recursion on user-defined toString (d9a1715)
- solve oom issue on large test suite (773245e)
- use trully pure convertions (1416486)
- improve feeedback for large appmaps (0448fb8)
- make babel parsing options configurable by the user (f45d9c4)
- no longer always exit with 0 (3b6f55a)
- no longer requires the user to use jest --no-cache flag (d0b260a)
- use a more compact format to send message to the backend (aba0510)
13.8.0 (2023-04-27)
- Report unhandled exceptions (b1fb7e6)
13.7.0 (2023-04-13)
- can record files with external urls (c697916)
- record browser applications with man-in-the-middle proxy (e896646)
- support package and process matching against absolute url (fadae4e)
- add dead instance in source component (263756e)
- cache browser recorder bundle to speed up html instrumentation (662d759)
- frontend no longer validate data (13cfc30)
13.6.0 (2023-03-14)
- cleanup JUMP_TAB in generator to support Generator.prototype.return (361afc3)
- cleanup JUMP_TAB in generator to support Generator.prototype.throw (0e390ed)
- no longer log undefined for the source url (e5caf45)
- use command-options.cwd to load jest config (8b8a70c)
- support jest.config.js as esm (e2cd6b6)
13.5.2 (2023-03-03)
13.5.1 (2023-02-22)
- add loc on manufactured empty ast (6f64aa3)
- more robust ast lookup (54bf1f5)
- only use the last extension segment of urls for parsing (fae2458)
13.5.0 (2023-02-17)
- do not crash if a source file is missing (15374c5)
- handle default indirection on transformer (5fd1a54)
- resolve recorder for unparsed commands (8c8b6f7)
- support jest transformer that directly returns string (000dd6f)
- appmap clients can be launched separately from appmap server (75fcd20)
- endless mode for batch when there is no command (f290399)
- improve server logging (58eddb1)
- parse package invocation with yarn (ea1f465)
- support recording of concurrent node processes (a4fc3f9)
- compile backend tracks one by one during flushing (18112b2)
13.4.0 (2023-02-11)
- reverse order of apply summary (1a29c1d)
- support for function exclusion on the frontend (a5c968e)
- support for smart postmortem-function-exclusion (259574b)
13.3.0 (2023-02-10)
- correct assertion argument order (de59d4b)
- regularly flush appmaps from backend (cdd0ef5)
13.2.1 (2023-02-07)
- make pure serialization actually pure (65e04a2)
13.2.0 (2023-02-02)
- support for dynamic sources (f169292)
13.1.2 (2023-02-01)
- Ignore duplicate async events (b44937a)
13.1.1 (2023-02-01)
- wrap root function before exclusion (185e50f)
13.1.0 (2023-01-31)
- support jest preset (15c5e5e)
13.0.1 (2023-01-25)
- add undefined check for sourceRoot in source map (6b1873b)
- allow jest transformer in separate context (731dcc0)
- support running jest test in separate context (2160e65)
- unique dynamic url for eval source (9880202)
13.0.0 (2023-01-20)
- instrument jest tests with transformers (de5e92f)
- allow query hook config to be null (c5eeae7)
- programs are directly spawned by default (0f5bbcf)
- tokenize every commands (637cbab), closes /github.com/nodejs/node/blob/e58ed6d855e1af6579aaa50471426db8881eea99/lib/child_process.js#L619
- use where.exe to locate missing exec on windows (facd76d)
- By default, programs are no longer spawned inside a shell. Rather, they are directly spawned with a system call.
12.2.0 (2023-01-11)
- support additional command patterns for mocha and jest (e9c84b7)
12.1.2 (2022-12-17)
- more lenient source map url parsing (7656c39)
- resilient zipping of arguments and parameters (4920efc)
- return yield value intead of undefined (dd93c64)
- use sourcesContent instead of contents in source map (f1ae3b4)
12.1.1 (2022-12-14)
- add missing bundles (22ccf0d)
12.1.0 (2022-12-13)
- adequate homepage even if the agent is missing (606aaf0)
- use file urls to specify node loader (6f49b2c)
- make status independent from uncaught error (9c9a93f)
- more precise track termination (97a598d)
- support jest (26ed907)
12.0.0 (2022-11-21)
- add separator for source root concatenation (3b9da2b)
- no longer reset source column between source map groups (66e2dc6)
- support incompatible source urls (8fe9a5c)
- use regexp instead of glob to exclude external files (085848d)
- remove outdated configuration fields (5e44ad4)
- rewrite classmap processing (a72a4f2)
- remove null fields from appmap (5537f07)
function-name-placeholder
andanonymous-name-separator
are ignored.- Nested functions are now represented alongside their class container. Function class container are necessary to represent nested functions because the classmap format does not allow for functions to have children. For instance,
function f () {}
was represented before as{type:"class", name:"f", children:[{type:"function", name:"<placeholder>"}]}
. Now it is represented as:[{type:"class", name:"f", children:[]}, {type:"function", name:"f"}]
. The class container is removed if it has no children. - Files are represented as classes rather than packages. Plus their name no longer contain the file extension. Also, they are removed if the file does not contain top-level functions. Files as classes are necessary to provide a
defined_class
value to functions. - Top level files are nested within a package named:
.
. That is because classes are not allowed at the root level of classmap. - More aggressive naming. Before the agent would name code objects accordingly to the rule of dynamic function naming. For instance,
var f = (x) => {}
would cause the arrow to be namedx
. However,var f = test ? (x) => {} || (y) => {}
would cause both arrows to have no name. The new naming algorithm is more aggressive to help reduce the number of anonymous code objects. - Anonymous code object are always named
[anonymous]
. This is likely to change in the future.
11.7.1 (2022-11-07)
- provide path instead of url to spawn (5ad873e)
- use error.name instead of constructor identity (d217b59)
- remove outdated violation search param (324aaeb)
11.7.0 (2022-10-28)
- better feedback on incompatible mocha version (1c2e718)
11.6.0 (2022-10-22)
- add missing configuration property (ee267c3)
- handle absolute windows path when resolving url (b673238)
- more portable line splitting for .env files (7f8d0d8)
- normalize windows filename case (df29f33)
- use all cap env variable name (b7f834f)
- use file urls in NODE_OPTIONS (f0959d8)
- use import.meta.url instead of require self package (3257c25)
- use pure serialization for hash values (c652bd4)
- add configuration file when missing (1214979)
- change default package exclusion (0a0bfa1)
- consider SHELL env variable to define posix shell (32fd562)
- default recorder is process instead of remote (341a1fa)
- preserve parsed command in configuration-accessor (505c27b)
- provide feedback if the stack overflows (7a4e2b6)
- support node-fashion shell command option (48a0946)
11.5.3 (2022-10-07)
11.5.2 (2022-09-27)
- resolve invalid format marker and detect future occurences (f7a4205)
11.5.1 (2022-09-22)
- restore config id in schema for external installer (618ef2a)
- send only one error to the backend on disconnect (1b42487)
11.5.0 (2022-09-14)
- account for file changes between fs calls (8fb5629)
- avoid calling getters during serialization (7a23367)
- re-enable support for node 17 (e554d6e)
- shorthand for begin/end group event pair (cf04077)
11.4.0 (2022-09-10)
- support node18 (caca2a4)
11.3.0 (2022-09-09)
- add body to manufactured http events for completion (b3b05cf)
- adhere to the appmap spec for error format (3ee5da4)
- conform to appmap spec for metadata git (e524791)
- group frame in trace post-processing (b3fbe60)
- handle http headers which are not strings (499d204)
- insert symbolic link instead of copying main file (b905dba), closes /github.com/vercel/next.js/blob/7e5cb510c4155572d0b251db34845d34fd078480/packages/next/lib/get-project-dir.ts#L3
- make sure all payload field satisfy the schema (8d28927)
- make sure http response status is in the right format (96bbcde)
- more lenient monkey-patching (cb392b3)
- move recording of server side request to capture initial event (cdf65c1)
- no longer overwrite configuration.log.level with error (61d67c7)
- properly report unknown configuration field (1728c56)
- show the children of excluded functions (c41b3ae)
- source-map is not a dev-only module (fa278b8)
- remove recording methods from the API (aa85b7d)
- support eval instrumentation (02821b1)
- write appmaps with formatted json (28b1df0)
11.2.0 (2022-08-16)
- add specific serialization data for array and hash (49da5d4)
- capture http response body (a6f3ffe)
- generate 1.8.0 appmaps (a931920)
11.1.0 (2022-07-04)
- always append the recorder name to the output directory (aff3ab1)
11.0.0 (2022-06-22)
- sanitize language version before passing it to acorn (2595030)
- support extension of unrecognized configuration field (8ee69b6)
- use more robust import of acorn (e6b6e2d)
- allow extra root properties in configuration file (3cbcec0)
- more lenient language and engine configuration field (f9eef3d)
- support only string format for engine config field (838464e)
- use appmap_dir and appmap_file instead of output config field (bcad7b7)
- use the constant javascript string for language's config field (c28c273)
- whitelist some external but expected root config properties (ddbb914)
- The output configuration field is no longer recognized.
- It is no longer possible to provide a custom extension for appmap files.
- name-version object format for engine configuration field is no longer supported
- the agent will throw an error if the language configuration field is anything else than 'javascript'
- It is no longer possible to tell acorn to parse the code to be instrumented as a particular ecmascript version. Instead, we now always use the latest version. This should not cause problems because ecmascript is backward-compatible.
10.1.0 (2022-06-07)
- add missing separator in appmap path (8dedccf)
- verify that toString method returned a string (ea17330)
10.0.1 (2022-02-18)
- use write instead of end to show results (af3235f)
10.0.0 (2022-02-11)
- use static hook name (9931785)
- add recording methods to recorder api (2fcebda)
- rename some API methods (61560d4)
- tweak the API and update the reference doc (c518b17)
- createAppmap becomes createAppMap, appmap.startTrack becomes appmap.startRecording, and appmap.startTrack becomes appmap.stopRecording
9.4.4 (2022-01-29)
- bin file is now commonjs instead of native module (f729934)
- rename noop engine into engines in package.json (9d05d81)
9.4.3 (2022-01-26)
- add glob to dependencies instead of devDependencies (2317abc)
9.4.2 (2022-01-21)
- Improved node version compatibility (646692e)
9.4.1 (2022-01-19)
- Fix the version constraints used by status (dfd2514)
9.4.0 (2022-01-17)
- handles absolute windows path in
sources
of source maps (a4c89a3)
- commands are now executed via a shell rather than directly spawned (9e8cfa1)
9.3.1 (2022-01-12)
9.3.0 (2022-01-12)
- do not crash on invalid package.json (7926926)
9.2.0 (2022-01-11)
- proper support for extension-less node binary files in windows (3a5eaca)
9.1.2 (2022-01-10)
- Allow CLI installation on Windows (8001465)
9.1.1 (2022-01-09)
- failing assertion on identity of emit method (cd7817d)
- avoid installing the agent twise in npm system test (b412f40)
9.1.0 (2022-01-07)
- change user-provided label format in comments (0ef6534)
9.0.1 (2022-01-06)
- node --require needs explicit dot in relative paths (579ccdf)
9.0.0 (2022-01-06)
- windows-support (70d2c66)
- Commands are no longer interpreted using
/bin/sh
. Rather, they are understood as simply the path / name of an executable followed by its arguments. This the easiest and most portable approach and it should be sufficient for most cases. However, in the future we might want to use the npm approach where commands are interpreted by/bin/sh
on unix platforms andcmd.exe
on Windows platforms. We could also be using PowerShell on Windows and interpret the command as shell programs across all platforms.
8.8.4 (2022-01-04)
- Get rid of top-level awaits (48d03b0)
8.8.3 (2021-12-24)
- handle manufactured apply events which have a null location (2f07433)
8.8.2 (2021-12-15)
- default exclusion list (fde422f)
8.8.1 (2021-12-08)
- avoid recording some http requests from the agent (d769574)
8.8.0 (2021-12-08)
- additional logging for diagnosing instrumentation filtering (d73d39a)
8.7.1 (2021-12-07)
- sanitize basename before writting files (5f93d3e)
8.7.0 (2021-12-06)
- more robust source location serialization via JSON (8e04712)
- enable all hooks by default (04a9940)
8.6.4 (2021-12-06)
- better handle location urls which already have a hash segment (6374195)
8.6.3 (2021-12-04)
- log instead of crash on location url which contain hash (5dd1c4b)
8.6.2 (2021-12-04)
- log instead of crashing on unrecoverable parsing error (3b16f41)
8.6.1 (2021-12-04)
- consistent default import of commonjs modules (8c237b2)
8.6.0 (2021-12-03)
- more advanced function filtering (448d80f)
- switch default collapse-package-hiearchy to false (a82dcae)
8.5.0 (2021-12-02)
- add labels to functions in classmap (f4a2939)
8.4.4 (2021-12-02)
8.4.3 (2021-11-26)
- Ensure full result gets written (0692a2e)
8.4.2 (2021-11-25)
- Fix the status subcommand route (3efa57d)
8.4.1 (2021-11-24)
- Make the status subcommand available (ea2d3b5)
8.4.0 (2021-11-24)
8.3.0 (2021-11-19)
- add collapse-package-hierarchy configuration field (1b07687)
8.2.5 (2021-11-17)
- build now start from scratch dist folder (2520cf7)
8.2.4 (2021-11-17)
- warn instead of crash when fail to parse git description (431ca41)
8.2.3 (2021-11-16)
- add license field (1d00be9)
8.2.2 (2021-11-15)
- add sometimes missing function in classmap (696741e)
8.2.1 (2021-11-12)
- tweak some shell commands (e9fd83d)
8.2.0 (2021-11-12)
- pruning now acts on classes and packages. (23c2207)
8.1.1 (2021-11-12)
- support for relative paths in source map data url (8b2c082)
8.1.0 (2021-11-12)
- improved exclusion mechanism (b14e965)
- path package specifier is now recursive by default (cbf6b34)
- remove setup command from help message (669fc75)
8.0.1 (2021-11-12)
- only print ignore message when loader is enabled (86b36c4)
8.0.0 (2021-11-11)
- scenario now discriminate against dedicated key rather than name (f2ff33b)
- Scenarios are now entered as an object rather than an array. The scenario configuration field is a regular expression that is tested agaisnt the keys of this object. Before it was tested against the name of the app (the name configuration field recently became the name of the app instead of the name of the appmap) which did not make much sense.
7.3.1 (2021-11-11)
7.3.0 (2021-11-11)
- support for more CLI named argument (d1428e3)
7.2.0 (2021-11-11)
- support --help and --version aliases (0bd7f74)
7.1.2 (2021-11-11)
- now executable help prints help instead of version (923fadc)
7.1.1 (2021-11-10)
- files are not instrumented if not listed in packages (ef7d9a0)
7.1.0 (2021-11-10)
- help and version in CLI (3bb79b2)
7.0.0 (2021-11-10)
- standardized some configuration fields (f8b2c35)
- Configuration fields
app
andname
are respectively renamed toname
andmap-name
.
6.7.0 (2021-11-10)
- more lenient source map data url parsing (fb57927)
6.6.0 (2021-11-10)
6.5.0 (2021-11-09)
- add default recorder (4e38676)
6.4.0 (2021-11-09)
- cwd is now attached to command rather than command-options (add102f)
- tweak default configuration fields (7eff84c)
- intercept-track-port now accepts a regular expression (92c583e)
- support input command as positional arguments (80b365a)
- warning instead of failure on missing sql npm package (2c5e5eb)
6.3.3 (2021-11-08)
- support for new node module loader hooks (99f0d9e)
6.3.2 (2021-11-02)
- valid urls for manufactured events (95eb0b7)
6.3.1 (2021-11-02)
- no longer crash on package url other than 'data:' or 'file:' (6233055)
- warning instead of failing upon http activity after closing (bbc3aca)
6.3.0 (2021-11-02)
- check mocha version before yielding control to mocha cli (3bfb515)
6.2.0 (2021-11-01)
- support for data url in source maps (ea52da2)
6.1.0 (2021-10-29)
- remove constraint to share recorder accross selected scenario (aa0f0c7)
6.0.0 (2021-10-28)
- revamp scenario feature in the configuration (e31411e)
- Revamped scenario feature in the configuration. The configuration format accepts a command field (parsed arrays are no longer supported). Scenarios are just configuration (the fork and spawn format are no longer supported). The mode configuration field has been removed (redundant with the recorder field).
5.2.2 (2021-10-25)
- make sure to not access 'this' in child constructors (4b3969a)
5.2.1 (2021-10-25)
- use posix-socket-messaging instead of fs.writeSync (ed2acf7)
5.2.0 (2021-10-24)
- remove files from package.json, use npm ignore instead (4fb337e)
- in case of closure source map location miss check one column after (292c1d2)
5.1.2 (2021-10-24)
- code entities in objects properties are no longer discarded (b5d3b08)
5.1.1 (2021-10-24)
- use mozilla's [email protected] instead of (flawed) node's builtin (72cc494)
5.1.0 (2021-10-22)
- normalization path now handles properly multiple '..' in succession (4d70273)
- recovery when failing to read files related to source map (2decdeb)
5.0.0 (2021-10-22)
- configuration field 'packages' acts on sources instead on generated javascript code
- change configuration field
source
intoinline-source
4.0.1 (2021-10-08)
- integration tests now fail on promise rejection (4f2c03c)
4.0.0 (2021-10-08)
- abandon unknown group strategy, with a slightly more complex instrumentation correct groups can be retrieved (2883230)
- adapt hook query to new sync api (8c04898)
- add @appland/appmap-validate in production dependencies (60b96dc)
- add before/after events in each track's slice (0309e07)
- add lib/abomination.js file in npm package (4c08891)
- add missing storables in some request responses (76930f7)
- add parameters into event.message instead of event.http_server_request.paramaters (8cb2c2d)
- add shallow information to message schema (671bf9d)
- add shallow to message >> trace >> file (6cf4725)
- basic mistakes in bin (67ecf29)
- better adhere to specification for http hooking (def6c04)
- better adhere to the doc (cdff50c)
- better emitter spying which relies on overwritting emit instead of hacky tricks (1fd4a89)
- bugs related to integration (623f667)
- bump to appmap v1.6.0 and truncate value in parameters (bafab9f)
- bundle and fork events (ee9bfd2)
- continuous indexing (477892c)
- correct a bug in the manufactoring algorithm (1027446)
- correct manufactured data for trace completion (c69534e)
- correct wrong key for overwritting events (2ed6675)
- cwd-agnostique builder (6e3b820)
- disable automated asynchronous jump for the time being (f937971)
- don't crash anymore on anonymous names (9920000)
- enable mysql test (another mysql server was running on local system) (9e3fb06)
- event id now better reflect the timeline (09aaaae)
- fake prompts now works as real prompts (df09e44)
- fix and test client component (ee9957e)
- fix and test client http2 (3068dc8)
- fix and test http1 server component (f815348)
- fix and test instrumentation (83bc534)
- fix and test interpretation (fa5563b)
- fix and test tcp server (e36f370)
- fix bin file (89cb2ef)
- fix corner case where done stuff was marked too early (40da18b)
- flaten protype for backend session's response (support object rest) (5355aaf)
- force npx mocha to always spawn (258c0fb)
- function expression without identifier are now correctly marked as anonymous (ba84081)
- generate warning instead of error when attempting to send a message after session end (846fc7c)
- group are now correctly communicated between the hook and the trace (7a73f5c)
- group for after await jump is now null instead of invalid (e00c6d1)
- handle case where asynchronous id is declared but does not appear (258b6a7)
- handle hashbang (96fe08b)
- handle manufactured event which has no associated function in the appmap (afdf81a)
- handle the case where events are fired within the initial request event of a server (1beb685)
- http request's message field is now an array of parameter as it should (70ed1c6)
- http server response bundle now encompass all listeners (2654b7b)
- improve transparency of sqlite3 hooks (4cac0c8)
- integration (3ce3d91)
- invalid logging format (4e77c08)
- keep jumps within marker bundles (but remove them bundle is skipped) (ea304d9)
- made event.method_id and event.defined_class match corresponding object in the classMap (27e1a86)
- make sure groups do not mess up jumps ordering (6a75df0)
- minor issues in config questionnaire (78dd9d9)
- more robust and faster manufactoring algorithm (dee4833)
- multiple fixes on instrumentation component, now completely tested (3799538)
- no longer output callstack frames but a flat list of stack-ordered events (ddd81df)
- now metadata better adheres to appmap spec (e51e674)
- numerous fixes on: util, expect, and log (8703dc6)
- portable path in test (1f92216)
- prevent null values in recording object (bdf67bc)
- proble with cwd in batch (1f645d8)
- properly use the fact that it is the module nature and not how it is imported that defines in which cache it will be be placed (cjs vs esm) (cf5f4e4)
- remove duplicate stout from main test (308a9da)
- remove node-version from configuration.childeren (5d72714)
- remove wrong assumption that async hooks are never nested (f66a8b2)
- resolved conflicts (d39070c)
- set encoding for stderr && allow for normalized hook format (efda2c8)
- set pid to runtime (5621718)
- setup entry point (e24c622)
- several integration issues (0bbff44)
- sort events based on ids before writting (be257f9)
- specific event for thread notifying link between threads (99a685f)
- support for default values in function parameters (af7c978)
- test and fix new cleaned util (5cd83c5)
- test storage (684ab91)
- time is now expressed in second rather than in milliseconds (e370670)
- update interpretation, client and storage with the new dependency injection model (33904ba)
- update json schema (a015c74)
- update mysql test to look more like postgres test (93b909b)
- update server to new dependencies injection model (13a7e04)
- update trace generation with new configuration output format (3af8b17)
- update validate with new schema (a1324fb)
- updating instrumentation to comnponents (8181146)
- use a unique thread_id for every event handling (1c9ab09)
- util fixed and tested (89b38b5)
- various bugs detected by intergration (602c797)
- various fixes (3ad558d)
- various small fixes (c957d22)
- explicit the two separate channels: trace vs track (91f424d)
- (recursively) add output directory if it does not exist (b36abc2)
- add bundle/jump model into the schema (fabb4a5)
- add configuration option to enable source (disable by default)) (313a4cd)
- add local-track-port as a forward to track-port (which does not require a session) (b235617)
- add log levels (d9d6d9e)
- add log-level as configuration option (dcdcbfe)
- add shallow to file message && deactivate mysql test because of unknown failure (d703269)
- add SIGINT handling to gracefully shutdown (1e68950)
- add SIGINT handling to interrupt scenarios execution (4fd1cfc)
- add source and comment for functions in classmap (89c75ee)
- add two events: bundle and fork for ordering the stack (75f8866)
- also verify os and node version for setup (61bf9b3)
- always provide a defined_class name for events (299c423)
- backend glue component and update server (6da7831)
- bake validation in and make available as configuration option (11a8f62)
- better default behaviour for configuration (bef0305)
- better error reporting when failing json schema (b8aed5b)
- change mode configuration field (c01e596)
- CLI to help creating configuration files (badeeb9)
- config CLI when config file is missing (9d53ee3)
- configuration can be extended with a null directory, and it will crash if the directory was needed (4c9ae3e)
- configuration support naming children which are now called scenarios (7429d33)
- default protocol: inline (0b5216a)
- dynamic component build (c5be9b7)
- easier to understand configuration (85a106b)
- either util library (cc6a99a)
- engine detection (fa5f343)
- expect is now a component and have different behaviours (fd8f4ab)
- experiment bundle/jump on sqlite3 (441c180)
- explicit diff between disabled port (null) and random port (0) (55c3dca)
- express (6d155d2)
- extended capabilities of manual recording with remote recording (f2a20cc)
- files are now packages instead of classes, also the classMap is now cleanup from agent's specific fields (8ddfc27)
- fill some gaps in entry points but not tested (12c2b50)
- first attempt at main (4c04d8c)
- frame data structure (bdc464b)
- function names are now duplicated into method_id (af6de0e)
- hook mysql client (8368a44)
- http hook (f9d371f)
- implement and test postgres hooking (77fd51c)
- implement and test runner (d2f1793)
- implement asynchronous jump in trace post-processing (1089ca6)
- implement manufacturing, event remain to be tested (2966e95)
- implement sqlite3 hook (87c8bee)
- log is now a component and have different behaviours (a054ce2)
- log level configurable as environment variable (82b6fbe)
- made available remote server (9cb8c50)
- manual recorder (e50e583)
- match document configuration options (65226b3)
- metadata (168a2c5)
- mocha recorder (9621c54)
- more automated build process which provides default components (57fe80e)
- more explicit output options (and remove indent) (045c414)
- mysql query hook (fa08ff4)
- new callstack ordering (dfb3abb)
- new empty recorder for supporting http remote recording requests (b13fc7f)
- new event data compilation (c6db2e4)
- pg hook (43c465c)
- port configuration from main branch (f716621)
- port hook for grouping asynchronous events (3be8d94)
- port hook module from main branch (10f29d1)
- port validation from main branch (7a44554)
- post processing of event trace to recover stack structure (9850cc9)
- progress on node entry point (82532e1)
- progress on post processing the trace (d7143c9)
- propagate bundle/jump model to hooks (30ff104)
- provide a type tag to anonymous names (452154f)
- provide more information when a json schema failed (cf99888)
- provide unique names (counter-based) to anonymous code objects (b6657f4)
- relative paths in classMap and events instead of absolute paths (089ea6e)
- reverse defined_class and method_id field && disable toString on functions (58ed1a1)
- revert to duplicating names for function code objects (efd3936)
- serilization now better matches requirements in the appmap spec (6f842bd)
- setup clo (8cdf658)
- shallow mode (a6d03b9)
- simpler more inline with the spec naming (4c9f58b)
- sketch of manufacture (f78b719)
- small adjustements to facilate implementing entry points (11f4a06)
- split trace between tracks (5e119ec)
- sqlite3 hook (92306ea)
- start porting configuration (d4cfbdc)
- starting a track now requires a path to solve relative paths (90a5fd2)
- static build can be scoped to reduce footprint (e0e83b3)
- stored vs served appmap are not longer tied to traceClient vs trackClient (4b549fb)
- strip extension when naming appmap file based on main path (149fda6)
- support esm on mocha thanks to the abomination (d92865c)
- support express normalized path and parameters (8f2bdad)
- support for arbitrary slice of trace (5978fd7)
- support for regexp in exclude elements (0217d0f)
- support for regular expressions in exclude (a4a7ab0)
- support for remote recording on batch (344485d)
- support intercept port for remote recording (2279a62)
- switch to fuction name only in method_id (309ce0a)
- title (14eb852)
- trace post processing of new bundle/jump model (5f925ce)
- use @ character to denote the name of an unbound node (b3f3b3b)
- warn instead of fail when missing conf file (486a7cb)
- remove enabled and mode configuration field
- Configuration changes: 'ordering' instead of 'hooks.group' and 'processes' separated from 'enabled'.
- rename configuration keys:
port -> trace-port
,protocol -> trace-protocol
, andremote-recording-port -> track-port
. - The trace should be looking like a single big trace now.
3.2.0 (2021-05-28)
- support for node12 (latest still maintained node version)) (74d1056)
3.1.2 (2021-05-21)
- add ajv schema yml (63de260)
3.1.1 (2021-05-21)
- bump to push new npm version (f4bc231)
3.1.0 (2021-05-21)
- catch network error (due to ECONRESET) and less globs and more regexp) (7a14afb)
- correct a few bugs where the client and the server protocol did not match (2c44044)
- fix infinite http recursion and change conf format to conform to initial values (4ca1ff9)
- test child spawning and correct a few bugs linked to client expect checks (471b955)
- various bug fixes and better seperation of errors between the base and the meta layer (cc80044)
- add hook for http request (3421530)
- add https hooking (598d87e)
- add inline extends field for configuration and embeded cwd (e4addf3)
- cosmetic improvements (eafc86a)
- provide more options to the user to spawn child processes (61522a3)
3.0.0 (2021-05-13)
- eslint (4383c7e)
- eslint the entire project (e230a6b)
- merge from ci (615afde)
- more robust error reporting for configuration throuhg haskell--inspired either (31b9a68)
- updated instrumentation to new error handling and runtime variables (f28eefc)
- add termination for entire dispatcher to ensure appmaps are saved on disk (c2fb027)
- done refactoring the server still need testing (f333032)
- extensive refactoring of the client to support flexible recording (18974f7)
- user can now spawn multiple child processes (c338c29)
- The way to launch a process-wide client has been modified. The client can now be recorded through a library as well.
2.12.1 (2021-04-30)
- disabled processes will no longer hook require/import (1037385)
2.12.0 (2021-04-29)
- provide more options to output appmaps (9046f0e)
2.11.0 (2021-04-29)
- support for glob pattern for the 'enabled' configuration option (707cc97)
2.10.0 (2021-04-29)
- update build with latest changes (57b766a)
- it is now possible to disabled recording on process-scale (8b45199)
2.9.0 (2021-04-28)
- cache to prevent appmaps from overwritting themselves and add default map name (8724059)
2.8.1 (2021-04-28)
- remove legacy code dependent on node's argument rather than NODE_OPTIONS (0ce1b42)
2.8.0 (2021-04-28)
- use NODE_OPTIONS instead of node's argv which provides automatic support for child_process (b9c1dd3)
2.7.1 (2021-04-28)
- fix argv processing in bin/index (bab6a53)
2.7.0 (2021-04-28)
- merge from ci (f0940f6)
- better handling of node version to diagnose requirements issue (cd900ac)
2.6.0 (2021-04-27)
- improved command line interface (5ed31b4)
2.5.0 (2021-04-22)
- pull from alpha (a8b4d11)
- all metadata are now included in config and initialization query provides more info (cc4640f)
2.4.0 (2021-04-21)
- propagate hook-child-process cli argument to forked processes (ea6af3b)
2.3.0 (2021-04-21)
- child_process methods can now be hooked so that their spawn processes are also instrumented (f34132b)
2.2.0 (2021-04-20)
- update remaining of the application to new configuration feature (6fed62b)
- add support for package listing and exclusions and use json schema validator (ffa3c3f)
2.1.2 (2021-04-19)
- update posix-socket-messaging (625fd8c)
2.1.1 (2021-04-15)
- path to bin (e537164)
2.1.0 (2021-04-15)
- eslint (b44cf23)
- rely on more comptible curl options (b501a8d)
- run eslint and prettier (93b34f8)
- run eslint and prettier (266fe27)
- added new communication channel between server and client (35a7ff0)
- replace fork channel by messaging channel (31e85c2)
- http optimized empty body when null return (d3be7ec)
2.0.1 (2021-04-04)
- correct outdated global variable (PROCESS_ID and SEND) (a784eaa)
2.0.0 (2021-04-04)
- added current env variables to spawn inline client which is necessary for PATH) (dc4224e)
- correct some erroneous appmap methods (4361823)
- fix inversion argument between client and server for instrument query and lint-related fixes (2148505)
- forgot some files in the big refactoring commit (aef71ed)
- lint all (23471dd)
- lint lib (3b6a05b)
- more linent test on current repostory url (failed with travis)) (24dd21b)
- start testing the client (c581b88)
- config system is now more flexible (465a918)
- easier bin call (86f1b6d)
- implement hooks for commonjs and native modules and refactor the architecture (14d1cee)
- Some old environment variables no longer work
- The way the agent is invoked is completely changed
1.0.2 (2021-03-30)
- add hashbang to bin (0219d9e)
1.0.1 (2021-03-30)
- added bin to package json (6ac7995)
- match appmap name with target file name (4619f3d)