-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
112 lines (91 loc) · 4.19 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Revision history for Trait::Traced
v0.0.1:
- Implement support for tracing routine calls
- Implement support for tracing methods of types
- Implement support for tracing multi methods of types
v0.1.0:
- Make tracing thread-safe.
- Implement the API for custom tracers that was a skeleton prior. This
abstracts most of the logic for stringifying traces out of any classes
that handle tracing, and formally introduces the common output format that
all types of traces will be expected to use.
- Fix some bugs in routine tracing. This includes tracing of both the proto
and multi of a multiple dispatch routine throwing, and redundantly traced
methods of a traced type tracing calls to the internal TRACED-ROUTINE
routine.
v0.1.1:
- Fix compiler error on Rakudo v2019.11.
v0.1.2:
- Make routine call tracing more accurate when threads are involved by
optimizing Traced::Routine.entries.
v0.2.0:
- Implement support for tracing private methods.
- Implement support for tracing metamethods.
- Implement support for tracing stash lookups, binds, and assignments.
- Properly make traced call frame tracking thread-safe.
- Fix bug where traced routines would claim their name is TRACED-ROUTINE
instead of the original routine's name.
v0.2.1:
- Optimize trace timestamp generation. This makes it so traces take a
negligable amount of time to generate.
v0.2.2:
- Only map routine parameters to call arguments if they were actually
passed.
v0.3.0:
- Introduce Tracer, a class providing an API for formatting trace output.
- The default way of formatting traces included with this library is now
handled by Tracer::Default.
- Introduce Traced categories in addition to their existing types.
- Make the default tracer's output easier to read and parse by moving
trace categories and types from traces' headers to their titles and
indenting value output when they include newlines.
- Don't throw failures or exceptions returned by traced events.
v0.3.1:
- Update README to include v0.3.0's style of trace output
v0.4.0:
- Add support for tracing variable and attribute assignments.
- Fix usage of fputs on platforms other than OpenBSD, where it wasn't being
used properly anyways.
- Fix a longstanding issue with how traced routines were handled in modules
and with how they handled outer lexical variables.
v0.4.1:
- Fix a bug where attributes would always claim to have Trait::Traced as
their package.
v0.4.2:
- Fix a bug where Tracer::Default would throw when attempting to unlock
file handles when locking them fails.
v0.4.3:
- Optimize routine tracing by around 12.5%.
- Fix a bug in Traced::Routine's parameter to argument mapping where
arguments corresponding to aliases of named parameters would never get
mapped.
v0.4.4:
- Fix Traced::Routine "self" parameter detection on newer Rakudo versions.
v1.0.0:
- Eliminated NativeCall as a dependency.
- Refactored the internal Traced/Tracer API, introducing Tracee for
transforming traces to output.
- Deprecated Tracer::Default.
- Documented the new internal API.
v1.0.1:
- Fix traced exceptional events not restoring the call frame count after
tracing.
- Permit tracing of variables and attributes potentially carrying a
subclass of Scalar for a container.
- Prevent traced @/% containers' STORE method from giving its return value
an RO container.
v1.0.2:
- Remove Trait::Traced::Utils (a module necessary in pre-v1.0.0 days).
v1.0.3:
- Make Tracee::Bitty and Tracee::Pretty instantiable. By keeping newlines
as state and deconting in standard-y tracers, tracing can become around
10% faster in some cases.
v1.0.4:
- Do not trace private methods that do not belong to traced types (e.g.
private methods of roles done by a traced class).
v1.1.0:
- Introduced Tracer::Memory, a lock-free, in memory tracer.
- Trial run GitHub Actions in lieu of Travis as the CI.
v1.1.1:
- Compatibility updates for the upcoming dispatch changes to Rakudo.
- The default branch has been changed from master to main.