Byteman 1.2 Release Notes ------------------------- Release Notes - Byteman - Version 1.2.2 ** Bug * [BYTEMAN-80] - Byteman fails to inject rules attached to class X whenever subclass Y extends X gets loaded before X * [BYTEMAN-82] - PlusExpression interprets long arithmetic as if it were char arithmetic and generates a Chaarcter result * [BYTEMAN-83] - Enabling dump can cause rule injection to fail silently * [BYTEMAN-84] - Documentation is still referring to old location of byteman sources ** Feature Request * [BYTEMAN-4] - asm classes embedded in byteman jar should be obfuscated using jarjar to avoid clashes with asm classes deployed by applications * [BYTEMAN-81] - Implement assignment operator * [BYTEMAN-85] - Allow use of new operator in rule expressions Release Notes - Byteman - Version 1.2.1 ** Bug * [BYTEMAN-66] - Transformation of overridden versions of inetrface rules is not always workign correctly * [BYTEMAN-67] - Parser misclassifies CLASS rules after first INTERFACE rule * [BYTEMAN-68] - Type checker does not check if field accesses use correct static/instance field type. * [BYTEMAN-69] - listing scripts that were started with multiple script: arguments is broken * [BYTEMAN-71] - Helper class should use remove() ** Feature Request * [BYTEMAN-72] - Helper class should provide a Timer feature * [BYTEMAN-74] - be able to get the version of the Byteman agent at runtime * [BYTEMAN-75] - be able to list the system and boot jars that were added to the classpath * [BYTEMAN-76] - be able to get and set system property configuration settings * [BYTEMAN-77] - be able to hot-configure byteman via sysprop changes ** Task * [BYTEMAN-70] - Enable access to stacked return value in AT EXIT rules by binding $! to reference it * [BYTEMAN-78] - document new sys prop org.jboss.byteman.sysprops.strict * [BYTEMAN-79] - document new arguments to the submit cmdline client ** Sub-task * [BYTEMAN-73] - document the Timer built-in Helper feature in the user guide Release Notes - Byteman - Version 1.2.0 ** Bug * [BYTEMAN-46] - Multiple method matches reported as an error * [BYTEMAN-55] - -s is really -b * [BYTEMAN-57] - potential NPE * [BYTEMAN-59] - Mention of Transformer class in Main is causing some classloader weirdness * [BYTEMAN-61] - Documentation of rule ordering is incorrect for AFTER rules * [BYTEMAN-63] - OperExpression.writeTo is failing because ConditionalEvalExpression constructor uses the wrong oper type * [BYTEMAN-65] - Type errors or compile errors can occur when a ruel matches multiple methods on the same class ** Feature Request * [BYTEMAN-49] - Add support for rules on interfaces * [BYTEMAN-52] - Provide sample scripts which include useful tasks such as tracing JVM execution * [BYTEMAN-54] - support custom port to start listener * [BYTEMAN-56] - make Submit more of a Java client * [BYTEMAN-60] - Make subnit and bmjava scripts port and host aware * [BYTEMAN-64] - Type checking script needs improving and needs to be aware of overriding and interface rules ** Task * [BYTEMAN-58] - Add support for injecting rules down method implementation hierarchies Release Notes - Byteman - Version 1.1.1 ** Bug * [BYTEMAN-37] - listener option is being interpreted the wrong way round * [BYTEMAN-38] - waiter is not deleted after signalWake(key, true) causing subsequent waitFor to return imediately * [BYTEMAN-39] - Compilation of arithmetic fails to generate correct code * [BYTEMAN-40] - Return operator compilation fails to apply required primitive type conversions to return value * [BYTEMAN-43] - Waiter.waitFor() sometimes appears signalled without actually having been signalled * [BYTEMAN-44] - ThrowExpression.typecheck throws a null pointer exception when the thrown type is invalid * [BYTEMAN-45] - bytemancheck.sh builds wrong class path * [BYTEMAN-47] - Throw actions are not printed correctly * [BYTEMAN-48] - Failure to print exception name after parsing ** Feature Request * [BYTEMAN-41] - Byteman should allow transformation of java.lang classes on request * [BYTEMAN-42] - Add new builtins trace(message) and traceln(message) as aliases for, respectively, trace("out", message) and traceln("out", message) * [BYTEMAN-50] - Allow undesirable recursive triggering of rules to be avoided * [BYTEMAN-51] - Provide script to simplify installation and configuration of byteman agent * [BYTEMAN-53] - The build script should install all build products into an install directory as per the release bundles ** Task * [BYTEMAN-33] - Improve capabilities of agent dynamic upload listener Release Notes - Byteman - Version 1.1.0 ** Bug * [BYTEMAN-25] - Classes loaded before the Transformer is registered are not subject to rule transformation * [BYTEMAN-27] - AT ENTRY trigger is not injected unless class is compiled with line number info included * [BYTEMAN-30] - Arrays parsing, type checking and compilation manifest various errors * [BYTEMAN-31] - String plus expressions fail when either operand is null * [BYTEMAN-32] - Rules should be retrospectively applied to loaded classes irrespective of the redefine: option * [BYTEMAN-34] - Rule compilation fails with NPE when injecting rule code into bootstrap loaded classes * [BYTEMAN-35] - Compilation of throw expressions miscalculates stack heights * [BYTEMAN-36] - Throw actions are compiled incorrectly and end up throwing the wrong type of exception ** Task * [BYTEMAN-26] - Add support for dynamic loading/redefinition of rules once the program is running Release Notes - Byteman - Version 1.0.3 ** Bug * [BYTEMAN-9] - Some types in java.lang cannot be mentioned in rules without the package qualification * [BYTEMAN-10] - Cannot omit package qualifier when specifying class and method for AT/AFTER CALL trigger location * [BYTEMAN-11] - TestScript class used for offline parsing and type checking does not recognise as trigger method * [BYTEMAN-12] - Cannot specify class with or class with package qualifier when specifying field for AT/AFTER READ/WRITE trigger location * [BYTEMAN-13] - Parsed string literals fail == tests because they are not interned * [BYTEMAN-14] - Type checker does not automatically all java.lang types if they are mentioend without package qualification * [BYTEMAN-15] - Transformer associates enclosed try catch blocks with wrong synchronization blocks (invalid open enters count) * [BYTEMAN-16] - Line numbers are being reported wrongly * [BYTEMAN-17] - Type Checker does not correctly resolve an inner class name to a class if the former is used as a helper * [BYTEMAN-20] - addCountDown Helper method should be named createCountDown to be consistent * [BYTEMAN-21] - Default helper trace implementation does not install "out" and "err" as names for System.err and System.out * [BYTEMAN-22] - AT SYNCHRONIZE trigger injection breaks Control Flow Graph lookup of monitorenter lock object ** Feature Request * [BYTEMAN-18] - Helper should provide a deleteRendezvous method * [BYTEMAN-19] - Provide built-ins to enforce join dependencies between threads * [BYTEMAN-23] - Method parameters cannot be referred to by their symbol names * [BYTEMAN-24] - Allow BIND clause to be optional Release Notes - Byteman - Version 1.0.2 ** Bug * [BYTEMAN-1] - rules with AT EXIT trigger locations throw a NullPointerException if the trigger method contains try catch blocks * [BYTEMAN-2] - Byteman fails with when using JDK 6 with an ASM error about the EXPAND_FRAMES option * [BYTEMAN-5] - parser fails to process AT/AFTER CALL trigger locations where the method includes a signature * [BYTEMAN-6] - signature of readCounter, incrementCounter and decrementCounter inlcudes wrong return type * [BYTEMAN-7] - bytemancheck.sh script is severely broken