-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
105 lines (56 loc) · 4.5 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
0.8.0 Added code of diStorm library to make easier the gem install (no previous install of diStorm are required now)
0.7.5 Fixed issue 13 (Segmentation fault in ruby 1.9)
0.7.4 Fixed issue 12 (Compile error for ruby 1.9)
0.7.3 Fixed issue 10 (Compile Error in i486 Arch (-ldistorm64 not found) )
0.7.2 Fixed issue 9 by ruby-wrapping properly the rallhook thread info including the garbage collector mark function of
the ruby wrapper
Removed hotfix of issue 9 improved in version 0.7.1, thread support restored
0.7.1 Fixed issue 9 ( http://github.com/tario/rallhook/issues#issue/9 ), "broken" object is processed by the GC due the impossibility of avoid
the deletion of an object of class Redirect returned by handle_method. The hotfix disabled the GC at each redirection and enable
it again each time that a WRAPPER redirection concludes. Also the GC are re-enabled when the hook block is terminated.
MULTI-THREAD SUPPORT DISABLED
This hotfix changes a flag, the global state of GC enabled. Due this flag is not by thread, concurrency executions of hook blocks
in many thread simulaniously has unexpected and maybe undesirable behaviours
The thread support will be added again to the next patch version 0.7.2
0.7.0 Concurrency support, any thread can hook without affect the hook state of the other threads
Restrictions about overwrite instance methods disabled
Added class shadows to confine the behaviour added throught methods to hook state
Implemented UboundMethod#unchecked_bind to bind methods of different classes
0.6.1 Fixed bug on binding of class methods in Object#specific_method
0.6.0 Implemented method UboundMethod#body
Improved compatibility of test cases with ruby1.9 and ruby1.8 behaviour
Implemented Object#specific_method to lookup methods by klass and method_id
Delete overload of Object#method
0.5.0 Security Improved: Restricted define of singleton methods over classes when hook is enabled
Added special check for Object#binding to avoid change the binding behaviour with method redirection
Security improved: Added hook of rb_add_method to avoid the overwriting of any method
Security improved: Fixed leaks of hooking methods by making all methods called over Hook illegal if hook state is enabled
More helpers to make easier to use. (see MethodHandler class)
Documented methods and classes to generate useful RDoc
Internal refactoring to split the logic of rallhook, hooking, method_handle invoke, etc... and the modification of the ruby interpreter with hook calls, etc...
0.4.1 Fixed bug in the hook module
0.4.0 Fixed bug in the version numbering
0.3.1 Added new method of intercept calls
Changed interface of handlling of methods (see README and examples) to avoid errors in the handling of yield functions in ruby1.8
New internal method of hook fixe many many bugs
Fixed fastcall convention calls in i386, hooks and detection of calling convention
Fixed compatibility issues with ruby1.8 and ruby1.9 in i386
Rakefile configured to build extensions automatically at gem install
0.3.0: Compatibility with ruby1.8 on i386 (tested with ruby 1.8.6 patchlevel 111 in ubuntu 8.04)
Compatibility with ruby1.9 on i386 (tested with ruby 1.9.0 in ubuntu 8.04)
Compatiblity with ruby1.8 on x86_64 (tested with ruby 1.8.7 patchlevel 72 in ubuntu 9.04)
Compatibility with ruby1.9 on x86_64 (tested with ruby 1.9.0 r17482 in ubuntu 9.04)
New method introspection features (see README for examples)
0.2.1: Fixed issue #3: corrupted block arguments in hooking ( http://github.com/tario/rallhook/issues/issue/3 )
Added testcase to test the issue #3
Added some automatic tests of integrity of the modified interpreter
0.2.0: Fixed RAII issues in RallHook::hook method
Changed version of package to 0.2.0 to avoid "malformed" version number
0.2.0-rc1: Added "TagContainer trick" to fix the issue #2: undesirable nest at super call with block ( http://github.com/tario/rallhook/issues/issue/2 )
Added klass parameter to hooked_send, fixing the issue #1: undesirable nest at super call ( http://github.com/tario/rallhook/issues/issue/1 )
Added classes and methods to read method body info as the file and line where that method was defined
obj.method(:foo).body.file
obj.method(:foo).body.line
0.1.1: Changed hooking and unhooking mechanism in the call of the handler of hooks
to make it internal at rallhooking (calling of hook and unhook from the call method are unnecesary now)
0.1.0: implemented basic hooking as PoC of rallhook, basic example works fine