Current (7.11.0)
Fixed: GITHUB-3180: TestNG testng-failed.xml 'invocation-numbers' values are not calculated correctly with retry and dataproviders (Krishnan Mahadevan)
Fixed: GITHUB-3170: Specifying dataProvider and successPercentage causes test to always pass (Krishnan Mahadevan)
Fixed: GITHUB-3028: Execution stalls when using "use-global-thread-pool" (Krishnan Mahadevan)
Fixed: GITHUB-3122: Update JCommander to 1.83 (Antoine Dessaigne)
Fixed: GITHUB-3135: assertEquals on arrays - Failure message is missing information about the array index when an array element is unexpectedly null or non-null (Albert Choi)
Fixed: GITHUB-3140: assertEqualsDeep on Sets - Deep comparison was using the wrong expected value
Fixed: GITHUB-3189: Incorrect number of ignored tests displayed in the XML results
Fixed: GITHUB-3196: support to execlude somes tests in option of command line

7.10.2
Fixed: GITHUB-3117: ListenerComparator doesn't work (Krishnan Mahadevan)

7.10.1
Fixed: GITHUB-3110: Update from testng 7.9.0 to 7.10.0 break maven build with junit5 (Krishnan Mahadevan)

7.10.0
Fixed: GITHUB-3000: Method predecessors lookup and/or method sorting is broken in certain inheritance and naming setups (Krishnan Mahadevan)
Fixed: GITHUB-3095: Super class annotated with ITestNGListenerFactory makes derived test class throw TestNGException on execution (Krishnan Mahadevan)
Fixed: GITHUB-3081: Discrepancy with combination of (Shared Thread pool and Method Interceptor) (Krishnan Mahadevan)
Fixed: GITHUB-2381: Controlling the inclusion of the listener at runtime (Krishnan Mahadevan)
Fixed: GITHUB-3082: IInvokedMethodListener Iinvoked method does not return correct instance during @BeforeMethod, @AfterMethod and @AfterClass (Krishnan Mahadevan)
Fixed: GITHUB-3084: Document project's PGP artifact signing keys (Krishnan Mahadevan)
Fixed: GITHUB-3079: Associate a unique id with every test class object instantiated by TestNG (Krishnan Mahadevan)
Fixed: GITHUB-3040: replace the usages of synchronized with ReentrantLock (Krishnan Mahadevan)
Fixed: GITHUB-3041: TestNG 7.x DataProvider works in opposite to TestNG 6.x when retrying tests. (Krishnan Mahadevan)
Fixed: GITHUB-3066: How to dynamically adjust the number of TestNG threads after IExecutorFactory is deprecated? (Krishnan Mahadevan)
New:   GITHUB-2874: Allow users to define ordering for TestNG listeners (Krishnan Mahadevan)
Fixed: GITHUB-3033: Moved ant support under own repository https://github.com/testng-team/testng-ant (Julien Herr)
Fixed: GITHUB-3064: TestResult lost if failure creating RetryAnalyzer (Krishnan Mahadevan)
Fixed: GITHUB-3048: ConcurrentModificationException when injecting values (Krishnan Mahadevan)
Fixed: GITHUB-3050: Race condition when creating Guice Modules (Krishnan Mahadevan)
Fixed: GITHUB-3059: Support the ability to inject custom listener factory (Krishnan Mahadevan)
Fixed: GITHUB-3045: IDataProviderListener - beforeDataProviderExecution and afterDataProviderExecution are called twice in special setup (Krishnan Mahadevan)
Fixed: GITHUB-3038: java.lang.IllegalStateException: Results per method should NOT have been empty (Krishnan Mahadevan)
Fixed: GITHUB-3022: Remove deprecated JUnit related support in TestNG (Krishnan Mahadevan)

7.9.0
Fixed: GITHUB-2019: Total thread count in testng parallel tests with dataproviders (Krishnan Mahadevan)
Fixed: GITHUB-3006: ITestResult injected at @AfterMethod incorrect when a configuration method failed (Krishnan Mahadevan)
Fixed: GITHUB-2980: Data Provider Threads configuration in the suite don't match the documentation (Krishnan Mahadevan)
Fixed: GITHUB-3003: BeforeClass|AfterClass with inheritedGroups triggers cyclic dependencies (Krishnan Mahadevan)
New:   Added @Inherited to the Listeners annotation, allowing it to be used in forming meta-annotations. (Pavlo Glushchenko)
Fixed: GITHUB-2991: Suite attributes map should be thread safe (Krishnan Mahadevan)
Fixed: GITHUB-2974: Command line arguments -groups and -excludegroups override defined groups in a suite xml file (dr29bart)
Fixed: GITHUB-2961: "Unexpected value: 16" error when multiple beforeMethod config methods with firstTimeOnly property run before a test (Krishnan Mahadevan)
Fixed: GITHUB-2904: Add location of docs Github to readme and contributions page (Mohsin Sackeer)
Fixed: GITHUB-2934: Parallel Dataproviders & retries causes test result count to be skewed (Krishnan Mahadevan)
Fixed: GITHUB-2925: Issue in ITestcontext.getAllTestMethods() with annotation @BeforeSuite (Krishnan Mahadevan)
Fixed: GITHUB-2928: The constructor of TestRunner encountered NBC changes in 7.8.0 (Krishnan Mahadevan)
Fixed: GITHUB-581: Parameters of nested test suites are overridden(Krishnan Mahadevan)
Fixed: GITHUB-727 : Fixing data races (Krishnan Mahadevan)
Fixed: GITHUB-2913: Maps containing nulls can be incorrectly considered equal (Alex Heneveld)

7.8.0
Fixed: GITHUB-2906: Generate testng-results.xml per test suite (Krishnan Mahadevan)
New:   GITHUB-2897: Not exception but warning if some (not all) of the given test names are not found in suite files. (Bruce Wen)
New:   GITHUB-2907: Added assertListContains and assertListContainsObject methods to check if specific object present in List (Dmytro Budym)
Fixed: GITHUB-2888: Skipped Tests with DataProvider appear as failed (Joaquin Moreira)
Fixed: GITHUB-2884: Discrepancies with DataProvider and Retry of failed tests (Krishnan Mahadevan)
Fixed: GITHUB-2879: Test listeners specified in parent testng.xml file are not included in testng-failed.xml file (Krishnan Mahadevan)
Fixed: GITHUB-2866: TestNG.xml doesn't honour Parallel value of a clone (Krishnan Mahadevan)
Fixed: GITHUB-2875: JUnitReportReporter should capture the test case output at the test case level
Fixed: GITHUB-2771: After upgrading to TestNG 7.5.0, setting ITestResult.status to FAILURE doesn't fail the test anymore (Julien Herr & Krishnan Mahadevan)
Fixed: GITHUB-2862: Allow test classes to define "configfailurepolicy" at a per class level (Krishnan Mahadevan)
Fixed: GITHUB-2796: Option for onAfterClass to run after @AfterClass (Oliver Hughes)
Fixed: GITHUB-2857: XmlTest index is not set for test suites invoked with YAML (Sergei Baranov)
Fixed: GITHUB-2880: Before configuration and before invocation set 'SKIP' when beforeMethod is 'skip' (Bob Shi)
Fixed: GITHUB-2886: testng-results xml reports config skips from base classes as ignored (Krishnan Mahadevan)

7.7.1
Fixed: GITHUB-2854: overloaded assertEquals methods do not work from Groovy (Krishnan Mahadevan)

7.7.0
Fixed: GITHUB-2852: [SECURITY] Fix Zip Slip Vulnerability (Jonathan Leitschuh)
Fixed: GITHUB-2792: JUnitTestClass sets XmlTest as null when running JUnit 4 Tests using TestNG (Krishnan Mahadevan)
Fixed: GITHUB-2847: Deprecate support for running JUnit tests (Krishnan Mahadevan)
Fixed: GITHUB-2844: Deprecate support for running Spock Tests (Krishnan Mahadevan)
Fixed: GITHUB-550: Weird @BeforeMethod and @AfterMethod behaviour with dependsOnMethods (Krishnan Mahadevan)
Fixed: GITHUB-893: TestNG should provide an Api which allow to find all dependent of a specific test (Krishnan Mahadevan)
New: Added .yml file extension for yaml suite files, previously only .yaml was allowed for yaml (Steven Jubb)
Fixed: GITHUB-141: regular expression in "dependsOnMethods" does not work (Krishnan Mahadevan)
Fixed: GITHUB-2770: FileAlreadyExistsException when report is generated (melloware)
Fixed: GITHUB-2825: Programmatically Loading TestNG Suite from JAR File Fails to Delete Temporary Copy of Suite File (Steven Jubb)
Fixed: GITHUB-2818: Add configuration key for callback discrepancy behavior (Krishnan Mahadevan)
Fixed: GITHUB-2819: Ability to retry a data provider in case of failures (Krishnan Mahadevan)
Fixed: GITHUB-2308: StringIndexOutOfBoundsException in findClassesInPackage - Surefire/Maven - JDK 11 fails (Krishnan Mahadevan)
Fixed: GITHUB:2788: TestResult.isSuccess() is TRUE when test fails due to expectedExceptions (Krishnan Mahadevan)
Fixed: GITHUB-2800: Running Test Classes with Inherited @Factory and @DataProvider Annotated Non-Static Methods Fail (Krishnan Mahadevan)
New: Ability to provide custom error message for assertThrows\expectThrows methods (Anatolii Yuzhakov)
Fixed: GITHUB-2780: Use SpotBugs instead of abandoned FindBugs
Fixed: GITHUB-2801: JUnitReportReporter is too slow
Fixed: GITHUB-2807: buildStackTrace should be fail-safe (Sergey Chernov)
Fixed: GITHUB-2830: TestHTMLReporter parameter toString should be fail-safe (Sergey Chernov)
Fixed: GITHUB-2798: Parallel executions coupled with retry analyzer results in duplicate retry analyzer instances being created (Krishnan Mahadevan)

7.6.1
Fixed: GITHUB-2761: Exception: ERROR java.nio.file.NoSuchFileException: /tmp/testngXmlPathInJar-15086412835569336174 (Krishnan Mahadevan)
7.6.0
Fixed: GITHUB-2741: Show fully qualified name of the test instead of just the function name for better readability of test output.(Krishnan Mahadevan)
Fixed: GITHUB-2725: Honour custom attribute values in TestNG default reports (Krishnan Mahadevan)
Fixed: GITHUB-2726: @AfterClass config method is executed for EACH @Test method when parallel == methods (Krishnan Mahadevan)
Fixed: GITHUB-2752: TestListener is being lost when implenting both IClassListener and ITestListener (Krishnan Mahadevan)
New:   GITHUB-2724: DataProvider: possibility to unload dataprovider class, when done with it (Dzmitry Sankouski)
Fixed: GITHUB-217: Configure TestNG to fail when there's a failure in data provider (Krishnan Mahadevan)
Fixed: GITHUB-2743: SuiteRunner could not be initial by default Configuration (Nan Liang)
Fixed: GITHUB-2729: beforeConfiguration() listener method should be invoked for skipped configurations as well(Nan Liang)
Fixed: assertEqualsNoOrder for Collection and Iterators size check was missing (Adam Kaczmarek)
Fixed: GITHUB-2709: Testnames not working together with suites in suite (Martin Aldrin)
Fixed: GITHUB-2704: IHookable and IConfigurable callback discrepancy (Krishnan Mahadevan)
Fixed: GITHUB-2637: Upgrade to JDK11 as the minimum JDK requirements (Krishnan Mahadevan)
Fixed: GITHUB-2734: Keep the initial order of listeners (Andrei Solntsev)
Fixed: GITHUB-2359: Testng @BeforeGroups is running in parallel with testcases in the group (Anton Velma)
Fixed: Possible StringIndexOutOfBoundsException in XmlReporter (Anton Velma)
Fixed: GITHUB-2754: @AfterGroups is executed for each "finished" group when it has multiple groups defined (Anton Velma)

7.5
Fixed: GITHUB-2701: Bump gradle version to 7.3.3 to support java17 build (ZhangJian He)
Fixed: GITHUB-2646: Streamline Logging Across TestNG (Krishnan Mahadevan)
Fixed: GITHUB-2658: Inheritance + dependsOnMethods (Krishnan Mahadevan)
Fixed: GITHUB-2664: Order for DependsOnGroups has changed after TestNg 7.4.0 (Krishnan Mahadevan)
Fixed: GITHUB-2501: TestNG 7.4.0 throws an exception "sun.net.www.protocol.file.FileURLConnection cannot be cast to java.net.HttpURLConnection" when xml file contain "ENTITY SYSTEM" grammer (Krishnan Mahadevan)
Fixed: GITHUB-2693: TestNG ignores 'dataproviderthreadcount' CLA (Krishnan Mahadevan)
Fixed: GITHUB-2685: TestInvoker should clear Thread.interrupted flag before calling ITestListeners (Roman Morskyi)
Fixed: GITHUB-2684: AfterGroups config annotation does not consider retries for tests (Roman Morskyi)
Fixed: GITHUB-2689: Yaml parser: implement loadClasses flag (Dzmitry Sankouski)
Fixed: GITHUB-2676: NPE is triggered when working with ITestObjectFactory (Krishnan Mahadevan)
Fixed: GITHUB-2674: Run onTestSkipped for each value from data provider (Krishnan Mahadevan)
Fixed: GITHUB-2672: Log real stacktrace when test times out. (cdalexndr)
Fixed: GITHUB-2669: A failed retry with ITestContext will lose the ITestContext. (Nan Liang)
Fixed: GITHUB-2643: assertEquals(Set,Set) now ignores ordering as it did before. (Elis Edlund)
Fixed: GITHUB-2653: Assert methods requires casting since TestNg 7.0 for mixed boxed and unboxed primitives in assertEquals.
Fixed: GITHUB-2229: Restore @BeforeGroups and @AfterGroups Annotations functionality (Krishnan Mahadevan)
Fixed: GITHUB-2563: Skip test if its data provider provides no data (Krishnan Mahadevan)
Fixed: GITHUB-2535: TestResult.getEndMillis() returns 0 for skipped configuration - after upgrading testng to 7.0 + (Krishnan Mahadevan)
Fixed: GITHUB-2638: "[WARN] Ignoring duplicate listener" appears when running .xml suite with <listeners> and <suite-files> (Krishnan Mahadevan)
Fixed: GITHUB-1297: Passed configuration methods appear in testng-failed.xml, when failure was after passed test (Dzmitry Sankouski)
New: Decouple configuration unit tests from main suite (Dzmitry Sankouski).
Fixed: GITHUB-2536: Problems with Nested Test Classes (Krishnan Mahadevan)
Fixed: GITHUB-2558:Make IExecutionListener, ITestListener, IInvokedMethodListener, IConfigurationListener, ISuiteListener finish method with reverse order (dianny)
Fixed: GITHUB-2532: Apply commandline switches for suites in jar files (Dzmitry Sankouski).
Fixed: GITHUB-2558: Make IExecutionListener, ITestListener, IInvokedMethodListener, IConfigurationListener, ISuiteListener execute in the order of insertion (Krishnan Mahadevan)
Fixed: GITHUB-2611: Config Failures not included in testng-failed.xml when its part of a different test class (Krishnan Mahadevan)
Fixed: GITHUB-2613: Ignored Tests are not retrieved for a mixed test class (test with enabled, disabled and ignored test method) (Krishnan Mahadevan)
Fixed: GITHUB-849: Performance improvement by fixing hashCode (testn & Vladimir Sitnikov)
Fixed: GITHUB-2570: Use Guice injector for instantiate IRetryAnalyzer (Krishnan Mahadevan)
Fix: use proper instances for beforeClass callback when different instances collide on hash codes
Fixed: Fix parallel and configfailurepolicy parsing in tr_TR locale
Fixed: Wrong results from GuiceBasedObjectDispenser when there's Object#hashCode collision
Changed: GITHUB-2564: Source code is split into several modules for better modularity in the future (for now only a combined jar is released as it was before)
Added: GITHUB-2564: Added license files as META-INF/LICENSE.txt within the released jar
Test: GITHUB-2564: Added pax-exam-based OSGi test to verify the manifest
Changed: GITHUB-2564: Migrated the build to Gradle 7.0.2
Fixed: GITHUB-2576: Guice 5.0 drops no-aop variant, so TestNG should probably upgrade and avoid no-aop dependency (Nan Liang)
Fixed: GITHUB-2566: Reporter#getOutput(ITestResult tr) uses Map.get(tr.hashCode()) which might result in surprising results (Krishnan Mahadevan)
Fixed: GITHUB-2565: Dataprovider only supporting a raw type for Iterator return type (Krishnan Mahadevan)
Fixed: GITHUB-2557: Flaky test: ThreadAffinityTest#testThreadAffinity (Krishnan Mahadevan)
Fixed: GITHUB-2567: MethodHelper#CANONICAL_NAME_CACHE is never reset, so it could result in a memory leak (Krishnan Mahadevan)
Fixed: GITHUB-2540: assertEquals(Collection) need check order (Stuart Marks & Julien Herr)
Fixed: GITHUB-2360: Groovy 3 internal generated methods are detected as test methods (Ian Springer)
Fixed: GITHUB-2522: TestNG 7.4.0 Can not skip test through listener (Nan Liang)
Fixed: GITHUB-2529: Link to testng.xml in CONTRIBUTING.md file was dead
Fixed: GITHUB-2521: The method has a separate string with 'invocation-number' parameters for each failure (does not group) in 'testng-failed.xml' file for DataProvider + Factory (Pavel Sakharchuk)
Fixed: GITHUB-2426: New feature TestNG - getFactoryMethodParamsInfo on ConfigurationMethod (Krishnan Mahadevan)
Fixed: GITHUB-2517: Factory data-provider parameters not displayed in 'testng-failed.xml' file (Pavel Sakharchuk)
Fixed: GITHUB-279: Guice dependency injection into listeners and reporters (Krishnan Mahadevan)
Fixed: GITHUB-2504: Data provider data cannot be populated to onTestStart hook when BeforeMethod is failed (Krishnan Mahadevan)
Fixed: GITHUB-2489: Hierarchical base- and test-class @AfterClass methods out of order using groups (Krishnan Mahadevan)
Fixed: GITHUB-2493: Avoid NPE from TextReporter execution when a dataprovider method provides null (baflQA)
Fixed: GITHUB-2483: Asymmetric not equals (cdalexndr)
Fixed: GITHUB-2486: assertSame/assertNotSame broken after GITHUB-2296 (Vitalii Diravka)
Fixed: GITHUB-2490: assertNotEquals returns fast when argument is null, not calling equals(Object) (Anindya Roy)
Fixed: GITHUB-2500: Mention in assertEqualsNoOrder doc that arrays are not compared deeply (Marcono1234)
Fixed: GITHUB-2544: TestNG Retry Fails on complex data-provider arguments (Anindya Roy)

7.4.0
New  : GITHUB-2459: Support configurable start time - emailable report (Barry Evans)
Fixed: GITHUB-2467: XmlTest does not copy the xmlClasses during clone (C.V.Aditya)
Fixed: GITHUB-2469: Parameters added in XmlTest during AlterSuiteListener not available in SuiteListener (C.V.Aditya)
Fixed: GITHUB-2296: Fix for assertEquals not working for sets as order is not guaranteed. (Prashant Maroti)
Fixed: GITHUB-2465: Fix bux where Strings.join returns empty String
Fixed: GITHUB-1632: throwing SkipException sets iTestResult status to Failure instead of Skip (Julien Herr & Krishnan Mahadevan)
New  : GITHUB-2456: Add onDataProviderFailure listener (Krishnan Mahadevan)
Fixed: GITHUB-2445: NPE in FailedReporter.java With Tests Created in Factory (Arham Jain)
Fixed: GITHUB-2428: Configuration methods have the same test class instance when @Factory is being used (Nan Liang)
Fixed: GITHUB-2440: Fixed an issue when case timeout returned an incorrect exception and effect the next other test case (Yao Ma)
New:   GITHUB-2407: Adds "overrideIncludedMethods" to the global config as a command-line argument, which excludes explicitly included test methods if they belong to any excluded groups (Nikhil Suri)
Fixed: GITHUB-2432: Rework MethodInheritance.fixMethodInheritance to "soft" dependencies (Krishnan Mahadevan)
Fixed: GITHUB-2429: Seggregate Dependency Injection out as a clear implementation (Krishnan Mahadevan)
Fixed: GITHUB-2435: getParameterIndex() always return 0 in test listener
Fixed: GITHUB-2406: TestNG 7.3.0 transitive vulnerability CVE-2020-11022 and CVE-2020-11023 due to JQuery 3.4.1  (Krishnan Mahadevan)
Fixed: GITHUB-2405: Regression: Using TestNG via Maven breaks when optional Guice dependency is unavailable (Krishnan Mahadevan)
Fixed: GITHUB-2427: Guice module (suite parent-module and test module) configure() method is called multiple times (Jacek Centkowski)
Fixed: GITHUB-2419: TestNG JUnit reports are not valid if system output contains XML tags (Lorenzo Orsatti)
Fixed: GITHUB-188: suite parallel="methods" does not work when there are multiple <test> tags in the testng.xml (Krishnan Mahadevan)
Fixed: GITHUB-346: When a method is annotated with both BeforeGroups and AfterGroups only AfterGroup is executed (Krishnan Mahadevan)
Fixed: GITHUB-2403: Suite.xml files attempt to make web request when suite references standard TestNG DTD using HTTP (Krishnan Mahadevan)
New:   GITHUB-2385: Make @Listeners can work for implemented interfaces and Inherited class (Nan Liang)
Fixed: GITHUB-2053: MethodHelper.collectAndOrderMethods() Hangs when Parallel Instance and dependsOnGroups (Krishnan Mahadevan)
Fixed: GITHUB-2400: BeforeClass/Method (and AfterClass/Method) configuration methods that override default methods are invoked multiple times (Krishnan Mahadevan)
Fixed: GITHUB-2396: @Ignore on method level doesn't work as expected (Krishnan Mahadevan)
Fixed: GITHUB-2382: TestNG version should be specified in MANIFEST.MF (Krishnan Mahadevan)
Fixed: GITHUB-2096: 7.0.0-beta6 memory issues (regression) (Krishnan Mahadevan)
Fixed: GITHUB-2355: TestNG creates multiple Guice Module Instances (Krishnan Mahadevan)
Fixed: GITHUB-2374: Add file name to the warning message (Krishnan Mahadevan)
Fixed: GITHUB-2321: -Dtestng.thread.affinity=true do not work when running multiple instance of test in parallel (Nan Liang)
Fixed: GITHUB-2363: JS error when switching theme (Krishnan Mahadevan)
Fixed: GITHUB-2361: No way to enforce @Test(singleThreaded = true) when test defined in base class (Krishnan Mahadevan)
Fixed: GITHUB-2343: Injectors are not reused when they share the same set of modules (Krishnan Mahadevan)
Fixed: GITHUB-2346: ITestResult attributes are null when retrieved by Listener onTestStart if test fails at BeforeMethod (Krishnan Mahadevan)
Fixed: GITHUB-2357: TestNG 7.3.0 transitive dependencies

7.3.0
Fixed: GITHUB-2328: Add ability to get test method for which configuration method was called (Krishnan Mahadevan)
Fixed: GITHUB-2327: Parameters not present on skipped Test (Eric Kubenka)
Fixed: GITHUB-2232: Null Pointer Exception in ConfigInvoker.setMethodInvocationFailure (Krishnan Mahadevan)
Fixed: GITHUB-2312: IAnnotationTransformer called multiple time Discrepancy between 6.x and 7.x (Krishnan Mahadevan)
New:   GITHUB-2315: TextReporter console output does not nicely print native array data parameters (James Sassano)
Fixed: GITHUB-2301: Add support for object-based reporter configurations (Scott Babcock)
New: Deprecate org.testng.ReporterConfig (Julien Herr)
Fixed: GITHUB-2300: Vulnerable Dependency: Please upgrade JCommander to 1.75 or above (Krishnan Mahadevan)
Fixed: GITHUB-2182: Removed exception catching as valid behaviour
Fixed: GITHUB-2273: Use SPI to load Guice modules (Bartosz Popiela)
Fixed: GITHUB-2280: Prevent Retry from happening endlessly (Paweł Nadolski)
Fixed: GITHUB-553:  Better error message when dealing with classes having both Constructor and Factory methods (Krishnan Mahadevan)
Fixed: GITHUB-2267: RetryAnalyzer is not set properly and consistent when using dataprovider (Eric Kubenka)
Fixed: GITHUB-2266: Support Test retries via Callbacks (Krishnan Mahadevan)
Fixed: GITHUB-2209: @Before and @After are not executed as expected when a combination of class and method level grouping is applied (Krishnan Mahadevan)
Fixed: GITHUB-2259: Missing configuration for ServiceLoader Listeners (Krishnan Mahadevan)
Fixed: GITHUB-2257: Facilitate retry of configuration methods via call backs (Krishnan Mahadevan)
Fixed: GITHUB-2223: testng 7.1.0 java.lang.ClassNotFoundException: com.google.inject.Stage (Krishnan Mahadevan)
Fixed: GITHUB-217: Configure TestNG to fail when all tests are skipped (Krishnan Mahadevan)
Fixed: GITHUB-2255: Ensure test method parameters are visible in BeforeMethod config method (Krishnan Mahadevan)
Fixed: GITHUB-2251: NullPointerException at test with timeOut (Krishnan Mahadevan)
Fixed: GITHUB-2249: Not abstract super-classes mess up test run order (Sergii Kim)
Fixed: GITHUB-2195: NPE Using groups and @Before/@AfterMethod with alwaysRun and dependsOnMethods (Tomas & Julien Herr)
Fixed: GITHUB-2238: Parameter values should be overridable from JVM arguments (Krishnan Mahadevan)
Fixed: GITHUB-2231: Incorrect hierarchy in testng.xml file created programmatically and failed to run. (Krishnan Mahadevan)
Fixed: GITHUB-2235: expectedExceptions mismatch because of wrapping (Krishnan Mahadevan)
Fixed: GITHUB-2220: ITestListener's methods get called multiple times for one test, when @Listeners annotation is used in multiple test classes (Krishnan Mahadevan)
Fixed: GITHUB-2211: assertEquals for Map sometimes does not use provided message (Krishnan Mahadevan)
Fixed: GITHUB-1632: throwing SkipException sets iTestResult status to Failure instead of Skip (Krishnan Mahadevan)
Fixed: GITHUB-2207: Allow dependency injector factory to be configured via args (dmikhievich)
Fixed: GITHUB-2193: Ignore local url for DTD security check (Li.Zhao & Julien Herr)
Fixed: GITHUB-1968: Upgrade to Gradle 6.0

7.1.0
New  : GITHUB-2199: Allow users to provide their own Injector for Dependency Injection (Krishnan Mahadevan)
Fixed: GITHUB-2180: Write scenario details for Retried tests (Devendra Raju K)
Fixed: GITHUB-2124: JUnit Report should contain the output of org.testng.Reporter (Krishnan Mahadevan)
Fixed: GITHUB-2171: Ability to embed attachments and make them available on TestNG XML report (Krishnan Mahadevan)
Fixed: GITHUB-2152: Multiple Test Groups Causing @BeforeMethod and @AfterMethod to be called multiple times for a single test (Krishnan Mahadevan)
Fixed: GITHUB-2172: Suite summary report table issue with EmailableReporter2.java (Devendra Raju K)
Fixed: GITHUB-2148: TestNG - configfailurepolicy=“continue” is not working for retried test (Krishnan Mahadevan)
Fixed: GITHUB-2163: Test is executed infinite number of times when the data provider returns a new object (Krishnan Mahadevan)
Fixed: GITHUB-2157: NullPointerException occurs when a Retried test has an exception in DataProvider (Krishnan Mahadevan)
Fixed: GITHUB-2150: Upgraded jQuery from 1.7.1 to 3.4.1 to resolve reported prototype pollution vulnerability
Fixed: GITHUB-2149: Handle NoClassDefFoundError when classloader fails to load a class
New:   GITHUB-2111: Provide an interceptor for Data Provider (Krishnan Mahadevan)
Fixed: GITHUB-1709: @Ignore doesn't work when used on child class, and parent has multiple @Test methods (Krishnan Mahadevan)
New:   GITHUB-2118: Default assertion message (Jiong Fu)
Fixed: GITHUB-2080: Wrong text for assertTrue (Jiong Fu)
Fixed: GITHUB-2078: Xml to Yaml does not capture the dependency definition in generated Yaml File (Jiong Fu)

7.0.0
Fixed: GITHUB-2137: Issue with Priority with too low values (Krishnan Mahadevan)
Fixed: GITHUB-2138: Factory calls are not intercepted by IAnnotationTransformer (Krishnan Mahadevan)
Fixed: GITHUB-2121: SoftAssert: allow custom message (dr29bart)
Fixed: GITHUB-2110: NPE is thrown when running with Thread affinity (Krishnan Mahadevan)
Fixed: GITHUB-2069: JUnit TestSuite not handled correctly in Reports (Krishnan Mahadevan)
Fixed: GITHUB-2075: Thread interrupt flag persists between test methods (Krishnan Mahadevan)
Fixed: GITHUB-2074: Thread Interrupted when using expectedException (Krishnan Mahadevan)
Fixed: GITHUB-2802: some methods' javadoc in ISuiteListener and ITestListener is misleading (Yehui Wang)
Fixed: GITHUB-2061: java.util.ConcurrentModificationException after registration of SuiteListener at the runtime (Krishnan Mahadevan)
Fixed: GITHUB-2055: It's not possible to register a new ITestListener at the runtime (Krishnan Mahadevan)
Fixed: GITHUB-1035: @BeforeClass not executed in parallel when parallel="instances" (Krishnan Mahadevan)
Fixed: GITHUB-2043: IConfigurationListener is not executed and IDataProviderListener is not added to the list of the listeners if a new listener is added at the runtime (Krishnan Mahadevan)
Fixed: GITHUB-1835: Configurable ThreadPoolExecutor (Krishnan Mahadevan)
Fixed: GITHUB-1691: Support reading data provider information from Class level @Test annotation (Krishnan Mahadevan)
Fixed: GITHUB-326: When group-by-instances is set to true the instances created by @Factory does not run in parallel (Krishnan Mahadevan)
Fixed: GITHUB-1930: Running testng-failed.xml correctly runs failed test in child class but incorrectly runs all tests in base class (Krishnan Mahadevan)
Fixed: GITHUB-1987: Retrieve the data provider method's reference from the test method (Krishnan Mahadevan)
Fixed: GITHUB-1976: Add a proper message when types are missing during annotation parsing (Krishnan Mahadevan)
Fixed: GITHUB-2000: ThreadPoolExecutor ConcurrentModificationException (Krishnan Mahadevan)
Fixed: GITHUB-2022: Suite.xml files make web request when suite uses DTD over HTTPS (Krishnan Mahadevan)
Fixed: GITHUB-2017: Don't use child injectors for Guice tests (Joe Barnett)
New:   GITHUB-2003: Add to @Test interface fields IDs and issues (Krishnan Mahadevan)
Fixed: GITHUB-2009: Test Timeout not respected in parallel="methods" mode (Krishnan Mahadevan)
Fixed: GITHUB-2008: Preserve parameters in each class and not all of the test parameters
Fixed: GITHUB-1981: Fixes NPE in Assert.assertEquals when an array contains null (Maneesh MS)
New: Upgrade to gradle5
New: Added a method in Assertion class to allow downstream TestNG consumers to override the error message (Ryan Laseter)
Fixed: GITHUB-165: @AfterGroups is not executed when group member fails or is skipped (Krishnan Mahadevan)
Fixed: GITHUB-118: @BeforeGroups only called if group is specified explicitly (Krishnan Mahadevan)
Fixed: GITHUB-182: Inherited test methods do not get expected group behavior (Krishnan Mahadevan)
Fixed: GITHUB-1988: Add Automatic-Module-Name to MANIFEST.MF (Krishnan Mahadevan)
Fixed: GITHUB-1985: Custom "IMethodSelector" implementation doesn't filter methods properly (Krishnan Mahadevan)
Fixed: GITHUB-993:  Handle null test names from ITest implementation (Krishnan Mahadevan)
Fixed: GITHUB-1942: assertDeepEquals takes long time to evaluate size mismatch (Kumaran Bharathan)
Fixed: GITHUB-1967: IInvokedMethod ITestResult status set as -1 for test methods skipped due to config failure (Krishnan Mahadevan)
Fixed: GITHUB-1952: Provide a TestNGListener that can be invoked when a test fails due to a timeout (Krishnan Mahadevan)
Fixed: GITHUB-1953: TestNG throws a misleading error when @Factory method returns empty array. (Krishnan Mahadevan)
Fixed: GITHUB-1946: Retry analyzer does not work properly when coupled with a data provider (Krishnan Mahadevan)
Fixed: GITHUB-1924: Testclass instantiation fails when both no-arg constructor and factory method present (Krishnan Mahadevan)
Fixed: GITHUB-1935: Wrong text for assertEquals (Krishnan Mahadevan)
Fixed: GITHUB-1931: [NPE] Reporter org.testng.reporters.jq.Main failed (Krishnan Mahadevan, Oleg Shaburov)
New: Remove raw type warnings in ConversionUtils
Fixed: GITHUB-1480: Parallel=methods not working when tests have different priorities set (Micah Lapping-Carr)
Fixed: GITHUB-1041: Factory data-provider parameters not displayed in test-result (Krishnan Mahadevan)
Fixed: GITHUB-1901: The overall reported Test time for suite containing parallel tests should be max(tests_times) (Krishnan Mahadevan)
Fixed: GITHUB-1893: Streamline invocation of "init" method within TestResult to be private (Krishnan Mahadevan)
Fixed: GITHUB-1892: Configurable InvokedMethodListener (Krishnan Mahadevan)
Fixed: GITHUB-435: Apply <packages> at suite level to all tests (Siegmar Alber)
Fixed: GITHUB-1870: Fix Ambiguous behavior of IInvokedMethodListener by clarifying javadocs(Krishnan Mahadevan)
Fixed: GITHUB-1878: Provide visibility into the actual method (config/test) that caused a downstream test to be skipped (Krishnan Mahadevan)
Fixed: GITHUB-1883: Establish Listener invocation order as tests for documentation purposes (Krishnan Mahadevan)
Fixed: TestNG doesn't use the searchable loaders for JUnit tests (Igor Ignatev)
Fixed: GITHUB-1880: @AfterGroups(alwaysRun = true) is not called if there is an exception in @BeforeGroups (Krishnan Mahadevan)
Fixed: GITHUB-1874: Prevent circular dependency error when suite includes different methods from same class (Krishnan Mahadevan)
Fixed: GITHUB-1863: IMethodInterceptor will be invoked twice when listener implements both ITestListener and IMethodInterceptor via eclipse execution way.(Bin Wu)
Fixed: GITHUB-1865: testngXmlPathInJar- cannot be cleared when vm terminate(Yehui Wang)
Fixed: GITHUB-1850: Parser returns a wrong structure when parent suite has duplicate child suites (Chao Qin)
Fixed: GITHUB-1803: Added new methods for comparing float and double arrays with delta (Atul Agrawal)
Fixed: GITHUB-1661: Fixed Assert logic for two dimensional arrays (Atul Agrawal)
Fixed: GITHUB-1734: Added unit tests for NaN, Max, Min, Positive and Negative infinity (Atul Agrawal)
Fixed: GITHUB-1740: Bumped up artifact version of dependencies for java 8 support (Atul Agrawal)
Fixed: GITHUB-1834: Ensure group dependency defined via suite xml is considered (Krishnan Mahadevan)
New  : Expose Graph Visualisation representation for users to build real-time debugging tools (Krishnan Mahadevan)
Fixed: GITHUB-574: String cannot be cast to Integer if log property is set in maven pom.xml (Krishnan Mahadevan)
Fixed: GITHUB-1402: TestNG reporting - Quickly identify Retry-d Tests (Krishnan Mahadevan)
Fixed: GITHUB-1697: Need ability to mark "failed but up for retry" tests differently from "skipped" tests (Krishnan Mahadevan)
Fixed: GITHUB-1810: Nullpointer exception when running TestNG tests from CMD (Krishnan Mahadevan)
Fixed: GITHUB-1590: Started configuration method has wrong status and end time during execution (Krishnan Mahadevan)
Fixed: GITHUB-298: Avoid Javascript errors in function name when suite name has special characters (Krishnan Mahadevan)
Fixed: GITHUB-1048: Fix validation errors in TestNG CSS to adhere to CSS level 3 + SVG (Krishnan Mahadevan)
Fixed: GITHUB-341: TestNG does not respect "-parallel classes" when running with a jar file (Krishnan Mahadevan)
Fixed: GITHUB-1790: IAnnotationTransformer transform method is not called for all test classes annotated with @Test (Krishnan Mahadevan)
Fixed: GITHUB-1787: Method level parameters are missing when using Yaml generation utilities (Krishnan Mahadevan)
New  : TestNG now guarantees thread-affinity for methods that use either preserve-order (or) dependsOnMethods (Krishnan Mahadevan)
Fixed: GITHUB-1773: Parallel="classes" executes methods of test class in different threads (Krishnan Mahadevan)
Fixed: GITHUB-1185: DependsOnMethods made parallel class use several threads (Krishnan Mahadevan)
Fixed: GITHUB-1173: Parallel="classes" executes methods of test class in different threads (Krishnan Mahadevan)
Fixed: GITHUB-1066: Regression is in priority. It broke parallel mode (Krishnan Mahadevan)
Fixed: GITHUB-1050: Parallel classes runs methods from one class in different threads, interleaves two classes in one thread (Krishnan Mahadevan)
Fixed: GITHUB-89: parallel="classes" is not forcing test methods from the same testClass to be run in the same thread as it is suposed to (Krishnan Mahadevan)
Fixed: GITHUB-1719: successPercentage does not work correctly for tests with dataProvider (Krishnan Mahadevan)
Fixed: GITHUB-1241: Streamline Retry Analyzer usage when same test is run multiple times (Krishnan Mahadevan)
Fixed: GITHUB-1777: ITestListener.onTestStart() not called after fail or skip from @BeforeMethod (Krishnan Mahadevan)
Fixed: GITHUB-1778: SoftAssert#fail swallows actual root cause (Krishnan Mahadevan)
Fixed: GITHUB-1665: Failed test after rerun would impact next test case result (Yehui Wang)
Fixed: GITHUB-1770: Factory annotation does not work with Parameters annotation on method constructor (Krishnan Mahadevan)
Fixed: GITHUB-1767: Prevent NPE when XmlTest accessed without a proper XmlSuite (Krishnan Mahadevan)
Fixed: GITHUB-1766: Testng generates a lot of temp folders like testngXmlPathInJar- (Andrey)
Fixed: GITHUB-1759: core interfaces refactoring to support default methods (Sergey Korol)
Fixed: GITHUB-1753: TestResult for an SKIP test lose attributes contributed by @BeforeMethod's or @AfterMethod's (Krishnan Mahadevan)
Fixed: GITHUB-1756: ITest .getTestName() doesn't return the actual test name for skipped methods (Krishnan Mahadevan)
Fixed: GITHUB-1602: beforeInvocation method don't get called for skipped tests (Krishnan Mahadevan)
Fixed: GITHUB-549 and GITHUB-780: Introduce onlyForGroups attribute for @BeforeMethod and @AfterMethod (Sergei Tachenov)
Fixed: GITHUB-1745: Support native injection for @Factory methods (Krishnan Mahadevan)
Fixed: GITHUB-1746: Make InvokedMethodNameListener thread-safe, fixing occasional build failures (Sergei Tachenov)
Fixed: GITHUB-1538: Dependent methods don't get invoked when a failed test method is retried via a RetryAnalyser (Krishnan Mahadevan)
Fixed: GITHUB-426: firstTimeOnly ignored for threadPoolSize > 1 (Krishnan Mahadevan)
Fixed: GITHUB-466: JUnitReportReporter always converts the system time into GMT (Krishnan Mahadevan)
Fixed: GITHUB-1723: Standardize timezone reference in XML reports (Krishnan Mahadevan)
Fixed: GITHUB-489: Incorrect timezone info in <test-method> element of testng-results.xml (Krishnan Mahadevan)
Fixed: GITHUB-1735: IExecutionListener.onStart() running twice when used as annotation (Krishnan Mahadevan)
New  : Removed deprecated methods across TestNG (Krishnan Mahadevan)
Fixed: GITHUB-1726: Allow user-defined method interceptors to have the last say in method re-ordering (Krishnan Mahadevan)
Fixed: GITHUB-564: Support using @Optional on @Test method parameters to use null values (Krishnan Mahadevan)
New  : Upgrade TestNG to start needing at-least JDK8 (Krishnan Mahadevan)
Fixed: GITHUB-1637: Remove dependency on a pre-created jar for running unit tests for JarFileUtils (Krishnan Mahadevan)
Fixed: GITHUB-1710: Inefficient DynamicGraph causes hang with only 100 tests. (Steve Prentice)
Fixed: GITHUB-1716: Potential NPE in jq.Main reporter (Krishnan Mahadevan)
Fixed: GITHUB-1709: @Ignore doesn't work when used on child class, and parent has @Test methods (Krishnan Mahadevan)
Fixed: GITHUB-1706: Retrying of methods fail when test method involves native injection (Krishnan Mahadevan)
New  : Removed deprecated attributes from annotations (Julien Herr)
New  : Support all JSR-223 compatible script engine
Fixed: GITHUB-1827: TestNG does not throw an error when a test class does not have a proper constructor (Julien Herr & Krishnan Mahadevan)
Fixed: Annotated default methods of indirectly implemented interfaces should still be called (Ilya Korobitsyn)
New  : GITHUB-2105: Include assertEquals(Map, Map) into Assert class

6.14.3
Fixed: GITHUB-1077: TestNG cannot handle load (Aheiss)
Fixed: GITHUB-1081: group-by-instances with test dependencies causes instantiation of tests to exponentially slow (Aheiss)
Fixed: GITHUB-1700: Test ignored if @BeforeMethod in base class fails for another test class (Krishnan Mahadevan)
Fixed: GITHUB-1694: @BeforeGroups executed multiple times when tests run in parallel, once if not parallel (Krishnan Mahadevan)
Fixed: GITHUB-1688: @Ignore annotation on base class doesn't ignore tests in child classes (Krishnan Mahadevan)
Fixed: GITHUB-1687: NullPointerException is thrown when beanshell evaluates to null (Krishnan Mahadevan)

6.14.2
Fixed: GITHUB-1674: beanshell methodselector applied at suite level is ignored (Krishnan Mahadevan)
Fixed: GITHUB-1668: "Invalid Method Selector" exception triggered when using suite level beanshell methodselectors (Krishnan Mahadevan)
Fixed: GITHUB-1659: New line characters are removed from stack traces in testng-results.xml (Krishnan Mahadevan)
Fixed: GITHUB-1503: Consider adding a -n (no execute) option (Krishnan Mahadevan)
Fixed: GITHUB-1648: Depends on method is not respected on the sequential run on second test that extends same base testClass (Krishnan Mahadevan)
Fixed: GITHUB-1636: Parallel test run is not working in 6.13.1 (Krishnan Mahadevan)
New  : GITHUB-1634: Make "-xmlpathinjar" support <suite-files> (Yehui Wang)
New  : GITHUB-1634: Make "-testnames" find tests from Multi-level parent-child suites (Yehui Wang)
Fixed: GITHUB-1641: The time for test-method is 8 hours ahead of the the time for suite/class in testng-result xml file (Krishnan Mahadevan)
Fixed: GITHUB-1649: @Test annotated methods cannot inject java.lang.reflect.Method (Krishnan Mahadevan)
Fixed: GITHUB-1625: Null fields in parallel method tests (Krishnan Mahadevan)
Fixed: GITHUB-1605: Research the usefulness of the JVM argument "experimental" (Krishnan Mahadevan)
New  : GITHUB-1631: data provider class name injection into Factory meta-data (Sergey Korol)

6.13.1
No functional changes. Released with newer version JCommander (1.72.0)

6.13
Fixed: GITHUB-1619: ConcurrentHashMap doesn't secure insertion order.(Yehui Wang)
Fixed: GITHUB-1616: Test cases with priority and dependsOnGroups dependencies, execution order is chaos. (Yehui Wang)
Fixed: GITHUB-1613: The constructor removed from TestRunner would stop Eclipse working.(Yehui Wang)
Fixed: GITHUB-1600: Updated in afterInvocation() testResult.status is not used in willRetry condition (Krishnan Mahadevan)
Fixed: GITHUB-1598: Injected types parameter and optional parameters cannot be used together. (Yehui Wang)
Fixed: GITHUB-1594: Cannot filter by "testnames" when suite xml is a suite of suites (Krishnan Mahadevan)
Fixed: GITHUB-1584: Can't run tests from IDEA (Krishnan Mahadevan)
Fixed: GITHUB-1589: TestNGAntTask should be consistently using the Ant Log API for writing log messages (Krishnan Mahadevan)
Fixed: GITHUB-1587: TestNG can not guarantee the ExecutionListener Instance as singleton(Yehui Wang)
Fixed: GITHUB-217: exception in DataProvider doesn't fail test run (Krishnan Mahadevan)
Fixed: GITHUB-987: Parameters threadCount and parallel doesn't work with maven (Krishnan Mahadevan)
Fixed: GITHUB-1472: Optimize DynamicGraph.getUnfinishedNodes (Krishnan Mahadevan & Nathan Reynolds)
Fixed: GITHUB-1566: Invalid XML characters in Params in testng-results.xml (Krishnan Mahadevan)
Fixed: GITHUB-1554: @Parameters and parameter injection not wroking when used on the same method (Krishnan Mahadevan)
Fixed: GITHUB-990: NullPointerExceptions after a superclass configuration method fails with configfailurepolicy="continue" (Krishnan Mahadevan)
Fixed: GITHUB-461 : Annotate annotations with @Documented (Krishnan Mahadevan)
Fixed: GITHUB-778 : XmlSuite toXml() does NOT add the suite time-out property (Krishnan Mahadevan)
Fixed: GITHUB-1029: Issue with getting XmlTest from test method (Krishnan Mahadevan)
Fixed: GITHUB-212: Enable support for providing a URI as suite file location (Krishnan Mahadevan)
Fixed: GITHUB-161 : Provide a way to customize SAXParserFactory implementation (Krishnan Mahadevan)
Fixed: GITHUB-1455: Configure XML output of XmlSuite (Krishnan Mahadevan)
Fixed: GITHUB-1465: Failure policy CONTINUE handling is broken for tests that are skipped in @BeforeMethod method (Krishnan Mahadevan)
Fixed: GITHUB-1533: Duplicate child suites get added when working with parent/child suite scenario (Krishnan Mahadevan)
Fixed: GITHUB-949: dependsOnMethods with alwaysRun = true and inheritance fails to find method (Krishnan Mahadevan)
Fixed: GITHUB-1519: Possibility to retry a test until it FAILED (Krishnan Mahadevan)
Fixed: GITHUB-980: TestNG run inherited method twice (Krishnan Mahadevan)
Fixed: GITHUB-1409: Regression: on expectedExceptionsMessageRegExp expected and actual messages are not printed (Krishnan Mahadevan)
Fixed: GITHUB-1517: TestNG exits with a zero when there are configuration failures (Krishnan Mahadevan)
New  : GITHUB-1490: Add a listener for data provider interception (Krishnan Mahadevan)
Fixed: GITHUB-1456: Remove/Warn support of constructor with String param (Krishnan Mahadevan)
Fixed: GITHUB-1509: Improve error message when data provider returns a null value (Krishnan Mahadevan)
Fixed: GITHUB-1507: TestNG runs all methods when filtering via <include> fails (Krishnan Mahadevan)
Fixed: GITHUB-1493: Wrong exception msg when timeout on test (Krishnan Mahadevan)
Fixed: GITHUB-328: Attempt to fix unnecessary execution of @Factory-ctors (@beverage & Julien Herr)
Fixed: GITHUB-1384: Huge performance issue between 6.5.2 and 6.11 (Denis Bazhenov)
New: Remove Serializable (Julien Herr)
Fixed: GITHUB-1496: If method contains "$", run only one method, all methods will be run (@JF-Rabbit & Julien Herr)
Fixed: GITHUB-1220: Recognize annotations on default methods in implemented interface
New: GITHUB-861: Add @Ignore annotation which disables all tests in a class or a package (Julien Herr)

6.12
Fixed: GITHUB-1484: Remove irrelevant "targets" for TestNG annotations (Krishnan Mahadevan)
Fixed: GITHUB-1405: Skip considering main() method when @Test used at class level (Krishnan Mahadevan)
Fixed: GITHUB-799: @Factory with dataProvider changes order of iterations (Krishnan Mahadevan & Julien Herr)
New: Enhance XML Reporter to be able to customize the file name (Krishnan Mahadevan)
Fixed: GITHUB-1417: Class param injection is not working with @BeforeClass (Krishnan Mahadevan)
Fixed: GITHUB-1440: Improve error message when wrong params on configuration methods (Krishnan Mahadevan)
Fixed: GITHUB-1433: Missing encoding for emailable reports (Shaburov Oleg)
Fixed: GITHUB-1430: Cannot load class from file XXX when using with ant and classfileset (Olivier Mourez)
Fixed: GITHUB-1394: Optimize ClassHelper.getAvailableMethods() to exclude Object class(Nathan Reynolds & Krishnan Mahadevan)
Fixed: GITHUB-1396: Order established by IMethodInterceptor not honored when running with parallel='instances' (Ryan Scott)
Fixed: GITHUB-1287: Parallel (methods) execution with dependsOn running in unexpected order (Kevyn Reinholt)
Fixed: GITHUB-1362: Ensure AfterGroups methods get executed when involving Method Interceptors (Krishnan Mahadevan)
Fixed: GITHUB-765: Skip invocation of bridged methods (Krishnan Mahadevan)
New: Enhance TestNGAntTask to be customizable (Denys Kurylenko)
New: Make EmailableReporter2 W3C Compliant[XHTML 1.1] (Chris Rankin)
Fixed: GITHUB-1336: (parallel=‘classes’) not working when coupled with priority (Krishnan Mahadevan)
Fixed: GITHUB-1365: Be able to override default XML parser (@ChristiKh & Julien Herr)
Fixed: GITHUB-1360: TestNG does not distinguish between methods of different priorities (Krishnan Mahadevan)
Fixed: GITHUB-1144: Add Class and Constructor as legal native dependency injection (Guillaume Juillot)
Fixed: GITHUB-1380: Circular dependencies may fail in parallel (Julien Herr)
Fixed: GITHUB-1400: TestNG, Multiple duplicate listener warnings on implementing multiple listener interfaces (@bipo1980 & Nick Tan)
Fixed: GITHUB-1426: @AfterMethod(alwaysRun = true) is not getting called if we have exception in @BeforeMethod (@dipak-pawar)
Fixed: GITHUB-128: Using Object[] and Method as parameters for a test in a certain order yields an IllegalArgumentException, citing a type mismatch (@leef590 & Julien Herr,Krishnan Mahadevan)
Fixed: GITHUB-1393: Revert commit 50d534a to allow fail a test from onTestStart method
Fixed: GITHUB-1461: TestNG not getting garbage collected (@kiru)

6.11
2017/02/27
Fixed: GITHUB-1351: FailurePolicy failing with YAML (Steven Zaluk & Julien Herr)
New: The name of all TestNG threads follow "TestNG-<thread type>-<number>" pattern (Julien Herr)
Fixed: GITHUB-1339: Alter ClassHelper to use Maps instead of Lists for extracting methods (Krishnan Mahadevan)
Fixed: GITHUB-1338: @BeforeGroups method is run on a wrong instance (Pavel Vetokhin & Julien Herr)
Fixed: GITHUB-1332: Make EmailableReport name configurable (Krishnan Mahadevan)
Fixed: GITHUB-1297: testng-failed.xml includes setup and tearDown (before and after annotations) of passed tests
(Krishnan Mahadevan)
Fixed: GITHUB-1319: ITestResult#getInstance() returns null in IConfigurationListener implementation (Krishnan Mahadevan)
New: Skipped methods are not supposed to be executed (Julien Herr)
Fixed: GITHUB-1197: Ability to dynamically set the status and exception of a test via ITestResult (Anthony Nguyen)
Fixed: GITHUB-1302: When 'parallel' is set to 'classes', ConcurrentModificationException can be thrown(Jianhua Li)
Fixed: GITHUB-772: Severe thread contention while running large test with parallel methods (Shaburov Oleg)
Fixed: GITHUB-1307: TestNGException when using an anonymous class in Factory (Mike Cowan)
Fixed: GITHUB-1298: ITestResult injection is failing in BeforeMethod method (Krishnan Mahadevan)
Fixed: GITHUB-1293: Beanshell based execution does not work any more (Krishnan Mahadevan)
Fixed: GITHUB-1262: Testcases out of order in XML file in junitreport folder when using testng (Krishnan Mahadevan)
Fixed: GITHUB-116 : BaseTestMethod does respect general contract of Comparable (Testo Nakada)
Fixed: GITHUB-1265: JUnit Reporter includes redundant ignored methods (Krishnan Mahadevan)
Fixed: GITHUB-1266: JUnit Reporter produces a wrong number of total test methods (Krishnan Mahadevan)
Fixed: GITHUB-1257: Group parameter not applying on included <suite-files>
Fixed: GITHUB-1284: Listeners on the child suites are not applied (Vimalraj Selvam)
New: GITHUB-1313: Add Java9 as test environment on Travis (Julien Herr)
Fixed: GITHUB-1296: Configuration listeners run multiple times (@mikimrozowski & Julien Herr)
Fixed: GITHUB-1300: Add deep assertions to assert on array values (array reference by default) (Jordan Zimmerman & Julien Herr)

6.10
2016/11/28
Fixed: GITHUB-551: Failed configuration method always has 0 execution time (dr29bart)
Fixed: GITHUB-1250: Testng-failed.xml is getting test level parameters into suite level parameters (Krishnan Mahadevan)
Fixed: GITHUB-1046: Provide a mechanism to customize a test method name for reporting (Krishnan Mahadevan)
Fixed: GITHUB-1211: Include disabled/ ignored test methods in JUnit reports (Krishnan Mahadevan)
Fixed: GITHUB-1213: Include "ignored" test count in testng-results.xml (Krishnan Mahadevan)
Fixed: GITHUB-674: Enrich Test method skips due to configuration failures with throwable data (Krishnan Mahadevan)
Fixed: GITHUB-1240: Enrich the test results showing mechanism in Travis CI (Krishnan Mahadevan)
Fixed: GITHUB-1232: Prevent TestNG from adding duplicate instances of the same listener (Krishnan Mahadevan)
Fixed: GITHUB-1170: Fixing the test DataProviderTest.shouldNotThrowConcurrentModification (Krishnan Mahadevan)
Fixed: GITHUB-1231: Make IExecutionListener implementation be the last reporter call before JVM exit(Krishnan Mahadevan)
Fixed: GITHUB-1227: Prevent multiple instances of same Reporter from being injected into TestNG (Krishnan Mahadevan)
Fixed: GITHUB-1165: Better message to user when param injection is not good (Krishnan Mahadevan)
Fixed: GITHUB-1228: Control stacktrace levels in XmlReports via a JVM configuration (Krishnan Mahadevan)
Fixed: GITHUB-1203: Add flush to BufferedWriter; fixes incomplete XML reports (Nathan Bruning)
Fixed: GITHUB-1181: Fix MethodMatcherException: Data provider mismatch (Krishnan Mahadevan)
Fixed: GITHUB-1107: TestNG does not report/print/log throwables in data providers (Krishnan Mahadevan)
Fixed: GITHUB-1186: NullPointerException in JUnit reporter when used with Spock (Ian Robertson & Julien Herr)
Fixed: GITHUB-1180: NullPointerException on getting excluded/included groups (Krishnan Mahadevan)
Fixed: GITHUB-1064: Incorrect logging of parallel mode of a test
Fixed: GITHUB-1178: Halt execution when invalid testname is provided. (Krishnan Mahadevan)
Fixed: GITHUB-1139: DataProvider could support Object[] as a valid return type (Julien Herr)
Fixed: GITHUB-1182: Cannot run multiple @Factory-annotated methods in the same class (Ian Donovan & Julien Herr)
New: Hierarchy on order features (from less important to more important): groupByInstance, preserveOrder, priority, dependsOnGroups, dependsOnMethods
Fixed: GITHUB-1156: test execution dependant upon class name order and fails with TestNGException: No free nodes found (@t-weil & Julien Herr)
Fixed: GITHUB-1221: ConcurrentModificationException in TextReporter (Nick Tan)
Fixed: testng-eclipse/issues/298: IConfigurationListener was not loaded when running Test in Eclipse Plugin (@jmcgrail & Nick Tan)
New: Resources for test reports (header, images) now live in a sub directory org/testng to remove conflicts with other similar files in the class loader.

6.9.13.6
2016/09/23

6.9.13.5 (Bad release)
2016/09/23

6.9.13.4 (Bad release: Wrong internal version)
2016/09/22

6.9.13.3 (Ok, but too many direct dependencies)
2016/09/22

6.9.13.2 (Bad release: Wrong internal version)
2016/09/20

6.9.13.1 (Bad release: fat jar)
2016/09/19

6.9.13 (Bad release: JDK8 target only)
2016/09/16

New: code improvement in order to calculate key for dependency map. Dependency map will use methodQualifiedName as key provided by ITestNGMethod (Chirag Jayswal)
Fixed: GITHUB-1105: Test skipped instead failed if incorrect enum value (Liza Ivanova & Julien Herr)﻿
Fixed: GITHUB-1111: XMLReporter crashes if a test parameter is exactly "]]>" (Łukasz Rekucki & Julien Herr)
Fixed: GITHUB-1108 @BeforeGroups called twice (Krishnan Mahadevan)
Fixed: GITHUB-1112 XmlInclude.getDescription returns null always (Krishnan Mahadevan)
Fixed: GITHUB-1090 Inconsistent handling "preserve-order" on suite/test level (Michal Domagala & Julien Herr)
Fixed: GITHUB-1085 Remove Guava dependency (Erik C. Thauvin & Julien Herr)
Fixed: GITHUB-1084 Using deprecated addListener methods should not register many times (Anna Kozlova & Julien Herr)
Fixed: GITHUB-447 Copy test parameters instead of storing a reference (Huagang Li & Julien Herr)
Fixed: GITHUB-174: NPE when parsing xml where <suite> has <groups> (Peter Stout & Julien Herr)
Fixed: GITHUB-918: NullPointerException on loading XmlSuites programmatically (@ispitkovskyi & Julien Herr)
Fixed: GITHUB-689: <groups> at <suite> level not applied to <suite-files> (@kunal546 & Julien Herr)
Fixed: GITHUB-740: More than one execution even when success with DataProvider and IRetryAnalyzer (Sergio Sacristán)
Fixed: GITHUB-877: Retries don't work correctly with DataProvider tests (Simonas Tvirbutas)
Fixed: GITHUB-1103: Add ...junit.ArrayAsserts.assertArrayEquals(boolean[], boolean[]) (Jonathan Halterman & Julien Herr)
Fixed: GITHUB-1122: Use the default value for preserve-order (Guillaume Guillot & Julien Herr)
Fixed: GITHUB-1022: Non static methods from external data providers are not working without @Guice (Sourav Chandra & Julien Herr)
Fixed: GITHUB-1130: IClassListener should only be instantiated once (Guillaume Guillot & Julien Herr)
Fixed: GITHUB-1131: IObjectFactory not being called for factory test instances with constructor-injected data provider (Scott McClure & Julien Herr)
New: GITHUB-1083: Factory supports indices (Julien Herr)
Fixed: GITHUB-148: 'Run Failed Test' doesn't run the proper tests after 2nd rerun when DataProvider is used (@akracheva & Julien Herr)
﻿
6.9.12
2016/06/21

Fixed: GITHUB-1017 Reporter.log is ignored in skipped test listener (Scott Kirkpatrick)
New: Minimal code changes to allow TestNG to work for OpenJDK tests, which should be run with only the java.base module present.
Fixed: GITHUB-1047 IClassListener didn't work (Julien Herr)
Fixed: GITHUB-1049 IClassListener was called many time (Julien Herr)
Fixed: GITHUB-1045 TestNG swallows exceptions silently if @ClassRule is used (Gili Tzabari & Julien Herr)
Fixed: GITHUB-506 TestNG cannot find JUnit method names from Spock (@blackduck-joe & Julien Herr)
Fixed: GITHUB-1009 Iterator<Object[]> DataProvider: indices not working (Mark Fulton & Julien Herr)
Fixed: GITHUB-1030 Parameterized test class crashes when data provider returns empty array (Christoffer Sawicki & Julien Herr)
New: TestNG displays a warning when tests are using an empty data provider

6.9.11:
2016/03/26

Fixed: GITHUB-923 Refactored data provider's parameter values passing to a varargs or non-varargs method with @NoInjection handling (Nitin Verma)
New: GITHUB-933: Deprecate XmlTest#getTestParameters (Julien Herr)
Fixed: GITHUB-911: TestListener#onTestStart should be invoked if a suite configuration method fails (Harmin Parra Rueda & Julien Herr)﻿
Fixed: GITHUB-793: Test suite with tests using dependency and priority has wrong behavior (Martin Hereu & Julien Herr)
Fixed: GITHUB-922: ITestResult doesn't contain name if a class has @Test (@dr29bart & Julien Herr)
Fixed: GITHUB-419: parallel mode was ignored with command line (@khospodarysko & Julien Herr)
New: GITHUB-932: Deprecate true/false parallel values. none is the new default value. (Julien Herr)
Fixed: GITHUB-960: testng-failed.xml gets generated even when there are no failures. (Krishnan Mahadevan)
Fixed: GITHUB-895: Changing status of test by setStatus of ITestResult (Raj Srivastava & Julien Herr)
Fixed: GITHUB-969: testng-failed.xml does not carry over the parameters of methods from origin suite xml(Ning Zhang)
﻿
6.9.10:
2015/12/15
Fixed: GITHUB-841: testName from @Test is now used and available from ITestResult#getName() and ITestResult#getTestName() (Julien Herr)
New: GITHUB-776: Add BeforeClass/AfterClass like on ITestListener (@vguna & Julien Herr)
Fixed: GITHUB-872: Enable end-users of TestNG to alter XmlSuite and XmlTest (Krishnan Mahadevan)
New: GITHUB-900: Support @Listeners in annotation transformer (Julien Herr)
New: GITHUB-898: Activate XML validation when possible (Julien Herr)
Fixed: GITHUB-889: XmlSuite in nested directories results in FIleNotFoundException (Virender Singh)
Fixed: GITHUB-811: Timeout is not working with parallel=tests (@michael-yxf & Julien Herr)
Fixed: GITHUB-839: Missing encoding meta data for report file (@banbq & Julien Herr)
Fixed: GITHUB-876: NullPointerException creating tests with parameters by a factory (@vixgeo & Julien Herr)
New: GITHUB-886: Add some checks on factory methods (Julien Herr)
New: GITHUB-874 / GITHUB-875 / GITHUB-882 / GITHUB-850 : Some code cleanup (Testo Nakada)
Fixed: GITHUB-866 / GITHUB-869 : Some attributes were not cloned when XmlSuite#clone was used (Virender Singh)
Fixed: GITHUB-842: Add TestResult#getTestName() support for @Test(testName) (Julien Herr)
Fixed: GITHUB-908: Fix Double.NaN assertion (Julien Herr)

6.9.9:
2015/10/27

Fixed: GITHUB-829: Allowing suites to have duplicate names. You can now configure the same suite-file to run multiple times. (Eduardo Born)
Fixed: GITHUB-834: nested suites not supported by 'testnames' (Tibor Digana & Julien Herr)

6.9.8:
2015/10/12

Replace 6.9.7 that was build with Java8 by error.

6.9.7:
No official release

Fixed: GITHUB-798: Set suitethreadpoolsize for Maven Surefire (Jan Dundáček)
Fixed: GITHUB-171: ISuiteListener methods called multiple times if multiple test elements (Daniel Qian & Julien Herr)
Fixed: GITHUB-169: IInvokedMethodListener methods executed several times before/after each test method (Mario Duarte & Julien Herr)
Fixed: GITHUB-154: MethodInterceptor will be called twice (Tim wu & Julien Herr)

6.9.6:
2015/07/15

New: GITHUB-717: Add assertThrows and expectThrows (Ryan Schmitt)
Fixed: GITHUB-755: Fixed reporting of retried tests (Ryan Schmitt)
Fixed: GITHUB-773: Test should not be skipped when the exception is expected (@CandyLiuM & Julien Herr)

6.9.5:
2015/07/12

Fixed: The ServiceLoaderTest on Windows (Mathieu Sebire)
Fixed: GITHUB-691: Fix classloading issue when using TestNG 6.9.4 and JMockit. (Mathieu Sebire)
Fixed: GITHUB-686: IAnnotationTransformer.transform is called for methods with testClass populated. (Łukasz Rekucki & Julien Herr)
Fixed: GITHUB-420: Before/AfterSuite methods may not run, when use inheritance, and enabled=false (Jakub Tokaj & Julien Herr)
Fixed: GITHUB-697: Make addFailedInvocationNumber thread-safe (Ryan Schmitt)
Fixed: GITHUB-698: Fix exit code reporting when IRetryAnalyzer is used (Ryan Schmitt)
Fixed: GITHUB-465: assertEquals(Collection, Collection) prints "null" when collections are different sizes (Michael Diamond)
New: GITHUB-710: AppVeyor is used for continuous integration on Windows (Julien Herr)
Fixed: GITHUB-599: IHookable ignored when a timeout is set (@ryanlevell & Julien Herr)
New: GITHUB-723: Allow users to add their own suite parser (Julien Herr)
Fixed: Allow '-testnames' option to work with '-xmlpathinjar' (@earthling)
Fixed: GITHUB-739: TestNG skips all test classes from suite when a @BeforeClass fails (Priyanshu Shekhar & Julien Herr)
Fixed: GITHUB-471: If @beforeMethod or @afterMethod fails then all children of the same base class will be skipped (Anton Panferov & Julien Herr)
Fixed: GITHUB-595: testng hang at switching test cases when running test cases with high thread count (vit0rg)

Eclipse:

Fixed: The 57% freeze bug (Patrick Hensley and @denyska)

6.9.4:
2015/05/09

Added: GITHUB-631: Avoid the static limitation of external DataProvider. (Julien Herr)
Added: GITHUB-631: Allow to use Guice injection in DataProvider. (Julien Herr)
Added: Drop support of Java6 and previous.
Added: GITHUB-617: Allow injection of org.testng.ITestContext into the guice parent module. (Julien Herr)
Fixed: GITHUB-606: RetryAnalyzer loops endlessly. (Krishnan Mahadevan)
Fixed: GITHUB-618: Start TestNG from jar cause recursive run of tests from packages in Suite XML without ".*" on the end (Stas Gromov)
Fixed: GITHUB-639: Typo on preserveOrder (tabei-k & Julien Herr)
Fixed: GITHUB-632: Typo in doc (Pétur Ingi Egilsson & Julien Herr)
Fixed: GITHUB-629: InvokedMethod doesn't recognize configuration method (Jan Mewes & Julien Herr)
Fixed: GITHUB-615: XmlSuite, XmlTest: Time-out tag not preserved (jphollingworth & Julien Herr)
New: GITHUB-638: Travis CI is used for continuous integration (Julien Herr)
New: GITHUB-647: SonarQube is used to follow technical debt (Julien Herr)
Added: GITHUB-616: org.testng.internal.Version will be always up-to-date (Julien Herr)
Fixed: GITHUB-634: Review of the collections package (Julien Herr)
Fixed: GITHUB-624: Fixed failure/error inversion in JUnitReportReporter (Jerome Jacob)
Fixed: GITHUB-545: TestNG running JUnit tests but not reporting all results for parameterized tests (Jonathan Leitschuh & jdillet)
Fixed: GITHUB-610: CustomizedSuites must be saved using utf-8 encoding (Juha Heljoranta)
Fixed: GITHUB-602: NoClassDefFoundError in TestNGClassFinder.<init> (aanno)
Fixed: GITHUB-529: Close InputStream and OuputStream after use (Andrew Gaul)
Fixed: GITHUB-532: Create the parent directory if it's missing (Ion Savin)
Fixed: GITHUB-541: Some OSGi manifest fixes (Evgeny Zhuravlev)
Fixed: GITHUB-657: Fix OSGI Import-Package to make jUnit4 dependency optional (Xavier Fournet)
Fixed: GITHUB-523: externally synchronize our use of the static SimpleDateFormat (mcosby)
Fixed: GITHUB-477: Typo in DTD attribute comment (Kamil Szymański)
Fixed: GITHUB-353: Typo in documentation (Jan Święcki)
Fixed: GITHUB-656: Upgrade to JCommander 1.48 (Ryan Schmitt)
Fixed: GITHUB-582: TestNG tests don't pass reliably on JDK8 (Ryan Schmitt)
New: GITHUB-645: TestNG project on Google Code redirect to GitHub
Fixed: GITHUB-310: Upgrade Guice (kronar & Julien Herr)
Fixed: GITHUB-87: @BeforeSuite/@BeforeTest methods happens to be disabled by mistake (romlom & Julien Herr)
Fixed: GITHUB-425: Wrong invocation order with lastTimeOnly (Rafael Winterhalter & Julien Herr)
Fixed: GITHUB-417: Expected Exceptions Message fails to match multi-line messages (Michael Diamond)
New: GITHUB-663: Add Guice Stage configuration for a suite (Clément Guillaume)

6.8.21:
2015/02/02

6.8.15:
2015/01/14

Fixed: OutOfMemoryException while generating reports.
Fixed: GITHUB-566: Build does not fail when successPercentage for @Test is not met
Fixed: XmlTest#setGroupInstances was not being shown in toXml().
Fixed: GITHUB-376: Some results can be lost (Konstantin Savin).
Fixed: Handle relative paths of Suite XML files properly (Nalin Makar)

6.8.5:
2013/05/13

Fixed: the OutOfMemoryException in reports
Fixed: Surefire + listeners "Can't load class" problem

===========================================================================
6.8.1
2013/03/30

Added: Descriptions in the HTML reports
Added: Various improvements to EmailableReporter (Abraham Lin)
Added: Allow injection of java.lang.reflect.Constructor and org.testng.ITestNGMethod into DataProvide (Vladislav Rassokhin)
Fixed: Assertions in the Assertions class were not failing properly.
Fixed: GITHUB-337: ConfigurationMethod#m_instance set to Boolean.FALSE due to incorrect constructor call in clone() + auto-boxing (davidely)
Fixed: Fix NPE for dependency methods/groups (Krishnan Mahadevan)
Fixed: preserve-order bug (found by VladSarrokhin).
Fixed: GITHUB-300: OutOfMemoryException from reporters when there are a lot of tests
Fixed: GITHUB-137: Main parameters with a default value should be overridden if a main parameter is specified
Fixed: GITHUB-107: Allow enum values without converting them to uppercase.
Fixed: @Guice with no modules specified is now supported
Fixed: Reporter.log() invoked from listeners were being discarded

Eclipse:
Added: Predefined listeners (Tim Wu)
Fixed: Compare dialog

===========================================================================
6.7
2012/07/15

Added: Big performance improvement when generating the reports (Frank Pavageau)
Added: <dependencies> allows you to specify group dependencies in testng.xml
Added: Blow up early if trying to include/exclude an unknown method
Added: <parameters> can now be specified under <include> (Storm Qi)
Added: GITHUB-243: Add Reporter Output per Test in XMLReporter (dunse)
Fixed: Better HTML escaping of the stack traces
Fixed: The failed assertions now use [] as delimiters instead of <> (better for the HTML reports)
Fixed: GITHUB-237: Wrong time format in XML reporter
Fixed: Threads were started sequentially instead of being interleaved
Fixed: dataProvider(parallel = true) was not killing its threads properly
Fixed: XmlSuite#toXml wasn't outputting the <groups> tag correctly
Fixed: testng-failed.xml was not carrying over the parameters from the original testng.xml
Fixed: BeforeClass failing in parent failed to skip methods in sub classes
Fixed: Better error message if <suite name=""> is missing
Fixed: GITHUB-221: Honor excludeGroups on testng tests when run in mixed mode (criccio)
Fixed: dependsOnGroups = {regexp} wasn't working properly (Alistair Ward)
Fixed: GITHUB-205: white-space was spelled whitespace in testng.css (carlin-scott)

Eclipse:
Fixed: Environment is not transferred when rerunning failed tests.
Fixed: Rerunning failed tests will preserve the environment of the original launch

===========================================================================

6.5.1
04/10/2012

Added: <suite allow-return-values="true"> (and in <test> as well)
Added: data-provider attribute to testng-results.xml
Added: Reporter display the results in the same order as test methods (Libor Zoubek)
Added: Support for running JUnit 4 tests (Lukas Jungmann)
Added: Ability to auto-detect JUnit tests ('-mixed' mode) (Lukas Jungmann)
Added: Support for ResourceCollections in an Ant tasks (requires Ant >= 1.7.0) (Lukas Jungmann)
Fixed: GITHUB-198: JUnitReportsReporter use commas in certain locales, which JUnitReports doesn't like
Fixed: GITHUB-173: Dependent methods executed out-of-order if method names match across classes (jjedMoriAnktah)
Fixed: ThreadLocal<ITestResult> leak (aslakknutsen)
Fixed: In the HTML reports, only show the first 100 characters of the parameters
Fixed: SkippedException are considered as real exception with @Test(expectedExceptions)

Eclipse:
Fixed: Java constants are properly resolved if they are used as group names (susanin)
Fixed: @Test(groups = Foo.CONSTANT) (susanin)
Fixed: Failed tests with allow-return-values="true" were not rerun
Added: <suite allow-return-values="true"> (and in <test> as well)

===========================================================================

6.4:
02/15/2012

Added: @DataProvider(indices) to return specific indices of a data provider
Added: New HTML reports
Added: configfailurepolicy=continue with DataProviders (toddq)
Added: ITestResult#getTestContext (bpedman)
Fixed: invocationCount > 1 + timeOut wasn't timing out properly
Fixed: When running TestNG programmatically, child xml suites are not run (when added using setSuiteFIles()) (Gaurav Gupta)
Fixed: GITHUB-145: Excessive test method execution (githubCast)
Fixed: GITHUB-149: reversed arguments in failAssertEqualsNoOrder().
Fixed: EmailableReporter: methods are now *really* sorted chronologically.

Eclipse:

Added: You can now add the testng.jar sources as a library (Nick Tan)
Added: Upgraded the plug-in to 3.4+ (Nick Tan)
Added: dependsOnGroups now fully supported
Fixed: @Parameters now works with both ("foo") and ({"foo"}) (davekerber)

===========================================================================
6.3.1
10/22/2011

Added: New system property: dataproviderthreadcount (Bill Ross)
Fixed: Configuration methods were reported incorrectly in listeners.
Fixed: Was creating too many listeners (Jacek Pulut)
Fixed: IAnnotationTransformer2 beforeTest/afterTest booleans were not being set
Fixed: GITHUB-92: @BeforeTest method in a super class will be called multiple time when alwayRun = true (Bubuntux)
Fixed: GITHUB-111: @AfterClass on base classes run once too many (lrivera)
Fixed: GITHUB-107: Displaying 0 tests run if a listener modifies the parameters of the suite

===========================================================================
6.3
10/17/2011

Added: "description" attribute on <include>, made available on ITestNGMethod#getDescription
Added: RemoteTestNG waits infinitely for a connection (Aleksey Kabanov)
Fixed: A method that's both a test and a factory would not invoke its data provider
Fixed: @AfterClass was not called if one of the methods was not enabled (Aleksey Kabanov)
Fixed: Groovy access bug
Fixed: The XML parser doesn't recognize parallel="instances"
Fixed: NPE when using inner classes
Fixed: GITHUB-90: @AfterClass not being run when the class contains included and not included methods
Fixed: @AfterClass not being run in some subclassing situations

Eclipse:

Fixed: Verbose levels specified in suites not respected
Fixed: Variable substitution in VM arguments is not working properly (svenhoff)

===========================================================================

6.2
08/18/2011

Added: xmlpathinjar to the TestNG ant task
Added: TestNG can now invoke package protected constructors
Added: Injectors created by the @Guice annotation are now shared at the <test> level
Added: IConfigurationListener is now a public listener, along with a new one: IConfigurationListener2
Added: When a method fails, only dependents of the same instance will be skipped
Added: parallel=instances for factory instance parallel runs
Added: @Factory(enabled)
Fixed: JUnitReports reports now report the cumulated time @{Before,After}Method+@Test for each test method
Fixed: JUnitReports reports have the name of the <test> instead of that of the first class
Fixed: Using preserve-order with a factory that creates instances of a different class causes NPE
Fixed: GITHUB-74: Bad ordering of test methods when using a @Factory constructor with dataProvider
Fixed: Changing the test result from success to failure in a listener would still count the test as a success
Fixed: ServiceLoader wasn't resolving correctly if no service loader classloader was specified
Fixed: Better ordering with mixed priorities and dependencies
Fixed: Improved detection of graph cycles in parallel runs
Fixed: @BeforeTest was invoked multiple times if a factory is used
Fixed: GITHUB-57: Allow usage of package protected constructor of test classes
Fixed: Injecting both Object[] and Method in @BeforeMethod didn't always work
Fixed: testng-results.xml now lists the results chronologically
Fixed: @Listeners specified on a base class will only be run once per listener class (dbriones)
Fixed: -groups and -excludegroups were no longer overriding testng.xml

Eclipse:

Added: Each data provider method now has a separate node entry in the TestNG view
Fixed: Nodes in error would sometimes remain green
Fixed: The TestNG context menu no longer appears where it shouldn't

===========================================================================

6.1.1
7/5/2011

Fixed: https://github.com/cbeust/testng/issues/56 testng-results.xml was reporting the instance name instead of the method name
Fixed: NPE when using preserve-order and factories.
Fixed: Depending on a skipped method would not cause a method to be skipped

===========================================================================

6.1
6/30/2011

Possible backward incompatible changes:

- Don't mutate the value returned by XmlTest#getIncludedGroups and XmlTest#getExcludedGroups.
Instead, use addIncludedGroup/addExcludedGroup.
- Failing methods that have dependees will only cause skips in the same instance. Different
test instances will not be affected

Added: Support for ServiceLoader for ITestNGListener
Added: @Factory(dataProvider / dataProviderClass) on constructors
Added: assertNotEquals() to Assert
Added: assertArrayEquals() to AssertJUnit
Added: Nested classes are now automatically added for consideration for inclusion
Added: <suite preserve-order="true"> will cause this attribute to be propagated to all <test> tags
Added: <groups> can now be specified under a <suite>
Added: Tycho compatibility (Aleksander Pohl)
Added: New <test> and <suite> flag: group-by-instances
Added: -xmlpathinjar to specify the path of testng.xml inside a test jar file
Added: ISuite#getAllMethods, to retrieve all the methods at the start of a suite.
Added: Output ITestResult attributes in xml report (nguillaumin)
Fixed: Thread safety problem in MethodInvocationHelper (Baron Roberts)
Fixed: Group dependencies were not being skipped properly.
Fixed: Dependency failures only impact the same instance
Fixed: Static classes could cause a StackOverFlowError
Fixed: IConfigurationListener was not extending ITestNGListener
Fixed: IConfigurationListener#onConfigurationFailure was never called
Fixed: TESTNG-476: <test> tags are now run in the order found in testng.xml
Fixed: Now showing failed/skipped error messages on the console for verbose >= 2
Fixed: ITestResult#getEndMillis() return 0
Fixed: TESTNG-410: Clearer error message
Fixed: TESTNG-475: @DataProvider doesn't support varargs
Fixed: Performance problems in EmailableReporter
Fixed: TESTNG-472: Better output for assertNull()
Fixed: ConcurrentModificationException when using parallel data providers.
Fixed: TESTNG-282: Problem when including+excluding packages (addicted)
Fixed: TESTNG-471: assertEquals(Map, Map) fails if a map is a subset of the other
Fixed: JUnitReporter generates an <error> tag for successful expectedExceptions tests
Fixed: ISSUE-47: Don't allow two <test>s with same name within same suite (Nalin Makar)
Fixed: If a listener implements both ISuiteListener and IInvokedMethodListener, only one of them gets invoked

Eclipse:

Added: New quick fix "Add static import org.testng.AssertJUnit.assertXXX"
Added: New workspace wide setting: excluded stack traces, to provide shorter stack traces in the view
Added: New "Clear results" icon in the tool bar
Added: When the search filter is modified, don't update the tree live if it is too big
Added: Two new @Test refactorings (pull to class level, push to method level)
Added: JUnit conversion: @Ignore
Added: JUnit conversion: assertArrayEquals()
Added: JUnit conversion: @RunWith(Parameterized.class)
Added: Support for Hamcrest failed assertions in the compare dialog
Added: JUnit conversion: suite() methods can now either be removed, commented out or left untouched
Fixed: JUnit conversion: super.setUp()/tearDown() were being removed when extending a class other than TestCase
Fixed: "Run as" menu not appearing for methods that take a generic parameter.
Fixed: The tree was incorrect if the same class is used in different <test> tags
Fixed: When creating a new Run/Debug configuration, "Launch.label" was displayed
Fixed: TESTNG-459: TestNG menu should not always be present in context menu (Mykola Nikishov)
Fixed: Performance problems in the plug-in
Fixed: Workspace-wide XML template files are not being honored.
Fixed: @BeforeClass/@AfterClass from JUnit4 are not being properly converted
Fixed: Conversions generate @Test() instead of @Test

===========================================================================

6.0
2011/03/16

Added: @Guice(moduleFactory) and IModuleFactory
Added: @Guice(module)
Added: timeOut for configuration methods
Added: -randomizesuites (Nalin Makar)
Added: IConfigurable
Fixed: @Test(priority) was not being honored in parallel mode
Fixed: @Test(timeOut) was causing threadPoolSize to be ignored
Fixed: TESTNG-468: Listeners defined in suite XML file are ignored (Michael Benz)
Fixed: TESTNG-465: Guice modules are bound individually to an injector meaning that multiple modules can't be effectively used (Danny Thomas)
Fixed: Method selectors from suites were not properly initialized (toddq)
Fixed: Throw an error when two data providers have the same name
Fixed: Better handling of classes that don't have any TestNG annotations
Fixed: XmlTest#toXml wasn't displaying the thread-count attribute
Fixed: TESTNG-438: Regression in 5.14.1: JUnit Test Execution no longer working
Fixed: TESTNG-436: Deep Map comparison for assertEquals() (Nikolay Metchev)
Fixed: Skipped tests were not always counted.
Fixed: test listeners that throw were not reporting correctly (ansgarkonermann)
Fixed: <suite junit="true"> wasn't working.
Fixed: In parallel "methods" mode, method interceptors that remove methods would cause a lock up
Fixed: EmailableReporter now sorts methods chronologically
Fixed: TESTNG-411: Throw exception on mismatch of parameter values (via DP and/or Inject) and test parameters
Fixed: IDEA-59073: exceptions that don't match don't have stack trace printed in console (Anna Kozlova)
Fixed: IDEA's plug-in was not honoring ITest (fixed in TestResultMessage)
Fixed: Methods depending on a group they belong were skipped instead of throwing a cycle exception
Fixed: TESTNG-401: ClassCastException when using a listener from Maven
Fixed: TESTNG-186: Rename IWorkerApadter to IWorkerAdapter (Tomas Pollak)
Fixed: TESTNG-415: Assert.assertEquals() for sets and maps fails with 'null' as arguments
Fixed: typo -testRunFactory
Fixed: NPE while printing results for an empty suite (Nalin Makar)
Fixed: Invoke IInvokedMethodListener.afterInvocation after fixing results for tests expecting exceptions (Nalin Makar)
Fixed: TESTNG-441: NPE in SuiteHTMLReporter#generateMethodsChronologically caused by a race condition (Slawomir Ginter)

Eclipse:
Added: Convert to YAML
Added: New global preference: JVM args
Added: Eclipse can now monitor a test-output/ directory and update the view when a new result is created
Added: Right clicking on a class/package/project now offers a menu "TestNG/Convert to TestNG"
Added: Excluded methods are now listed in the Summary tab
Added: "Description" column in the excluded methods table
Added: Dialog box when the plug-in can't contact RemoteTestNG
Added: Double clicking on an excluded method in the Summary tab will take you to its definition
Added: If you select a package before invoking the "New TestNG class" wizard, the source and package text boxes will be auto-filled
Added: When an item is selected in a tab, the same item will be selected when switching tabs
Added: A new "Summary" tab that allows the user to see a summary of the tests, sort them by time, name, etc...
Added: It's now possible "Run/Debug As" with a right click from pretty much any element that makes sense in the tree.
Added: JUnit conversion: correctly replaces assertNull and assertNotNull
Added: JUnit conversion: removes super.setUp() and super.tearDown()
Added: JUnit conversion: removes @Override
Added: JUnit conversion: replaces @Test(timeout) with @Test(timeOut) (5.14.2.4)
Added: JUnit conversion: replaces @Test(expected) with @Test(expectedExceptions) (5.14.2.4)
Added: JUnit conversion: replaces fail() with AssertJUnit.fail() (5.14.2.2)
Added: JUnit conversion: replaces Assert with AssertJUnit (5.14.2.1)
Added: The progress bar is now orange if the suite contained skipped tests and no failures
Added: Skipped test and suite icons are now orange (previously: blue)
Added: New method shortcuts: "Alt+Shift+X N", "Alt+Shift+D N" (Sven Johansson)
Added: "Create TestNG class" context menu
Added: When generating a new class, handle overridden methods by generating mangled test method names
Fixed: Green nodes could override red parent nodes back to green
Fixed: Was trying to load the classes found in the XML template file
Fixed: Stack traces of skipped tests were not showing in the Exception view
Fixed: XML files should be run in place and not copied.
Fixed: NPE when you select a passed test and click on the Compare Result icon (Mohamed Mansour)
Fixed: When the run is over, the plug-in will no longer force the focus back to the Console view
Fixed: The counter in the progress bar sometimes went over the total number of test methods (5.14.2.9)
Fixed: org.eclipse.ui.internal.ErrorViewPart cannot be cast to org.testng.eclipse.ui.TestRunnerViewPart (5.14.2.9)
Fixed: Workspace preferences now offer the "XML template" option as well as the project specific preferences (Asiel Brumfield)
Fixed: TESTNG-418: Only last suite-file in testng.xml run by Eclipse plugin

Documentation:
Added: Section on Selenium (Felipe Knorr Kuhn)
Added: Link to an article on TestNG, Mockito and Emma in the Misc section

===========================================================================

5.14.7
2011/01/27

Release for IDEA

===========================================================================

5.14.1
2010/10/2

Fixed: TESTNG-401: ClassCastException when using a listener from Maven

===========================================================================

5.14
2010/08/28

Added: test suites can now be run in parallel with -suitethreadpoolsize
Fixed: @Listeners now aggregate through base classes
Fixed: ISuite was no longer serializable
Fixed: Injection was sometimes not working properly when used with @Parameters
Fixed: TESTNG-400: afterMethod was called after onTestFailure()
Fixed: "excludedgroups" was not working on the ant task because of a typo
Fixed: ant task error if <classfileset> is used with no classes (welex91)
Fixed: TESTNG-404: threaded tests fail due to use of non-threadsafe collections (Marcus Better)
Fixed: preserve-order was not preserving class order with dependent methods
Fixed: RetryAnalyzer wasn't working properly with factories
Fixed: The ant task was no longer supporting ',' for testclass

Eclipse:

Fixed: The plug-in wasn't running Groovy tests correctly (Andrew Eisenberg)
Fixed: TESTNG-402 [Eclipse Plug-In] NPE occurred when I run twice a custom "Run configuration" on a group

===========================================================================

5.13.1
2010/08/05

Added: -methods
Added: -configfailurepolicy (Todd Quessenberry)
Added: -methodselectors (Todd Quessenberry)
Added: @NoInjection
Added: <test preserve-order="true">
Added: -testnames (command line) and testnames (ant)
Added: New ant task tag:  propertyset (Todd Wells)
Added: ITestNGListenerFactory
Added: Passing command line properties via the ant task and doc update (Todd Wells)
Added: Hierarchical XmlSuites (Nalin Makar)
Added: Reporter#clear()
Fixed: NullPointerException when a suite produces no results (Cefn Hoile)
Fixed: Identical configuration methods were not always invoked in the correct order in superclasses (Nalin Makar)
Fixed: @DataProvider(parallel = true) was passing incorrect parameters with injection
Fixed: Replaced @Test(sequential) with @Test(singleThreaded)
Fixed: If inherited configuration methods had defined deps, they could be invoked in incorrect order (Nalin Makar)
Fixed: Initialize all Suite/Test runners at beginning to catch configuration issues right at start (Nalin Makar)
Fixed: Issue7: Issue86 Incorrect dates reported for configuration methods
Fixed: Issue24: OOM errors in SuiteHTMLReporter (Nalin Makar)
Fixed: Time outs specified in XML were not honored for <suite parallel="tests">
Fixed: <suite> and <test> time outs were hardcoded, they now honor their time-out attribute
Fixed: TestNG was hanging if no test methods were found
Fixed: onTestSuccess() was called after @AfterMethod instead of after the test method (test: test.listener.ListenerTest)
Fixed: XML test results contained skipfailedinvocationCounts instead of skipfailedinvocationcounts
Fixed: Issue4 assertEquals for primitive arrays, Issue34 assertNull javadoc updated
Fixed: Issue78 NPE with non-public class. Now throws TestNG exception
Fixed: NPE with @Optional null parameters (Yves Dessertine)
Fixed: TESTNG-387 TestNG not rerunning test method with the right data set from Data Provider (Francois Reynaud)
Fixed: Show correct number of pass/failed numbers for tests using @DataProvider
Fixed: Return correct method status and exception (if any) in InvokedMethodListener.afterInvocation()
Fixed: Trivial fixes: TESTNG-241 (log message at Info), Issue2 (throw SAXException and not NPE for invalid testng xml)
Fixed: Configuration methods couldn't depend on an abstract method (Nalin Makar)
Fixed: TestNG#setTestClasses was not resetting m_suites
Fixed: Exceptions thrown by IInvokedMethodListeners were not caught (Nalin Makar)
Fixed: @Listeners now works on base classes as well
Fixed: Test priorities were not working properly in non-parallel mode
Fixed: @Listeners wasn't working properly with ITestListener

Eclipse

Fixed: TESTNG-395 New wizard was creating classes called "NewTest"
Fixed: TESTNG-397 Class level @Test was preventing groups from showing up in the launch configuration

Doc
Updated Maven documentation (Brett Porter)

===========================================================================

5.12.1
2010/03/29

Maven update

===========================================================================
5.12

Removed: Javadoc annotation support

Added: @Listeners
Added: IAttributes#getAttributeNames and IAttributes#removeAttribute
Added: testng-results.xml now includes test duration in the <suite> tag (Cosmin Marginean)
Added: Injection now works for data providers
Added: TestNG#setObjectFactory(IObjectFactory)
Added: Priorities: @Test(priority = -1)
Added: New attribute invocation-numbers in <include>
Added: testng-failed.xml only contains the data provider invocations that failed
Added: IInvokedMethodListener2 to have access to ITestContext in listeners (Karthik Krishnan)
Fixed: @Before methods run from factories were not properly interleaved
Fixed: The TextReporter reports skipped tests as PASSED (Ankur Agrawal)

Eclipse:

Added: New file wizard: can now create a class with annotations, including @DataProvider
Added: You can now select multiple XML suites to be run in the launch dialog
Fixed: @Test(groups = <constant>) was taking name of the constant instead of its value.
Fixed: https://jira.codehaus.org/browse/GRECLIPSE-476 NPE with Groovy Tests (Andrew Eisenberg)
Fixed: The custom XML file is now created in the temp directory instead of inside the project
Fixed: In the launch dialog, now display an error if trying to pick groups when no project is selected
Fixed: Was not setting the parallel attribute correctly on the temporary XML file

===========================================================================
5.11
2009/12/08

Added: Dependent methods can now run in their own thread
Added: dataProviderThreadCount can be set from the command line and from ant (Adrian Grealish)
Added: ITestAnnotation#setDataProvider
Added: Assert#assertEquals() methods for Sets and Maps
Fixed: The text reporter was no longer reporting stack traces for verbose >= 2
Fixed: dataProviderClass was not respecting inheritance (like most attributes still)
Fixed: @BeforeSuite/@AfterSuite would run multiple times when used in a @Factory
Fixed: packages=".*" wasn't working properly (sandopolus)
Fixed: TestResult#getName now returns the description instead of the method
Fixed: @DataProvider and dependent methods were not skipping correctly (Francois Reynaud)
Fixed: TESTNG-347 suite with parallel="tests" and test with parallel="classes" doesn't work correctly (Rob Allen)
Fixed: TESTNG-67: @Configuration/@Factory methods in base class being ignored
Fixed: Inner test classes were not excluded properly (Carsten Gubernator)
Fixed: threadPoolSize without invocationCount was causing reporters not to be invoked
Fixed: A @Factory throwing an exception did not cause any error
Fixed: <classfilesetref> was not working properly in the ant task (Ed Randall)
Fixed: @BeforeClass methods were not running in parallel (Aidan Short)
Fixed: Test class with @ObjectFactory doesn't get instantiated via the factory
Fixed: Allow IObjectFactory to load from non-standard classloader (for PowerMock support)

Eclipse 5.11.0.19:
Added: New "parallel" preference setting (Windows / Preferences / TestNG)
Fixed: IIinvokedMethodListeners were not invoked

===========================================================================
5.10

Added: The output in the testng-results.xml is now sorted by the starting timestamp (Daniel Rudman)
Added: Better display of the test name and method description in the default and Emailable report
Added: If both -testjar and an XML file are provided on the command line, the latter will be used
Added: @Before and @After methods can be injected with the current XmlTest
Added: Methods that time out now display the stack trace showing where the time out occurred
Added: ITestResult#getAttribute and ITestResult#setAttribute
Added: @After methods can now be injected with an ITestResult
Added: @BeforeMethod and @AfterMethod methods can now be injected an ITestResult
Added: ISuite#getAttribute and ISuite#setAttribute to share data within a suite
Added: @Test(expectedExceptionsMessageRegExp = ".*foo.*")
Added: @DataProvider(parallel=true)
Fixed: @Test(dataProvider) was not working at the class level
Fixed: Display a better error message if the wrong exception is thrown with an expectedExceptions
Fixed: Classes created by factories were not run in the order they were created
Fixed: Dependent methods are now run closer to methods within their class
Fixed: xmlFileSet in ant was not working correctly (Sean Shou)
Fixed: Various oversights in the DTD (Will McQueen)
Fixed: XMLUtils was not escaping XML attribute values
Fixed: TESTNG-317: Sequence order mis-calculation: testing using suite in sequence for classes and same method names creates non-sequential order
Fixed: Test names (classes that implement org.testng.ITest) now appear more prominently in the HTML reports
Fixed: expectedExceptions=RuntimeException.class was not failing when no exception was throw
Fixed: TESTNG-291: Exceptions thrown by Iterable DataProviders are not caught, no failed test reported (Roberto Tyley)
Fixed: TESTNG-301: Need to include parameters in testNG report for test created by @Factory
Fixed: testng-failed.xml now includes skipped tests
Fixed: TestNG couldn't find Groovy files (Haw-Bin)

Eclipse

Fixed: TESTNG-313: Provide extension point to contribute test and report listeners (Erik Putrycz)
Fixed: Quick fixes no longer introduce deprecated annotations (Greg Turnquist)

===========================================================================
5.9
2009/04/09

Added: New ant task boolean flag: delegateCommandSystemProperties (Justin)
Added: skipfailedinvocations under <suite> in testng-1.0.dtd (Gael Marziou / Stevo Slavic)
Added: -testrunfactory on the command line and in the ant task (Vitalyi Pamajonkov)
Added: TESTNG-298: parallel="classes", which allows entire classes to be run in the same thread
Added: @BeforeMethod can now declare Object[] as a parameter, which will be filled by the parameters of the test method
Added: IAnnotationTransformer2
Added: @Test(invocationTimeOut), which lets you set a time out for the total time taken by invocationCount
Added: IInvokedMethodListener
Added: -testjar supports jar file with no testng.xml file
Fixed: IInvokedMethodListener wasn't properly recognized from the command line (Leonardo Rafaeli)
Fixed: TESTNG-309 Illegal default value for attribute in DTD file
Fixed: TESTNG-192: JUnit XML output includes wrong tests (Aleksandar Borojevic)
Fixed: Set a generated suite to default to non-parallel (Mark Derricutt)
Fixed: -testJar command line parsing bug
Fixed: testng-failed.xml didn't include the listeners
Fixed: annotation transformers were not run when specified in testng.xml
Fixed: TESTNG-192: JUnit XML output includes wrong tests (Borojevic)
Fixed: @Parameters was not working correctly on @BeforeMethods with @DataProvider used on @Test methods
Fixed: testng-failed.xml was sometimes incorrectly generated (Borojevic)
Fixed: TestNG-228: Assert.assertEqualsNoOrder
Fixed: TestNG-229: Assert.assertEquals does not behave properly when arguments are sets
Fixed: TESTNG-36: assertEquals(Collection actual, Collection expected, String message) may have bug
Fixed: TESTNG-296: Malformed jar URLs breaking -testJar
Fixed: TESTNG-297: TestNG seemingly never stops running while building failed test suite (Gregg Yost)
Fixed: TESTNG-285: @Test(sequential=true) works incorrectly for classes with inheritance
Fixed: TESTNG-254: XMLSuite toXML() ignores listeners
Fixed: TESTNG-276: Thread safety problem in Reporter class
Fixed: TESTNG-277: Make Reporter.getCurrentTestResult() public
Fixed: Potential NPE in XmlTest#getVerbose (Ryan Morgan)
Fixed: EmailableReporter only displayed the first group for each test method
Fixed: time-outs were not working in <test> and <suite>
Fixed: @BeforeTest failing in a base class would not cause subsequent test methods to be skipped
Fixed: TESTNG-195: @AfterMethod has no way of knowing if the current test failed
Fixed: TESTNG-249: Overridden test methods were shadowing each other if specified with <include>
Fixed: DataProviders from @Factory-created tests were all invoked from the same instance
Fixed: enabled was not working on configuration methods
Fixed: IIinvokedMethodListener was not correctly added in TestNG
Fixed: NPE in XmlSuite#toXml
Fixed: TESTNG-231: NullPointerException thrown converting a suite to XML (Mark)

Doc:
Added: 5.20: IInvokedMethodListener
Added: -testjar

===========================================================================
5.8

Fixed: TestNG-220: Ignore class definition/loader issues when scanning classpath for implicit classes
Fixed: TestNG-224: Fix for relative suite filenames in XML file
Added: TestNG-213: @Optional on a method parameter to allow optional @Parameters
Fixed: TestNG-214: SkipException and TimeBombSkipException should accept nested exceptions
Fixed: TestNG-211: new Parser(inputStream) doesn't work
Added: Methods that form a cycle are now shown when the cycle is detected
Added: Support for <listeners> in testng.xml
Added: IMethodInterceptor
Added: @TestInstance on a data provider method parameter
Fixed: @AfterMethod(lastTimeOnly) didn't work properly with data providers
Added: antlib.xml to allow autodiscovery of Ant task definition
Fixed: name attribute on <test> is required

Doc:
Added: Method Interceptor
Added: @Optional
Added: Doc for IMethodInterceptor (5.16) and TestNG listeners (5.18)
Added: 5.19: Dependency injection

===========================================================================
5.7

Added: @BeforeMethod(firstTimeOnly) and @AfterMethod(lastTimeOnly)
Added: @BeforeMethods can now take a Method and ITestContext parameters (like @DataProvider)
Fixed: logging about abstract classes moved to level 5
Added: if @Parameter is missing from testng.xml then it is read from the System properties
Fixed: Don't run a @DataProvider method as a test when a class-level @Test is present
Added: Attribute @Test#skipFailedInvocations
Fixed: TESTNG-169 Error message: <method> is depending on nonexistent method null ("null" is uninformative)
Fixed: -listener takes comma-separated classes
Added: RetryAnalyzer (experimental) (Jeremie)

===========================================================================
5.6
2007/06/14

Added: SkipException/TimeBombedSkipException for manual skipping
Added: <tests> can now be disabled at xml level using <test enabled="false">
Added: Suite files that only contain other suites do not get reported
Fixed: @BeforeClass methods would incorrectly report cyclic graphs
Added: get/setAttribute to ITestContext
Added: plugging in factory objects to handle the actual instantiation of tests
Added: dataProvider to @Factory
Added: ISuite now gives access to the current XmlSuite
Fixed: TESTNG-139 dependsOnMethods gets confused when dependency is "protected"
Fixed: TESTNG-141 junit attribute set to false in testng-failed.xml when it should be true
Fixed: TESTNG-142 Exceptions in DataProvider are not reported as failed test
Added: Improved behavior for @Before/@AfterClass when using @Factory
(https://forums.opensymphony.com/thread.jspa?threadID=6594&messageID=122294#122294)
Added: Support for concurrent execution for invocationCount=1 threadPoolSize>1 and @DataProvider
(https://forums.opensymphony.com/thread.jspa?threadID=64738&tstart=0)
Added: New TestNG specific XML report, generated by default in 'xml' subdirectory of test-output
Added: support in strprotocol for passing the ITest.getTestName() information
Fixed: TESTNG-152 If DataProvider is not found, the exception message should tell exactly what happened

Eclipse plug-in

Fixed: Bug that made group launch configurations unusable
Fixed: The plugin doesn't create the correct launch configuration for @Factory
Fixed: Method based launchers cannot be editted
Fixed: Plugin hangs while executing test with dataprovider that sends \n, \r messages
Added: display ITest.getTestName()

IDEA plug-in

Fixed: IDEA 7.0 compatibility
Fixed: occasional 'illegal arguments exception'
Fixed: TESTNG-151 Final passing test result is not properly hidden
Added: Auto-completion for dependsOnMethods
Added: Highlighting of invalid groups/methods in dependsOn*

===========================================================================
5.5
2007/01/25

Fixed: @BeforeGroup methods were run twice when in a base class
Fixed: @BeforeGroup methods were run twice with a @Test at class level
Fixed: parallel="tests" didn't work as advertised
Added: Support for thread-count at test level
Added: Method selectors receive a Context and can stop the chain with setStopped()
Fixed: XmlMethodSelector was always run first regardless of its priority
Added: @BeforeGroups/@AfterGroups can live in classes without @Test methods
Added: DataProvider can now take an ITestContext parameter
Fixed: Wasn't parsing <selector-class-name> correctly
Fixed: Annotation Transformers now work on class-level annotations
Fixed: Some class-level @Test attributes were not always honored
Added: Clean separation between @Test invocation events and @Configuration invocation events
       (see also TESTNG-111)
Added: Test instances created by @Factory now run in multiple threads in parallel mode
Fixed: @Before/@AfterGroups invocation order
Fixed: TESTNG-27: Parameters are not used on <test> level anymore
Fixed: TESTNG-107 don't create an output directory if "outputDirectory" is null
Fixed: TESTNG-127 UseDefaultListeners in Ant Task does not work
Fixed: TESTNG-119 Running TestNG runner with invalid '-sourcedir' on JDK14 JavaDoc annotated test classes won't fail.
Fixed: TESTNG-113 Dependent methods within the same static inner class are not found
Fixed: TESTNG-125 TestNG failed for test classes under *.java*.* pakages

Eclipse plug-in
Fixed: issue with launch configuration
Fixed: TESTNG-124: setting location of testng reports output

===========================================================================
5.4

Fixed: Ant task issue with paths containing spaces
Added: for @BeforeGroups and @AfterGroups specifying the groups() attribute will auto-include the method
			 into those groups by default (previously you had to also provide the value() attribute).
Added: the load @Tests (invocationCount + threadPoolSize) are triggered simultaneous
Fixed: reports are correctly displaying the thread info
Added: @DataProvider name defaults to method name
Added: support for remote protocol to pass parameter information
Fixed: TextReporter logs information about the parameters of the test methods
Fixed: concurrency issue in JUnitXMLReporter
Fixed: output of JUnitXMLReporter must be CDATA
Fixed: XML unsupported annotations/parallel attribute values are reported

Eclipse plug-in
Fixed: groups with multi-attribute javadoc annotations
Fixed: consistent behavior for dependsOnMethods
Fixed: consistent behavior for tests with dependsOnGroups (a warning is emitted)
Fixed: consistent merge of configuration arguments when an existing launch configuration exists
===========================================================================
5.3
2006/10/30

Fixed: use a single instance of bsh.Interpreter
Added: @Before/@AfterMethod can declare a java.lang.reflect.Method parameter to be informed about the @Test method
Fixed: super classes must not be listed in testng-failures.xml
Fixed: parallel attribute must not appear if empty or null in testng-failures.xml
Fixed: parsing for javadoc annotations is done on request only
Added: improved multiple suite summary page report
Added: -target option deprecated in favor of -annotations javadoc|jdk
Fixed: filesets in the ant task didn't work if the paths have spaces in them
Fixed: Before/After Suite were behaving wrong in parallel execution
Added: A generic/extensible RemoteTestNG was added to the core
Fixed: Before/AfterGroup-s were behaving wrong when using invocationCount, dataProvider and threadPoolSize
Fixed: improved support for running different annotation type tests in the same suite
Fixed: testng-failed.xml was generated even if there were no failures/skipps
Fixed: -usedefaultlisteners was wrongly passed to JVM instead of TestNG options
Added: Attribute dataProviderClass for @Test and @testng.test
Fixed: Forgot to account for cases where both invocationCount and DataProviders are present
Fixed: AfterGroups were invoked out of order with invocationCount and DataProviders
Fixed: Reporter.getOutput() returned an empty array if a timeOut was specified
Added: testng.xml now supports <suite-files>
Added: ant task can receive several listeners
Fixed: TESTNG-109 Skipped tests with expected exceptions are reported as failures
Added: ant task can now select the parallel mode for running tests
Fixed: ant task correctly deals with empty groups and excludedgroups parameters
Added: ant task can override default suite and test names
Added: comand line support for setting parallel mode, suite and test names

Eclipse plug-in
Added: Support for configuring per project usedefaultlisteners
Added: Contextual drop-down menu on failures tab of the TestNG view to enable running/debugging method failure only
Added: Support for configuring per project TestNG jar usage (project provided one or plugin provided one)

===========================================================================
5.2

Added: "-usedefaultlisteners true/false" to command line and ant
Added: EmailableReporter (from Paul Mendelson)
Added: parallel can now be "methods" or "tests". Boolean version deprecated
Added: TestNGAntTask now uses the @ syntax to invoke TestNG
Added: Command line understands @ syntax
Added: JUnitConverter uses the new syntax
Added: -groups to JUnitConverter
Fixed: Throw proper exception when a DataProvider declares parameters
Added: completely revamped JUnit support (should run all kind of JUnit tests)
Fixed: TESTNG-40 (Bug in testng-failed.xml generation)
Fixed: TESTNG-106 (Failed "@BeforeSuite" method just skipps the last test in xml-file)
Fixed: Success on 0 tests (https://forums.opensymphony.com/thread.jspa?threadID=41213)

Eclipse plug-in
Added: TESTNG-105 Automaticaly define TESTNG_HOME classpath variable

===========================================================================
5.1
2006/08/18

Added: @Test(sequential = true)
Fixed: TESTNG-102 (Incorrect ordering of @BeforeMethod calls when a dependency is specified)
Fixed: TESTNG-101 (HTML output contains nested <P> tags and a missing <tr> tag)
Added: support for specifying test-only classpath (https://forums.opensymphony.com/thread.jspa?messageID=78048&tstart=0)
Fixed: TESTNG-93 (method selectors filtering @BeforeMethod)
Fixed: TESTNG-81 (Assert.assertFalse() displays wrong expected, actual value)
Fixed: TESTNG-59 (multiple method selectors usage results in no tests run)
Fixed: TESTNG-56 (invocation of @Before/AfterClass methods in parallel/sequential scenarios)
Fixed: TESTNG-40 (failures suite does not contain @Before/After Suite/Test methods)
Fixed: TESTNG-37 (allow passing null parameter value from testng.xml)
Fixed: TESTNG-7 (display classname when hovering method)


Eclipse plug-in

Added: run contextual test classes with parameters from suite definition files
Added: TESTNG-100 (Show HTML reports after running tests)
Added: TESTNG-97 (Double click top stack to raise comparison)
Added: TESTNG-84 (plug-in UI for suite option should support absolute path)
Added: TESTNG-20 (copy stack trace)

Fixed: TESTNG-72 (display groups with non-array values)
Fixed: TESTNG-64 (Eclipse plug-in applies added groups to all launch configurations)
Fixed: TESTNG-28 (Cannot select groups from dependent eclipse projects)
Fixed: TESTNG-25 (do not display fully qualified method name when running contextual test class)

Improved behavior:
	TESTNG-98 (temporary files have guaranteed fixed names)
	TESTNG-95 (Assertion failed comparison trims trailing ">")
	TESTNG-70 (TestNG prevents eclipse from opening an older CVS version of a java class)
	display of test hierarchy information (TESTNG-29)

===========================================================================

5.0.1

Eclipse plug-in

Added: Output directory for the tests
Added: Can now specify listener classes

===========================================================================
5.0.1

Fixed: reports generated by SuiteHTMLReporter do not work with JDK1.4

===========================================================================

5.0
2009/04/01

Added: Ant task: support for JVM, workingDir, timeout
Added: Stack traces can be interactively shown in the HTML reports
Added: Link to testng.xml in the reports
Added: New structure for reports, suites go in their individual directory
Added: @Test(suiteName) and @Test(testName)
Added: The stack traces in reports do not include TestNG frames (system property testng.exception)
			 (see: https://groups.google.com/group/testng-dev/browse_thread/thread/9f4d46ade10b0fda)
Fixed: Exit with error when no methods are run
			 (see: https://groups.google.com/group/testng-dev/browse_thread/thread/3c26e8a5658f22ac)
Added: List of methods in alphabetical order
Fixed: Class-scoped annotations were not recognized when inherited
Added: Deprecated @Configuration and introduced @BeforeSuite/Test/Class/TestMethod
Added: Deprecated @ExpectedExceptions and moved it into @Test
Added: expectedExceptions to @Test, deprecated @ExpectedExceptions
Added: New annotations:  @BeforeSuite, @BeforeTest, etc...
Fixed: Was returning an exit code of 0 if a cyclic graph was detected
Added: Interface org.testng.ITest so that tests can declare a name
Fixed: The Text reporter was reporting the square of the actual number of methods
Fixed: Bug reported by Eran about dependencies with an afterClass method
Added: IHookCallBack now receives the ITestResult in its run() method
Added: Name of suite for command line can be set with -Dtestng.suite.name=xxx
Fixed: TestNGAntTask was hardcoding m_haltOnFSP to true
Fixed: Passing a null parameter caused an NPE in the reports
Added: "listener" to the ant task (and documentation)
Added: if patch-testng-sourcedir.properties is found in the classpath
       with a property "sourcedir" containing a ; separated list of
       directories, this list will override -sourcedir.

===========================================================================


4.7

Added: Maven 2 plug-in
Fixed: Message formattings in TestNG assertion utility class
Fixed: @Factory methods were counted as @Test as well
       https://jira.opensymphony.com/browse/TESTNG-51
Fixed: All DataProvider parameters were shown in the HTML report
Fixed: Bug in testng-failed.xml generation
Fixed: <packages> bug when using a jar file to load the test classes
Added: alwaysRun for before @Configuration methods
       https://jira.opensymphony.com/browse/TESTNG-35
Fixed: groupless @Configurations were not invoked if a method depends on a group
       https://jira.opensymphony.com/browse/TESTNG-45
Added: beforeGroups/afterGroups to @Configuration

Eclipse plugin:

Added: last contextual launch is available in Eclipse launcher lists
Fixed: 3.2M5 integration (removed dependency on non-existing class)
Fixed: testng-failures.xml generation

===========================================================================

4.6
2006/27/02

Added: Documentation contains the new reports
Added: TestNG.setUseDefaultListeners(boolean)
Added: Descriptions now appear in TextReporter (verbose>=2) and the HTML reports
Added: description attribute to @Test and @Configuration
Added: combined Reporter output in the reports
Added: methods not run in the reports
Added: org.testng.IReporter
Added: threadPoolSize to @Test
Added: Reports now show relative timings (start at 0)
Added: Reports now show different colors depending on the methods' classes
Added: Reports now show all parameters used to invoke the test method
Added: org.testng.Reporter
Added: DataProviders can accept a Method as first parameter
Fixed: Extraneous implicit inclusion of a method

Eclipse plugin:

Added: Run/Debug as TestNG test from the editor contextual menu
Fixed: TESTNG-24: 'Run as testng test' does not appear of the Test annotation does not have a group
Fixed: TESTNG-18: Eclipse plugin ignores Factory annotation
Fixed: TESTNG-21: Show differences when double clicking assertion exceptions
Added: UI allows setting orientation (even more space)
	   https://forums.opensymphony.com/thread.jspa?threadID=17225&messageID=33805#33805

===========================================================================

4.5
2007/07/02

Core:

Fixed: Methods were not implicitly included, only groups
Fixed: Bug with failed parent @Configuration don't skip child @Configuration/@Test invocations
Fixed: Bug with overridding @Configuration methods (both parent and child were run)
Fixed: Bug when overriding beforeClass methods in base class (cyclic graph)
Added: Support for JAAS (see org.testng.IHookable)
Fixed: Problem with nested classes inside <package name="foo.*"
Fixed: If a group is not found, mark the method as a skip instead of aborting
Fixed: testng-failed.xml was not respecting dependencies
Fixed: class/include method in testng.xml didn't work on default package
Fixed: DTD only allowed one <define>
Fixed: ArrayIndexOutOfBoundsException for jMock
Added: dependsOnMethods can contain methods from another class
Fixed: JUnitConverter required -restore, not any more (option is now a no-op)
Fixed: JUnit mode wasn't invoking setName() on test classes
Added: Regular expressions for classes in <package>
Added: Distributed TestNG
Fixed: Command line parameters and testng.xml are now cumulative
Fixed: Reports now work for multiple suites
Fixed: Was ignoring abstract classes even if they have non-abstract instances
Fixed: If setUp() failed, methods were not skipped
Fixed: Was not clearly indicating when beforeSuite fails
Added: @Configuration.inheritGroups
Fixed: inconsistency between testng.xml and objects regarding method selectors

Eclipse plug-in:

New look for the progress view.

===========================================================================

4.4

Core:

Fixed: testng-failures.xml was not excluding methods from base classes
Fixed: Bug in suites of suites for JUnit mode

===========================================================================

4.3

Core:

Fixed: testng-failures.xml was not excluding methods from base classes
Fixed: Bug in suites of suites for JUnit mode
Added: Excluded groups on command line and ant task
Fixed: When including a group, implicitly include groups depended upon
Fixed: When depending on several groups, wasn't skipped if one of them failed
Fixed: Failures weren't reported accurately in the JUnitReports report
Fixed: Wasn't throwing an exception if depending on a non-existing group

===========================================================================

4.2

Core:

Fixed: wasn't excluding methods in base classes
Added: alwaysRun for tests (soft dependencies)
Fixed: Class-level enabled=false were not honored
Fixed: Bug with multiple dataproviders on same class
Fixed: Bug with dataprovider defined in the parent class
Fixed: Bug with dataprovider defined in a subclass
Fixed: Bug with dataprovider defined in an abstract class
Fixed: testng-failures generation was excluding the methods even if a failed test depended on it

===========================================================================

4.1

Core:

Added: @DataProviders can return Iterable<Object[]>
Fixed: Superclass test methods were not called in the presence of a class @Test
Added: Reporter class to log messages in the HTML reports

===========================================================================

4.0
2005/11/10

Core:

Fixed: suite methods now invoked only once in a hierarchy
Added: @DataProvider and @testng.data-provider
Fixed: Interleave order now respected for before/afterClass methods
Added: Can now invoke java -jar testng-2.6.jar <...>
Added: Support for BeanShell
Added: Method Selectors (IMethodSelector)
Fixed: In the absence of dependencies, @Configuration methods respect inheritance
Fixed: Bug in multithreaded dependencies on methods
Fixed: dependsOnGroups wasn't working on regular expressions
Fixed: Bug in <package> when directories contain spaces in their names
Fixed: Introduced a JDK5 dependency in the JDK1.4 build (getEnclosingClass())
Fixed: Output directory in ant task was not honored if it didn't exist
Fixed: Problem with timeout according to
       https://forums.opensymphony.com/thread.jspa?threadID=6707

Eclipse plug-in:

Fixed: Wasn't handling linked directories correctly
Fixed: Bug in QuickFix implementation
Added: Quick Fix for JUnit conversion (Annotations and JavaDoc)
Fixed: Methods Run as TestNG test
Added: Package level Run as TestNG test
Fixed: Resources from the linked directories are using a wrong path when
       passed to command line TestNG

IDEA plug-in:

Added: Support for JDK 1.4 (both projects and IDEA itself)
Fixed: Classes that contained only configuration were ignored

===========================================================================

2.5
2005/08/08

Added: ITestListener.onTestStart(ITestResult)
Added: Support for <packages>
Added: Resource files for easier ant taskdefs
Fixed: @Configuration methods were not invoked with individual test methods
Fixed: Bug with ExpectedExceptions
Fixed: Didn't support nested factory classes
Fixed: NPE if -target is omitted with JDK 1.4
Fixed: @Configuration failures in a class would cause other classes to fail
Added: alwaysRun
Fixed: beforeTestClass/afterTestClass were broken for a pathological case
Added: @Configuration(alwaysRun)
Added: JUnitConverter task
Fixed: < and > characters in reports were not escaped

Eclipse plug-in:

Fixed: Class dialog wasn't showing @Factory classes

IDEA plug-in:

First release!

Documentation:

Added: Brand new look!!!
Added: Section on testng.xml
Fixed: Numbering of sections

===========================================================================

2.4
2005/07/05

Changed: New package:  testng.org
Fixed: Bug with @ExpectedException occuring the parallel mode
Fixed: Bug with parameters and beforeTest
Added: IInstanceInfo support
Fixed: methods were not excluded when included by groups
Fixed: testng-failures.xml is now including also the beforeSuite/afterSuite methods
Fixed: generating the testng-failures.xml is now working as expected
Fixed: Factories call all the tests even if some of them fail along the way
Fixed: Better JUnit support (wasn't creating individual instances)
Fixed: dependsOnGroups didn't work across different classes
Added: command line (and Ant) -groups option
Added: @Parameters (and made parameters attribute deprecated)
Added: Parameters for constructors
Fixed: Better interleaving of before/afterTestMethods
Fixed: Ant task
Fixed: TestNGException thrown when TestNG conditions are not fulfilled

Documentation:
- New assert classes
- New ways to launch
- JUnitConverter documentation
- new beforeSuite/afterSuite

===========================================================================

2.3
2005/04/12

Fixed: Spaces are now legal in JavaDoc comments
Added: documentation for @Factory
Fixed: factories were called multiple times
Added: beforeSuite and afterSuite
Fixed: inheritance and scope now working properly for annotations
Fixed: dependsOnMethods wasn't working for 1.4
Added: Better stack traces
Added: Better syntax for included/excluded methods
Fixed: Better verbose support
Fixed: Various fixes for the Eclipse plug-in
Added: Can specify a class name on the command line
Fixed: Default package bug in JUnitConverter
Added: Regression tests for JUnitConverter
Added: -quiet option to JUnitConverter

===========================================================================

2.2

Fixed: Wasn't handling several testng.xml files correctly
Fixed: Renamed -src to -sourcedir
Fixed: Complains if no sourcedir is specified in 1.4
Added: In 1.4, don't require annotations="javadoc"
Fixed: If setUp fails, complain and mark test methods as skips
Fixed: Dependent methods weren't working for 1.4

===========================================================================

2.1
2005/02/12

Added: Parser can accept an InputStream for testng.xml
Fixed: expected-exceptions now fails if test passes
Fixed: reports now use the suite name in HTML
Added: invocationCount and successPercentage
Added: dependsOnMethods
Added: timeOut works in non-parallel mode

===========================================================================

2.0
2004/12/06

Added: port on JDK 1.4

===========================================================================

1.3

Added: new view:  classes (still experimental)
Added: timeout on methods
Added: thread-count
Added: TestNG is now multithread, see "parallel" in <suite>

===========================================================================

1.2

Added: JUnitConverter
Fixed: Bug with afterClasses (test: AfterClassCalledAtTheEnd)

===========================================================================

1.1

Added: new links for methods and groups in the HTML report
Added: <methods>
Added: <fileset> to <testng>

===========================================================================

1.0
2004/04/28
https://beust.com/weblog/2004/04/28/

Fixed: Updated to the new DTD
Fixed: Suite table of contents displays failures first
Fixed: Bug in afterTestClass
Added: Validating testng.xml
Added: Scoped parameters
Added:  testng.xml
Removed: Property quiet
Changed: Verbose is now an integer
Added:  Dependent methods

===========================================================================

0.9

Added:  Groups of groups
Added:  Groups for Configuration methods
Added:  Parameters

===========================================================================

0.2

Fixed:  Merged TestMethod and TestClass into Test
Added: HTML report
Added: Regexps for groups
Fixed:  Inheritance of methods
Fixed:  ExpectedException is now called ExpectedExceptions
