saridormi/commit-message-quality
Commit Message Quality dataset This is the dataset for commit message quality classification, used during processing of Commit Message Generation dataset from 🏟️ Long Code Arena benchmark. This is a cleaned and relabeled version of the dataset from 📜 "Commit Message Matters: Investigating Impact and Evolution of Commit Message Quality", ICSE'23. We drop "Neither Why nor What" examples, clean all the external references (URLs, issues/PR references) from messages and manually… See the full description on the dataset page: https://huggingface.co/datasets/saridormi/commit-message-quality.
0110
1{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/1254795902e56eb545e1fe696827924bc5e82b66","original_message":"Mark ThreadGroups created by FailOnTimeout as daemon groups (#1687) \n \n Mark ThreadGroup created by FailOnTimeout as a daemon group. \n \n Previously, FailOnTimeout destroyed the ThreadGroup, which could cause race conditions if the ThreadGroup was referenced by other threads. \n \n Fixes #1652","message":"Mark ThreadGroups created by FailOnTimeout as daemon groups\nMark ThreadGroup created by FailOnTimeout as a daemon group.\nPreviously, FailOnTimeout destroyed the ThreadGroup, which could cause race conditions if the ThreadGroup was referenced by other threads.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}2{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/435d41f0d45cfdbc1a38e1ad4eb1d5300da533f9","original_message":"Use Google's Maven Central mirror \n \n We are using Maven 3.1.1 which by default uses HTTP instead of HTTPS for \n resolving artifacts from Maven Central. Maven Central recently \n discontinued HTTP support. Therefore the build on Travis started \n failing. By using an HTTPS mirror of Maven Central the build on Travis \n will work again. \n \n I chose Google's mirror because Travis uses this mirror by default, too. \n I did not upgrade to a new version of Maven because there is no newer \n version with Java 5 support and it should be possible to build JUnit 4 \n with Java 5 so that we can easily ensure that it works with Java 5.","message":"Use Google's Maven Central mirror\nWe are using Maven 3.1.1 which by default uses HTTP instead of HTTPS for\nresolving artifacts from Maven Central. Maven Central recently\ndiscontinued HTTP support. Therefore the build on Travis started\nfailing. By using an HTTPS mirror of Maven Central the build on Travis\nwill work again.\nI chose Google's mirror because Travis uses this mirror by default, too.\nI did not upgrade to a new version of Maven because there is no newer\nversion with Java 5 support and it should be possible to build JUnit 4\nwith Java 5 so that we can easily ensure that it works with Java 5.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}3{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6c5de817e7e0afdd4d09354693535520712595fc","original_message":"Remove reference to obsolete mailing list","message":"Remove reference to obsolete mailing list","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}4{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/467c3f8efe1a87e3029df282e4df60ad98bc4142","original_message":"Deprecate Assert#assertThat \n \n The method 'assertThat' is used for writing assertions with Hamcrest. \n Hamcrest is an independent assertion library and contains an own \n 'assertThat' method in the class 'org.hamcrest.MatcherAssert'. It is \n available both in the old Hamcrest 1.3 release and in the current \n Hamcrest 2.1. Therefore the JUnit team recommends to use Hamcrest's own \n 'assertThat' directly.","message":"Deprecate Assert#assertThat\nThe method 'assertThat' is used for writing assertions with Hamcrest.\nHamcrest is an independent assertion library and contains an own\n'assertThat' method in the class 'org.hamcrest.MatcherAssert'. It is\navailable both in the old Hamcrest 1.3 release and in the current\nHamcrest 2.1. Therefore the JUnit team recommends to use Hamcrest's own\n'assertThat' directly.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}5{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8a367c1b918f02135d333f3cea8b576c20287361","original_message":"Revert 'ExternalResource: declare after() to throw Throwable (#1421)' \n \n Revert commit cebbf5e15725b4dc247ac0557f6fa63f475b15af. \n It breaks code that extends ExternalResource, \n overrides after() and calls super.after() in after().","message":"Revert 'ExternalResource: declare after() to throw Throwable (#1421)'\nRevert commit cebbf5e15725b4dc247ac0557f6fa63f475b15af.\nIt breaks code that extends ExternalResource,\noverrides after() and calls super.after() in after().","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}6{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/37610e67f77db2f238e7fde2c36f1f0d180790b1","original_message":"spelling: unwieldy","message":"spelling: unwieldy","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}7{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b9a1291cd0e72b0ba1babfd330a0148ab3d42b27","original_message":"spelling: methods","message":"spelling: methods","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}8{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a5e71079e26cfa282a36b1eab806f596bc20a949","original_message":"spelling: builder","message":"spelling: builder","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}9{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/2101dad6cf8fcd94d351f65cf28812ec527d7bf5","original_message":"spelling: assert","message":"spelling: assert","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}10{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/039dbd17447bd7bb5b4d0f7861d87b5c22703832","original_message":"style: remove space","message":"style: remove space","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}11{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6d0fad48ce3a05b32d903d2016c24d276b6e1eb8","original_message":"Remove usages of FrameworkMember as a raw type. (#1596)","message":"Remove usages of FrameworkMember as a raw type.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}12{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/61c3a030440ed9041aafd9e66d1c6c3ebc71440a","original_message":"ParentRunner.classRules() returns modifiable List (#1578)","message":"ParentRunner.classRules() returns modifiable List","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}13{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/9b34c4b6e887c6ea8ea78748f9406c83c9118e71","original_message":"Remove openjdk6 from Travis pipeline for now \n \n Related issue: #1577","message":"Remove openjdk6 from Travis pipeline for now\nRelated issue: #1577","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}14{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/e22bd95ab7e452245d4844f5e9b05564fe189f68","original_message":"Change links to point directly to junit4\/5 repos","message":"Change links to point directly to junit4\/5 repos","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}15{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/2510a7e82efabfd442b4cddfabe6150b4edf45f2","original_message":"Update JUnit 5 teaser","message":"Update JUnit 5 teaser","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}16{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4d472c8b21a12eba59bf329ec759a7d51ff10c8b","original_message":"Update campaign spending","message":"Update campaign spending","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}17{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3bd79f0cb669617dd883db354c3f05ead0fa3d6f","original_message":"Use new logo and link to new website","message":"Use new logo and link to new website","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}18{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6fe93c1a2717ce06b252d8a45d7ca020d3dc3fb3","original_message":"Deleted dead faq link. \n \n Fix #1248.","message":"Deleted dead faq link.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}19{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/78029cd90a5a7be76fc54aa725be94f87f35927e","original_message":"Publish from Travis \n \n Remove 11 \n \n Omit signing \n \n WIP","message":"Publish from Travis\nRemove 11\nOmit signing\nWIP","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}20{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/eb75886b2be7edf709441962bf3272e4319823c5","original_message":"Add tests for serialization of Result.assumptionFailureCount.","message":"Add tests for serialization of Result.assumptionFailureCount.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}21{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4f2ed5d7a7bbe77f6c917c6ccc7de303896d1beb","original_message":"Added name to contributors list","message":"Added name to contributors list","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}22{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/5785d9df8fe25f68567272850cd65b4dc07da617","original_message":"Deprecate rule ExpectedException (#1519) \n \n The method Assert.assertThrows provides a nicer way for verifying \n exceptions. In addition the use of ExpectedException is error-prone \n when used with other rules like TestWatcher because the order of rules \n is important in that case.","message":"Deprecate rule ExpectedException\nThe method Assert.assertThrows provides a nicer way for verifying\nexceptions. In addition the use of ExpectedException is error-prone\nwhen used with other rules like TestWatcher because the order of rules\nis important in that case.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}23{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8e05e94956c1820e7a72d55795c5198835afca0e","original_message":"Add siili","message":"Add siili","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}24{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/236e75bd968935cf8728c3f7aaaccaefd2f9c737","original_message":"Adapt links to reflect repo rename","message":"Adapt links to reflect repo rename","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}25{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d3d7a8b1389e53055d4de9de3aa319053b4a5524","original_message":"Identify reflection package jdk.internal.reflect \n \n JDK 9 uses classes from the package jdk.internal.reflect instead of \n sun.reflect.","message":"Identify reflection package jdk.internal.reflect\nJDK 9 uses classes from the package jdk.internal.reflect instead of\nsun.reflect.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}26{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bdb1799a6b58c4ab40c418111333f4e8e1816e7e","original_message":"Add Assert#expectThrows and Assert#assertThrows \n \n Closes #1154.","message":"Add Assert#expectThrows and Assert#assertThrows","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}27{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3d7de190844d92de87ca197cfd1fce74ae432f0f","original_message":"Add test for handling InitializationError \n \n The code was changed by commit 0804ef4cd09b0e94783a9882c60914e22fca5108 \n but unfortunately the test was not part of the commit. The test is based \n on Philip Graf's test in pull request #1065. \n \n Co-authored-by: Philip Graf <git@acanda.ch>","message":"Add test for handling InitializationError\nThe code was changed by commit 0804ef4cd09b0e94783a9882c60914e22fca5108\nbut unfortunately the test was not part of the commit. The test is based\non Philip Graf's test in pull request #1065.\nCo-authored-by: Philip Graf <git@acanda.ch>","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}28{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/9bad8ce0a56d056ec3b7166351b7405c8be7e834","original_message":"License link on junit.org \n \n Added prominent link to the project's license. \n \n This patch fixes #1162. \n \n Signed-off-by: Allon Mureinik <mureinik@gmail.com>","message":"License link on junit.org\nAdded prominent link to the project's license.\nThis patch fixes #1162.\nSigned-off-by: Allon Mureinik <mureinik@gmail.com>","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}29{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/eedd1f68fbd014beca60c979e8173c271ea5cf2d","original_message":"Upate TestName to make the 'name' field volatile. \n \n This ensures that the name is published across threads correctly--for \n instance, if a parallelized runner is used. \n \n Closes #1157","message":"Upate TestName to make the 'name' field volatile.\nThis ensures that the name is published across threads correctly--for\ninstance, if a parallelized runner is used.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}30{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/7a12b7070aaa88712ed449c0a746741fd7e0237a","original_message":"Formatting","message":"Formatting","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}31{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/59baeed4cb3d24211960ad01fd3ee9e534b0e1da","original_message":"Fixed lost names","message":"Fixed lost names","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}32{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0ebb59e0dec269db0816c63fda6113b006b3de52","original_message":"Simplification of theory parameter names, since format automatically deals with toString() and nulls.","message":"Simplification of theory parameter names, since format automatically deals with toString() and nulls.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}33{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/178f854e4c7e31ece6d71f5aa4433f0432349f4f","original_message":"Make stylistic changes \n \n Put { on first line with a space before it","message":"Make stylistic changes\nPut { on first line with a space before it","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}34{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/561fb840af9d00abab5449f704a77fd6a7f2509d","original_message":"removed spaces before period in comment","message":"removed spaces before period in comment","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}35{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d2b75f93d21d2584efab1129aacd1f3020c37fca","original_message":"Build with Maven 3.1.1 (using Maven Wrapper) \n \n This makes the build independent from the Maven version that is \n installed on the build machine. E.g. Travis has Maven 3.5.6 installed \n that does not support Java 6 anymore. \n \n Maven version 3.1.1 is used because all newer version don't support \n Java 1.5.","message":"Build with Maven 3.1.1 (using Maven Wrapper)\nThis makes the build independent from the Maven version that is\ninstalled on the build machine. E.g. Travis has Maven 3.5.6 installed\nthat does not support Java 6 anymore.\nMaven version 3.1.1 is used because all newer version don't support\nJava 1.5.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}36{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ad9972ba5d135d1c5673f0773cb7027f7823feb5","original_message":"Prefer interfaces over concrete classes \n \n Makes code easier to scan by removing unnecessary noise.","message":"Prefer interfaces over concrete classes\nMakes code easier to scan by removing unnecessary noise.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}37{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3a5772dab5ce8f3b2879a19009357d425e84400e","original_message":"StopWatch does not need to be abstract. \n \n Fixes #1110.","message":"StopWatch does not need to be abstract.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}38{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6b97cfa77503a00416f401ad47f375f087e8c3cb","original_message":"Fixed typo [WiKi -> Wiki]","message":"Fixed typo [WiKi -> Wiki]","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}39{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/24dfdd762e753c83babca3768d4b508cf5c6a86c","original_message":"Fix dead link to the ant task in FAQ (#1478) \n \n Documentation to the ant junit task has been moved to another location.","message":"Fix dead link to the ant task in FAQ\nDocumentation to the ant junit task has been moved to another location.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}40{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cf9aa29323020439a3f8895ec7dc13e8e3219324","original_message":"Added a few names","message":"Added a few names","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}41{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/e15b287ccec2a1f4866a8bd1cd2a313a6163163d","original_message":"Only use a property where multiple entries need syncing \n \n * The hamcrest version is only used in one place, i.e. the dependency. \n * Using properties to define dependency versions can cause issues for others. \n * Using properties to define a shared version across multiple dependencies causes less issues \n when you have multiple dependencies that need to be kept in sync. \n * We only have one dependency here and it doesn't need syncing to any other dependency \n * Therefore the right thing is to just specify the version in the dependency \n * End users can still override the dependency in their poms.","message":"Only use a property where multiple entries need syncing\n* The hamcrest version is only used in one place, i.e. the dependency.\n* Using properties to define dependency versions can cause issues for others.\n* Using properties to define a shared version across multiple dependencies causes less issues\nwhen you have multiple dependencies that need to be kept in sync.\n* We only have one dependency here and it doesn't need syncing to any other dependency\n* Therefore the right thing is to just specify the version in the dependency\n* End users can still override the dependency in their poms.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}42{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f851c3ee43e1966903ff66ecda3fa7f66c2d2ecb","original_message":"test: no inline comment, comment space","message":"test: no inline comment, comment space","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}43{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6384edfffe7f8a2850d2bcde9a16a8e780734ebe","original_message":"fail when AssertionError expected but not thrown \n \n When a user expected the production code to throw an AssertionError by \n using ExpectedException (together with the #handleAssertionErrors \n option) but the code under test didn't do so the test was not failing. \n This was because the ExpectedException rule caught its own \n AssertionError issued to signal that the expected exception was not \n thrown.","message":"fail when AssertionError expected but not thrown\nWhen a user expected the production code to throw an AssertionError by\nusing ExpectedException (together with the #handleAssertionErrors\noption) but the code under test didn't do so the test was not failing.\nThis was because the ExpectedException rule caught its own\nAssertionError issued to signal that the expected exception was not\nthrown.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}44{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0807a8cd01b6d63d54f9a3580540fa35b7fb292e","original_message":"Kent & Erich patch swallowing in Merlin","message":"Kent & Erich patch swallowing in Merlin","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}45{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/78f5fa85b492353ad062f54d1f0ceec745537761","original_message":"no #deleteOnExit, no inline comment, added space in comment","message":"no #deleteOnExit, no inline comment, added space in comment","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}46{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a90b496a6595856066504baf4f737fb853a6e45d","original_message":"Ensure exceptions from methodBlock() don't result in unrooted tests. \n \n The introduction of the runLeaf() method in BlockJUnit4ClassRunner in \n JUnit 4.9 introduced a regression with regard to exception handling. \n \n Specifically, the invocation of methodBlock() is no longer executed \n within a try-catch block as was the case in previous versions of JUnit. \n \n Custom modifications to methodBlock() or the methods it invokes may in \n fact throw exceptions. In such cases, exceptions thrown from \n methodBlock() cause the current test execution to abort immediately. As \n a result, the failing test method is unrooted in test reports, and \n subsequent test methods are never invoked. Furthermore, RunListeners \n registered with JUnit are not notified. \n \n This commit addresses this issue by wrapping the invocation of \n methodBlock() within a try-catch block. If an exception is not thrown, \n the resulting Statement is passed to runLeaf(). If an exception is \n thrown, it is wrapped in a Fail statement which is passed to runLeaf(). \n \n Closes #1066 \n Closes #1082","message":"Ensure exceptions from methodBlock() don't result in unrooted tests.\nThe introduction of the runLeaf() method in BlockJUnit4ClassRunner in\nJUnit 4.9 introduced a regression with regard to exception handling.\nSpecifically, the invocation of methodBlock() is no longer executed\nwithin a try-catch block as was the case in previous versions of JUnit.\nCustom modifications to methodBlock() or the methods it invokes may in\nfact throw exceptions. In such cases, exceptions thrown from\nmethodBlock() cause the current test execution to abort immediately. As\na result, the failing test method is unrooted in test reports, and\nsubsequent test methods are never invoked. Furthermore, RunListeners\nregistered with JUnit are not notified.\nThis commit addresses this issue by wrapping the invocation of\nmethodBlock() within a try-catch block. If an exception is not thrown,\nthe resulting Statement is passed to runLeaf(). If an exception is\nthrown, it is wrapped in a Fail statement which is passed to runLeaf().","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}47{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/298cc4459cf76298f4b790a903fbdb6e6d20887d","original_message":"small optimization if-else","message":"small optimization if-else","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}48{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/dda4d08fc64933a8e4af33b745bd8219682b7bcb","original_message":"Fixes imports","message":"Fixes imports","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}49{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/59f3fa6ea11433ffd914e6c2032cdad0036f435e","original_message":"removed settings.xml, updated building-junit.txt and pom.xml","message":"removed settings.xml, updated building-junit.txt and pom.xml","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}50{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/01831e8f96e42c72e5abe5838e13554e9d48f3ee","original_message":"Added arcbees logo","message":"Added arcbees logo","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}51{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0fdec440b59be32e16a084a2ff6fd7a596da2c8f","original_message":"Prepare for Maven release","message":"Prepare for Maven release","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}52{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/5ea3196f1cdbc32bc3a91b96bedc1964d3bb76d1","original_message":"Used assertArrayEquals to avoid converting an array to a list. \n \n Incomplete - task : Issue 551: Resolve sensitive equality in \n MethodSorter test.","message":"Used assertArrayEquals to avoid converting an array to a list.\nIncomplete - task : Issue 551: Resolve sensitive equality in\nMethodSorter test.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}53{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/96e051b21a8f277c03158c3db32e1b4e4b0389c2","original_message":"getNanos() is a single thread confinement. Volatiles not needed!","message":"getNanos() is a single thread confinement. Volatiles not needed!","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}54{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a3e01b1ebea12f5fdfb6349e9e72623ac1f3b232","original_message":"Cleaning up indentation \n \n The inline method refactoring conducted by eclipse introduced \n some extra tabs. \n \n Incomplete - task : Issue 551: Resolve sensitive equality in \n MethodSorter test.","message":"Cleaning up indentation\nThe inline method refactoring conducted by eclipse introduced\nsome extra tabs.\nIncomplete - task : Issue 551: Resolve sensitive equality in\nMethodSorter test.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}55{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b28fe09d1a54955bed2e4db5352c14fae195a418","original_message":"fixes for #544 and #545","message":"fixes for #544 and #545","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}56{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b1db2bb47b95aced929b7f801c9185045481da05","original_message":"Remove tabs","message":"Remove tabs","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}57{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/c4e3854ae71d7dd8b624a977712bee3e29d5bcdd","original_message":"Added #finished(long nanos, Description description)","message":"Added #finished(long nanos, Description description)","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}58{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d24e5d821964508246b9670a08affab50e3ca87c","original_message":"same as ANT => excluded internal packages","message":"same as ANT => excluded internal packages","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}59{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0a2601045f101930d0ca7f31c53b416fafbbe7a7","original_message":"fixed Javadoc 'its' \n micros -> toMicros, millis -> toMillis, seconds -> toSeconds \n fixed Javadoc 3 lines to tab \n startTime -> startNanos \n endTime -> endNanos \n enum SUCCEEDED - > PASSED \n equalTo -> is(equalTo)","message":"fixed Javadoc 'its'\nmicros -> toMicros, millis -> toMillis, seconds -> toSeconds\nfixed Javadoc 3 lines to tab\nstartTime -> startNanos\nendTime -> endNanos\nenum SUCCEEDED - > PASSED\nequalTo -> is(equalTo)","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}60{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a2ea00d745f2770ff3b443f77ef72572d37209df","original_message":"Add more contributors","message":"Add more contributors","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}61{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/fa235e3520365aa9364ac16bf561e7a42524f0dc","original_message":"Refactoring of the test case for JVM Method sorter \n \n Removed the string based equality, and improved naming \n (in particular calling the expected result 'actual' was confusing). \n \n Incomplete - task : Issue 551: Resolve sensitive equality in \n MethodSorter test.","message":"Refactoring of the test case for JVM Method sorter\nRemoved the string based equality, and improved naming\n(in particular calling the expected result 'actual' was confusing).\nIncomplete - task : Issue 551: Resolve sensitive equality in\nMethodSorter test.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}62{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/2246c5a6de14ae94f3d29a82b165653e67ca93a1","original_message":"Converted tab to spaces","message":"Converted tab to spaces","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}63{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/c7313b19a24165f4e6b39c3eb2c8165a02f1e108","original_message":"List more contributor names","message":"List more contributor names","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}64{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/9ee381470d56efa800420e5e22721e402aca01c2","original_message":"Remove fast-tests maven target. \n \n Many of our tests store data in static fields, so the tests cannot be run in parallel. \n \n Fixes #1297","message":"Remove fast-tests maven target.\nMany of our tests store data in static fields, so the tests cannot be run in parallel.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}65{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ebb9d7f536a5b1be8364c6cb7367cac8c3849caa","original_message":"Implemented the changes proposed davidhart82","message":"Implemented the changes proposed davidhart82","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}66{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bbacbd93334540a5054bb50488f662c3f81a9c00","original_message":"Remove @Deprecated from MethodRule and related methods.","message":"Remove @Deprecated from MethodRule and related methods.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}67{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/1079730d32227eaed5c69a908770572285ad6301","original_message":"Add 42talents GmbH","message":"Add 42talents GmbH","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}68{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/dfbf2ae868049c041c926f2bf2d7633056af5820","original_message":"Add type wildcard","message":"Add type wildcard","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}69{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bcf2c17851197328bb7bc008f916a6648de193aa","original_message":"Converted tabs to spaces \n \n Converted tabs to spaces for newly added code to be in line with \n guidelines.","message":"Converted tabs to spaces\nConverted tabs to spaces for newly added code to be in line with\nguidelines.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}70{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/aff46c491d590ff2fcc43d0eaa0049593f6169b4","original_message":"closed method assertEquals with }","message":"closed method assertEquals with }","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}71{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ab1eb66505631ec2ad8010cc071e0f625b2ad95d","original_message":"Issue #426 Added suggestions by dsaff \n \n Removed the Markdown syntax, changed import order and removed confusing \n Maximum Blank Lines section.","message":"Issue #426 Added suggestions by dsaff\nRemoved the Markdown syntax, changed import order and removed confusing\nMaximum Blank Lines section.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}72{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/c236a9e019a814b3542dcfe3a3a61b036c14d252","original_message":"Improved Test: ParallelMethodTest fails few times","message":"Improved Test: ParallelMethodTest fails few times","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}73{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/430e3669badc46ae9ba97e513ddbd1a88a5b7f14","original_message":"Suppress SecurityManager deprecation warnings","message":"Suppress SecurityManager deprecation warnings","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}74{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ec9bccf9521a6ccdd074f2618626507528a43bc9","original_message":"Removed the unnecessary Note: block in javadoc","message":"Removed the unnecessary Note: block in javadoc","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}75{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/41e5c7ed5f82b5a588828584c3ac765b40a76cea","original_message":"improved implementation using Executors","message":"improved implementation using Executors","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}76{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/32330b13f2ded8603665264f8400ddf1f6dd969a","original_message":"make MethodSorter.NAME_ASCENDING a deterministic comparator, with Method.toString used as a tiebreaker","message":"make MethodSorter.NAME_ASCENDING a deterministic comparator, with Method.toString used as a tiebreaker","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}77{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/dfaf332b4df0d98293ac135e5abf9de6a2623b14","original_message":"Added different implementation for Null Sorter test \n \n Added an extra test case providing an alternative implementation for \n the getMethodsNullSorter test case. \n \n The new implementation passes when coverage analysis using jacoco is \n enabled, whereas the old one incorrectly fails. \n \n The new approach only checks the order of methods that are of interest \n (i.e., not looking at irrelevant extra methods that the coverage \n analyzer might generate). \n \n Furthermore the new approach avoid the 'sensitive equality' test smell \n by replacing toString-based equality by actual equality.","message":"Added different implementation for Null Sorter test\nAdded an extra test case providing an alternative implementation for\nthe getMethodsNullSorter test case.\nThe new implementation passes when coverage analysis using jacoco is\nenabled, whereas the old one incorrectly fails.\nThe new approach only checks the order of methods that are of interest\n(i.e., not looking at irrelevant extra methods that the coverage\nanalyzer might generate).\nFurthermore the new approach avoid the 'sensitive equality' test smell\nby replacing toString-based equality by actual equality.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}78{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b978f680cfa3eb9b526cc8bd25c68a3eb6db3c45","original_message":"Fix indentation","message":"Fix indentation","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}79{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4411c102d489c2272d7e38606e912a54be4defa8","original_message":"Restore folder `javadoc\/latest` for Javadoc. \n \n This folder has been used for many years. There are links to Javadoc at \n that folder (e.g. http:\/\/stackoverflow.com\/questions\/156503\/how-do-you-assert-that-a-certain-exception-is-thrown-in-junit-4-tests\/2935935#2935935 ). \n Restoring the folder `javadoc\/latest` will hopefully restore the \n Javadoc pages in Google Search, too.","message":"Restore folder `javadoc\/latest` for Javadoc.\nThis folder has been used for many years. There are links to Javadoc at\nthat folder (e.g. http:\/\/stackoverflow.com\/questions\/156503\/how-do-you-assert-that-a-certain-exception-is-thrown-in-junit-4-tests\/2935935#2935935 ).\nRestoring the folder `javadoc\/latest` will hopefully restore the\nJavadoc pages in Google Search, too.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}80{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/23e6e92b774e1e3910acc6a903293972bc562500","original_message":"Reorder assignments to match order of parameters.","message":"Reorder assignments to match order of parameters.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}81{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d96a05f8d33ed781c701c58dd285bf6464112719","original_message":"Create a Builder for FailOnTimeout. \n Delete all constructors created since 4.11 was released. \n Fix style issues.","message":"Create a Builder for FailOnTimeout.\nDelete all constructors created since 4.11 was released.\nFix style issues.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}82{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/2b4ea7d30d22341fb488df73901277a5194fd424","original_message":"implementing kcooney's suggestion","message":"implementing kcooney's suggestion","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}83{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8134371705a43fa2b2a8913678d4336d867f6647","original_message":"Description.getTestClass() did not work reliably. \n Was assuming that the ClassLoader used for JUnit could also load test classes. \n While this may be true in a simple test runner based on a flat classpath, it is not true in all test runners. \n When we are given a Class object, keep it\u2014do not try to reconstruct it from its name alone.","message":"Description.getTestClass() did not work reliably.\nWas assuming that the ClassLoader used for JUnit could also load test classes.\nWhile this may be true in a simple test runner based on a flat classpath, it is not true in all test runners.\nWhen we are given a Class object, keep it\u2014do not try to reconstruct it from its name alone.","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}84{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/75225f76d430e45adcf36cef8d6fdbeb7629de57","original_message":"Added 3 names and a link","message":"Added 3 names and a link","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}85{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/01768666d362391a57a7e5989d23b6b1d1789eb0","original_message":"Add info on --filter option","message":"Add info on --filter option","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}86{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/388ae4ceb0c3f34b2ab339afafb22e6a6a032194","original_message":"Added a name to list","message":"Added a name to list","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}87{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/56b5463c6adf89a03f489f3525a9a343bc43d960","original_message":"each' instead of 'f' for the variable name","message":"each' instead of 'f' for the variable name","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}88{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4baabd8b27a276aacb2efa545dc5e3ee42d7b72b","original_message":"Remove decoration on all external links","message":"Remove decoration on all external links","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}89{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/934ebddf0bb286ebbff22028b9f5a9c016589b3f","original_message":"Relocate Maven artifact 'junit-dep' to 'junit'","message":"Relocate Maven artifact 'junit-dep' to 'junit'","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}90{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0b62513fa20ea3975a580e5b89dad265f54d6112","original_message":"Simplifying isEqualsRegardingNull.","message":"Simplifying isEqualsRegardingNull.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}91{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/48aabe1b16bd288f74ac4ff92e3a38792533be39","original_message":"Fix for issue #55 \n \n Added Type check for MultiPointsMethod","message":"Fix for issue #55\nAdded Type check for MultiPointsMethod","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}92{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ce7ce514aa79a7a3be067552359722626937fe8f","original_message":"Added AdNovum large logo","message":"Added AdNovum large logo","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}93{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/16a2b51b9d9425cd7dacad85e2df97985996ca8d","original_message":"Disable parts of doclint for the site's javadoc. \n \n This is a follow-up to e0367cd. That commit is missing to apply the doclint rules to site generation. Hence the site goal fails because of doclint issues. Now doclint is disabled for all groups but accessibility and reference for the site generation, too.","message":"Disable parts of doclint for the site's javadoc.\nThis is a follow-up to e0367cd. That commit is missing to apply the doclint rules to site generation. Hence the site goal fails because of doclint issues. Now doclint is disabled for all groups but accessibility and reference for the site generation, too.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}94{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/30a349860acfa847dd7a60ef77df92f6831794c7","original_message":"Disable summary report","message":"Disable summary report","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}95{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cbf5dd3f8efc106bcb438203942d781831121071","original_message":"Organized imports according to project's conventions","message":"Organized imports according to project's conventions","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}96{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6b943e564adcc9a7106e54c24eb5d022bed1462f","original_message":"changed the expectedCause() method to accept a Matcher instead of an explicit Throwable and made some documentation changes","message":"changed the expectedCause() method to accept a Matcher instead of an explicit Throwable and made some documentation changes","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}97{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/1ef449139923a22333f262dc8c75fa057903040c","original_message":"Increase running time of statement. Fixes #963. \n \n The time between starting the statement and calling the future is \n arbitrary. Now the execution time of the statement is very very long. \n This ensures that the statement is not already finished when the \n future is called.","message":"Increase running time of statement. Fixes #963.\nThe time between starting the statement and calling the future is\narbitrary. Now the execution time of the statement is very very long.\nThis ensures that the statement is not already finished when the\nfuture is called.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}98{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/2568203bdebd5a4a4ad9aa74b1d8369d22f668a3","original_message":"Replaced IllegalArgumentException for IOException \n \n It's more consistent to throw an IOException instead of an \n IllegalArgumentException","message":"Replaced IllegalArgumentException for IOException\nIt's more consistent to throw an IOException instead of an\nIllegalArgumentException","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}99{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/e9e9da84e9b50e233eac79c3879e2e0862778eeb","original_message":"Added one link","message":"Added one link","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}100{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f6149a9236d9a2778bf2fd6db927fd9f498a79c8","original_message":"Make serialization of Result compatible with 4.11","message":"Make serialization of Result compatible with 4.11","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}101{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/18b23a7ed22080e7412e24060c66cef7fc3b1b93","original_message":"Fix #995 - correct link to 4.12 release notes","message":"","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}102{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cf2a11a5939e8623cb4591080f423134025bbf62","original_message":"Stripped accidental formatting from an earlier commit","message":"Stripped accidental formatting from an earlier commit","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}103{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6d551f321d7bdcdafc2acbe0b5a3988bdc91b10f","original_message":"RunNotifier.pleaseStop() is now thread-safe","message":"RunNotifier.pleaseStop() is now thread-safe","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}104{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ce0195c3d81d32bc2fd4d7a0c15aa78aaaa47605","original_message":"Fixes gh-311: Fix 4.9.1 release notes, make sure markdown errors halt build","message":"","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}105{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bd6dc3aff19a3d8e8e555d16a05a42557a755e0a","original_message":"Reused HasWrongExpectedException instead of own defined class \n (they were the same) and relocated the changes to a better location \n in the file which is more inline with the rest of the file. And, \n of course, removed the superfluous brackets.","message":"Reused HasWrongExpectedException instead of own defined class\n(they were the same) and relocated the changes to a better location\nin the file which is more inline with the rest of the file. And,\nof course, removed the superfluous brackets.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}106{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ab9caa3650a262ef4399cfd7f0d7fdc366d6e327","original_message":"Fix javac build \n \n Replace both() with allOf()","message":"Fix javac build\nReplace both() with allOf()","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}107{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cbf46b88c2937aece7018fa50ba4dbb133e03d06","original_message":"Pull request #182 && #483: Adding Parameter annotation for field parameters","message":"Pull request #182 && #483: Adding Parameter annotation for field parameters","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}108{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8aea9bc66441e5dd727b7d0a6478b4adb93b63f9","original_message":"Migrate release notes from wiki to repo","message":"Migrate release notes from wiki to repo","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}109{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/5ded3d3231891402e07a208941d263aaf3379134","original_message":"Merging kcooney-issue227 to master","message":"Merging kcooney-issue227 to master","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}110{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/80e7b0deaf4ca24659878328987b7d096a4a7070","original_message":"Disable xref reports","message":"Disable xref reports","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}111{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3920f3fe11dffc904e1ab41a9ff4fc9d36b1c25b","original_message":"Making Super and Sub member classes as suggested. \n https:\/\/github.com\/KentBeck\/junit\/pull\/293\/files#r403246","message":"Making Super and Sub member classes as suggested.\nhttps:\/\/github.com\/KentBeck\/junit\/pull\/293\/files#r403246","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}112{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/fe10c8a264e6585d9d8a92e5d5fa9a6e10aa298f","original_message":"Fix typo in test name","message":"Fix typo in test name","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}113{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a538d25ae50887dc9395f2f59ad5040752c0ec4f","original_message":"Apply code review.","message":"Apply code review.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}114{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/84c4caaeb54249eed291274914ef6391622e07e3","original_message":"Set master version to 4.10.1 in build.xml","message":"Set master version to 4.10.1 in build.xml","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}115{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b4f0afa639b42fa551fdcb26d9c1855ae4d778cf","original_message":"@Rule fields\/methods must not be static \n \n Fixes KentBeck\/junit#339","message":"@Rule fields\/methods must not be static\nFixes KentBeck\/junit#339","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}116{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cc617b399f369a0254edc714beb3551905fe799f","original_message":"Updated version to 4.9b3","message":"Updated version to 4.9b3","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}117{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f15ee64ef898f26775b90e4baf19251a76e5b1e0","original_message":"Fix method names in TemporaryFolderUsageTest.","message":"Fix method names in TemporaryFolderUsageTest.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}118{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/7924760d2d64f5f7651e9e57d1ca01e1bcce74e0","original_message":"Following feedback from dsaff","message":"Following feedback from dsaff","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}119{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/5eee07b3e21f196b8cb937fb88eb8cf4be694f76","original_message":"Optimize ParentRunner.filter for nested suites \n \n Prior to this change, applying a filter to a nested suite would create redundant nested filters","message":"Optimize ParentRunner.filter for nested suites\nPrior to this change, applying a filter to a nested suite would create redundant nested filters","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}120{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a4c19ea7000b620dbb9f54c6cb625ddad1f8f33e","original_message":"Update version in pom.xml; delete obsolete SuiteBuilder.java; \n remove duplication in build.xml","message":"Update version in pom.xml; delete obsolete SuiteBuilder.java;\nremove duplication in build.xml","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}121{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bfd54d62251a67c6709be3ec4f02a31a02ac5a45","original_message":"deleted duplicate EventCollector","message":"deleted duplicate EventCollector","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}122{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6ee76dc22e56457cb5904eb6c5c0bf97939880cb","original_message":"Update build_tests.sh to test 'ant profile'","message":"Update build_tests.sh to test 'ant profile'","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}123{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/fd2c4fbbf74f01eecef1680fa1365052d0302d19","original_message":"Added some names to list of contributors","message":"Added some names to list of contributors","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}124{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/38c12ee56d863068fb743b45d9c1ee2aa74b71a8","original_message":"4.10 final in version, non-snapshot staging","message":"4.10 final in version, non-snapshot staging","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}125{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/5e9467c59b235ce84e7c7753c43609dea069e932","original_message":"Both hasCause() and hasMessage() describe mismatches","message":"Both hasCause() and hasMessage() describe mismatches","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}126{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cab111add67ec6ba33f93f8611a73b565fb2786c","original_message":"Added logo and contributor by name","message":"Added logo and contributor by name","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}127{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a5acc2defe0134d179cf15424202b5403eef74d4","original_message":"Improve error message when TemporaryFolder.newFolder() fails.","message":"Improve error message when TemporaryFolder.newFolder() fails.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}128{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0e64f5c9d8626c95c7da36186312a76524ff7b15","original_message":"Update CONTRIBUTING.md","message":"Update CONTRIBUTING.md","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}129{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/510d807929bdd2dea85726b5a12542758aa61420","original_message":"Update release notes with details on pull 986","message":"Update release notes with details on pull 986","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}130{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a37fd9ac8b2afc54384fd32f470b54aa69dc620a","original_message":"Rename withStacktrace() to isException()\/isThrowable() \n \n Following suggestion by @sf105","message":"Rename withStacktrace() to isException()\/isThrowable()\nFollowing suggestion by @sf105","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}131{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b310cd56f1039389aa360fbf51c6349e7a8e1f02","original_message":"Update JUnit version, improve ClassRule javadoc, update release notes","message":"Update JUnit version, improve ClassRule javadoc, update release notes","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}132{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/9a82d0027247d7be667966766b01d4a24e4b834f","original_message":"fix for #49 Master now builds on windows.","message":"fix for #49 Master now builds on windows.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}133{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/df00d5eced3a7737b88de0f6f9e3673f0cf88f88","original_message":"remove 'f' prefix from field names, add LEGACY_CODING_STYLE, change CODING_STYLE","message":"remove 'f' prefix from field names, add LEGACY_CODING_STYLE, change CODING_STYLE","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}134{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/34701f7aedd60ace43171a9c56c14c8ef1f7bd15","original_message":"Add JUnitSystem.exit() back","message":"Add JUnitSystem.exit() back","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}135{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bcf4785a8ae0ad21ffefd80dcfbb360621d98806","original_message":"fixed issue #89 (wrong JavaDoc of Parameterized)","message":"fixed issue #89 (wrong JavaDoc of Parameterized)","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}136{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/e857122bff2a9774c4f44df4a7d531b902e406df","original_message":"Fix issue 30. Make TestWatcher abstract.","message":"Fix issue 30. Make TestWatcher abstract.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}137{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b3789b3f879d34bbe968d5aa51d15c8856b9d102","original_message":"Create MultipleFailureException in org.junit.runners.model and deprecate the one in org.junit.internal.runners.model. \n Update MultipleFailureException to have a useful message. \n \n This allows developers who write custom runners to properly handle multiple exceptions without depending on internal classes.","message":"Create MultipleFailureException in org.junit.runners.model and deprecate the one in org.junit.internal.runners.model.\nUpdate MultipleFailureException to have a useful message.\nThis allows developers who write custom runners to properly handle multiple exceptions without depending on internal classes.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}138{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8d26b450670647c847aa0ba1dd47a9c54865c63d","original_message":"further documentation cleanup, especially around TestRule","message":"further documentation cleanup, especially around TestRule","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}139{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b19ff583ce5cb5527dab83a1f336c7526463dac4","original_message":"Fixed failing tests when running on Windows. \n \n Note that File.separator is not sufficient to build an absolute path on Windows. \n String.format with '%n' produces a platform dependent line separator. \n \n Closes #1409","message":"Fixed failing tests when running on Windows.\nNote that File.separator is not sufficient to build an absolute path on Windows.\nString.format with '%n' produces a platform dependent line separator.","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}140{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/c85c6147ada5ad1afdd3be10769670d309730132","original_message":"Fix regression in TemporaryFolder.newFolder(String) for paths with slashes. (#1402) \n \n In JUnit 4.11, newFolder(String) was changed to no longer support paths \n with a file separator. This has been fixed. The overload of newFolder() \n that supports passing in multiple strings still does not allow strings \n containing file separators.","message":"Fix regression in TemporaryFolder.newFolder(String) for paths with slashes.\nIn JUnit 4.11, newFolder(String) was changed to no longer support paths\nwith a file separator. This has been fixed. The overload of newFolder()\nthat supports passing in multiple strings still does not allow strings\ncontaining file separators.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}141{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/89ffd7eda43f939f7dc210cfe21a196067ab08d6","original_message":"Adding additional javadoc context for deprecated FrameworkMethod#producesType. Adding acknowledgements entry for pholser. Starting 4.9.1 release notes.","message":"Adding additional javadoc context for deprecated FrameworkMethod#producesType. Adding acknowledgements entry for pholser. Starting 4.9.1 release notes.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}142{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d3de6079892fa89aa46386c0369a29b4ef9e9e3c","original_message":"Automatic uploading of staged maven artifacts.","message":"Automatic uploading of staged maven artifacts.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}143{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/32f3c6292808f793a50821dac3fec3bad3b661c9","original_message":"Replaced <br> with <\/p><p> in faq.html \n \n @dsaff @kcooney, I have replaced the <br> tag with the <p> tags. It should be fine now. \n Thank you @kcooney for spotting the issue :)","message":"Replaced <br> with <\/p><p> in faq.html\n@dsaff @kcooney, I have replaced the <br> tag with the <p> tags. It should be fine now.\nThank you @kcooney for spotting the issue :)","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}144{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ce034f7167462706062dfc010fde052a89c4eb6d","original_message":"Adding bogus markdown, but should be removed later","message":"Adding bogus markdown, but should be removed later","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}145{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cb0c4e9f7c9be8be7c11e4934f6bd71a312102ec","original_message":"For #855, remove FrameworkMethod.getParameterSignatures() \n \n Having this method in place made a class from the 'core' of JUnit \n (org.junit.runners.model) depend on something from 'experimental' -- \n a dependency going in the wrong direction.","message":"For #855, remove FrameworkMethod.getParameterSignatures()\nHaving this method in place made a class from the 'core' of JUnit\n(org.junit.runners.model) depend on something from 'experimental' --\na dependency going in the wrong direction.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}146{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/db8c72be9df8e7d605600cc5f370dffa35112362","original_message":"applied code review","message":"applied code review","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}147{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/eb8da7b85251985b194911d4d3dc65acb525a5fd","original_message":"Switching back from kcooney-run-leaf to kcooney-run-leaf","message":"Switching back from kcooney-run-leaf to kcooney-run-leaf","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}148{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/62a2a56c293fd154f152da6dad498d1fc222b352","original_message":"Fix ParentRunner#withClassRules javadoc. (Thanks to lacostej for initial pull) \n Closes GH-191.","message":"Fix ParentRunner#withClassRules javadoc. (Thanks to lacostej for initial pull)","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}149{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4e482e74f19f2619f940da57e2d7a0f1f70afe17","original_message":"added Javadoc for RuleFieldValidator","message":"added Javadoc for RuleFieldValidator","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}150{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d4a33cf2f54b5d9cb9ee9f349220bd629e6f4672","original_message":"Added release theme header","message":"Added release theme header","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}151{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0b3bcf3aa152ae82c0d23b56106781e3376615be","original_message":"Remove author tag left in from copy&paste","message":"Remove author tag left in from copy&paste","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}152{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/638e82435a01af83e77c23e9f8d7b658a89eb4bf","original_message":"Use %n in string.format() (#1346) \n \n In format strings, it is generally preferable better to use %n, which will produce the platform-specific line separator.","message":"Use %n in string.format()\nIn format strings, it is generally preferable better to use %n, which will produce the platform-specific line separator.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}153{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/1360f9b696f2fb1bc32b16b070ffb3363a88864f","original_message":"Update Maven GPG plugin from 1.4 to 1.5. \n \n Just to keep up-to-date. Release notes: http:\/\/jira.codehaus.org\/browse\/MGPG\/fixforversion\/17635","message":"Update Maven GPG plugin from 1.4 to 1.5.\nJust to keep up-to-date. Release notes: http:\/\/jira.codehaus.org\/browse\/MGPG\/fixforversion\/17635","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}154{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3189af007b26d74ca459f823d57ef77b9c1697b8","original_message":"Remove redundant field fCause","message":"Remove redundant field fCause","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}155{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f09cff79b941a525271f3f2838a9742b4c5c8d36","original_message":"alpha-ready implementation of SuiteBuilder","message":"alpha-ready implementation of SuiteBuilder","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}156{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4042487e40bb441ad4388373e5c91d727b74e0db","original_message":"Improve error message if the thrown exception has the same class but the classes are loaded from different class loaders.","message":"Improve error message if the thrown exception has the same class but the classes are loaded from different class loaders.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}157{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/56743a446c8fe01319c6588c1709bcf1a090ccde","original_message":"Merging from AlistairIsrael-classrules on github to ppreserve history because of non-fast forward merge (whatever that means)","message":"Merging from AlistairIsrael-classrules on github to ppreserve history because of non-fast forward merge (whatever that means)","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}158{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a664c207facb1cddcd5ab130fc14edbae3f33d30","original_message":"Fix distribution management","message":"Fix distribution management","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}159{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/46036e7146f9dd0ca44baaec490692b967edd0ce","original_message":"javadoc'ed, and with better names","message":"javadoc'ed, and with better names","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}160{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/75cce069e369c553e5d7690b601c06f08b74edca","original_message":"doxia-module-markdown 1.5 supports page titles","message":"doxia-module-markdown 1.5 supports page titles","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}161{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3e08f69912d69189e895c279b1bece0c7c0840f4","original_message":"Create a class TestWithParameters. \n \n This class keeps the data together that are needed for creating a runner for a single data set of a parameterized test. This makes it also clear, that the computation of the name is not the responsibility of the runner but of the Parameterized class.","message":"Create a class TestWithParameters.\nThis class keeps the data together that are needed for creating a runner for a single data set of a parameterized test. This makes it also clear, that the computation of the name is not the responsibility of the runner but of the Parameterized class.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}162{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0c114780df6a4f096493730dd004bccd44b13e15","original_message":"Throw exception with helpful message if annotated field is not public (fixes issue #260).","message":"Throw exception with helpful message if annotated field is not public (fixes issue #260).","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}163{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ce810b763e5021629248702993f226e3bf969db8","original_message":"Multiple categories on tests, category inheritance, production classes in production package.","message":"Multiple categories on tests, category inheritance, production classes in production package.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}164{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/41092ce4e01cc57d8aa1911e2f1169e0f355b1ae","original_message":"Move TestClassTest to package org.junit.runners.model. \n \n It is common to add tests to the same package as the class under test.","message":"Move TestClassTest to package org.junit.runners.model.\nIt is common to add tests to the same package as the class under test.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}165{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/fb7925bf75ffe9f802f54e2d717af11b58c75725","original_message":"surefire and javadoc maven plugin updates","message":"surefire and javadoc maven plugin updates","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}166{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/01716157f2683f5610d721929a687e7dc3aee558","original_message":"Use Field#getType()","message":"Use Field#getType()","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}167{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/73c15ac3097078d2de1478dfecf4317a616346a3","original_message":"Fixes #254: replaced @Rule by @ClassRule","message":"","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}168{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/592b71c7e7cc3c10de2d6c331854a751b25879a6","original_message":"Didn't want that","message":"Didn't want that","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}169{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/56954698ca3e707ba6992509b8b3d64caa021442","original_message":"Bump version","message":"Bump version","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}170{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a268686d96bfbb328e02b363c3f0f72da54f9fc6","original_message":"checkpoint","message":"checkpoint","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}171{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/758ec7fdc2ea8db0c3cb57b83c2a1a069ee214b6","original_message":"Removed unused import","message":"Removed unused import","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}172{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6a89eb6dc62093d8f6d41d54152da5592808c38e","original_message":"Highlight java syntax","message":"Highlight java syntax","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}173{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/25fa1d53ff124bc82d9d449c37ff1dea186c3e42","original_message":"up version","message":"up version","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}174{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/01ecc0d5bc9f8b49ed36881cc258573a43bef69f","original_message":"I want these gone","message":"I want these gone","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}175{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/445ea85dd748e4e83cf7be5940b41df95b3ffa8d","original_message":"minor changes in test","message":"minor changes in test","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}176{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/1d86784cd452e8d9e30d812255cadb75ef8dae15","original_message":"Fix compilation errors","message":"Fix compilation errors","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}177{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/309edadfd8a7169e99571d36ec31cacfaabb2fe1","original_message":"Take care of the TODO to make the inner class static.","message":"Take care of the TODO to make the inner class static.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}178{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0733bbffdadf05a6ebe0c38942904071a4060af4","original_message":"#769 Fix many warnings (Eclipse 4.2\/Juno based) \n - Enh: add new 'staticondemandthreshold' setting to eclipse project jdt.ui preference settings file (although this is in fact not related to kcooney's import ordering change comment)","message":"#769 Fix many warnings (Eclipse 4.2\/Juno based)\n- Enh: add new 'staticondemandthreshold' setting to eclipse project jdt.ui preference settings file (although this is in fact not related to kcooney's import ordering change comment)","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}179{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a21ce2438fd69d6656dcf5274deb031976df12c1","original_message":"Most of the plans and mark2 nonsense gone","message":"Most of the plans and mark2 nonsense gone","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}180{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/74fe490cc074f8be3cee760aac3f8e313698db82","original_message":"Version 4.7 to 4.7.1-SNAPSHOT in build.xml","message":"Version 4.7 to 4.7.1-SNAPSHOT in build.xml","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}181{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/c618504adee4bc91b3bd7e0ff06be6e1fa9d88cc","original_message":"Cleaning up compile errors from reverting hamcrest change","message":"Cleaning up compile errors from reverting hamcrest change","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}182{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b560fce6b4323e1fd4d37c703d7123f1508643cb","original_message":"added ReleaseNotes for 4.5","message":"added ReleaseNotes for 4.5","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}183{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/496ee866a46f783d145b649a688df57cbf79490e","original_message":"categories 2","message":"categories 2","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}184{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f5e7e1ff180bb17e4f9df702a038e06a974f78f6","original_message":"added the since 4.12 where appropriate","message":"added the since 4.12 where appropriate","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}185{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/1bbab715de4c64943948ecc3739c8d5569378672","original_message":"CategoriesMark2 reuse code properly from TestClass","message":"CategoriesMark2 reuse code properly from TestClass","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}186{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/363755060f75d3d5cce21bd05d49110e02bc1ba2","original_message":"Fix ResultMatchers#hasFailureContaining (#1292) \n \n ResultMatchers.hasFailureContaining() should not match when the given PrintableResult has no failures.","message":"Fix ResultMatchers#hasFailureContaining\nResultMatchers.hasFailureContaining() should not match when the given PrintableResult has no failures.","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}187{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bb13b318cd79a68470e93c79635090c7bb565475","original_message":"Revert changes of 128553f. Fixes #687. \n \n Still fixes #121, but the original fix was superfluous. Added documentation \n about handling assumes and asserts in conjunction with the \n ExpectedException rule.","message":"Revert changes of 128553f. Fixes #687.\nStill fixes #121, but the original fix was superfluous. Added documentation\nabout handling assumes and asserts in conjunction with the\nExpectedException rule.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}188{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d2da6a55bca4582c9a469f568df472a00e90ddf4","original_message":"merged","message":"merged","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}189{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/99a84a542f2ac532a8425fa0a77884902b1c01b0","original_message":"org.junit.Rule, org.junit.Rules","message":"org.junit.Rule, org.junit.Rules","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}190{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/2b6fa701e84625c511b03079296774cc0904ef1a","original_message":"Bug: ParentRunner lost test Class from a separate class loader (#1252) \n \n * Bug: ParentRunner lost test Class from a separate class loader \n \n When junit.jar located in one ClassLoader but runing tests in another ParentRunner can lost information about run class. \n For example if use @ClassRule and request test class(org.junit.runner.Description#getTestClass) we can get null, \n because ParentRunner instead of set Class as is to Description tranform it to class name string, \n as result org.junit.runner.Description#getTestClass execute Class.forName and can't find test class. \n \n Spring-test fail with exception if we try use SpringClassRule \n \n ``` \n java.lang.NullPointerException \n at org.springframework.test.context.junit4.rules.SpringClassRule.validateSpringMethodRuleConfiguration(SpringClassRule.java:186) \n at org.springframework.test.context.junit4.rules.SpringClassRule.apply(SpringClassRule.java:134) \n at org.junit.rules.RunRules.applyAll(RunRules.java:26) \n at org.junit.rules.RunRules.<init>(RunRules.java:15) \n at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:245) \n at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194) \n at org.junit.runners.ParentRunner.run(ParentRunner.java:362) \n at org.junit.runner.JUnitCore.run(JUnitCore.java:137) \n ``` \n \n As solution, now ParentRunner create Descriptor with explicit specify Class, name and uses annotations. \n \n * Restore backward compatibility with sub class of ParentRunner that override getName method \n * Add ParentRunnerClassLoaderTest to AllClassesTests suite","message":"Bug: ParentRunner lost test Class from a separate class loader\n* Bug: ParentRunner lost test Class from a separate class loader\nWhen junit.jar located in one ClassLoader but runing tests in another ParentRunner can lost information about run class.\nFor example if use @ClassRule and request test class(org.junit.runner.Description#getTestClass) we can get null,\nbecause ParentRunner instead of set Class as is to Description tranform it to class name string,\nas result org.junit.runner.Description#getTestClass execute Class.forName and can't find test class.\nSpring-test fail with exception if we try use SpringClassRule\n```\njava.lang.NullPointerException\nat org.springframework.test.context.junit4.rules.SpringClassRule.validateSpringMethodRuleConfiguration(SpringClassRule.java:186)\nat org.springframework.test.context.junit4.rules.SpringClassRule.apply(SpringClassRule.java:134)\nat org.junit.rules.RunRules.applyAll(RunRules.java:26)\nat org.junit.rules.RunRules.<init>(RunRules.java:15)\nat org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:245)\nat org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)\nat org.junit.runners.ParentRunner.run(ParentRunner.java:362)\nat org.junit.runner.JUnitCore.run(JUnitCore.java:137)\n```\nAs solution, now ParentRunner create Descriptor with explicit specify Class, name and uses annotations.\n* Restore backward compatibility with sub class of ParentRunner that override getName method\n* Add ParentRunnerClassLoaderTest to AllClassesTests suite","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}191{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/fd1ef3ca8069bd149ca63c9660587918aa28c7cd","original_message":"minor ParentRunner refactoring","message":"minor ParentRunner refactoring","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}192{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/734ab5187c068599352e5fdc7374c1334d484fef","original_message":"StatementInterceptor takes Object target \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"StatementInterceptor takes Object target\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}193{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d9ffa8ab1807c8419f8fc2b5f91fa810113a9a85","original_message":"Added better pom.xml","message":"Added better pom.xml","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}194{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/fa35d6d84a0b2c59254cb479633d0e20bc6e12e9","original_message":"Delete .cvsignore files, because we're using Git now.","message":"Delete .cvsignore files, because we're using Git now.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}195{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/818974071eba9d5355918a5905403c703aeea9af","original_message":"Updated gitignore","message":"Updated gitignore","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}196{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4f7ed2bdf1856b0582e9b982aa0ba594498c6b45","original_message":"simplified isIgnored check in Framework, using it in \n BlockJUnit4ClassRuner","message":"simplified isIgnored check in Framework, using it in\nBlockJUnit4ClassRuner","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}197{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/409a8e06c9f2ec5aa0d9db8a3d413f394c290f6d","original_message":"Fixing Interceptor->Rule name changes","message":"Fixing Interceptor->Rule name changes","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}198{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d8da2f699a89857292e5e5b92945b2fe3c0a039a","original_message":"Getting started on Interceptors javadoc \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Getting started on Interceptors javadoc\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}199{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b33b4b090c224c14415d0ffb68a078a097aeaf71","original_message":"RunNotifier.fireTestRunStarted(Plan) to replace fireTestRunStarted(Description)","message":"RunNotifier.fireTestRunStarted(Plan) to replace fireTestRunStarted(Description)","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}200{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8e313a1e58a56694c0441b2fa60974fa8e1bfe31","original_message":"StatementInterceptor takes Object target","message":"StatementInterceptor takes Object target","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}201{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4b549360e08dac944ee34b7c7bf1a95b41f72f35","original_message":"FailureList isn't public","message":"FailureList isn't public","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}202{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b1d37670892cd885b87a7c62d7c5808517fd20b6","original_message":"Remove useless variable (#1342)","message":"Remove useless variable","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}203{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/870289f3272917f312de6902b8b6bdc43552d4b7","original_message":"Simplify Filter implementation for backward compatibility","message":"Simplify Filter implementation for backward compatibility","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}204{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/50e3d1bc87b4b16f0617b6212252363f499397ab","original_message":"Added parameter to annotation to mark exceptions in datapoint methods as ignorable.","message":"Added parameter to annotation to mark exceptions in datapoint methods as ignorable.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}205{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bfa4cea92005b0272e44cd245308dc4f4abaa4cf","original_message":"drafts for tests for issue #380","message":"drafts for tests for issue #380","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}206{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/2f9b53dbecad010dbb7e7cfff3a11476b7d2208a","original_message":"Simplify Filter implementations","message":"Simplify Filter implementations","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}207{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/223b34b516467bcd9cb7ebc7f49549f2e7362dca","original_message":"Getting started on Interceptors javadoc","message":"Getting started on Interceptors javadoc","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}208{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/31c422f63b1b6b930ad4df7a2372a2576cc12094","original_message":"Rewrite JavaDoc of ExcludeCategories.createFilter(Class<?>...). \n \n Remove internal details of the created filter and describe its behaviour instead.","message":"Rewrite JavaDoc of ExcludeCategories.createFilter(Class<?>...).\nRemove internal details of the created filter and describe its behaviour instead.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}209{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3cd86b7018f2c57f10d671d007d08caa74463c09","original_message":"Unnecessary array in varargs in AnnotatedBuildrer: Constructor#newInstance(Object ... initargs)","message":"Unnecessary array in varargs in AnnotatedBuildrer: Constructor#newInstance(Object ... initargs)","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}210{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/48af7e797dbefa1fc47e80394c7f74ef87c3c7ab","original_message":"adding annotation validators functionality","message":"adding annotation validators functionality","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}211{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/34a0ecb4ffb3cb8d33b60c222c29145d017f02c9","original_message":"Added release notes","message":"Added release notes","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}212{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/832bb8322f2ca09af52769a0198b276269b53988","original_message":"Clarify that annotating suite has no effect","message":"Clarify that annotating suite has no effect","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}213{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/58723f03198f62f079cd242f7110a94713a5a90b","original_message":"Move emptySuite method to Suite \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Move emptySuite method to Suite\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}214{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/e9d4de8e15255b03b60e935390e517d4de90a73b","original_message":"Single-datapoint methods are now only called if the return types could be relevant, and theory parameter signatures are compared with types via a prebuilt map rather than reflection.","message":"Single-datapoint methods are now only called if the return types could be relevant, and theory parameter signatures are compared with types via a prebuilt map rather than reflection.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}215{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cfaceb6d34390d999ff238d53fcb73898b32f98f","original_message":"Changes due to code review from @dsaff.","message":"Changes due to code review from @dsaff.","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}216{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/02371d1154f29f894cd2c7f83ce6743f4abbe76a","original_message":"Added two simple tests for boolean assertArrayEquals","message":"Added two simple tests for boolean assertArrayEquals","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}217{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3171c4b29cb207e71fc2f752f0fbcb235bc8e784","original_message":"Relicense JUnit from CPL to EPL \n \n EPL is the successor version of the CPL this makes re-licensing \n possible without seeking the approval of all contributors. \n \n CPL is actively hurting JUnit adaptation, it the following cases the \n deciding factor against JUnit was CPL. In both cases EPL would have \n been fine. \n * Netbeans can't ship JUnit [4] \n * OpenJDK uses TestNG instead of JUnit [5] \n \n Mike Milinkovich from the Eclipse Foundation wrote [1] \n \n > Back in 2009, the CPL was superseded by the EPL. This means that the \n > EPL is the successor version of the CPL. It also means that using the \n > CPL is the licensing equivalent of using deprecated code. \n > \n > Because the EPL is the successor version to the CPL, the 'new version \n > re-licensing' clause in Section 7 of the CPL applies. In other words, \n > you can re-license your project without seeking the approval of all \n > of your contributors. \n > The CPL and EPL basically differ by about one sentence, which you can \n > see here. The difference relates to the scope of patent licenses \n > terminated should someone sue another party for patent infringement. \n > This is the kind of stuff that lawyers love, but most developers \n > don't really care about. \n \n On the migration from CPL to EPL Mike Milinkovich wrote [2] \n \n > There was a two step process that was followed to make this happen. \n > First, following the terms of the CPL, IBM assigned the \n > responsibility to serve as the Agreement Steward of the CPL to the \n > Eclipse Foundation. Second, the Eclipse Foundation officially \n > recognized the EPL 1.0 as the new version of the CPL 1.0. In OSI \n > license terminology, the EPL now supersedes the CPL. \n > \n > A quick read of the two licenses will quickly show that they are very \n > very close. Other than their names and (previously) their Agreement \n > Stewards, the only substantive difference is the breadth of the \n > patent license termination in the event of a patent law suit. (See \n > the second paragraph of Section 7.) For more information on the \n > relationship between the CPL and the EPL see the EPL FAQ. \n \n You can find more information about the difference at [3]. \n \n The new `LICENSE.txt` is based on a plain text version of the EPL with \n formatted so that the diff is a clean as possible. \n \n I'll submit another pull request for the gh-pages branch. \n \n [1] http:\/\/mmilinkov.wordpress.com\/2013\/02\/13\/jruby-moves-to-the-epl\/ \n [2] http:\/\/mmilinkov.wordpress.com\/2009\/04\/16\/one-small-step-towards-reducing-license-proliferation\/ \n [3] http:\/\/www.eclipse.org\/legal\/eplfaq.php#EPLDIFFER \n [4] https:\/\/netbeans.org\/community\/releases\/70\/relnotes.html#deprecated \n [5] http:\/\/openjdk.java.net\/jtreg\/build.html","message":"Relicense JUnit from CPL to EPL\nEPL is the successor version of the CPL this makes re-licensing\npossible without seeking the approval of all contributors.\nCPL is actively hurting JUnit adaptation, it the following cases the\ndeciding factor against JUnit was CPL. In both cases EPL would have\nbeen fine.\n* Netbeans can't ship JUnit [4]\n* OpenJDK uses TestNG instead of JUnit [5]\nMike Milinkovich from the Eclipse Foundation wrote [1]\n> Back in 2009, the CPL was superseded by the EPL. This means that the\n> EPL is the successor version of the CPL. It also means that using the\n> CPL is the licensing equivalent of using deprecated code.\n>\n> Because the EPL is the successor version to the CPL, the 'new version\n> re-licensing' clause in Section 7 of the CPL applies. In other words,\n> you can re-license your project without seeking the approval of all\n> of your contributors.\n> The CPL and EPL basically differ by about one sentence, which you can\n> see here. The difference relates to the scope of patent licenses\n> terminated should someone sue another party for patent infringement.\n> This is the kind of stuff that lawyers love, but most developers\n> don't really care about.\nOn the migration from CPL to EPL Mike Milinkovich wrote [2]\n> There was a two step process that was followed to make this happen.\n> First, following the terms of the CPL, IBM assigned the\n> responsibility to serve as the Agreement Steward of the CPL to the\n> Eclipse Foundation. Second, the Eclipse Foundation officially\n> recognized the EPL 1.0 as the new version of the CPL 1.0. In OSI\n> license terminology, the EPL now supersedes the CPL.\n>\n> A quick read of the two licenses will quickly show that they are very\n> very close. Other than their names and (previously) their Agreement\n> Stewards, the only substantive difference is the breadth of the\n> patent license termination in the event of a patent law suit. (See\n> the second paragraph of Section 7.) For more information on the\n> relationship between the CPL and the EPL see the EPL FAQ.\nYou can find more information about the difference at [3].\nThe new `LICENSE.txt` is based on a plain text version of the EPL with\nformatted so that the diff is a clean as possible.\nI'll submit another pull request for the gh-pages branch.\n[1] http:\/\/mmilinkov.wordpress.com\/2013\/02\/13\/jruby-moves-to-the-epl\/\n[2] http:\/\/mmilinkov.wordpress.com\/2009\/04\/16\/one-small-step-towards-reducing-license-proliferation\/\n[3] http:\/\/www.eclipse.org\/legal\/eplfaq.php#EPLDIFFER\n[4] https:\/\/netbeans.org\/community\/releases\/70\/relnotes.html#deprecated\n[5] http:\/\/openjdk.java.net\/jtreg\/build.html","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}218{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/2e9a239f419fa60779b5f1ab191561108e1fe3d4","original_message":"ExpectedException allows multiple exceptions \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"ExpectedException allows multiple exceptions\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}219{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/50b77b1f3108aa77af0906162d552e513936c322","original_message":"Advance version, and beef up ErrorCollector with checkThat and checkPasses","message":"Advance version, and beef up ErrorCollector with checkThat and checkPasses","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}220{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/09ab7decf0c8d3ce8ed8c165465f68e7ebe7af51","original_message":"Wrong href link for Java API in JUnit Javadoc","message":"Wrong href link for Java API in JUnit Javadoc","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}221{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/826529633261161edd2d9dc0f866b2c3c0420514","original_message":"Changes in response to code review from @kcooney.","message":"Changes in response to code review from @kcooney.","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}222{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a688f6cecfe303b02087747226e5c376aebb0c44","original_message":"Issue #1127; when arrays differ in length, say so, but go ahead and find the first difference as usual to ease diagnosis","message":"Issue #1127; when arrays differ in length, say so, but go ahead and find the first difference as usual to ease diagnosis","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}223{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/c9e0f1a3a519bdab2d71b48635a9cc7df3cff3fa","original_message":"JUnitMatchers.matches creates any type \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"JUnitMatchers.matches creates any type\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}224{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d5af0e46c1cd912ef0932ce868517b1e8335531e","original_message":"ExpectedException drastically simplified","message":"ExpectedException drastically simplified","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}225{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/392c673b5f35c2c72f74a15b24afff338ba4e3a7","original_message":"Updated URL to Google's code style repository. \n Document indent size. \n \n Updating code style as per https:\/\/github.com\/junit-team\/junit4\/pull\/1306#issuecomment-221194760","message":"Updated URL to Google's code style repository.\nDocument indent size.\nUpdating code style as per https:\/\/github.com\/junit-team\/junit4\/pull\/1306#issuecomment-221194760","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}226{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/9164fdee10603ebdb2b4a7d78ab00046fa3ad37f","original_message":"Hamcrest 1.2 documented in release notes","message":"Hamcrest 1.2 documented in release notes","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}227{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/34336085d5aba69c997f8e6b244531561afebcd4","original_message":"Modification in response to code review from @kcooney and @dsaff.","message":"Modification in response to code review from @kcooney and @dsaff.","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}228{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/26fa0a4207e21f058d220c84f8195ee25943400c","original_message":"ExpectedException Interceptor added","message":"ExpectedException Interceptor added","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}229{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/e6769d4009db8030661815965e2e22829a4619ff","original_message":"No Interceptors class, interceptors turned on by default","message":"No Interceptors class, interceptors turned on by default","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}230{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/610b38e6c9753ab01b8aef093d2fcaeabe3a7a32","original_message":"Updated release notes \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Updated release notes\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}231{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/38f920506399298a945ed38e08e18e1dafb62520","original_message":"Remove throws from TestWatchman.starting","message":"Remove throws from TestWatchman.starting","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}232{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/356a069f8cbbad2a368fdbc6ceee4e94200e7140","original_message":"Getting there with FrameworkField, but checking in before everything works, to demo squeezing \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Getting there with FrameworkField, but checking in before everything works, to demo squeezing\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}233{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/7b94e3de5c8eab7e25c8b3be0e822ae6d4175bf0","original_message":"don't wrap statements for before\/after\/etc unless there's something to wrap them with. \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"don't wrap statements for before\/after\/etc unless there's something to wrap them with.\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}234{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/507e7b1799801409104fa5054b3bc6ac3fe82e7d","original_message":"Added TestName Interceptor","message":"Added TestName Interceptor","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}235{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ff2ff9176dfb18887a8e6e463e49b00c6f3acc5f","original_message":"Another TODO bites the dust","message":"Another TODO bites the dust","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}236{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3bcf273c37bc31e1f13986b02977cadbcd2b5a76","original_message":"Removing more TODOs \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Removing more TODOs\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}237{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4d6f0702dae590809b808230f027a60aa0a4a345","original_message":"Added parallel tests to AllTests","message":"Added parallel tests to AllTests","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}238{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/13bda470bfa1fe989ce80d616fb096af1b937146","original_message":"Make ParallelComputer more beautiful by creating a Decorator \n extension point in ParentRunner \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Make ParallelComputer more beautiful by creating a Decorator\nextension point in ParentRunner\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}239{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/9f1840115193b7d1bc4bc0b2715d762d317689dd","original_message":"Ignore test for gump (need better long-term solution)","message":"Ignore test for gump (need better long-term solution)","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}240{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/fdc9cd5ea91f5ae1d7e5991abadd1b3f989626f7","original_message":"Incorporated James Abbley's patch for ParallelComputer \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Incorporated James Abbley's patch for ParallelComputer\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}241{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/44e2ed65cd904fc03aecd3b0763856009294bdec","original_message":"Finishing the work of ComparisonCriteria \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Finishing the work of ComparisonCriteria\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}242{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3e7f1f74fff77f46d292e6b7828c020d67b148ae","original_message":"Added note of fixed bug","message":"Added note of fixed bug","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}243{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/503a3b0d79d395ae5c05fee40cd4de2b927b7808","original_message":"We're 4.7 now \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"We're 4.7 now\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}244{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f9168cb066a53dc63f7346f6bb3d25a46d0ccbed","original_message":"Fix javadoc on Parameterized","message":"Fix javadoc on Parameterized","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}245{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/469dcc78a7610916ffa29e2cefc21f80430df8c0","original_message":"Updated to 4.6 final \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Updated to 4.6 final\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}246{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/70986438ca98df55899e293a72931fc12bb737d9","original_message":"Last changes with Kent. \n \n Added fixed bugs to Release notes. \n Updated version number. \n Updated README.html \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Last changes with Kent.\nAdded fixed bugs to Release notes.\nUpdated version number.\nUpdated README.html\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}247{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f3c211455b9e09be36e4bf7ccc499fbdd35a527a","original_message":"Finished release notes, I think","message":"Finished release notes, I think","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}248{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/28fb91ac246e4d8a557358ec9f89d9cb80473100","original_message":"Added Mark Shapiro to acknowledgements \n \n Signed-off-by: Kent Beck <kent@threeriversinstitute.org>","message":"Added Mark Shapiro to acknowledgements\nSigned-off-by: Kent Beck <kent@threeriversinstitute.org>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}249{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d9c81356e3a2fbb165c71b32d63d0cc39a1bd861","original_message":"Preparing for 4.6","message":"Preparing for 4.6","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}250{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/85578d48f6459a05665329faa9b52a861e9142cb","original_message":"Now sorting tests globally","message":"Now sorting tests globally","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}251{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d6662fcc06ec7b07c696eb703c47d3731e4e11c7","original_message":"Oops, checked in some scaffolding and temporary changes","message":"Oops, checked in some scaffolding and temporary changes","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}252{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/df48b66e73c740acb15f065eb7a4bad433930891","original_message":"AllTests passes, but Eclipse doesn't cal JUnitCore, so first attempt at dogfooding failed.","message":"AllTests passes, but Eclipse doesn't cal JUnitCore, so first attempt at dogfooding failed.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}253{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/143c96470aec3221f76f9dcc8042fb36cc88b852","original_message":"Update version to 4.6-SNAPSHOT","message":"Update version to 4.6-SNAPSHOT","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}254{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/cec4a6baf600b8dee3d1318c242a67b56874288a","original_message":"*** empty log message ***","message":"*** empty log message ***","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}255{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8760e505d64d69534073f28bdf47886d20dbca4e","original_message":"build.xml should be in junit*.zip","message":"build.xml should be in junit*.zip","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}256{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/7e77e49c40afb951ae5a5cbdf75ebb4a478e2bb7","original_message":"Updated README.html","message":"Updated README.html","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}257{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/71ce2b015df78f167e4681b097cadc2e0e6655e2","original_message":"JUnit4 runner as a pointer to the current default","message":"JUnit4 runner as a pointer to the current default","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}258{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ca6d91f41d566b21b643b013e843732e1315652f","original_message":"Failing assumptions can be listened for.","message":"Failing assumptions can be listened for.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}259{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/50b9c949876189d8c4871471ec346988e4ccae06","original_message":"Better validation in Theories","message":"Better validation in Theories","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}260{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/5cac7b8bbe41253d3122c434b3887a2be577017e","original_message":"Switched classpath to Execution Environment J2SE 1.5, in hopes all developers will match that.","message":"Switched classpath to Execution Environment J2SE 1.5, in hopes all developers will match that.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}261{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/eb2750d861ac1ecf2dbd0425e457fe833468a169","original_message":"Added Johannes Link's test for running subclasses of Suite","message":"Added Johannes Link's test for running subclasses of Suite","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}262{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8c61443793e4c2e90a4056ee528c3880febb53d2","original_message":"Move deprecated classes back where they used to be.","message":"Move deprecated classes back where they used to be.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}263{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/078e45bd31a9920e00633ad6ce658e22529304f2","original_message":"Brought in old JUnit4ClassRunner for compatibility. Renamed new JUnit4ClassRunner to BlockJUnit4ClassRunner.","message":"Brought in old JUnit4ClassRunner for compatibility. Renamed new JUnit4ClassRunner to BlockJUnit4ClassRunner.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}264{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/65ff7563cc41bc7158d05e69ea0e1ec7bc0f6bd5","original_message":"Finishing javadoc for org.junit.runner.*","message":"Finishing javadoc for org.junit.runner.*","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}265{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f691c8f29653e75a8bac5e7bec1861e948966978","original_message":"Javadocs for three more classes","message":"Javadocs for three more classes","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}266{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/3a7fe9fb7714a890a307ff6d7695e70548ebc457","original_message":"Added profile task to build.xml","message":"Added profile task to build.xml","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}267{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ef32d036d0ff96328f622942514ca73b5f69556d","original_message":"Adding javadoc. Move Enclosed to experimental.","message":"Adding javadoc. Move Enclosed to experimental.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}268{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/98555e6c5b77b59017eeaa6b54f65c1717c16b72","original_message":"JavaDoc cleanup","message":"JavaDoc cleanup","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}269{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/d148bce8682505082a3cc634acbd36ac13a10c9a","original_message":"A SuiteBuilder can be explicitly passed to a Runner class that needs one in its constructor. This eliminates the ugly global constant SuiteBuilder in Suite, and breaks the cyclic dependency between runners and requests","message":"A SuiteBuilder can be explicitly passed to a Runner class that needs one in its constructor. This eliminates the ugly global constant SuiteBuilder in Suite, and breaks the cyclic dependency between runners and requests","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}270{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a916d4133c7e394130d7953da427aae9917ab92c","original_message":"Invalid assumptions, failed tests, and ignored tests now all print similarly","message":"Invalid assumptions, failed tests, and ignored tests now all print similarly","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}271{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/5af049cac0c976c586d955607fa459aacb778d3c","original_message":"Remove unnecessary comments","message":"Remove unnecessary comments","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}272{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/5e4f8e7fb82919d992887fca1741bb04ef1c8f4a","original_message":"New Suite implementation makes ClassesRequest crazy simple","message":"New Suite implementation makes ClassesRequest crazy simple","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}273{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/42beed3ad166a9cceefc59f6c79a16844cae0d02","original_message":"ParentRunner handles filtering and sorting for all runners, now including CompositeRunner","message":"ParentRunner handles filtering and sorting for all runners, now including CompositeRunner","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}274{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/8a8008c96936d468a2f579bcea9a71e965558d57","original_message":"Ignored tests should be shown differently in stack trace section of report","message":"Ignored tests should be shown differently in stack trace section of report","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}275{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0d6cd750d53486f01f12ddfee8657d94b5940574","original_message":"Remove old todo","message":"Remove old todo","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}276{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/9a5dfd996ab7007994fcf60752441835dbdbb5d0","original_message":"Moved InitializationError into proper package","message":"Moved InitializationError into proper package","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}277{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/81ef67251efba98fd6bb1065e9ab97c102dbcc24","original_message":"No matching parameters is now an assumption failure, not an assertion failure","message":"No matching parameters is now an assumption failure, not an assertion failure","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}278{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b52e4af4eb7b26619e1d80537952aed7276766cb","original_message":"Remove","message":"Remove","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}279{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/79eaab79a64788273989403e259ca9584a9a5254","original_message":"Ignore target directory","message":"Ignore target directory","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}280{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/897fa2227e26f221e5efa4f95a805f7ff1ccac5f","original_message":"Now includes filtering","message":"Now includes filtering","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}281{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/a6368e40e787e7a23c9f1e58d6a47bf9fa2d0a2c","original_message":"Pull classBlock up into ParentRunner","message":"Pull classBlock up into ParentRunner","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}282{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/73015005c155a0a7efdfe9edef87a95bb6fcc2de","original_message":"Tweaked Theories a bit. It still seems strange that the class runner creates a statement which creates another class runner (or perhaps more class runners?).","message":"Tweaked Theories a bit. It still seems strange that the class runner creates a statement which creates another class runner (or perhaps more class runners?).","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}283{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4cb9a65f450efa5f2a42128856c7b56e6d283386","original_message":"Fixed a bug in Theories classes with constructor parameters, where the method parameters and constructor parameters were switched","message":"Fixed a bug in Theories classes with constructor parameters, where the method parameters and constructor parameters were switched","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}284{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/59b1e2926cdebfd257c6c091ee2bd478d8aa04d2","original_message":"Theory classes can take constructor parameters","message":"Theory classes can take constructor parameters","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}285{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/4d9c88e37dfed614a1bd1ae2ca2ecc86122aa9f1","original_message":"Removed MethodValidator, replaced with ErrorList, which moved to model package with InitializationError","message":"Removed MethodValidator, replaced with ErrorList, which moved to model package with InitializationError","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}286{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/6887479f1b64c5a18f5708ea6905bb59804a9a0f","original_message":"Simplified Theories. Factored out ignoring violated assumptions into its own Link.","message":"Simplified Theories. Factored out ignoring violated assumptions into its own Link.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}287{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/44e7458b19d5cd1900a765a440c96e85b81d25fc","original_message":"- Renamed link classes. \n Absolute actions are verbs: IgnoreTest, Invoke. \n ActionModifiers are modifying phrases: ExpectingException, WithTimeout, etc. \n \n - Moved isShadowedBy(List) to TestMethod","message":"- Renamed link classes.\nAbsolute actions are verbs: IgnoreTest, Invoke.\nActionModifiers are modifying phrases: ExpectingException, WithTimeout, etc.\n- Moved isShadowedBy(List) to TestMethod","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}288{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/35f5f3a78cdc49954e9542dafeea86f13705fdf8","original_message":"Reorganize tests","message":"Reorganize tests","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}289{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/7ce9e33e556cf1817d94f769e09c9d22b8d2764d","original_message":"Leave this method in--it's used by the JMock custom runner, and possibly others","message":"Leave this method in--it's used by the JMock custom runner, and possibly others","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}290{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ee235bc8c5cf5d4345a690f1bd7e3fd1967ef8ea","original_message":"Re-organize theory packages","message":"Re-organize theory packages","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}291{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/87245d66c7a17b27478da3bf7030e1b2dc86da55","original_message":"Added script for uploading docs","message":"Added script for uploading docs","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}292{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/24eacde6262fbb3ce096fe59e8df93907b7622ae","original_message":"Created a separate build directory for new build scripts, including FTP upload","message":"Created a separate build directory for new build scripts, including FTP upload","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}293{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/398bf2652efda067329f9fdedd13cd8e466c3be4","original_message":"Comparing arrays declared as Object now uses array comparison. There was also a strange change to the .classpath file that I reverted. \n -- Kent","message":"Comparing arrays declared as Object now uses array comparison. There was also a strange change to the .classpath file that I reverted.\n-- Kent","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}294{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/53b526ebaa46a5027cf1bc5a820b47badc83a3ed","original_message":"Methods on inaccessible superclasses of test classes are caught during validation","message":"Methods on inaccessible superclasses of test classes are caught during validation","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}295{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/57f06901cde6ec806d4f4381670466ab5fbac300","original_message":"Updated README about Enclosed","message":"Updated README about Enclosed","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}296{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0954736a4d4436436e0c12d5700100ac6b8aa1da","original_message":"run awtui and swingui with -noload","message":"run awtui and swingui with -noload","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}297{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/fb9f199f0ff53dded91ebb483aab7483a6e7e12a","original_message":"fixed generated argument names","message":"fixed generated argument names","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}298{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ba28bf0f0384ba8b2fc377ef612545f411a56ec4","original_message":"[ 609972 ] '...' in ComparisonFailure","message":"[ 609972 ] '...' in ComparisonFailure","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}299{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/ece77fa477a6d322bb5b37c7e2367f4c4dfbf9f3","original_message":"[ 774304 ] Fix for JUnit 3.8.1 does not compile with JDK 1.1","message":"[ 774304 ] Fix for JUnit 3.8.1 does not compile with JDK 1.1","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}300{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/c3c1b5edd8053bbce99d954d4abc2361ead06fd5","original_message":"Fixes bug reported on Support Request 615265 \n swingui progress bar color on Mac OS X","message":"Fixes bug reported on Support Request 615265\nswingui progress bar color on Mac OS X","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}301{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/b832960d33a9aa0dda51d7e5b41ae5de2ab4e334","original_message":"assert to assertTrue","message":"assert to assertTrue","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}302{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/9dd2616c05d9e353e1be1bc96a2287fdd965f2b5","original_message":"Fixed broken link to 'How To Ask Questions The Smart Way'.","message":"Fixed broken link to 'How To Ask Questions The Smart Way'.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}303{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f0c169f7af027b6b6a3e264fa98d6055f13398a9","original_message":"Added 'How do I write a test for an abstract class?'","message":"Added 'How do I write a test for an abstract class?'","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}304{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/f41f48d8f0a71620b878617e5fffb4b48c872978","original_message":"Reorganized the AssertTest, which had grown unwieldy.","message":"Reorganized the AssertTest, which had grown unwieldy.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}305{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/e7707e88ef3b20655d91513c6ed90c5e3db62cc8","original_message":"improved names of test methods","message":"improved names of test methods","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}306{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/815f7e7966f2d09382273fe34cf40452c94eb47b","original_message":"Fixed small comments","message":"Fixed small comments","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}307{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/c15ba99f8f498b20a10df6a92f04d22182c2c964","original_message":"Added 'What's the difference between a failure and an error?'","message":"Added 'What's the difference between a failure and an error?'","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}308{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/58c50f297ca8e97e76fd3851d9eef13bd0cf73e2","original_message":"rollback to correct version","message":"rollback to correct version","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}309{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/69a8dad63d43eb1071c5823f345f290edd5a3050","original_message":"Deleted unnecessary .vcm_meta file.","message":"Deleted unnecessary .vcm_meta file.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}310{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/591fcae09c6470a03ade7d608773f8f633409bc2","original_message":"Added more Javadoc to Assert for messages and when they are displayed. \n Put versiontag back into Version.","message":"Added more Javadoc to Assert for messages and when they are displayed.\nPut versiontag back into Version.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}311{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/bac1a14e0da7a96a6ef2ce41e425f3ded1207d7d","original_message":"Added assert FAQ.","message":"Added assert FAQ.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}312{"url":"https:\/\/github.com\/junit-team\/junit4\/commit\/0be4c31f80dc38ddf8decbc8d6d13bd23d3ae8b1","original_message":"Enhanced missing test.jar error message","message":"Enhanced missing test.jar error message","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}313{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8a6fd8b2adeb566dc0b281846e827694845e2ed5","original_message":"update year to 2021 (#7139)","message":"update year to 2021","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}314{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f7127c7abc6424ff07e4615546176f543927fbfa","original_message":"fix comment grammar error (#7080) \n \n Co-authored-by: tangtong <alan1@sfmail.sf-express.com>","message":"fix comment grammar error\nCo-authored-by: tangtong <alan1@sfmail.sf-express.com>","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}315{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4a8da59573cb0f1d793809439abb2f2162f2d80f","original_message":"Proofread README.md file with multiple fixes (#6807) \n \n Fixed typo, grammatical, punctuations, and semantic coherence to improve readability and content quality. \n \n Signed-off-by: Aditya Kumar Roy <akroy@umass.edu>","message":"Proofread README.md file with multiple fixes\nFixed typo, grammatical, punctuations, and semantic coherence to improve readability and content quality.\nSigned-off-by: Aditya Kumar Roy <akroy@umass.edu>","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}316{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f9f10ba5225e80c34953f56123ac1702c13e45c7","original_message":"In order to facilitate the consumer to better locate the failure of provider token check, the token value called by consumer will be printed out in the exception information (#6800)","message":"In order to facilitate the consumer to better locate the failure of provider token check, the token value called by consumer will be printed out in the exception information","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}317{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/917b92872ec0bab3d5880aa00208338bff75d5b3","original_message":"add customized class path for javassist (#6731)","message":"add customized class path for javassist","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}318{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a466f4f4a4b58d1089533bdbbde372d852afb5f0","original_message":"fix #4587: enhance url equals (#6706)","message":"","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}319{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/392f15952f46340130ba51b08a02536823a5880a","original_message":"[Dubbo-6536]Add a remoting redis to adapt mono, sentinel and cluster redis; refactor redis registry to use the new module (#6614) \n \n add remoting-redis module, refactor RedisRegistry","message":"[Dubbo-6536]Add a remoting redis to adapt mono, sentinel and cluster redis; refactor redis registry to use the new module\nadd remoting-redis module, refactor RedisRegistry","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}320{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a2e5102657a8abe03812f0b025f457ca3d994921","original_message":"Fix NPE when unexport Metadata Service (#6450)","message":"Fix NPE when unexport Metadata Service","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}321{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/40d03b081e8a8f74fb5092163e51bdd17842cb5a","original_message":"add @SPI annotation (#6436)","message":"add @SPI annotation","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}322{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/51361d535d11c6a4e201044fa4f859aa0676c861","original_message":"fix ut","message":"fix ut","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}323{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5668d740766f6303e789f072100cd235e4b67582","original_message":"Fix export provider error, change to catch throwable, handle NoClassDefFoundError (#6380)","message":"Fix export provider error, change to catch throwable, handle NoClassDefFoundError","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}324{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/bbacab0b32b74ba4beb90f9100980b184ac70c71","original_message":"Enhancement, support Map auto recognize in PojoUtils (#6106) \n \n Fix #5939","message":"Enhancement, support Map auto recognize in PojoUtils","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}325{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5230444d5f83e586ce759d15e02ee799cf6241e7","original_message":"fix publish null value when use consul config center (#6351) \n \n * fix publish null value when use consul config center","message":"fix publish null value when use consul config center\n* fix publish null value when use consul config center","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}326{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c39eeb57aef6d2cb046a031a47dbd37e43b4b056","original_message":"Revert 'fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)' \n \n This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.","message":"Revert 'fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)'\nThis reverts commit 91989cae508f8482f31ac335879da4a5975661c8.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}327{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/951955ad51c602a51b4ac6ada7344eef9ee1c195","original_message":"Polish apache\/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection (#6299)","message":"Polish apache\/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}328{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/dd8dacdc1766e8fd118404830e60d9d7eb32d5f6","original_message":"Fix compilation (#6117)","message":"Fix compilation","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}329{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6491ed01b7ba7cdcf2c26934ca806df3a89cf2a9","original_message":"Reduce memory allocation during address change notification. (#5613) \n \n 1. Merge registry notification events happened in a certain short interval. \n 2. cache URL instances to reduce string -> URL recreation \n 3. reduce allocation during export and refer at start up. \n 4. add frozen status for URL \n 5. use URLBuilder for unfrozen URLs","message":"Reduce memory allocation during address change notification.\n1. Merge registry notification events happened in a certain short interval.\n2. cache URL instances to reduce string -> URL recreation\n3. reduce allocation during export and refer at start up.\n4. add frozen status for URL\n5. use URLBuilder for unfrozen URLs","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}330{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/2d0d71385d2cd26b97e07c699f84cd58b862cef9","original_message":"DynamicConfiguration: return default value if not implemented. (#6086) \n \n fixes #5916","message":"DynamicConfiguration: return default value if not implemented.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}331{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7234078e8cf49f4ee0231b6cd0237fb730446dd1","original_message":"[Enhancement] Adding the overriding rule for ExtensionLoader (#6068)","message":"[Enhancement] Adding the overriding rule for ExtensionLoader","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}332{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/85ad18fe22c447568f1c9bfb1c58d645c3dd7b9a","original_message":"bugfix:fix alibaba RpcContext setAttachment(String,String) (#6052)","message":"bugfix:fix alibaba RpcContext setAttachment(String,String)","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}333{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/00cdc531600c7392ad91bd43f93aca2ef9ae54c5","original_message":"revert computeIfAbsent for jdk related bug: (#6032) \n \n https:\/\/bugs.openjdk.java.net\/browse\/JDK-8062841","message":"revert computeIfAbsent for jdk related bug:\nhttps:\/\/bugs.openjdk.java.net\/browse\/JDK-8062841","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}334{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/317e62f73fd0a9bac4b34eb8b2c31bbae591ef91","original_message":"Fix concurrency problems in RpcStatus and RoundRobinLoadBalance (#5881)","message":"Fix concurrency problems in RpcStatus and RoundRobinLoadBalance","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}335{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5d6ca6234f64a670fed2f3c5fdc1d0dba74a9c88","original_message":"register stated url to provider model, no matter the provider is configured to delay-published or not (#5757)","message":"register stated url to provider model, no matter the provider is configured to delay-published or not","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}336{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d6672afbee70a9fea98a876a225ccb7ea17e028a","original_message":"polish NetUtils#matchIpRange (#5773)","message":"polish NetUtils#matchIpRange","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}337{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8e07686047404ed4729ab1af481fa14984d5ed2b","original_message":"remove reference destroy guardian (#5863) \n \n fix #5855","message":"remove reference destroy guardian","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}338{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/61d5d44b90b76f264ecdf5aa50763a91b91e0fa6","original_message":"Update ForkingClusterInvoker.java (#5875)","message":"Update ForkingClusterInvoker.java","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}339{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/912303d9c4aaf04866868e5e48ee247820f088ba","original_message":"collect async export services (#5905)","message":"collect async export services","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}340{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/35ed61592ba9741adb8e51a7e5640087b83d6295","original_message":"add HttpUtils.java file back.","message":"add HttpUtils.java file back.","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}341{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/1b937ac1e46d45a6110bc22fd59ba29007a73bea","original_message":"avoid potential shutdown race condition. (#5856)","message":"avoid potential shutdown race condition.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}342{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7a73b3f86a0fbf75f7c190b813dace642bd4a9c7","original_message":"[Dubbo-5592] simplify code for getExtensionLoader method (#5593)","message":"[Dubbo-5592] simplify code for getExtensionLoader method","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}343{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ab5cf3dfb74fbcfaa6f453a5a3222faa32e10fe1","original_message":"fix wrong telnet command package(#5690) (#5815)","message":"fix wrong telnet command package(#5690)","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}344{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/61d1ba78f7417c7088a5b71e36bec5a668f9b558","original_message":"throw unknown exception (#5849)","message":"throw unknown exception","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}345{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/88e52067774526637b1da973b60583607172f544","original_message":"fix #5837 (#5839)","message":"","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}346{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/28e737880ce70acb0339100a58512425cfb11fe7","original_message":"Fix stub proxy does not work cause of ProxyFactory.getProxy change (#5838) \n \n fix #5836","message":"Fix stub proxy does not work cause of ProxyFactory.getProxy change","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}347{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5576991be387d00fa707655b0a0de0010b1f13a7","original_message":"Revert '[Dubbo-5813]prevent destroyAll method of DubboShutdownHook being invoked twice when using Spring (#5814)' (#5818) \n \n This reverts commit 5194791f130eb34d6ed75bc43ef731289a12148a.","message":"Revert '[Dubbo-5813]prevent destroyAll method of DubboShutdownHook being invoked twice when using Spring (#5814)'\nThis reverts commit 5194791f130eb34d6ed75bc43ef731289a12148a.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}348{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/54b0d7e3f4bc8f348c6260f649c6e3174d5b8a03","original_message":"Remove duplicate dependency from [dubbo-bom] and [dubbo-demo-xml-consumer] (#5799)","message":"Remove duplicate dependency from [dubbo-bom] and [dubbo-demo-xml-consumer]","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}349{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c9f12ca17770d7035f1f9bf0a27c18fd6c4dce5a","original_message":"MessageOnlyChannelHandler class should be consistent with the writing of the ExecutionChannelHandler class. (#5724) \n \n fix #5256","message":"MessageOnlyChannelHandler class should be consistent with the writing of the ExecutionChannelHandler class.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}350{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5b4816dfa6ae92d0b94af4ed41c07ca6c9d0fcb9","original_message":"fix:Remove unused variable parameters in AbstractProxyInvoker (#5651)","message":"fix:Remove unused variable parameters in AbstractProxyInvoker","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}351{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/882a8c430f2a495c8ba7f29c8038781963c93fdf","original_message":"[Dubbo-4991] Fix zk client create logic (#5139) \n \n fix #4991","message":"[Dubbo-4991] Fix zk client create logic","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}352{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c0d62ed7a83347fa469c2b2a7d75287a5feb799b","original_message":"[Dubbo-perf]: Reduce object allocation for ProtocolUtils.serviceKey(int, String, String, String) (#5525)","message":"[Dubbo-perf]: Reduce object allocation for ProtocolUtils.serviceKey(int, String, String, String)","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}353{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3bc4508d09756a40c85ddf0c62b94aaf5d957d58","original_message":"add comment for FutureAdapter, see #3979","message":"add comment for FutureAdapter, see #3979","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}354{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8bf918ff676e2e19e46ea02bf9169e0abf86d15d","original_message":"add some unit test for dubbo-auth (#5547)","message":"add some unit test for dubbo-auth","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}355{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ed7be11af9a8a9dddb4d23eea089f3890391575b","original_message":"constant names should be all uppercase, separated by underscores (#5356)","message":"constant names should be all uppercase, separated by underscores","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}356{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9ae6ed76c9ed7f3e3cf7b9e5f3c79e8f1504b3a0","original_message":"When using zookeeper and ConfigCenterConfig is null,don't set port attribute (#5617) \n \n fix #5322","message":"When using zookeeper and ConfigCenterConfig is null,don't set port attribute","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}357{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/84c80b90499553dae67cd1d76e97fc6cb2d2ed6f","original_message":"skip integration test by default. (#5421)","message":"skip integration test by default.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}358{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3308a197751eeb97baddf157f53813a3447d159f","original_message":"fix typo:metodName (#5596)","message":"fix typo:metodName","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}359{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a8a6a91bc8d085b58ca5c48a782270d7a327c106","original_message":"upgrade dependency to 2.7.5","message":"upgrade dependency to 2.7.5","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}360{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/15ed9f85929a30aaba0b02d23a00d4339f67dad3","original_message":"extract duplicate code to a method (#5541)","message":"extract duplicate code to a method","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}361{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ff76661ef4ad2af0b92c208dc0740bb00e93020b","original_message":"change version to 2.7.6-SNAPSHOT to prepare for next major release","message":"change version to 2.7.6-SNAPSHOT to prepare for next major release","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}362{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/fa157deadf65d00c9884d611430ec78e585840ff","original_message":"Refactor: remove NetUtils.getHostAddress() and relace it with NetUtils.getLocalHost() (#5526)","message":"Refactor: remove NetUtils.getHostAddress() and relace it with NetUtils.getLocalHost()","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}363{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/2f62b273ceb20772d0734da03c1fd12ad465fcd6","original_message":"protocols\/protocolIds and registries\/registryIds, make sure only one can work (#5497)","message":"protocols\/protocolIds and registries\/registryIds, make sure only one can work","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}364{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3b03c3f29807b654b12af5376ecedd494be12acb","original_message":"[Dubbo-4863] add switch of generic invocation with class info (#5412) \n \n fix #4863","message":"[Dubbo-4863] add switch of generic invocation with class info","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}365{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/53dca537089441e84160391c8f7efd7b40dd9155","original_message":"Remove redundant judgment (#5456)","message":"Remove redundant judgment","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}366{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8eae30105ca005374683433964318b667d0c290c","original_message":"add the router key in dubbo.xsd (#5337)","message":"add the router key in dubbo.xsd","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}367{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4704413b37ecdeafde73de0b6915aaa0d0b54b1c","original_message":"Fix issue#5411 (#5427)","message":"Fix issue#5411","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}368{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/80776517e923a7bb77a307b74d3b5fdfa1c2b22d","original_message":"temporarily change spring-context-support dependency back to SNAPSHOT, the formal release turns to be broken.","message":"temporarily change spring-context-support dependency back to SNAPSHOT, the formal release turns to be broken.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}369{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5c44f2f2fb506d3a3ff408979c0a216b772aaa8f","original_message":"optimize config","message":"optimize config","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}370{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/efb8e304c77be92d1af4f90689cdab625fc15a99","original_message":"add start status for gRPC server","message":"add start status for gRPC server","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}371{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/562bfcc16a3f63e9f207726b2b7f4981d6aa9df3","original_message":"Add comments for gRPC implementations","message":"Add comments for gRPC implementations","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}372{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/dc583821a462e964a9390bf606cc01bd7ec36698","original_message":"change protoc compiler version to SNAPSHOT","message":"change protoc compiler version to SNAPSHOT","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}373{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ca8bd0f87e8d3c4f88486f1a5063c7a2d78c27d8","original_message":"add gpg signing plugin for protobuf compiler","message":"add gpg signing plugin for protobuf compiler","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}374{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/dfa84998968f7f9bfc25b935b531fcf8c67fe854","original_message":"fix NetUtils.isPreferIPV6Address bug (#5238)","message":"fix NetUtils.isPreferIPV6Address bug","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}375{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e826d0864b95a03a013f5c0d270d5c9bb3ca454d","original_message":"to process a scenario when service type is not available and service invocation is not generic either \n \n to process a scenario when service type is not available and service invocation is not generic either","message":"to process a scenario when service type is not available and service invocation is not generic either\nto process a scenario when service type is not available and service invocation is not generic either","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}376{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/35089d863e09a1e28b9a28689a9bc7a968602441","original_message":"add gradle wrapper jar file","message":"add gradle wrapper jar file","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}377{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7e0ef420b63b418baf182cbc92dce7cc795fa2b8","original_message":"ExtensionLoader try to load from itself ClassLoader when can not find resources.","message":"ExtensionLoader try to load from itself ClassLoader when can not find resources.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}378{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/15d808446d4bebc3b87f986ccc657f9e5baff728","original_message":"Fix Dubbo-3990 #3990 (#5247)","message":"Fix Dubbo-3990 #3990","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}379{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/429616fb6d1f303c41f6552b0ec8316848947e91","original_message":"copy invoker to new invocation in generic filter","message":"copy invoker to new invocation in generic filter","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}380{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f5899d80d0d14f2ba5377a781cc376fa395c986d","original_message":"adjust format of generated stub","message":"adjust format of generated stub","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}381{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/87547793e0530aabdf429218629def9001347252","original_message":"fix parameters could be null. (#5205)","message":"fix parameters could be null.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}382{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/055f1cc6adab30fc09496144cb66952fa5a05376","original_message":"[Dubbo-4871] fix cache file name issue in windows platform (#5158)","message":"[Dubbo-4871] fix cache file name issue in windows platform","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}383{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/1be3c999d112215a1354ab396cb2fbb94f3d2a0e","original_message":"Refactor: Config Application and Bootstrap","message":"Refactor: Config Application and Bootstrap","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}384{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f6993ffd4e4c123cda6b1d164485c0dbb631a70d","original_message":"revert #5072 by logging error msg. (#5084)","message":"revert #5072 by logging error msg.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}385{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a5cc7a26179aab97b3bee3fcc93fe90ac0ecb29f","original_message":"reduce the level of request data in timeout log (#5149) \n \n to control the size of log","message":"reduce the level of request data in timeout log\nto control the size of log","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}386{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/41dc13537aeb161079adb5085115de35bf2f8c0a","original_message":"config refactor","message":"config refactor","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}387{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/873432056b9a93d51bd678b501739d234e3869a6","original_message":"Shorten the life cycle of Timeout to get a better gc effect (#4081)","message":"Shorten the life cycle of Timeout to get a better gc effect","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}388{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7f95cd5290ec46ec63c0dc78c04a26336e2e80d6","original_message":"Enhance ProtobufTypeBuilder support generate type definition which contains Bytes List or Bytes Map. (#5083)","message":"Enhance ProtobufTypeBuilder support generate type definition which contains Bytes List or Bytes Map.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}389{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4c822d1304b9f978264b48bf38829c8dcaa64b61","original_message":"delete protoc generator test files","message":"delete protoc generator test files","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}390{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4e101490b227052aefaafffbc247d3826297d2b5","original_message":"refactor some string operations with StringUtils (#5112) \n \n refactor string empty check statements.","message":"refactor some string operations with StringUtils\nrefactor string empty check statements.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}391{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8be896e663812f9b981010295d47fa730af51428","original_message":"Simplify code with Lambda (#4834) \n \n Simplify code with Lambda","message":"Simplify code with Lambda\nSimplify code with Lambda","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}392{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f692c4ddfaa58a99d294c3be77246d0f99bf022e","original_message":"Add 'getUniqueServiceKey' to keep backward compatibility.","message":"Add 'getUniqueServiceKey' to keep backward compatibility.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}393{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/dbb2499d1f2e52f0ff84c1b37b71ef4bacbc439d","original_message":"Don't merge, disable routers","message":"Don't merge, disable routers","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}394{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ed8a36bf695537040acd4bd5ed17bebab3ff5a92","original_message":"Result implements future and keep Filter backward compatibility. (#3916)","message":"Result implements future and keep Filter backward compatibility.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}395{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b0064d78a3b929eb3b25e0de9055412cb61f48ce","original_message":"Make code of process callback of method cleaner in DubboBeanDefinitionParser (#4770)","message":"Make code of process callback of method cleaner in DubboBeanDefinitionParser","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}396{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d1a50ee1d7c080023ca0c255b76c96d5ee1ce696","original_message":"test flush","message":"test flush","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}397{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0bd3a97bdb61bd083d7310108a16ae12288283e9","original_message":"unit test for metadata","message":"unit test for metadata","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}398{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4cf629d96a520d7afea0ac15256e273ab3ca669a","original_message":"generate urls directly for non-dubbo service instances.","message":"generate urls directly for non-dubbo service instances.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}399{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5cab5d36d4573bd47180e8ee27212031e1d8ec08","original_message":"unify heartbeat stamp key","message":"unify heartbeat stamp key","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}400{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/faec551df75cb22c65970c0d83d446e306184926","original_message":"performance tuning: Applicationmodel revert (#4245)","message":"performance tuning: Applicationmodel revert","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}401{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6e4ff91dfca4395a8d1b180f40f632e97acf779d","original_message":"Add unit test for unpack and stick pack of dubbo and telent (#3703)","message":"Add unit test for unpack and stick pack of dubbo and telent","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}402{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ad5f9f909e6282381499e63070c6175014c81935","original_message":"Correct @Parameter config of field of ConfigCenterConfig (#3688)","message":"Correct @Parameter config of field of ConfigCenterConfig","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}403{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b5a078f186fd2e7f27a3d8c2af1bce3ff2e88e80","original_message":"performance tuning: save rpcinvocation allocation (#4215)","message":"performance tuning: save rpcinvocation allocation","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}404{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8cf62479cafae5dd995b46988cbe35224e37f0e4","original_message":"register applicationconfig","message":"register applicationconfig","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}405{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f7b3e2e649562a78573ab0932e3d7fe444391626","original_message":"fix conflicts after merged master","message":"fix conflicts after merged master","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}406{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f490df87de45b57be8c224581a8a1a7dd9a20946","original_message":"keep demo simple, and switch to use zookeeper as registry center (#4705) \n \n * keep demo simple, and switch to use zookeeper as registry center \n \n * remove comment","message":"keep demo simple, and switch to use zookeeper as registry center\n* keep demo simple, and switch to use zookeeper as registry center\n* remove comment","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}407{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8798d3852ed0e9e82f037e89f9b8cd8b96a17e49","original_message":"fix protocol register set false not work (#4776)","message":"fix protocol register set false not work","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}408{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c3132b8343de5ba8ce289822a633c32de79c2799","original_message":"Fixed Service annotation method parameters are not in effect (#4598)","message":"Fixed Service annotation method parameters are not in effect","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}409{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5e6cbbe56820206b5d6a54eff8fdaaedab335840","original_message":"check null for path before call rest server (#3665)","message":"check null for path before call rest server","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}410{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a15126272b85d718e499f8b5ea52b999730ffa67","original_message":"add 2.7.0 release notes","message":"add 2.7.0 release notes","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}411{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/543a52abc0a86efad59f0f97f32de282321a4ab5","original_message":"Multiple registry (#4066) \n \n fixes #3932, #3599, #3084","message":"Multiple registry","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}412{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c14605e15600e6817e12db07826ca896420f65d3","original_message":"bugfix follow #4127 (#4155)","message":"bugfix follow #4127","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}413{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5caa422add46efa9b6de8c0e763e1ccecbcbfacd","original_message":"just for modify comments and imports (#3227)","message":"just for modify comments and imports","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}414{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/92cafe962d8fd3df034c16629954425f4640f343","original_message":"register callback once for the full filter chain. (#4127)","message":"register callback once for the full filter chain.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}415{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/18eb69e96475c05be9bb8b5d7a0c7bcdafa97405","original_message":"Solve compile problem in java11 (#4172)","message":"Solve compile problem in java11","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}416{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/57c13e07430a58e77249b96af9574b3db04e6dba","original_message":"Remove unused import for unit test (#4976) \n \n * clear unused import","message":"Remove unused import for unit test\n* clear unused import","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}417{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c8ca5b6d839f7759d09543a5a95e5082278d9860","original_message":"demos","message":"demos","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}418{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/18dee4e44df7a02cacb3070fda72e22d7078f910","original_message":"code format (#2528)","message":"code format","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}419{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9960d231842806767a683f24ae5aafb58eeb5075","original_message":"update default dependency to the latest version.","message":"update default dependency to the latest version.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}420{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ca7d64173c6d63dd4cbd82ca208bdb036a0e167e","original_message":"temporarily ignore UT RegistryDataConfigTest","message":"temporarily ignore UT RegistryDataConfigTest","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}421{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/13e876e40caa0ba658c8204cb2ca9b6321ad8bfa","original_message":"fix client retry create proxy lead to OOM (#4109)","message":"fix client retry create proxy lead to OOM","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}422{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b89f1fbc731a7feaa2b1d394069e76f920744e0f","original_message":"update change list","message":"update change list","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}423{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5f19335477a9ea4eb0af0dd0bdbe068b4e309edd","original_message":"typo for AccessLogFilter (#3633)","message":"typo for AccessLogFilter","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}424{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c65b589fc2b5cebed0138386f8e62e3c2528691e","original_message":"rename dubbo-ops to dubbo-admin (#3628)","message":"rename dubbo-ops to dubbo-admin","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}425{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/2245cf70bc89c229a387fd9aa59339bdb947f8d6","original_message":"Introduce ProtocolServer to distinguish from RemotingServer","message":"Introduce ProtocolServer to distinguish from RemotingServer","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}426{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/bdaacbc17d8f189c4ebbb34129883e1d0552dfcf","original_message":"spring delegate to bootstrap.","message":"spring delegate to bootstrap.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}427{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b4afeb982b943ca8c6bbd261302a9e161c2e98a9","original_message":"follow up for pr#4339, remove the space (#4591)","message":"follow up for pr#4339, remove the space","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}428{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c18b1cfb465181b0a446eb37cb12e5a4eab1d617","original_message":"Revert code to avoid NPE in RPC wire after providers are cleared.","message":"Revert code to avoid NPE in RPC wire after providers are cleared.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}429{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c4e9b9de2dd96b2cc13816b08662f1235463070e","original_message":"revert router from layered path to flat path: \n \/router\/condition -> router-codition","message":"revert router from layered path to flat path:\n\/router\/condition -> router-codition","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}430{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/737f7a7ea67832d7f17517326fb2491d0a086dd7","original_message":"add jdk11 to travis ci (#2487) \n \n * add jdk11 to travis ci \n * Update .travis.yml \n * upgrade jacoco to support jdk11","message":"add jdk11 to travis ci\n* add jdk11 to travis ci\n* Update .travis.yml\n* upgrade jacoco to support jdk11","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}431{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/fba25d271fe4672a5dceef288f4e1cf2ea923521","original_message":"move isMetaMethod to MethodUtils (#4387)","message":"move isMetaMethod to MethodUtils","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}432{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a66784ae12123dbc706e63452fbde74763fc848a","original_message":"fix UT","message":"fix UT","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}433{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/2e660dfef7282b43bc58113df39e61b7a79bdf0e","original_message":"Dubbo-3473 Fix Not Properly Closed Resources (#3474)","message":"Dubbo-3473 Fix Not Properly Closed Resources","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}434{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8c2f34e5cf0953905c64e3ff74907cf9b6ed6df2","original_message":"Upgrade maven dependency to the latest version","message":"Upgrade maven dependency to the latest version","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}435{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e5fe041812285869d5ab73516dd424338473bcf2","original_message":"remove tomcat-embed-logging-juli (#4430) \n \n fixes #4400","message":"remove tomcat-embed-logging-juli","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}436{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9897aa3d7273e3eb96910cfdc09709a77cae50b0","original_message":"remove appConfigs cache to support one service\/reference registered more than one time (if users don't explicitly add id, cache can not work properly)","message":"remove appConfigs cache to support one service\/reference registered more than one time (if users don't explicitly add id, cache can not work properly)","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}437{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/038e87e69196613409722fc03e2f9737ea7b190c","original_message":"format code style (#2475)","message":"format code style","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}438{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8f7b0c35938f12db8b075db87f9eeefb26c951d2","original_message":"Fixes #3367, fail to parse config text with white space (#3589)","message":"","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}439{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/96dffe353ef3c9cdf938bf81d38fd9f19cd17f1a","original_message":"set all router rule enabled by default","message":"set all router rule enabled by default","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}440{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/2497dcf1924335071d2e0f2339fa8ab4a3c34b71","original_message":"make metadata key contain : when version and group is empty (#4465)","message":"make metadata key contain : when version and group is empty","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}441{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/18773aa4d0925693839be7f53c0eee27697ebc1d","original_message":"fix qos configuration cannot work after added 'qos-enable' style support (#4378) \n \n fixes #4377","message":"fix qos configuration cannot work after added 'qos-enable' style support","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}442{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/789775b3ae35d673028dd99e5251e92334ff14c3","original_message":"Change CopyOnWriteArrayList to regular list in DubboProtocol (#4056)","message":"Change CopyOnWriteArrayList to regular list in DubboProtocol","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}443{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/df219f36aa27f6fd11c33a73af407b9e009485a7","original_message":"enhance shutdown hook in spring (#3008)","message":"enhance shutdown hook in spring","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}444{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8056746f89d4e725d0b2184a46ea9e8be6980cc2","original_message":"weird demo changes","message":"weird demo changes","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}445{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/81e61cc5c3d83b716ca2e712ccdc444c0fff208a","original_message":"remove unnecessary null check before instance of (#4321) \n \n Signed-off-by: jimin.jm <develope97>","message":"remove unnecessary null check before instance of\nSigned-off-by: jimin.jm <develope97>","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}446{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c509f1b1fe7cf0327174022594c2afce16e6d84c","original_message":"Check config instance in ConfigManager before create a new one.","message":"Check config instance in ConfigManager before create a new one.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}447{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/66fbb3c3bb7af4fe092722c0ce3f5d73dbd16d6f","original_message":"Config optimization. \n 1. add ConfigManager \n 2. Reference\/Service hold reference of ConfigCenterConfig \n 3. change from-spring to include-spring-env","message":"Config optimization.\n1. add ConfigManager\n2. Reference\/Service hold reference of ConfigCenterConfig\n3. change from-spring to include-spring-env","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}448{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3bdc316511f9b5e2093875f7ded3f7da791edab7","original_message":"replace Random with ThreadLocalRandom (#2433)","message":"replace Random with ThreadLocalRandom","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}449{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a5faea2232cc306d4243513038afdaac06f83497","original_message":"make loadbalance robust, add comments (#2962)","message":"make loadbalance robust, add comments","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}450{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5b1b14de1ba3cd86f6494fb12d51085b264b3ec3","original_message":"set reg status to true after reExport","message":"set reg status to true after reExport","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}451{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9396ace4fc00ca8f2e331b49ddabcb1e138e9e1c","original_message":"fix typo (#3110)","message":"fix typo","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}452{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b5408b752631644d5934971f4ba11d165c776536","original_message":"support handle of exception from onResponse or onError (#4401) \n \n fix #4401","message":"support handle of exception from onResponse or onError","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}453{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f720ccb965d490e6cc328af8d3e9820cb6eaf8f7","original_message":"fix travis cov (#2337)","message":"fix travis cov","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}454{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/368a59ed8560e36de7255231297a39fc194b60bf","original_message":"Release resource after use in ConfigParserTest (#2905)","message":"Release resource after use in ConfigParserTest","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}455{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/27789cef6b3bf04ffa60140a4fdd3eaaf0358214","original_message":"duplicate decrease for ExecuteLimitFilter onError (#4380)","message":"duplicate decrease for ExecuteLimitFilter onError","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}456{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d5c517607b5bb5360c56b8d619799b2795594040","original_message":"port #3568 into main trunk (#3993) \n \n fixes #3991","message":"port #3568 into main trunk","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}457{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f2bed88616b644d87f939f002be426c1fa3718bc","original_message":"provide more meaningful binary releases. (#3987) \n \n fixes #2491","message":"provide more meaningful binary releases.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}458{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5a9406c66d0ae1aabc1a83c1821f070ec823aa8b","original_message":"modify metadata store from sync to async","message":"modify metadata store from sync to async","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}459{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/813fed53e8da58beb48bae9ed602f133abb3f747","original_message":"[Enhancement]: RestProtocol (#3480)","message":"[Enhancement]: RestProtocol","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}460{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7473662275afe8003a8208c1526bc662a2a8ac9d","original_message":"app level override rule should only generate one url","message":"app level override rule should only generate one url","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}461{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6f6ef6c9f2100e6d9a69c0337601d766f5587dea","original_message":"[dubbo-2766] fix the bug of isMatch method of InvokeTelnetHandler (#2787)","message":"[dubbo-2766] fix the bug of isMatch method of InvokeTelnetHandler","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}462{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/bd6e5f101ba5ddaa6bd4f153d694bf7dcf0c19d0","original_message":"Class comment error (#3481)","message":"Class comment error","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}463{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c98abb2f95d90bffb3ee40690c2a290f62905c63","original_message":"use revision in pom.xml (#3980)","message":"use revision in pom.xml","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}464{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/14d1f97ae80a35fe65d9fced488a1fd8bac4f822","original_message":"optimize dynamic configuration api","message":"optimize dynamic configuration api","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}465{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b30bddb464344bdefad4034d06ed1ddba5d00aef","original_message":"switch from CopyOnWriteArrayList to regular list in order to avoid potential UnsupportedOperationException (#3978) \n \n Fixes #3242","message":"switch from CopyOnWriteArrayList to regular list in order to avoid potential UnsupportedOperationException","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}466{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/cad253a0d745204c617df007cd8239305a53173f","original_message":"extract method to cache default extension name (#3456)","message":"extract method to cache default extension name","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}467{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/23f0e52486e21ff8af15820fb9274ce93570b86c","original_message":"fix NPE when no listeners registered for key","message":"fix NPE when no listeners registered for key","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}468{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d39343e8b4ab6045a9c6580071553f1aaf37b507","original_message":"adjust zookeeper dependency","message":"adjust zookeeper dependency","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}469{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e35084015b6af5b39fe8dca279202e81d59ce082","original_message":"fix methodName and retries in FailoverClusterInvoker (#2145)","message":"fix methodName and retries in FailoverClusterInvoker","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}470{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3a05378a2f9f1d183c33882c585a9d2a90445ef8","original_message":"Simply TagRouter (#2924)","message":"Simply TagRouter","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}471{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/793bf8244411c33b675e08f1499122bc82654d44","original_message":"Defensive check to solve issue #3923 (#3931)","message":"Defensive check to solve issue #3923","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}472{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6140bc2a653cc3066d15ceeff5a3f06962fb32ad","original_message":"Fix concurrent problem of zookeeper configcenter, wait to start until cache being fully populated.","message":"Fix concurrent problem of zookeeper configcenter, wait to start until cache being fully populated.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}473{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9f02b97ee00b80ffdb501d8fd48c794e88388d32","original_message":"Fix configurator bug","message":"Fix configurator bug","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}474{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b09a150d3d54590c2203d5c7da25ff925a9521dc","original_message":"polish pom.xml (remove test profile and jvm permSize args) (#3407)","message":"polish pom.xml (remove test profile and jvm permSize args)","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}475{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3a5f9054fa60d7cdb13034290dcbffddecff669d","original_message":"Ignore flatten related files. (#3885)","message":"Ignore flatten related files.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}476{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0aebefec3d4653c5144e4e68e77049d7b1198b1d","original_message":"modify consumer metadatareport: param type from string to map","message":"modify consumer metadatareport: param type from string to map","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}477{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/93a8ee0789e46ab3f8721ecd7df33b4c84df1a91","original_message":"move construction of ConfigChangeEvent outside the lambda expression (#3398)","message":"move construction of ConfigChangeEvent outside the lambda expression","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}478{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/453e323b4b955505b9c3ef10340f55ab8a3ca4a0","original_message":"ignore parameter(exclude=true).","message":"ignore parameter(exclude=true).","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}479{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a3f9a541c5752d449b38f360b1bcb6ae0876cd37","original_message":"change log level to info","message":"change log level to info","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}480{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/38a65115a5bff24dd6c8dc78eb7655443be84a69","original_message":"oschina vote (#2786)","message":"oschina vote","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}481{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/84d355fb1b553c7c5f01357069b13d434f60e53c","original_message":"code rule (#3651)","message":"code rule","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}482{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5f0d8c8b370404e179852b8b7c49880b2fc3ed51","original_message":"change how DynamicConfiguration instance is fetched.","message":"change how DynamicConfiguration instance is fetched.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}483{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a7cf7373863498b2b01a560a3fe0cca78ad53f0a","original_message":"add checkstyle rule to check import order (#2745)","message":"add checkstyle rule to check import order","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}484{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/bdfc5007fa5cad80d22b5c0422e55c1fcb745dc4","original_message":"Fix NPE in TagRouter","message":"Fix NPE in TagRouter","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}485{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7f262f960b830db3b80d35451f259430ae56b1c8","original_message":"simplify map empty judgment (#3376)","message":"simplify map empty judgment","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}486{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d8db928d0a080767fe7ad4a3398d17ec39ec9614","original_message":"fix :dubbo.properties cannot work on MetadataReportConfig","message":"fix :dubbo.properties cannot work on MetadataReportConfig","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}487{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e2f664f003a74a476aacc6424e34f6303e143dbe","original_message":"record init status.","message":"record init status.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}488{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4097405882e2d04b206a992ef685f8a312224a19","original_message":"Add spring annotation support for ConfigCenter.","message":"Add spring annotation support for ConfigCenter.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}489{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/16f7a1efe95abed080081fbdbcf18bc9ec472b1b","original_message":"Close all servers\/ports after tests finish (#2741)","message":"Close all servers\/ports after tests finish","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}490{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/505d15576cc90de4ed4b9b767c86663ad12697a3","original_message":"enhance comments (#2735)","message":"enhance comments","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}491{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/53644f70aeb269345121dd46e74a6490dbd223db","original_message":"#2072: need javadoc and articles for spring annotation use. (#2076)","message":"#2072: need javadoc and articles for spring annotation use.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}492{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/90a913433ff1f2588976fbc4163ba7e9cb58f143","original_message":"merge dev-metadata from upstream and refactor zk store","message":"merge dev-metadata from upstream and refactor zk store","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}493{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/2300fca22f4534b11ecaed3a7ba4e5a8de82773f","original_message":"Package name error (#3354)","message":"Package name error","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}494{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4dc0612cb64eae2afe2ac0493d44723769556326","original_message":"Update README.md (#3808) \n \n add @Override annotation","message":"Update README.md\nadd @Override annotation","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}495{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c8cf56bb75a9eda4aef8a649acfbb639e9ff9e1f","original_message":"Enable ZookeeperMetadataReportTest (#3360)","message":"Enable ZookeeperMetadataReportTest","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}496{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c21cc05ec9ff4f96f34af9027714bb525cd0edf5","original_message":"replace ServiceAnnotationBeanPostProcessor log.isInfoEnabled->log.isWarnEnabled (#2712) \n \n simplify ExtensionLoader code segment","message":"replace ServiceAnnotationBeanPostProcessor log.isInfoEnabled->log.isWarnEnabled\nsimplify ExtensionLoader code segment","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}497{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e6e66894cb1dd94b8aeea4b69c4fd441b154436f","original_message":"Changes on demo, for test purpose.","message":"Changes on demo, for test purpose.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}498{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/93b1cf014af7cce13f12816ab7114881765d4471","original_message":"Move UT in config-api to bootstrap temporarily, to solve the unreasonable dependency problem between modules. For long term run, we should refactor the config-api module to stop it from depending on other modules.","message":"Move UT in config-api to bootstrap temporarily, to solve the unreasonable dependency problem between modules. For long term run, we should refactor the config-api module to stop it from depending on other modules.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}499{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c13809fa5dab74cc11cdc549de7293d27581116e","original_message":"Add `how can I contribute?` section.","message":"Add `how can I contribute?` section.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}500{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e8d85386bc7869d3a6e5b27c12ec7784c74bc2d6","original_message":"Format code (#3756)","message":"Format code","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}501{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4c51b0d885d732793e0ca80d166c59eb7c49be0d","original_message":"fix comments","message":"fix comments","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}502{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/2c36be62d3ecd1d8fc6526cfffc83e7630110589","original_message":"rename log file from alibaba to custom-access (#2057)","message":"rename log file from alibaba to custom-access","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}503{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/4fbdc4ff7e628b1132ed8b3e87246a0825d7cba9","original_message":"Fix random ut falling in DubboMonitorTest (#3327)","message":"Fix random ut falling in DubboMonitorTest","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}504{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/1e6800bea49698c6d27b0ab05a1ffb15edff634b","original_message":"seperate retry from AbstractMetadataReport","message":"seperate retry from AbstractMetadataReport","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}505{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d3469fde5038c71b7a69e44735e708c06bc720c2","original_message":"delete class","message":"delete class","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}506{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3747cc36fada387a52363fc7dfc97a4c6c2b2670","original_message":"Remove useless config item in xsd","message":"Remove useless config item in xsd","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}507{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8cafcab65dbb86a83e9ae3e09aba601af462c47d","original_message":"combine test coverage report (#2643)","message":"combine test coverage report","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}508{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/fcdf9c8ce71c26e28d23066a33eb4116a73d7d5a","original_message":"update changes for 2.7.1","message":"update changes for 2.7.1","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}509{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/514fd4e647b804315a5afa1c14414103f2281e4b","original_message":"Support static tag group in TagRouter","message":"Support static tag group in TagRouter","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}510{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/336ffd1db4a65fb77285674821e86e7b9274e944","original_message":"add unit test","message":"add unit test","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}511{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d73831895bc8dc9e85d6818571d6fa17a27ba404","original_message":"fix #1641, support get system load on windows (#2631)","message":"","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}512{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7edb71c06ee2208d0772331ad010b3147279d99d","original_message":"Fix compilation problem","message":"Fix compilation problem","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}513{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6f86a8e71dc6925e35e7fcb0e6c18ca879b13494","original_message":"add tests","message":"add tests","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}514{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6f70f03f35643910f1d214a180573bee511e3368","original_message":"Remove duplicate ut classes","message":"Remove duplicate ut classes","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}515{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/bcb6eeec1d978d6d572ebec875d34dc64aeb5121","original_message":"fix return type (#3284)","message":"fix return type","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}516{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/01ce1b3bf4ae94ef594ed96716d60f746ce33ac2","original_message":"Change ConfigConditionRouter and TagRouter: scope and rules","message":"Change ConfigConditionRouter and TagRouter: scope and rules","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}517{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9f6b8c80e1f6ee012d05e41697ddd7415b98d53f","original_message":"Deactivate maven release profile.","message":"Deactivate maven release profile.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}518{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f770b7c59d8a80dd586cd415a20f6bff4f5a8f93","original_message":"remove getContext() (#3235)","message":"remove getContext()","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}519{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9758809b3ab9f78f076592a288ccc530c590fb6d","original_message":"reformat the code style (#1948)","message":"reformat the code style","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}520{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0e133c59ef53c3a92030881045b23e460e93ad1f","original_message":"Add Router name and fix routerchain error.","message":"Add Router name and fix routerchain error.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}521{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e24e568756a0dba75d565a16039635f0cd6759e5","original_message":"Extract compareTo impl to Router interface and concrete Router only responsible for provide priority. (#3240) \n \n something is waiting for us to disscuss: \n 1. Every Route implement should set a priority? \n 2.https:\/\/github.com\/apache\/incubator-dubbo\/issues\/3249","message":"Extract compareTo impl to Router interface and concrete Router only responsible for provide priority.\nsomething is waiting for us to disscuss:\n1. Every Route implement should set a priority?\n2.https:\/\/github.com\/apache\/incubator-dubbo\/issues\/3249","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}522{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/692dbdf82ecc6f81ee0d15816276bf8184d0bd3f","original_message":"Solve merge conflicts manually","message":"Solve merge conflicts manually","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}523{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/624d3aea9c1f1f7759c71b00dd38a9bdb720cd8d","original_message":"Support protocol config for reference annotation (#1675)","message":"Support protocol config for reference annotation","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}524{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e4ab9087531e2c97ea51e9e890c10d9c81fa9bc1","original_message":"upgrade version manually after merge 2.6.2-release","message":"upgrade version manually after merge 2.6.2-release","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}525{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5a9ea9373084613b6da4bf34861b1b8a013274b5","original_message":"Polish release notes in CHANGES.md","message":"Polish release notes in CHANGES.md","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}526{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/938e52dad95af1286961374a1ae27c502b9a92f1","original_message":"Add assembly plugin","message":"Add assembly plugin","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}527{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/bb8e93ebceaaabe21806683277ca7824b81b9246","original_message":"Polish distribution pom","message":"Polish distribution pom","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}528{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0d00ef25a230f0f252045fa700ec007fb4c52c6b","original_message":"Correct pom version.","message":"Correct pom version.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}529{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8b6f4456d5664f4e7f32b0e772befc4b12086aaa","original_message":"Minor improvement on test cases: (#1507) \n \n 1. Use org.junit.Assert instead of junit.framework.Assert(@Deprecated since Junit 4) \n 2. Use assertTrue and other assert methods through static import to make codes easier to read","message":"Minor improvement on test cases:\n1. Use org.junit.Assert instead of junit.framework.Assert(@Deprecated since Junit 4)\n2. Use assertTrue and other assert methods through static import to make codes easier to read","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}530{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c1b686545cc1adaa1ff69c1493a094b751cad52f","original_message":"Remove unused code.","message":"Remove unused code.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}531{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6ec0225cfa9b45c8349d19019f965d5c52d40a09","original_message":"Remove unnecessary null check and fix typo.","message":"Remove unnecessary null check and fix typo.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}532{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/243e57130646c69c047910dd079f19cbadc57613","original_message":"Remove unnecessary null check.","message":"Remove unnecessary null check.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}533{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6912d9a14fe2c35dee306da9a8e953ba29d736da","original_message":"Upgrade tomcat version to 8.5.31. (#1781)","message":"Upgrade tomcat version to 8.5.31.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}534{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/203078981bb23517703e7bbb60925b8542bc8983","original_message":"Ignore testStatusChecker since it is unstable and consider removing it later.","message":"Ignore testStatusChecker since it is unstable and consider removing it later.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}535{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/f4bd1b5f2cd54a7fd4944944f94d38bc5a2b1730","original_message":"supplementary change for pull request#1388","message":"supplementary change for pull request#1388","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}536{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3516df569777b2ec6fbe20f130f3c342caf3f476","original_message":"Fix hessian-lite spelling mistake (#1779)","message":"Fix hessian-lite spelling mistake","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}537{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/71e04fb634bf76d47c9ae55637db72fd7de50076","original_message":"Fix #1411 Java Locale use '_' split language, country, variant. (#1413)","message":"","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}538{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9e9e778e04aa95501e4ab9b49e8f927527e7e260","original_message":"Optimize_hessian_desr_performance (#1705)","message":"Optimize_hessian_desr_performance","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}539{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/34d7aa7ab671aa44764022b1bf348922da70d0e1","original_message":"add ASF license head (#1459) \n \n * add ASF license head \n \n * add liscense head \n \n * add dependecies to NOTICE","message":"add ASF license head\n* add ASF license head\n* add liscense head\n* add dependecies to NOTICE","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}540{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/04576ff4ffdd5872e738b4e10e3905fe513109d2","original_message":"upgrade version to 2.5.10","message":"upgrade version to 2.5.10","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}541{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a8aba7c71f49beaa3865e63c592c3509eed82e67","original_message":"Polish, remove call of deprecated method","message":"Polish, remove call of deprecated method","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}542{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/23084275bf695f41b5f84d927c351e9b2b04a2be","original_message":"Add .script route rules back for UT","message":"Add .script route rules back for UT","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}543{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c94198b090cb78fb296a270742ac898a53858071","original_message":"Fix UT problems after structure change","message":"Fix UT problems after structure change","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}544{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/635bc7983287d47d1d2c637a85fe21aabacdcd27","original_message":"Remove the shutdown logic from spring bean destroy to avoid competition.","message":"Remove the shutdown logic from spring bean destroy to avoid competition.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}545{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0423219d839404186b8a5ec7dec37f6addeb58d9","original_message":"#1411: Locale deserialize 'zh-hant_CN'","message":"#1411: Locale deserialize 'zh-hant_CN'","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}546{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/552965ee26ee307af47b7122c6b18195b4e435e0","original_message":"Fixed #1138 check serialization in case it's changed from network.","message":"Fixed #1138 check serialization in case it's changed from network.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}547{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d8f3dd336c67316cfb147f20269acc3746c1d0fc","original_message":"Change Mailing list address","message":"Change Mailing list address","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}548{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/1b6743ddfb2f9bf5c460eabc9a51dd902c59eb64","original_message":"Add comment","message":"Add comment","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}549{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/72cecba20b7f4c9be6a725c39bcc1827dbe0e306","original_message":"#992 add codecov component (#993)","message":"#992 add codecov component","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}550{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7322f3ead103c4acbe2123404add364745a0a054","original_message":"Translate missing content and add apache license","message":"Translate missing content and add apache license","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}551{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9ca9bb04b926ba33c6755aff8373314e60f2be89","original_message":"Fix typo #1260","message":"Fix typo #1260","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}552{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/09722e3a93ad4ba40edf38ebdbfd7afee4977ee6","original_message":"Remove unnecessary dependencies","message":"Remove unnecessary dependencies","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}553{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0d1ef9b411ea06e6b8c30439a96e0290b0b9dbf6","original_message":"rename package name from CommandImpl to impl","message":"rename package name from CommandImpl to impl","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}554{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d41e7225d026b2e35ed78719e4ef4fa53b201fd8","original_message":"#1104 I18N effort for dubbo code base - dubbo-plugin","message":"#1104 I18N effort for dubbo code base - dubbo-plugin","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}555{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/75ed5f539ec321292a2ea23de89c72fc50336422","original_message":"Delete OptimizedSerialization","message":"Delete OptimizedSerialization","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}556{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/cf3a54e41526751b284c22189fcfad555a88a515","original_message":"Add test example for rest","message":"Add test example for rest","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}557{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/070b4ccd35e313764e6aed8717b47a72a437ffa1","original_message":"#1067: I18N effort for dubbo code base - dubbo-rpc (part1)","message":"#1067: I18N effort for dubbo code base - dubbo-rpc (part1)","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}558{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8e20d1ca06597e75903cb97c6a01c470686fcf08","original_message":"#1055 Translate the comments of dubbo-remoting module (#1065)","message":"#1055 Translate the comments of dubbo-remoting module","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}559{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/720a3afe31d883c16778b910ece6b02da3c5215a","original_message":"#1056: I18N effort for dubbo code base: dubbo-common","message":"#1056: I18N effort for dubbo code base: dubbo-common","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}560{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/2da49b573c6c847380badb93e44523ada106dbd3","original_message":"#1056 I18N effort for dubbo code base: dubbo-common","message":"#1056 I18N effort for dubbo code base: dubbo-common","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}561{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/05461a4d6ec6e8789eb8d3beeaa78b3b8768a53e","original_message":"Upgrade annotation demo","message":"Upgrade annotation demo","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}562{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/c7695d4fc8bf50ace2489849dcd82051785257b4","original_message":"remove tree.txt","message":"remove tree.txt","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}563{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/e51c52f1fdda187e033328f79ff0538ecf9c4972","original_message":"Merge pull re \n \n fix qos port can only configure by System property problem","message":"Merge pull re\nfix qos port can only configure by System property problem","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}564{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/3c6ee32e2a461fd154510a49edd2e8471fed12a4","original_message":"Fixed #946, route rule should always run when changed, but should only run at every invoke when RUNTIME_KEY is true.","message":"Fixed #946, route rule should always run when changed, but should only run at every invoke when RUNTIME_KEY is true.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}565{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/22385dc804d550ea9f415bc9f96c2d6d10139e92","original_message":"Fixed typo in NamedThreadFactory: mDeamo","message":"Fixed typo in NamedThreadFactory: mDeamo","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}566{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a72490e26dc3daf2593873439b084b36195d15ae","original_message":"Adjust pull request template","message":"Adjust pull request template","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}567{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ee2aaf3ad323b7060760a70160b9299fe9820b28","original_message":"Ignore unit test CuratorZookeeperClientTest(no zk server)","message":"Ignore unit test CuratorZookeeperClientTest(no zk server)","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}568{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6a7717970fd3abde99651d405dc1fd75bedfac1c","original_message":"Update OverrideServiceImpl.java \n \n fix the bug: cant enable override","message":"Update OverrideServiceImpl.java\nfix the bug: cant enable override","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}569{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/02bdd04cde1b336d34279cca7c0538e7094459fc","original_message":"Fix config error of heartbeat UT in dubbo-test-examples","message":"Fix config error of heartbeat UT in dubbo-test-examples","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}570{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/de5dfbbfd14ccf6b1f898c9f8d6ec5802ee323b0","original_message":"Add package support for 'dubbo-remoting-netty4' module","message":"Add package support for 'dubbo-remoting-netty4' module","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}571{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/49af203aa20667a0568a19566c1e9892166435ae","original_message":"Fixed #520 change Main.class wait\/notify to lock\/condition","message":"Fixed #520 change Main.class wait\/notify to lock\/condition","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}572{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d961a3e5e305e5147cb5bd837dbccd3b7dfde257","original_message":"fix(dubbo-admin): webx-3.0.8 not compitable with spring-4.x","message":"fix(dubbo-admin): webx-3.0.8 not compitable with spring-4.x","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}573{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a8a7a88e998f00ee2dfdde98403bf7cc5f3f0fe8","original_message":"add badges for last release and license","message":"add badges for last release and license","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}574{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/50edbb0d1cd905c1131b783992081d1681017105","original_message":"fix compiler bug","message":"fix compiler bug","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}575{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/7c85e785b57d5d25707894d5874cbef9879e88cc","original_message":"add maven-compiler-plugin to pom.xml","message":"add maven-compiler-plugin to pom.xml","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}576{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d24e0016649893ceba9c083a5e1edeccc279c545","original_message":"update README","message":"update README","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}577{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/66139d567eef8198101368b5d8ea37458767cae4","original_message":"add unit test for parsing path","message":"add unit test for parsing path","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}578{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d423cf68fac9004d44d39542a001855d38fecf5f","original_message":"enable unit test under jdk6 and jdk7","message":"enable unit test under jdk6 and jdk7","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}579{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b8b16fa4604e55487f2a42e5567a33df28abb554","original_message":"find correct component type when the enclosing type is Foo<int[]> on JDK 7 and beyond","message":"find correct component type when the enclosing type is Foo<int[]> on JDK 7 and beyond","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}580{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/105a0c7d11d6e96f6ba692751b805a4a522dbd32","original_message":"set ProtectionDomain for newly generated Class","message":"set ProtectionDomain for newly generated Class","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}581{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/841f6c2612d049ac0aa8bcbb6a00dad8d77a6fca","original_message":"add ProtectionDomain for dynamicly created class","message":"add ProtectionDomain for dynamicly created class","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}582{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/efcb0f3b32366a32ede235219bec528a54db5f1a","original_message":"update version to 2.5.4-SNAPSHOT","message":"update version to 2.5.4-SNAPSHOT","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}583{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/ae19c902ba30a468ff4dbc75b0fa38e146831602","original_message":"update version to 2.5.2-SNAPSHOT","message":"update version to 2.5.2-SNAPSHOT","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}584{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5dab2eb68231100bd6889d3981cc4167989a9718","original_message":"release 2.4.1","message":"release 2.4.1","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}585{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5c423fd2531683a2d339120a4ab24a4319b18211","original_message":"mv examples","message":"mv examples","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}586{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6002838cf7a80f1d9fd230051e5977e0d0e8e183","original_message":"rm dubbo-admin","message":"rm dubbo-admin","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}587{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/bfac27b7fe7fb1e5439604a73e0fe59db01f1457","original_message":"DUBBO-135 fix test case \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1993 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"DUBBO-135 fix test case\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1993 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}588{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0b175dce80364142eabd40c406540abe2d914034","original_message":"move examples \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1678 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"move examples\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1678 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}589{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/502d6ef96bf92c034c1e88d46e04541df85b8da4","original_message":"update version to 2.2.0-SNAPSHOT \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1551 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"update version to 2.2.0-SNAPSHOT\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1551 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}590{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/6764744115bffdcd7cde85112611dade6002fe5c","original_message":"update version to 2.1.6 \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1550 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"update version to 2.1.6\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1550 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}591{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/67fb63d6ca428e4c08934f52f867a3c49edde51a","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1412 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1412 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}592{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/034b8fa34a86a0b16559730aa3aade4f84cfdf3a","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1409 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1409 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}593{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d99396ba9a61de1f110d11a9c7a0e336c204e590","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1408 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1408 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}594{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/a1eb950bade65c0942ce44c7834778c017e93ccd","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1403 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1403 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}595{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d2e1488042d23e9c2f0113fed5d1ed761a26efc7","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1400 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1400 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}596{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/48cb8e41a76b49b184f2b97e61b42eb109a16229","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1395 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1395 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}597{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/cd6ab49daacdac87f9836becfed3f0197f24cabe","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1388 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1388 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}598{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/9157beac5da52530fc6336e419bf02d57e9cce6c","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1386 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1386 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}599{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d1f1d8a70c236497aedf26e29e25c5389c2d6052","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1383 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1383 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}600{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8ccb49ff374ca228eca59d0e6895ff9b6d896b4f","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1378 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1378 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}601{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/d7ceedc45b119b3341c0c313339b686a5d72ff9c","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1374 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1374 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}602{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/b79c4c0241accf5c5610d2fecf5c7fbc0cefb832","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1369 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1369 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}603{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/de0546bc47026d5b431cb2f744431a88664426be","original_message":"refactor package \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1365 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"refactor package\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1365 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}604{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/8c79032106a6376886bc9f8996ab14322b62ad1d","original_message":"DUBBO-250 Dubbo client can not supported string message \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1283 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"DUBBO-250 Dubbo client can not supported string message\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@1283 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}605{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/103e0264b4e246cc74f05a99f8d293e970798694","original_message":"README \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@880 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"README\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@880 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}606{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0fe179e4eb48483a2b0cfabeb60db84f414273c2","original_message":"http:\/\/agile.alibaba-inc.com\/browse\/DUBBO-743 \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@147 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"http:\/\/agile.alibaba-inc.com\/browse\/DUBBO-743\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@147 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}607{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/edfaee1e89d13aca1aaa230025ba0b661fc9ebef","original_message":"fix misspelling \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@145 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"fix misspelling\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@145 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}608{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/5c02f841d046fa2306cc256b58120f37f3133f04","original_message":"DUBBO-1 Change schema element 'sent' default value to false \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@40 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"DUBBO-1 Change schema element 'sent' default value to false\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@40 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}609{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/1352d4688d17c003434a5200db8cfd9693d61a41","original_message":"Modify pom \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@17 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"Modify pom\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@17 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}610{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/0234dd23a95adb5dc90f5eb0f38f6c15c1473f07","original_message":"Modify pom \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@9 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"Modify pom\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@9 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}611{"url":"https:\/\/github.com\/apache\/dubbo\/commit\/10052d468760f2f952064289719286d3ba608693","original_message":"Add 2.0.7 \n \n git-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@8 1a56cb94-b969-4eaa-88fa-be21384802f2","message":"Add 2.0.7\ngit-svn-id: http:\/\/code.alibabatech.com\/svn\/dubbo\/trunk@8 1a56cb94-b969-4eaa-88fa-be21384802f2","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}612{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9562b46c222aeac64daa9539b2fcbcb3fb1d9184","original_message":"Bump jackson-databind to 2.10.5.1","message":"Bump jackson-databind to 2.10.5.1","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}613{"url":"https:\/\/github.com\/square\/retrofit\/commit\/61a71e2b355994bcb09b858d4df9e31341fdc933","original_message":"Update google-java-format to 1.8","message":"Update google-java-format to 1.8","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}614{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8bc121fc2b2c49559a6f17b92d053cfa72c93e26","original_message":"Fix typo","message":"Fix typo","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}615{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b1a903eb74691c86ff837c4bc88d0bc30f146b87","original_message":"Prepare next development version","message":"Prepare next development version","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}616{"url":"https:\/\/github.com\/square\/retrofit\/commit\/d80636923c595ed665adc6066f1377a6a1304f6a","original_message":"Move source\/target config out of error-prone block \n \n Error-prone only works on pre-12 at the moment and we need this configuration to apply for all JDKs.","message":"Move source\/target config out of error-prone block\nError-prone only works on pre-12 at the moment and we need this configuration to apply for all JDKs.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}617{"url":"https:\/\/github.com\/square\/retrofit\/commit\/88dff564e4e764a56730f1224c3d685e520e2aee","original_message":"Add Gradle wrapper validation","message":"Add Gradle wrapper validation","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}618{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a3899f234e7b71fa49ff4a016c7826c59b6d6979","original_message":"Fix build conditional","message":"Fix build conditional","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}619{"url":"https:\/\/github.com\/square\/retrofit\/commit\/34f6a7fdc2f359d05a32f3262825563fc10929b4","original_message":"Add Android integration tests","message":"Add Android integration tests","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}620{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8160ec251a3b50b7ab6bb6b3ad84885a7bcc8794","original_message":"Switch to GitHub Actions","message":"Switch to GitHub Actions","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}621{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a1897aebc2678d5ca1f3ae09416030673d415ab2","original_message":"Small fixes from error-prone","message":"Small fixes from error-prone","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}622{"url":"https:\/\/github.com\/square\/retrofit\/commit\/704c484b56b0cf2d1f26f4315b3569c08e5cdc6a","original_message":"Prepare version 2.8.1","message":"Prepare version 2.8.1","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}623{"url":"https:\/\/github.com\/square\/retrofit\/commit\/5876f05dd9e03cd9d073a9727c2806f65233b1c5","original_message":"Update changelog for 2.8.0","message":"Update changelog for 2.8.0","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}624{"url":"https:\/\/github.com\/square\/retrofit\/commit\/fdd6aa73c6d393f986eeaf04aabf68ff8b0e4840","original_message":"Prepare version 2.7.1","message":"Prepare version 2.7.1","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}625{"url":"https:\/\/github.com\/square\/retrofit\/commit\/1ec98c2364b497278c34f04a49236cde9de7b178","original_message":"Add coroutine support to BehaviorDelegate","message":"Add coroutine support to BehaviorDelegate","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}626{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9d683b75b111e60d30da8a03335d2ce71f5e8585","original_message":"Migrate forced suspension mechanism from yield to Dispatcher.Default \n \n Since it's possible for certain dispatchers to completely avoid yielding, and currently the immediate dispatchers exhibit this behavior, we need an alternate mechanism of forcing suspension or UndeclaredThrowableExceptions will still be seen. \n \n Retrofit does not have its own thread pool onto which we can defer resuming. Instead we rely to Dispatchers.Default and forcibly suspend the caller using low-level coroutine intrinsics.","message":"Migrate forced suspension mechanism from yield to Dispatcher.Default\nSince it's possible for certain dispatchers to completely avoid yielding, and currently the immediate dispatchers exhibit this behavior, we need an alternate mechanism of forcing suspension or UndeclaredThrowableExceptions will still be seen.\nRetrofit does not have its own thread pool onto which we can defer resuming. Instead we rely to Dispatchers.Default and forcibly suspend the caller using low-level coroutine intrinsics.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}627{"url":"https:\/\/github.com\/square\/retrofit\/commit\/bfedd122b173b2f43f988d8a08862dd90948e468","original_message":"Prepare version 2.7.0","message":"Prepare version 2.7.0","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}628{"url":"https:\/\/github.com\/square\/retrofit\/commit\/4401b6d5820341fe4a708dab6224c6b40e5a4e79","original_message":"Prepare version 2.6.3","message":"Prepare version 2.6.3","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}629{"url":"https:\/\/github.com\/square\/retrofit\/commit\/cf68439acdc9e27496df7212dd05a6e8533a62db","original_message":"Switch to OpenJDK","message":"Switch to OpenJDK","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}630{"url":"https:\/\/github.com\/square\/retrofit\/commit\/948a0db7ef1d46c66237ed2feb9f6f08ee159c68","original_message":"Allow service interfaces to extend other interfaces \n \n With a higher minSdkVersion, the bug which prevented this on Android no longer exists.","message":"Allow service interfaces to extend other interfaces\nWith a higher minSdkVersion, the bug which prevented this on Android no longer exists.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}631{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ce6e0d17005afd09c46e4fe6cf40643b0913c59d","original_message":"`URL` overload for `Retrofit.Builder#baseUrl` \n \n Functionally does nothing, just somewhat cleaner to be able to do `baseUrl(URL)` than `baseUrl(URL#toString());` if handling a `URL` rather than `String`. \n Used `HttpUrl.get(String)` as `HttpUrl.get(URL)` returns null instead of throwing an exception.","message":"`URL` overload for `Retrofit.Builder#baseUrl`\nFunctionally does nothing, just somewhat cleaner to be able to do `baseUrl(URL)` than `baseUrl(URL#toString());` if handling a `URL` rather than `String`.\nUsed `HttpUrl.get(String)` as `HttpUrl.get(URL)` returns null instead of throwing an exception.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}632{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a429ea6f0745532f04a8c483e0b6bd0ca4a6674c","original_message":"Update to Gson 2.8.5.","message":"Update to Gson 2.8.5.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}633{"url":"https:\/\/github.com\/square\/retrofit\/commit\/083bf240fab810dee2d4570c74061983bf25136a","original_message":"Fix support for protobuf 3.5+, ExtensionRegistry cannot be null","message":"Fix support for protobuf 3.5+, ExtensionRegistry cannot be null","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}634{"url":"https:\/\/github.com\/square\/retrofit\/commit\/cb998173485b21af3c60abf3f64010b8a6b55559","original_message":"Add more obviously missing @Nullable annotations","message":"Add more obviously missing @Nullable annotations","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}635{"url":"https:\/\/github.com\/square\/retrofit\/commit\/47ebf3e63e13986738fa4f6e54ddba26b38bf181","original_message":"Back suspend methods with the CallAdapter for Call. \n \n This allows the regular mechanism of composition of behavior without explicitly needing to model suspending functions in the API.","message":"Back suspend methods with the CallAdapter for Call.\nThis allows the regular mechanism of composition of behavior without explicitly needing to model suspending functions in the API.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}636{"url":"https:\/\/github.com\/square\/retrofit\/commit\/239cd2f227dc47d268bfec91b97f2dfd2958eee2","original_message":"Add some missing @Nullable annotations to Utils","message":"Add some missing @Nullable annotations to Utils","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}637{"url":"https:\/\/github.com\/square\/retrofit\/commit\/05560b7a910eb4b705fb2d81732e48c883544309","original_message":"Add annotation for skipping the callback executor","message":"Add annotation for skipping the callback executor","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}638{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ac566e1abd3fee77d8d588a2cd97c5056d330d2c","original_message":"Ignore static interface methods when eagerly validating","message":"Ignore static interface methods when eagerly validating","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}639{"url":"https:\/\/github.com\/square\/retrofit\/commit\/46cdff20b53a84e816d6022541347b3c06a5a52b","original_message":"Fatal errors should crash the dispatcher thread \n \n This is an imperfect fix as uncaught exceptions reaching OkHttpCall which are not fatal still only log, but most of the adapters are defending against anything getting this far already. \n \n Also contained is a fix for the RxJava 2 async adapter. Non-200 responses delivered to the body observer would be forwarded to onError. If that callback threw a fatal exception, it would be re-delivered to the body observer despite it having already called a downstream terminal method. The fatal error should have been propagated by the async observer instead of attempting to make its way back downstream.","message":"Fatal errors should crash the dispatcher thread\nThis is an imperfect fix as uncaught exceptions reaching OkHttpCall which are not fatal still only log, but most of the adapters are defending against anything getting this far already.\nAlso contained is a fix for the RxJava 2 async adapter. Non-200 responses delivered to the body observer would be forwarded to onError. If that callback threw a fatal exception, it would be re-delivered to the body observer despite it having already called a downstream terminal method. The fatal error should have been propagated by the async observer instead of attempting to make its way back downstream.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}640{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a604fe1181bda241d8f0a5e07c96d7c432b44dfb","original_message":"Add some missing Nullable annotations","message":"Add some missing Nullable annotations","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}641{"url":"https:\/\/github.com\/square\/retrofit\/commit\/1d64f9763e1f5aa3d049710df8366f425109672f","original_message":"Use a dummy value to further validation optional delegation \n \n Prior to this other things might cause a null value. This ensures the value can only come from only place.","message":"Use a dummy value to further validation optional delegation\nPrior to this other things might cause a null value. This ensures the value can only come from only place.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}642{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ebc0128add0d416a846ff661888910d16751dd34","original_message":"Clean out Java 8 READMEs to further discourage use","message":"Clean out Java 8 READMEs to further discourage use","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}643{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f939189f3b825beb66a499686b9f6ca0f3a70cc1","original_message":"Expose static factory for Invocation \n \n Also rework the internals of how an Invocation gets instantiated and set as a tag on the Request. This will make a future change easier to land.","message":"Expose static factory for Invocation\nAlso rework the internals of how an Invocation gets instantiated and set as a tag on the Request. This will make a future change easier to land.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}644{"url":"https:\/\/github.com\/square\/retrofit\/commit\/35381b1c1e90c906c032f872c729c594720391be","original_message":"Add reified create extension for Kotlin","message":"Add reified create extension for Kotlin","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}645{"url":"https:\/\/github.com\/square\/retrofit\/commit\/c3633423b4a52566446bc6d540904f1f5f715205","original_message":"Re-work unresolvable type detection in parameters \n \n In order to natively support Kotlin's 'suspend' modifier in the future, we need to allow wildcards to be used for the last parameter. As a result, we only validate the shape of a type once a Retrofit annotation is detected.","message":"Re-work unresolvable type detection in parameters\nIn order to natively support Kotlin's 'suspend' modifier in the future, we need to allow wildcards to be used for the last parameter. As a result, we only validate the shape of a type once a Retrofit annotation is detected.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}646{"url":"https:\/\/github.com\/square\/retrofit\/commit\/7e31520f844b5c8eedc3b8fe82e2e48c79e47a5a","original_message":"Get rid of the now-useless HttpServiceMethod.Builder \n \n A simple static factory will do.","message":"Get rid of the now-useless HttpServiceMethod.Builder\nA simple static factory will do.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}647{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ce71d0527610689ea096c6f30f9ef6eac8266b1d","original_message":"Update to OkHttp 3.11 \n \n Use get instead of parse for HttpUrl and MediaType where valid input is always required.","message":"Update to OkHttp 3.11\nUse get instead of parse for HttpUrl and MediaType where valid input is always required.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}648{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f3bf724467cbd07127d26953bfc6f7e9b724b6ba","original_message":"Consolidate exception formatters in one place","message":"Consolidate exception formatters in one place","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}649{"url":"https:\/\/github.com\/square\/retrofit\/commit\/0fff59140b5791ad0f1b1c7bf7826db2e00a73f1","original_message":"Pull out ServiceMethod base class \n \n This will allow us to support multiple forms of invocation beyond HTTP calls.","message":"Pull out ServiceMethod base class\nThis will allow us to support multiple forms of invocation beyond HTTP calls.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}650{"url":"https:\/\/github.com\/square\/retrofit\/commit\/778a67e3c27226aecf5292ba4c3785a5d3c53067","original_message":"Update README.md","message":"Update README.md","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}651{"url":"https:\/\/github.com\/square\/retrofit\/commit\/336b607c94e44ad5e28d45e825c788fd8a206c72","original_message":"changed compile to implementation","message":"changed compile to implementation","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}652{"url":"https:\/\/github.com\/square\/retrofit\/commit\/329a9fda122f29a40f49482d421f260bf148ee83","original_message":"Ability to add Http status code to Response.success (#2715)","message":"Ability to add Http status code to Response.success","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}653{"url":"https:\/\/github.com\/square\/retrofit\/commit\/593da84fbe414a6dd2be1025ebb7347c6974af38","original_message":"Update CHANGELOG.md","message":"Update CHANGELOG.md","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}654{"url":"https:\/\/github.com\/square\/retrofit\/commit\/c7f590e78d1c69117b80b153f8d7b8a95840d388","original_message":"Remove redundant throws.","message":"Remove redundant throws.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}655{"url":"https:\/\/github.com\/square\/retrofit\/commit\/27396fbd2a4b96d6e8cae79713b5af0b91b0fdf4","original_message":"Update to OkHttp 3.10.0.","message":"Update to OkHttp 3.10.0.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}656{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ed5ef7cc86ebad6cbd7ecad74ab77d59d23e93b3","original_message":"More accurately name call adapter list field. (#2664)","message":"More accurately name call adapter list field.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}657{"url":"https:\/\/github.com\/square\/retrofit\/commit\/3bddf865827cbb8708258147c55d69769173d42b","original_message":"Assert full JSON document consumption with Moshi.","message":"Assert full JSON document consumption with Moshi.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}658{"url":"https:\/\/github.com\/square\/retrofit\/commit\/87763dc75987d135c5cffe80766d128e5ba98db9","original_message":"Assert full JSON document consumption with Gson.","message":"Assert full JSON document consumption with Gson.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}659{"url":"https:\/\/github.com\/square\/retrofit\/commit\/90378c89a68386b145f66b5fc2e1521d0d2b0e1d","original_message":"Update Scala dependency","message":"Update Scala dependency","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}660{"url":"https:\/\/github.com\/square\/retrofit\/commit\/c793de34b30cdd592dfa735bc0537400a7221164","original_message":"Use HTTPS links in documentation where possible. \n \n Closes: https:\/\/github.com\/square\/retrofit\/issues\/2425","message":"Use HTTPS links in documentation where possible.\nCloses: https:\/\/github.com\/square\/retrofit\/issues\/2425","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}661{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9b1871707226552bf6499c741cbd7fdde1435aab","original_message":"Define Automatic-Module-Name for Retrofit modules","message":"Define Automatic-Module-Name for Retrofit modules","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}662{"url":"https:\/\/github.com\/square\/retrofit\/commit\/246bef5bf34c0598a91038b2e15bace7718408d4","original_message":"Remove old ProGuard nonsense. \n \n As of API 26 the android.jar contains the classes checked by Platform and used by Platform.Java8. And we don't encourage throwing checked exceptions from the service method but instead routing them through your call adapter.","message":"Remove old ProGuard nonsense.\nAs of API 26 the android.jar contains the classes checked by Platform and used by Platform.Java8. And we don't encourage throwing checked exceptions from the service method but instead routing them through your call adapter.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}663{"url":"https:\/\/github.com\/square\/retrofit\/commit\/2cd4a03b8b50fff29188f0c1ad726a49a2ed0faa","original_message":"Update to OkHttp 3.9.0.","message":"Update to OkHttp 3.9.0.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}664{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a307aaac884dc7f1b1ef99f8f94125d8d141dc54","original_message":"Add Retrofit.Builder.adapterFactories(). (#2486)","message":"Add Retrofit.Builder.adapterFactories().","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}665{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6eb7affff92964d9eb8097c05e9b2f781bfdf455","original_message":"Remove volatile modifier from synchronized field.","message":"Remove volatile modifier from synchronized field.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}666{"url":"https:\/\/github.com\/square\/retrofit\/commit\/60b938a2ab6f66619ab2f8fa0beeb2ec2d40b45d","original_message":"Clarify that errors start at 0% probability.","message":"Clarify that errors start at 0% probability.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}667{"url":"https:\/\/github.com\/square\/retrofit\/commit\/637d1f076680798fce90eb6f8aaf024427269140","original_message":"Update to RxJava 1.3 and a stable Completable.","message":"Update to RxJava 1.3 and a stable Completable.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}668{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6108179c09dae0ccdd7e8d97d4a3b79f9f4443a4","original_message":"Use custom exception type when triggering mock failure. \n \n Since we omit the stack trace, this more clearly indicates the source being from Retrofit's mock behavior.","message":"Use custom exception type when triggering mock failure.\nSince we omit the stack trace, this more clearly indicates the source being from Retrofit's mock behavior.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}669{"url":"https:\/\/github.com\/square\/retrofit\/commit\/3c963a4a470194961e98952b2b51b8b29901d9e5","original_message":"Add JSR 305 nullability annotations.","message":"Add JSR 305 nullability annotations.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}670{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a63faf44e1b103a49d25a15c720fc5940ae9fc07","original_message":"Fixed copy-paste errors.","message":"Fixed copy-paste errors.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}671{"url":"https:\/\/github.com\/square\/retrofit\/commit\/38d974dd395fe997b6af9688acf7430d6167fdb4","original_message":"Upgrade to Checkstyle 7.7.","message":"Upgrade to Checkstyle 7.7.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}672{"url":"https:\/\/github.com\/square\/retrofit\/commit\/4ec773178f8a992f9750ec4e7a57d2839530a075","original_message":"Add failOnUnknown to MoshiConverterFactory","message":"Add failOnUnknown to MoshiConverterFactory","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}673{"url":"https:\/\/github.com\/square\/retrofit\/commit\/84c3bd70694aecf0a87a4c6e5935b40d2ac7426a","original_message":"Moved validation first before cloning","message":"Moved validation first before cloning","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}674{"url":"https:\/\/github.com\/square\/retrofit\/commit\/aa7db2e7e89202d77222e8f449fa0e243d6cac82","original_message":"Removal of Unnecessary Creation of String Builder \n \n if typeArguments has length 0 there is no point to create stringBuilder for that. that condition check needs to happen before stringBuilder creation.","message":"Removal of Unnecessary Creation of String Builder\nif typeArguments has length 0 there is no point to create stringBuilder for that. that condition check needs to happen before stringBuilder creation.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}675{"url":"https:\/\/github.com\/square\/retrofit\/commit\/39394b302809f80c1e089a194862094d16fc3eca","original_message":"Okio proguard rules link","message":"Okio proguard rules link","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}676{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a9eb2696ef928e406442f7f43394c4cbaa6d0c8d","original_message":"Update checkstyle to the latest version.","message":"Update checkstyle to the latest version.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}677{"url":"https:\/\/github.com\/square\/retrofit\/commit\/26c8790492e4f863926e077eb3267e8cbbefc600","original_message":"Use Moshi 1.4's JsonAdapter.serializeNulls()","message":"Use Moshi 1.4's JsonAdapter.serializeNulls()","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}678{"url":"https:\/\/github.com\/square\/retrofit\/commit\/c165a4a7349a3913807ec3277d70e7c68fc991bd","original_message":"Import RxJava 2 CallAdapter.Factory \n \n From https:\/\/github.com\/JakeWharton\/retrofit2-rxjava2-adapter","message":"Import RxJava 2 CallAdapter.Factory\nFrom https:\/\/github.com\/JakeWharton\/retrofit2-rxjava2-adapter","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}679{"url":"https:\/\/github.com\/square\/retrofit\/commit\/119257a860ea6fd0bb536ce2b626a63b197d666c","original_message":"Allow HTTP errors to be created as part of mock behavior.","message":"Allow HTTP errors to be created as part of mock behavior.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}680{"url":"https:\/\/github.com\/square\/retrofit\/commit\/2074732da81f1079cccf8a6bf7cc2e37d2666bc8","original_message":"Reflect OkHttp Call canceled state from our Call.","message":"Reflect OkHttp Call canceled state from our Call.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}681{"url":"https:\/\/github.com\/square\/retrofit\/commit\/98d622aa8cb1dbf8ba0a055b641968af556b9105","original_message":"Remove unused interface.","message":"Remove unused interface.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}682{"url":"https:\/\/github.com\/square\/retrofit\/commit\/d32c626ed0da7001aa533ba32c9752c77cdc71a9","original_message":"Close ResponseBody on 204\/205 to avoid connection leak","message":"Close ResponseBody on 204\/205 to avoid connection leak","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}683{"url":"https:\/\/github.com\/square\/retrofit\/commit\/4f7b239514b91b10b4daa37339bee717776e9bfe","original_message":"Replaced invocation of deprecated factory methods in favor of newer counterparts in JacksonConverterFactory","message":"Replaced invocation of deprecated factory methods in favor of newer counterparts in JacksonConverterFactory","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}684{"url":"https:\/\/github.com\/square\/retrofit\/commit\/240e3cdf6822a2fb0514cae4758822780d559359","original_message":"Propagate fatal exceptions even if already dispatching an error.","message":"Propagate fatal exceptions even if already dispatching an error.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}685{"url":"https:\/\/github.com\/square\/retrofit\/commit\/eccfe208bcb7c54d357c60842aa6e33cc15424cd","original_message":"Switch to a better, custom validating subscriber. \n \n TestSubscriber is a poor implementation for correctness testing. This new subscriber ensures all events are tested by being a JUnit rule. It also consumes events as they're validated so that assertion becomes more like a script than a ledger. \n \n This also switches tests to use unsafeSubscribe to ensure that any contract violations are not being suppressed. The latest version of RxJava is required for accessing this method on Completable.","message":"Switch to a better, custom validating subscriber.\nTestSubscriber is a poor implementation for correctness testing. This new subscriber ensures all events are tested by being a JUnit rule. It also consumes events as they're validated so that assertion becomes more like a script than a ledger.\nThis also switches tests to use unsafeSubscribe to ensure that any contract violations are not being suppressed. The latest version of RxJava is required for accessing this method on Completable.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}686{"url":"https:\/\/github.com\/square\/retrofit\/commit\/db061137bc7a757a527773e3024083750982051f","original_message":"Simplify observable creation and reduce runtime allocations.","message":"Simplify observable creation and reduce runtime allocations.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}687{"url":"https:\/\/github.com\/square\/retrofit\/commit\/999c72be0468664c711159cd53deff79e62ee4a1","original_message":"Refactor Rx tests to avoid the use of blocking operators.","message":"Refactor Rx tests to avoid the use of blocking operators.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}688{"url":"https:\/\/github.com\/square\/retrofit\/commit\/e3b839eb49ac856ac5cffb7c113321df9244e29f","original_message":"Remove duplicated test. \n \n It is the same as in this file.","message":"Remove duplicated test.\nIt is the same as in this file.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}689{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f7a8ba0b448a8643bdb8e989f19468d6c365e8ee","original_message":"Update to support protobuf 3.0.","message":"Update to support protobuf 3.0.","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}690{"url":"https:\/\/github.com\/square\/retrofit\/commit\/fd0213b74724959292f3da667f523fc2fb50fc72","original_message":"Skip a UTF-8 BOM if present.","message":"Skip a UTF-8 BOM if present.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}691{"url":"https:\/\/github.com\/square\/retrofit\/commit\/644be3a725ce2b19ae1139b1420c6487e3d3998b","original_message":"Actually let's call it a 2.1.0.","message":"Actually let's call it a 2.1.0.","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}692{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6f8a9a664c0198992b8478e0671cc4a7db4f1d8e","original_message":"Add missing import.","message":"Add missing import.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}693{"url":"https:\/\/github.com\/square\/retrofit\/commit\/2d8edc034af617e317a78509284b7adf93895c74","original_message":"Honor the encoding of the response in XML deserialization.","message":"Honor the encoding of the response in XML deserialization.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}694{"url":"https:\/\/github.com\/square\/retrofit\/commit\/aa7a79542d6374c05c8bb40b4edafbfc42fdbf81","original_message":"Adapter Javadoc details.","message":"Adapter Javadoc details.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}695{"url":"https:\/\/github.com\/square\/retrofit\/commit\/10ff3d97faadcd6f716447d3376f9f51992e44dd","original_message":"Document maps don't allow null anywhere.","message":"Document maps don't allow null anywhere.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}696{"url":"https:\/\/github.com\/square\/retrofit\/commit\/83567819cb1cf52dad6e8ee6ce2c0fd5d47bef7c","original_message":"All the latest of all the things.","message":"All the latest of all the things.","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}697{"url":"https:\/\/github.com\/square\/retrofit\/commit\/7bbbf1937c6e5ed79d14c2c13fc30d5f8305e43c","original_message":"Remove the need for generated accessor methods.","message":"Remove the need for generated accessor methods.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}698{"url":"https:\/\/github.com\/square\/retrofit\/commit\/09ce077dcb95fdfe914fbac97462d8c707e6820d","original_message":"Null check Call.enqueue argument.","message":"Null check Call.enqueue argument.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}699{"url":"https:\/\/github.com\/square\/retrofit\/commit\/903e1601d28fdb32756deb842214c1d414be4986","original_message":"Sample for a dynamic base URL.","message":"Sample for a dynamic base URL.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}700{"url":"https:\/\/github.com\/square\/retrofit\/commit\/238a9e59e69d61479a4505dba5f5659a599c699f","original_message":"Doc error. `@QueryMap` with `encoded=true` will stop default url encoding. So, calling with `foo.list(ImmutableMap.of('foo', 'foo+bar'))` yields '\/search?foo=foo+bar' instead of '\/search?foo=foo%2Bbar'.","message":"Doc error. `@QueryMap` with `encoded=true` will stop default url encoding. So, calling with `foo.list(ImmutableMap.of('foo', 'foo+bar'))` yields '\/search?foo=foo+bar' instead of '\/search?foo=foo%2Bbar'.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}701{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6961f57ab97224073743b1f14a0395a493c52985","original_message":"Combine MethodHandler and RequestFactory into ServiceMethod. \n \n This is once class that handles all of the annotations and binding for \n a service method.","message":"Combine MethodHandler and RequestFactory into ServiceMethod.\nThis is once class that handles all of the annotations and binding for\na service method.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}702{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b28f9053fd92535f9d41f2010ead31191e79df36","original_message":"Forbid null map values, and null maps.","message":"Forbid null map values, and null maps.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}703{"url":"https:\/\/github.com\/square\/retrofit\/commit\/cb5c9cec34490559f0332941dd6b22e29471b9cb","original_message":"Propagate callback executor even when not explicitly specified. \n \n This lets custom CallAdapter implementations use the platform default for their callbacks.","message":"Propagate callback executor even when not explicitly specified.\nThis lets custom CallAdapter implementations use the platform default for their callbacks.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}704{"url":"https:\/\/github.com\/square\/retrofit\/commit\/026a35e78a390e8941ee8b24149877ae51940c19","original_message":"Speling.","message":"Speling.","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}705{"url":"https:\/\/github.com\/square\/retrofit\/commit\/d6cd2f42d5a48281f7e1346b1c52e1285e80e316","original_message":"Issue template for retrofit.","message":"Issue template for retrofit.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}706{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a19609a16359af66aec5410459899291b2c45cf1","original_message":"Add example of using JSON converter as a String converter. \n \n This also adds the Retrofit instance as a param to the string converter to allow it to delegate to others directly. This brings it into parity with the method signatures of the other converter methods anyway.","message":"Add example of using JSON converter as a String converter.\nThis also adds the Retrofit instance as a param to the string converter to allow it to delegate to others directly. This brings it into parity with the method signatures of the other converter methods anyway.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}707{"url":"https:\/\/github.com\/square\/retrofit\/commit\/473fd2473cc41e68eb61c6d2d4316d720edd46fb","original_message":"Use Gson instance as factory for reader to honor config. \n \n This allows settings like support for leniency to be honored.","message":"Use Gson instance as factory for reader to honor config.\nThis allows settings like support for leniency to be honored.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}708{"url":"https:\/\/github.com\/square\/retrofit\/commit\/15f73966ee4e7d355cc0b9839f2103ae9684f72f","original_message":"baseUrl should end with '\/'","message":"baseUrl should end with '\/'","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}709{"url":"https:\/\/github.com\/square\/retrofit\/commit\/291591e634a48ce6539d66164b0da3b8de179c6e","original_message":"Write up Beta 4's current change log.","message":"Write up Beta 4's current change log.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}710{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6a84e8bddcab818eafeeec7ec52d260402f358b8","original_message":"Do not trap IO from request body conversion.","message":"Do not trap IO from request body conversion.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}711{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a0594600652b5f1716298e9c444abc0fb5cfc279","original_message":"Add support for scalars from ResponseBody","message":"Add support for scalars from ResponseBody","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}712{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b3ea768567e9e1fb1ba987bea021dbc0ead4acd4","original_message":"Provide ability to retrieve original Request object from Call.","message":"Provide ability to retrieve original Request object from Call.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}713{"url":"https:\/\/github.com\/square\/retrofit\/commit\/fed328ed8aa97dbdbaf7ff649af099f66050e39d","original_message":"Update to the latest version of okhttp","message":"Update to the latest version of okhttp","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}714{"url":"https:\/\/github.com\/square\/retrofit\/commit\/452004af62ff790ca6d271bc80d36fa5e49dcda5","original_message":"Prepare version 2.0.0-beta3.","message":"Prepare version 2.0.0-beta3.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}715{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f4ee9e28a6380662ea0ab8a9a02adbd021ef55e8","original_message":"Added more tests for RxJava Single type support \n \n Single.toBlocking() is present since RxJava 1.0.16 version.","message":"Added more tests for RxJava Single type support\nSingle.toBlocking() is present since RxJava 1.0.16 version.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}716{"url":"https:\/\/github.com\/square\/retrofit\/commit\/78119485c2ee60cbeb2dc478679cfd7b9712ddbd","original_message":"Use new OkHttp's non-throwing close and a simpler body copy.","message":"Use new OkHttp's non-throwing close and a simpler body copy.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}717{"url":"https:\/\/github.com\/square\/retrofit\/commit\/af375bd4ac8892a23cb132cbb982b41be3af8b9f","original_message":"Use Call.Factory in RequestBuilderTest.","message":"Use Call.Factory in RequestBuilderTest.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}718{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8eed9f264c13710fc0ac8251b3c5382a129a10ce","original_message":"Add missing Call wrappers as return type","message":"Add missing Call wrappers as return type","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}719{"url":"https:\/\/github.com\/square\/retrofit\/commit\/4cd675dcda829a9ec613770105909ab9cb36e722","original_message":"Switch to a proper builder for MockRetrofit. \n \n This allows passing an explicit executor for test cases.","message":"Switch to a proper builder for MockRetrofit.\nThis allows passing an explicit executor for test cases.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}720{"url":"https:\/\/github.com\/square\/retrofit\/commit\/c342d650a8abe8c87222d286a2c321ba9563e47b","original_message":"Remove incorrect generic parameter.","message":"Remove incorrect generic parameter.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}721{"url":"https:\/\/github.com\/square\/retrofit\/commit\/365b2104eceb9b0007395b849740c381d13a22a1","original_message":"Extract iterable and array behavior from RequestAction.","message":"Extract iterable and array behavior from RequestAction.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}722{"url":"https:\/\/github.com\/square\/retrofit\/commit\/7e4beeb66e3b5e66907410b930b653ff5ad63ead","original_message":"Tweaks from review.","message":"Tweaks from review.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}723{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a1109549247be09db9a0de3d64fcecdd43a13d24","original_message":"Documentation for endpoint resolving on a base URL.","message":"Documentation for endpoint resolving on a base URL.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}724{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8db48717825286e5d10a37a6600c34ba29b8822f","original_message":"Added a checkstyle rule for the line indentation \n \n Change-Id: I94d7404cb05c192021a6f737ffa6cf8c3fe9a3fa \n Signed-off-by: Simon Scholz <simon.scholz@vogella.com>","message":"Added a checkstyle rule for the line indentation\nChange-Id: I94d7404cb05c192021a6f737ffa6cf8c3fe9a3fa\nSigned-off-by: Simon Scholz <simon.scholz@vogella.com>","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}725{"url":"https:\/\/github.com\/square\/retrofit\/commit\/408a975f4c35438118f613bbeed912e1b0f71ec3","original_message":"Update multipart documentation.","message":"Update multipart documentation.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}726{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a9c0512fa6f88933702bf0e12243f5a584c01f66","original_message":"Use a correct implementation of path encoding.","message":"Use a correct implementation of path encoding.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}727{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9885c9d7b894fde3cdf90acfde8585788a646f11","original_message":"Prepare for 2.0.0-beta2.","message":"Prepare for 2.0.0-beta2.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}728{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6843b42c3761cc4bea261ac86c2ea6bc70b04334","original_message":"Remove outdated reference","message":"Remove outdated reference","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}729{"url":"https:\/\/github.com\/square\/retrofit\/commit\/7bcdfb3f5b2cf23965eac5f4779612313c4e652b","original_message":"Provide option for eagerly validating an interface.","message":"Provide option for eagerly validating an interface.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}730{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6c0ea7deefe4a884ac50080547654e4dee27cf3d","original_message":"Updating dependencies version","message":"Updating dependencies version","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}731{"url":"https:\/\/github.com\/square\/retrofit\/commit\/42b6f8c5de4d63c01425a8b5c7c4765b84f798ec","original_message":"Switch to a generic to\/from converter, explicit factory. \n \n This allows for specialization based on for what purpose the converter is being created. For the built-in converter factory, for example, types like `ResponseBody` and `Void` only apply to the response type and types like `RequestBody` only apply to a body\/part type.","message":"Switch to a generic to\/from converter, explicit factory.\nThis allows for specialization based on for what purpose the converter is being created. For the built-in converter factory, for example, types like `ResponseBody` and `Void` only apply to the response type and types like `RequestBody` only apply to a body\/part type.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}732{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8a70ac168500cc60c0ccf8ec6c8c9e34885e3dac","original_message":"Consolidate response body specializations as inner classes.","message":"Consolidate response body specializations as inner classes.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}733{"url":"https:\/\/github.com\/square\/retrofit\/commit\/5f0fab05a93372060d0019803895897de3e6166c","original_message":"Change log for 2.0.0-beta1.","message":"Change log for 2.0.0-beta1.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}734{"url":"https:\/\/github.com\/square\/retrofit\/commit\/c0cc4cb5bbf688a11dda5531f009300b20005e61","original_message":"RxJava 1.0.14 with an important Android fix. \n \n Just in case someone is relying on the transitive dependency.","message":"RxJava 1.0.14 with an important Android fix.\nJust in case someone is relying on the transitive dependency.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}735{"url":"https:\/\/github.com\/square\/retrofit\/commit\/21f327cc70d010af01d57ddb2ff209bef7f05033","original_message":"Naming, API changes, and documentation around mock services.","message":"Naming, API changes, and documentation around mock services.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}736{"url":"https:\/\/github.com\/square\/retrofit\/commit\/26d19ea8877696a253be8c00b2baed6b359baaa2","original_message":"Java 7 is required since 2ca19506","message":"Java 7 is required since 2ca19506","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}737{"url":"https:\/\/github.com\/square\/retrofit\/commit\/0973ca61da4fb5d293e53c8334fe5f7ae3cfdfd2","original_message":"Restore mock module for creating delayed and erroring Calls.","message":"Restore mock module for creating delayed and erroring Calls.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}738{"url":"https:\/\/github.com\/square\/retrofit\/commit\/cf392789e4d1a4e7b8e450ccd708f4ad128e3c1c","original_message":"Rename Callback.success() to onSuccess(), and failure() to onFailure().","message":"Rename Callback.success() to onSuccess(), and failure() to onFailure().","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}739{"url":"https:\/\/github.com\/square\/retrofit\/commit\/d9300dd040a7ca9523d35d1cc49417fa73182639","original_message":"Also refer to the latest OkHttp version.","message":"Also refer to the latest OkHttp version.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}740{"url":"https:\/\/github.com\/square\/retrofit\/commit\/75077e0a18ab9dcbb836f14afa736ab251a56a8e","original_message":"Move response Converter lookup to happen during method parsing.","message":"Move response Converter lookup to happen during method parsing.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}741{"url":"https:\/\/github.com\/square\/retrofit\/commit\/fe6d0f9b2a68063a086fa9da80d04293fbe3becf","original_message":"Introduce factory for converter concept. \n \n This is still highly-inefficient in its internal use and there are no tests proving that we now fail earlier in configuring a service method. Both of those will come in follow up commits","message":"Introduce factory for converter concept.\nThis is still highly-inefficient in its internal use and there are no tests proving that we now fail earlier in configuring a service method. Both of those will come in follow up commits","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}742{"url":"https:\/\/github.com\/square\/retrofit\/commit\/580d31ae906ac28f608427d4c4d2318a0e8b658a","original_message":"Rename main class to Retrofit.","message":"Rename main class to Retrofit.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}743{"url":"https:\/\/github.com\/square\/retrofit\/commit\/74d6a855eb4ca0c11ec9fcc2e898b0fe540e787e","original_message":"Add a test to verify unused and potentially invalid path params are allowed.","message":"Add a test to verify unused and potentially invalid path params are allowed.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}744{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9b203b66891c1d363529a1b2b46c8968bf54d7cc","original_message":"Move converter into the main package, remove Gson from core. \n \n This change means that only RequestBody and ResponseBody are the types which are allowed for their respective objects by default. If you want serialization of any kind, you need to opt-in with either your own converter or one of the provided ones.","message":"Move converter into the main package, remove Gson from core.\nThis change means that only RequestBody and ResponseBody are the types which are allowed for their respective objects by default. If you want serialization of any kind, you need to opt-in with either your own converter or one of the provided ones.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}745{"url":"https:\/\/github.com\/square\/retrofit\/commit\/49bba7d60f2a920e138e9388c515ee58fc8c4bcf","original_message":"Rewrite RxJava call adapter tests to be more understandable.","message":"Rewrite RxJava call adapter tests to be more understandable.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}746{"url":"https:\/\/github.com\/square\/retrofit\/commit\/3b1fd0302627da520cc99b7eda060c6228a32f81","original_message":"Includes this repo in our open source bug bounty program.","message":"Includes this repo in our open source bug bounty program.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}747{"url":"https:\/\/github.com\/square\/retrofit\/commit\/52be441605e6fc469ec718b2da954ad553491746","original_message":"Fix foo\/bar\/baz in @Query documentation","message":"Fix foo\/bar\/baz in @Query documentation","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}748{"url":"https:\/\/github.com\/square\/retrofit\/commit\/79a2a501b5964bd831bd3c4b9554d35fb2e584c2","original_message":"OkHttp 2.0 only.","message":"OkHttp 2.0 only.","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}749{"url":"https:\/\/github.com\/square\/retrofit\/commit\/0316bae5bd503462883bc8ea2ddd317b5bf9f222","original_message":"Formatting.","message":"Formatting.","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}750{"url":"https:\/\/github.com\/square\/retrofit\/commit\/e0f446499197658f05e5a41403ec5ca101e9ed86","original_message":"Restore Form URL encoding support.","message":"Restore Form URL encoding support.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}751{"url":"https:\/\/github.com\/square\/retrofit\/commit\/7a06832e3cee1f4d90ac8fd24fc39f90e3787b4c","original_message":"Remove unused classes from 56f11374c2f5d037e57d274a3c72f9694cd9e05c.","message":"Remove unused classes from 56f11374c2f5d037e57d274a3c72f9694cd9e05c.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}752{"url":"https:\/\/github.com\/square\/retrofit\/commit\/fe1d01684c96d55224c67e67c31c3fd8faa05c24","original_message":"Ensure we don't crash on null header values.","message":"Ensure we don't crash on null header values.","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}753{"url":"https:\/\/github.com\/square\/retrofit\/commit\/757278c7ab7f6c8e5a40d16a5707c35e0f61c5ab","original_message":"Update to OkHttp 2.2. Fix a tiny potential NPE.","message":"Update to OkHttp 2.2. Fix a tiny potential NPE.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}754{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ed1122ae27c0503e3182e9a7d817097b7febcebb","original_message":"Fix annotation link. EncodedPath is gone.","message":"Fix annotation link. EncodedPath is gone.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}755{"url":"https:\/\/github.com\/square\/retrofit\/commit\/478e1ddfc774ae990a5efd3143c9e7e95994942c","original_message":"Provide a setter to set strict mode to false","message":"Provide a setter to set strict mode to false","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}756{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f56cd02871aa8c8f94a2354cdaf9e7c6dc9b1091","original_message":"Use new central artifact redirect link.","message":"Use new central artifact redirect link.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}757{"url":"https:\/\/github.com\/square\/retrofit\/commit\/745e29b7832c3cc37e7b6d395aded79a908c3bbc","original_message":"Remove deprecated error identifier. \n \n This whole class is probably going to die or morph, but killing off tech debt before major refactorings makes me feel good.","message":"Remove deprecated error identifier.\nThis whole class is probably going to die or morph, but killing off tech debt before major refactorings makes me feel good.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}758{"url":"https:\/\/github.com\/square\/retrofit\/commit\/04c6e762c708de36f62f288a105ea67c5d1c8010","original_message":"Switch to io.reactivex version of rxjava","message":"Switch to io.reactivex version of rxjava","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}759{"url":"https:\/\/github.com\/square\/retrofit\/commit\/bc2c3c5a31a5ebec5df5790588c25cfd10d7a4a6","original_message":"Prepare for 1.7.0.","message":"Prepare for 1.7.0.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}760{"url":"https:\/\/github.com\/square\/retrofit\/commit\/93371a4c37f22b83df32edca3b0af376642a6d7d","original_message":"Favor an immutable singleton list over immutable list view.","message":"Favor an immutable singleton list over immutable list view.","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}761{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f29e29761f9b44e5fbfaf6e37460e6fde88c9a03","original_message":"Next version will be 1.7.0.","message":"Next version will be 1.7.0.","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}762{"url":"https:\/\/github.com\/square\/retrofit\/commit\/46598adb1da0f6d2498d9f8b815b170bf95fe1f8","original_message":"Use the annotations directly for parameter handling. \n \n Before we attempted to normalize the parameter annotations into a name and type model. The introduction of multi-part transfer encodings required something more expressive so the annotation instances themselves were used. This change removes the name and type in favor of using the annotation for everything. \n \n Deprecate the pre-encoded annotations in favor of boolean fields on the corresponding 'regular' annotation.","message":"Use the annotations directly for parameter handling.\nBefore we attempted to normalize the parameter annotations into a name and type model. The introduction of multi-part transfer encodings required something more expressive so the annotation instances themselves were used. This change removes the name and type in favor of using the annotation for everything.\nDeprecate the pre-encoded annotations in favor of boolean fields on the corresponding 'regular' annotation.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}763{"url":"https:\/\/github.com\/square\/retrofit\/commit\/42727183bebe8256ccd4acb648e3ad56d8af7b76","original_message":"Bump Wire dependency.","message":"Bump Wire dependency.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}764{"url":"https:\/\/github.com\/square\/retrofit\/commit\/3a6b251633bf533751c66594ded8b827ff67c300","original_message":"Migrate most behavior tests to be whitebox(ish). \n \n Eliminate the blackbox inspection into RestMethodInfo and direct invocation of RequestBuilder by combining the two.","message":"Migrate most behavior tests to be whitebox(ish).\nEliminate the blackbox inspection into RestMethodInfo and direct invocation of RequestBuilder by combining the two.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}765{"url":"https:\/\/github.com\/square\/retrofit\/commit\/5795931d159f0a591e5dad3d9de6f8d0e9785413","original_message":"Add transfer encoding to multipart parts. \n \n Also: \n \n * Reject multiple annotations on method parameters. \n * Pre-size StringBuilder instances to their likely size.","message":"Add transfer encoding to multipart parts.\nAlso:\n* Reject multiple annotations on method parameters.\n* Pre-size StringBuilder instances to their likely size.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}766{"url":"https:\/\/github.com\/square\/retrofit\/commit\/cc37ab8d370379fa025395d5256bc7ac068a8980","original_message":"Bump Guava dependency.","message":"Bump Guava dependency.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}767{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f986cde7323b8a0656f98de4bc88d14f7d126779","original_message":"Bump test dependencies.","message":"Bump test dependencies.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}768{"url":"https:\/\/github.com\/square\/retrofit\/commit\/89daa8ca994ee5cc193dc93849abd7672dc59c1d","original_message":"Add @Override annotations","message":"Add @Override annotations","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}769{"url":"https:\/\/github.com\/square\/retrofit\/commit\/fb746cb2f67a51c100e368844ac26dedb9e8eac4","original_message":"Expose success type on RetrofitError. \n \n There's a bit of a test gap going on for all the variants of successful and erroneous handling of sync, async, and rx. This new behavior is fully tested in all three but more general behavior testing for them will be needed in in a follow-up.","message":"Expose success type on RetrofitError.\nThere's a bit of a test gap going on for all the variants of successful and erroneous handling of sync, async, and rx. This new behavior is fully tested in all three but more general behavior testing for them will be needed in in a follow-up.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}770{"url":"https:\/\/github.com\/square\/retrofit\/commit\/54c8e17ad51bd35e75009233c3be6cdc3afe310e","original_message":"Update documentation for handling of @Field and @Part values.","message":"Update documentation for handling of @Field and @Part values.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}771{"url":"https:\/\/github.com\/square\/retrofit\/commit\/863030b551bc2e3447c5dde55d6bcc312218de6f","original_message":"Add docs about null responses.","message":"Add docs about null responses.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}772{"url":"https:\/\/github.com\/square\/retrofit\/commit\/17bc62131d9b7ee88277bbc63d2cdb94a25b4a75","original_message":"add paragraph clarifying logging","message":"add paragraph clarifying logging","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}773{"url":"https:\/\/github.com\/square\/retrofit\/commit\/2d2fa49fc094d8e5c04b06a54b1c09db430ca3b0","original_message":"Remove synchronous from ErrorHandler docs","message":"Remove synchronous from ErrorHandler docs","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}774{"url":"https:\/\/github.com\/square\/retrofit\/commit\/07548db79012d3ccacc5d883f3e71d24d0de359a","original_message":"Add @PartMap annotation.","message":"Add @PartMap annotation.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}775{"url":"https:\/\/github.com\/square\/retrofit\/commit\/00f4c420166eb070a035cdd641b7afa101f65602","original_message":"MockRestAdapter should use ErrorHandler.","message":"MockRestAdapter should use ErrorHandler.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}776{"url":"https:\/\/github.com\/square\/retrofit\/commit\/05d6797c3c0de7b9abafb9e15491fb61df194100","original_message":"Use latest release plugin.","message":"Use latest release plugin.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}777{"url":"https:\/\/github.com\/square\/retrofit\/commit\/990521c87677903cd18841a5454d52bc37bc2985","original_message":"switch to assertj","message":"switch to assertj","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}778{"url":"https:\/\/github.com\/square\/retrofit\/commit\/dfe5d9eb51352d6cad8ac618e19577525adcab87","original_message":"Correct map parameter type detection for query and field.","message":"Correct map parameter type detection for query and field.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}779{"url":"https:\/\/github.com\/square\/retrofit\/commit\/bcfc6ff673a9344172920415a04eaa904a90e78a","original_message":"Update Jackson converter to latest. Add default constructor.","message":"Update Jackson converter to latest. Add default constructor.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}780{"url":"https:\/\/github.com\/square\/retrofit\/commit\/18e1dd8a067cd7927b2a7adb3dbdb9019f2cd35f","original_message":"Prepare version 1.4.0.","message":"Prepare version 1.4.0.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}781{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9e93fc566670cde1cf873d92e7a27cdfeff494dd","original_message":"Add simple package info to root package.","message":"Add simple package info to root package.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}782{"url":"https:\/\/github.com\/square\/retrofit\/commit\/d7da1cdc2406b88aae75ebfeaca93bbf3c94d505","original_message":"Retain old parameter type.","message":"Retain old parameter type.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}783{"url":"https:\/\/github.com\/square\/retrofit\/commit\/810bb53ee4a10fabd2632568b669a35572575347","original_message":"Style tweaks to new endpoint code.","message":"Style tweaks to new endpoint code.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}784{"url":"https:\/\/github.com\/square\/retrofit\/commit\/0284a813dbd69be3f13fb60fe3be128379df7a64","original_message":"RequestBuilder: Support Iterable \/ Map for @Field","message":"RequestBuilder: Support Iterable \/ Map for @Field","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}785{"url":"https:\/\/github.com\/square\/retrofit\/commit\/00d3f9070e15e514430e5dbb2aec602547c3c92d","original_message":"AndroidLog: Added getTag() and logChunk() methods \n \n ?for easier subclassing.","message":"AndroidLog: Added getTag() and logChunk() methods\n?for easier subclassing.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}786{"url":"https:\/\/github.com\/square\/retrofit\/commit\/932f228158e6bea03700f62cda93113c7b9c7a7d","original_message":"whitespace.","message":"whitespace.","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}787{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ed2e8a5b52e933034b74e5aa66bc42862bfd30de","original_message":"client: Reintroduced deprecated Response constructor","message":"client: Reintroduced deprecated Response constructor","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}788{"url":"https:\/\/github.com\/square\/retrofit\/commit\/985355d26bbe7b0760203c8ff53d7f40c1b09593","original_message":"client: Added url field to Response class","message":"client: Added url field to Response class","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}789{"url":"https:\/\/github.com\/square\/retrofit\/commit\/3bdad39745db76928fce0f31b3c2a8e8922c40b3","original_message":"Properly name ignored exception in 'catch' block.","message":"Properly name ignored exception in 'catch' block.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}790{"url":"https:\/\/github.com\/square\/retrofit\/commit\/884593d0e46c4eb30dd6e9ac8056bfdc2848345e","original_message":"Changing Server to implement IServer interface.","message":"Changing Server to implement IServer interface.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}791{"url":"https:\/\/github.com\/square\/retrofit\/commit\/e8e30931a53393becb20556f579685141e733a19","original_message":"Add default constructor to SimpleXmlConverter","message":"Add default constructor to SimpleXmlConverter","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}792{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ddebcaa0e0203874f2f84d29b97645bbac51ae28","original_message":"Add docs for setting Headers with RequestInterceptor","message":"Add docs for setting Headers with RequestInterceptor","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}793{"url":"https:\/\/github.com\/square\/retrofit\/commit\/1ef130b80bf608d3d33273be02a57455692e84f8","original_message":"Fix small wording issues in custom converter docs","message":"Fix small wording issues in custom converter docs","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}794{"url":"https:\/\/github.com\/square\/retrofit\/commit\/497d672e1f3b038d6aa936ddc5498c2679f6ad70","original_message":"Update custom conversion docs per feedback \n \n * Clarify that Gson is just the default converter \n * Add section on other built-in converters \n * Add section on implementing your own custom converters","message":"Update custom conversion docs per feedback\n* Clarify that Gson is just the default converter\n* Add section on other built-in converters\n* Add section on implementing your own custom converters","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}795{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8c490570f6ffe3c699ab227fbddbac9de88273c7","original_message":"Added blurb about GSON documentation","message":"Added blurb about GSON documentation","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}796{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f1d7acb377874a102a5e14eb64a70271975c167a","original_message":"fixed javadoc","message":"fixed javadoc","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}797{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9159571ec483f5b798e85c2ee94673fa1075384c","original_message":"Last argument should be handled for observable methods","message":"Last argument should be handled for observable methods","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}798{"url":"https:\/\/github.com\/square\/retrofit\/commit\/5590cade0203bebe3d6e900eaee3b66d70ff487a","original_message":"add support for Observable requests with RxJava \n \n Service interface methods may now specify Observable as a return type.","message":"add support for Observable requests with RxJava\nService interface methods may now specify Observable as a return type.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}799{"url":"https:\/\/github.com\/square\/retrofit\/commit\/25c15a7e3fd60f0b581a0ae6b1c2d6beb777b47d","original_message":"Add some static factory methods to MockHttpException.","message":"Add some static factory methods to MockHttpException.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}800{"url":"https:\/\/github.com\/square\/retrofit\/commit\/1f0920af8eb159eec3c41f159adb3d790fdff5b8","original_message":"UserService example in MockRestAdapter should be an interface","message":"UserService example in MockRestAdapter should be an interface","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}801{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6eb605e8be8add7e3a9c3d0047e3c6d5e7e183a9","original_message":"Code review","message":"Code review","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}802{"url":"https:\/\/github.com\/square\/retrofit\/commit\/93bb08c5c6fa7e44c3525cd0bccd0bd2a436251d","original_message":"reformat with two-space indent","message":"reformat with two-space indent","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}803{"url":"https:\/\/github.com\/square\/retrofit\/commit\/d08bfa59f0c28879517f122da4e2eadd0c8f06c8","original_message":"Correct header length checking logic. Improve exception message.","message":"Correct header length checking logic. Improve exception message.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}804{"url":"https:\/\/github.com\/square\/retrofit\/commit\/184578c24c4d4acea14b32c6031b67e5dd30ae50","original_message":"fixes and refactoring for http multipart post streaming","message":"fixes and refactoring for http multipart post streaming","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}805{"url":"https:\/\/github.com\/square\/retrofit\/commit\/2e15cf9e75e4204aa492ecc1cbe53053f95a2a8f","original_message":"Promote Android logging to a class which knows about chunking. \n \n Remove the concept of chunking from calling code. This is an Android-specific implementation detail which is now only performed when needed.","message":"Promote Android logging to a class which knows about chunking.\nRemove the concept of chunking from calling code. This is an Android-specific implementation detail which is now only performed when needed.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}806{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b56c3269efe0f0a5f396d7700396e753857d8188","original_message":"Prepare for 1.2.1.","message":"Prepare for 1.2.1.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}807{"url":"https:\/\/github.com\/square\/retrofit\/commit\/96b6f094e94ff56068c55284e3f500cb553574c9","original_message":"Add empty Log implementation.","message":"Add empty Log implementation.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}808{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9d244d0e37a3f601d0c51dccf25001aff8c2adc6","original_message":"Use Wire release 1.0.1","message":"Use Wire release 1.0.1","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}809{"url":"https:\/\/github.com\/square\/retrofit\/commit\/75d5399073d275846c254a356cf760b4d942821b","original_message":"Pass InputStream to Wire","message":"Pass InputStream to Wire","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}810{"url":"https:\/\/github.com\/square\/retrofit\/commit\/d9c8796473f50722c92746be37a90c8504c8fe86","original_message":"Add a first-party converter for Wire.","message":"Add a first-party converter for Wire.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}811{"url":"https:\/\/github.com\/square\/retrofit\/commit\/dea55b54a1ea55d7324cb76a53332f54eae30cbb","original_message":"Ensure @EncodedPath is not cast to @Path when processing method.","message":"Ensure @EncodedPath is not cast to @Path when processing method.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}812{"url":"https:\/\/github.com\/square\/retrofit\/commit\/e1278d2d76f7594d5b34692b1a00a2f32e549005","original_message":"Fix IntelliJ auto-formatting.","message":"Fix IntelliJ auto-formatting.","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}813{"url":"https:\/\/github.com\/square\/retrofit\/commit\/989d69f0cf365895a13e41e913c4871feca1dea9","original_message":"Add path and query tests for pre-encoded values.","message":"Add path and query tests for pre-encoded values.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}814{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ebf8c26a7b350dd9eb03b0240f9aaf75e0833d30","original_message":"Add converters module and protobuf converter.","message":"Add converters module and protobuf converter.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}815{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b54de2ee929595a3c7f4595eed76878dcdcf81cd","original_message":"Newine at end of file. Yes plz.","message":"Newine at end of file. Yes plz.","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}816{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ba551e6bcf168a61a7abb296c9d52c9f8f77dcf8","original_message":"Log network and unexpected exceptions if logging is enabled.","message":"Log network and unexpected exceptions if logging is enabled.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}817{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8d5e022f4866cadbab4c5d67b28bd2fd6f7bd71d","original_message":"Add two levels of logging.","message":"Add two levels of logging.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}818{"url":"https:\/\/github.com\/square\/retrofit\/commit\/7ca5b518bccbe7c725a2e987887a1624187188be","original_message":"fix issue #227: permit use when servers or intermediaries mistakingly miss Content-Type header","message":"fix issue #227: permit use when servers or intermediaries mistakingly miss Content-Type header","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}819{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9fd4efb16c021df0d94a7dab3d23b24d4188787a","original_message":"Correct javadoc to point to proper annotation.","message":"Correct javadoc to point to proper annotation.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}820{"url":"https:\/\/github.com\/square\/retrofit\/commit\/55299b7eea167f35a89c4c01a8b0a88037cf18e7","original_message":"Update javadoc based on PR comment.","message":"Update javadoc based on PR comment.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}821{"url":"https:\/\/github.com\/square\/retrofit\/commit\/183bb3af5e69b5a1403978d22ad7e91971105032","original_message":"Special case String type for multi-part parts.","message":"Special case String type for multi-part parts.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}822{"url":"https:\/\/github.com\/square\/retrofit\/commit\/2c963003286ad91b0ee5cbf0a317578c4bce4025","original_message":"Expose addQueryParam via the RequestInterceptor injection-like framework.","message":"Expose addQueryParam via the RequestInterceptor injection-like framework.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}823{"url":"https:\/\/github.com\/square\/retrofit\/commit\/5da95585b59bd911d1c147cbddd171576ee96f98","original_message":"Allow uppercase letters in path parameters.","message":"Allow uppercase letters in path parameters.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}824{"url":"https:\/\/github.com\/square\/retrofit\/commit\/0297f7476a50a694cfdad0fb5a80d67f99abd5d5","original_message":"Dependency updates.","message":"Dependency updates.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}825{"url":"https:\/\/github.com\/square\/retrofit\/commit\/476c5341f99dabd92ca26451c453028504eaed5c","original_message":"Escape closing curly braces for Android support.","message":"Escape closing curly braces for Android support.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}826{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b0c51c54f5c67bda3282b70b0e2d9cce0dc3c7bd","original_message":"Fix styling of Maven download.","message":"Fix styling of Maven download.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}827{"url":"https:\/\/github.com\/square\/retrofit\/commit\/0bc562994542fdb2a30d7ed26ec8cb195ff79bed","original_message":"Add website deploy script.","message":"Add website deploy script.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}828{"url":"https:\/\/github.com\/square\/retrofit\/commit\/39fde3cfd704c6df7cdad1ab9f879c8441fa0ee0","original_message":"First sample is synchronous.","message":"First sample is synchronous.","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}829{"url":"https:\/\/github.com\/square\/retrofit\/commit\/d665e56649a4b43128714c2bdbe83b9c1d037f73","original_message":"Rename 'pair' to 'field' to match annotation. \n \n Closes #206.","message":"Rename 'pair' to 'field' to match annotation.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}830{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ef71254e5f8c3db0aae289a15d47e0a3c457f26f","original_message":"Re-arrange package structure.","message":"Re-arrange package structure.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}831{"url":"https:\/\/github.com\/square\/retrofit\/commit\/4d574218321e7ab4d5230c2e1d93be2ca50e313f","original_message":"Bump GSON to latest stable.","message":"Bump GSON to latest stable.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}832{"url":"https:\/\/github.com\/square\/retrofit\/commit\/941ae858bc7bc1d03887df36590bd7c9ec8cb184","original_message":"issue #198: validate header names per rfc 2616","message":"issue #198: validate header names per rfc 2616","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}833{"url":"https:\/\/github.com\/square\/retrofit\/commit\/bdaf792de11924563eac63e44913c2d2dce277d0","original_message":"Add OkHttp-specific client when its present on the classpath.","message":"Add OkHttp-specific client when its present on the classpath.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}834{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6248abcb99cf059a17bf4d2298faa4658101fe1f","original_message":"Reset thread name to idle when not in use. \n \n Closes #188.","message":"Reset thread name to idle when not in use.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}835{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f844530c11dca51bd8d96afc87b6e94d0a20917a","original_message":"issue #198: rename Header -> HeaderPair to harvest the names for new annotations","message":"issue #198: rename Header -> HeaderPair to harvest the names for new annotations","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}836{"url":"https:\/\/github.com\/square\/retrofit\/commit\/737b844b8b1e9e9ff25e1b4dde266435ff1a9821","original_message":"Roll our own multi-part implementation. \n \n Drop Apache mime4j dependency. \n \n Closes #141.","message":"Roll our own multi-part implementation.\nDrop Apache mime4j dependency.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}837{"url":"https:\/\/github.com\/square\/retrofit\/commit\/93842291b6339a104fa781308ee19961e905abbe","original_message":"Using Response in readme instead of SimpleResponse","message":"Using Response in readme instead of SimpleResponse","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}838{"url":"https:\/\/github.com\/square\/retrofit\/commit\/db20a59b2819fbe4fe7e9a8478b726b592dc3971","original_message":"Remove usage of HTTP constants class from Apache dependency.","message":"Remove usage of HTTP constants class from Apache dependency.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}839{"url":"https:\/\/github.com\/square\/retrofit\/commit\/df6bec88cd6c85e52e6652da2d2f0146db64013e","original_message":"Relax enforcement of UTF-8 and use the body charset for decoding. \n \n Consumers wanting well-behaved endponts should override or add to their `toBody` charset enforcement: \n \n ```java \n String charset = Utils.parseCharset(body.mimeType()); \n if (!'UTF-8'.equalsIgnoreCase(charset)) { \n throw new ConversionException('Invalid charset ' + charset + '. Must be UTF-8'); \n } \n ``` \n \n Closes #163.","message":"Relax enforcement of UTF-8 and use the body charset for decoding.\nConsumers wanting well-behaved endponts should override or add to their `toBody` charset enforcement:\n```java\nString charset = Utils.parseCharset(body.mimeType());\nif (!'UTF-8'.equalsIgnoreCase(charset)) {\nthrow new ConversionException('Invalid charset ' + charset + '. Must be UTF-8');\n}\n```","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}840{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a10def06d7a3ec75de30fee9c2dfd47837201eba","original_message":"Add response object to callback success. \n \n Gives access to response headers while still converting response within retrofit.","message":"Add response object to callback success.\nGives access to response headers while still converting response within retrofit.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}841{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b3fcdca9939f376d9f825bb6ccaeeaa97c0f8325","original_message":"Fix inconsistencies in javadocs. \n \n These changes were made with consistency in mind, in relation to the rest of the project: \n - Change self-closing <p\/> tags to regular <p> tags. \n - Add missing <p> tags.","message":"Fix inconsistencies in javadocs.\nThese changes were made with consistency in mind, in relation to the rest of the project:\n- Change self-closing <p\/> tags to regular <p> tags.\n- Add missing <p> tags.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}842{"url":"https:\/\/github.com\/square\/retrofit\/commit\/365a0cd97bd8ee597e937ebf88170b30685047f4","original_message":"Add UrlConnection Client. \n \n Use this on Android 2.2 and prior and when on the JVM. \n \n Also update our sample to use GitHub contributors rather than the Twitter API because the latter is shutting down and subject to lame rate limiting when on common networks. \n \n Bump some dependencies to their latest versions.","message":"Add UrlConnection Client.\nUse this on Android 2.2 and prior and when on the JVM.\nAlso update our sample to use GitHub contributors rather than the Twitter API because the latter is shutting down and subject to lame rate limiting when on common networks.\nBump some dependencies to their latest versions.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}843{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9e7b7c04bf0a2d1c34eeed8f28a52a8c7009aaf7","original_message":"Provide a mutable server implementation. Update Server API to conform.","message":"Provide a mutable server implementation. Update Server API to conform.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}844{"url":"https:\/\/github.com\/square\/retrofit\/commit\/81a1b3bed4b7d9593cea83145695ccaec15a4588","original_message":"Move packages. \n \n * `retrofit.io` -> `retrofit.http.mime` \n * `retrofit.android` -> `retrofit.http.android`","message":"Move packages.\n* `retrofit.io` -> `retrofit.http.mime`\n* `retrofit.android` -> `retrofit.http.android`","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}845{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f87f9b3c032714980299d6da20b3ae87a8bb3109","original_message":"Revert 'Revert 'Allow MimeType instantiation. Hide some Apache implementation details.'' \n \n This reverts commit c888ea8ed53ae5548645389d5b57e99e931324aa.","message":"Revert 'Revert 'Allow MimeType instantiation. Hide some Apache implementation details.''\nThis reverts commit c888ea8ed53ae5548645389d5b57e99e931324aa.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}846{"url":"https:\/\/github.com\/square\/retrofit\/commit\/2d4a78f5586e0a1f3559e262a83bd9171f28f4f8","original_message":"Simplify test method fetching.","message":"Simplify test method fetching.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}847{"url":"https:\/\/github.com\/square\/retrofit\/commit\/60607af32d629121e6479e95970e3b5da1b2f176","original_message":"Allow MimeType instantiation. Hide some Apache implementation details.","message":"Allow MimeType instantiation. Hide some Apache implementation details.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}848{"url":"https:\/\/github.com\/square\/retrofit\/commit\/24a014d6271a38d3995f3ca189dd80794a5fda15","original_message":"Convert to 100-char lines.","message":"Convert to 100-char lines.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}849{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ccd466c60ce44aba7e870232f1360094044583bb","original_message":"Convert all files to 100-character lines. Enforce with checkstyle.","message":"Convert all files to 100-character lines. Enforce with checkstyle.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}850{"url":"https:\/\/github.com\/square\/retrofit\/commit\/602e84d36f58955dbc1849adadfb9ccbd22167f8","original_message":"Add commons-logging ignore to httpmime.","message":"Add commons-logging ignore to httpmime.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}851{"url":"https:\/\/github.com\/square\/retrofit\/commit\/a6025429e62a58d107b8d9385e68c4a058ac6615","original_message":"Restore FINE logging of HTTP response body.","message":"Restore FINE logging of HTTP response body.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}852{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ae8e38d4461ba8ec0d28d486b7c6e610cd589532","original_message":"Simplify asynchronous executor API.","message":"Simplify asynchronous executor API.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}853{"url":"https:\/\/github.com\/square\/retrofit\/commit\/6d8de7d80b343397f12429012571c656eac773bf","original_message":"Hide more implementation details.","message":"Hide more implementation details.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}854{"url":"https:\/\/github.com\/square\/retrofit\/commit\/f429e97bb98bf2eb1c8144eb88c1164f188c833f","original_message":"Remove optional mark on GSON dependency.","message":"Remove optional mark on GSON dependency.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}855{"url":"https:\/\/github.com\/square\/retrofit\/commit\/5bfb19dcffeddf9bba420932570eb8c2d9136464","original_message":"Enable more checkstyle checks.","message":"Enable more checkstyle checks.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}856{"url":"https:\/\/github.com\/square\/retrofit\/commit\/db0cd2c373d9c809401b1d1ab93ca743b9e50d3e","original_message":"Remove unused ByteSink classes.","message":"Remove unused ByteSink classes.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}857{"url":"https:\/\/github.com\/square\/retrofit\/commit\/56ca30091f59e7daafc7a221e3ddda46d730d17d","original_message":"Introduce builder pattern to instantiate RestAdapter. \n \n Headers and profiler are now optional. Convenience methods for specifying a String URL or an \n HttpClient directly are also provided.","message":"Introduce builder pattern to instantiate RestAdapter.\nHeaders and profiler are now optional. Convenience methods for specifying a String URL or an\nHttpClient directly are also provided.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}858{"url":"https:\/\/github.com\/square\/retrofit\/commit\/e1e170f4216576d0f5ef714d099be60c0d3bb4a5","original_message":"Add NDK to build.","message":"Add NDK to build.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}859{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9b6bd6bbbe752fceaa4517b3eda7cd678679198d","original_message":"Use ServerError directly in sessionExpired and serverError. \n \n This is a short step on the road to HTTP body format agnostic support. And it's \n not a pretty step, either.","message":"Use ServerError directly in sessionExpired and serverError.\nThis is a short step on the road to HTTP body format agnostic support. And it's\nnot a pretty step, either.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}860{"url":"https:\/\/github.com\/square\/retrofit\/commit\/5a856aa28c821ae6d2816072dd8a93c770a6908c","original_message":"Add a CONTRIBUTING file.","message":"Add a CONTRIBUTING file.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}861{"url":"https:\/\/github.com\/square\/retrofit\/commit\/23bd77402e8a1b7452f95717dbb931195f12a5fe","original_message":"More FEST-isms.","message":"More FEST-isms.","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}862{"url":"https:\/\/github.com\/square\/retrofit\/commit\/3ad087526288ed6e0bd3d0ed32ddd71211a4cdfa","original_message":"Re-enable 'android' and 'io' tests. Switch to FEST.","message":"Re-enable 'android' and 'io' tests. Switch to FEST.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}863{"url":"https:\/\/github.com\/square\/retrofit\/commit\/79dd9c7da0d7864aa65c5dc1e3f3231af6bbb2de","original_message":"Eliminate barren 'core' module. Updates to other modules.","message":"Eliminate barren 'core' module. Updates to other modules.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}864{"url":"https:\/\/github.com\/square\/retrofit\/commit\/27d766d7485b53293cc046884a49b38c62df00b7","original_message":"Pom cleanup.","message":"Pom cleanup.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}865{"url":"https:\/\/github.com\/square\/retrofit\/commit\/69243b674adaf6c591933aeb5f6adf65a32a5712","original_message":"Bump version back to SNAPSHOT","message":"Bump version back to SNAPSHOT","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}866{"url":"https:\/\/github.com\/square\/retrofit\/commit\/3b5a795892ac079320f6e4fb0d715a6d1a619122","original_message":"Adding a human-readable name to the Server interface","message":"Adding a human-readable name to the Server interface","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}867{"url":"https:\/\/github.com\/square\/retrofit\/commit\/14b98e56f30cbb80d410fdc8e167a220e7e59e6e","original_message":"Restore version 0.6.0-SNAPSHOT","message":"Restore version 0.6.0-SNAPSHOT","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}868{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8232a1fc9feccbcef91c9da33125467e8f351924","original_message":"Bump version to RC2.","message":"Bump version to RC2.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}869{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b6748ac88759a4768c1003930bb5c921ac49d8d1","original_message":"Mark GSON as provided since we jarjar it in.","message":"Mark GSON as provided since we jarjar it in.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}870{"url":"https:\/\/github.com\/square\/retrofit\/commit\/eee72f00a7d60ee50bb191d8e0ab88f78fbffcf2","original_message":"Bump version to RC1.","message":"Bump version to RC1.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}871{"url":"https:\/\/github.com\/square\/retrofit\/commit\/28fb5a4ce47dcf68e9e34eea71a8262dbb341802","original_message":"Introduces MainThread#executeOnMain, and AndroidMainThread.","message":"Introduces MainThread#executeOnMain, and AndroidMainThread.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}872{"url":"https:\/\/github.com\/square\/retrofit\/commit\/23eec0b89eb74bff83b55956a585f95bc42469f4","original_message":"Use no_aop Guice variant.","message":"Use no_aop Guice variant.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}873{"url":"https:\/\/github.com\/square\/retrofit\/commit\/30fabb8e9a87b644d0b78d0962efe6aef027f04b","original_message":"Revert version to 0.6 to match previous ant\/ivy build. \n \n Add a description too...","message":"Revert version to 0.6 to match previous ant\/ivy build.\nAdd a description too...","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}874{"url":"https:\/\/github.com\/square\/retrofit\/commit\/8ed51663314976594f4d4dfb8aa142e887fb8041","original_message":"Fix style nits per review","message":"Fix style nits per review","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}875{"url":"https:\/\/github.com\/square\/retrofit\/commit\/5ea679fb5223de4364d8b1bb7d46abba2e99ced4","original_message":"Adds an int statusCode parameter to clientError and serverError.","message":"Adds an int statusCode parameter to clientError and serverError.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}876{"url":"https:\/\/github.com\/square\/retrofit\/commit\/b7521f863ede30032014efc290dae541e243a087","original_message":"Adding a preInvoke callback for right before http call is being made.","message":"Adding a preInvoke callback for right before http call is being made.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}877{"url":"https:\/\/github.com\/square\/retrofit\/commit\/bcab3a2ceda93524753fcdd3d258d5243c6833da","original_message":"Move variable to where it is used.","message":"Move variable to where it is used.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}878{"url":"https:\/\/github.com\/square\/retrofit\/commit\/44654cc452d1d38e581a20358ab2f9bbf8aabbbe","original_message":"Allow Server extensions; improved FilesTest","message":"Allow Server extensions; improved FilesTest","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}879{"url":"https:\/\/github.com\/square\/retrofit\/commit\/ffab8145393225741167a003577696549573e857","original_message":"Fix spelling","message":"Fix spelling","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}880{"url":"https:\/\/github.com\/square\/retrofit\/commit\/289f3bc719dd676c066e8c426439a8948b7e4bb0","original_message":"Moved echo up.","message":"Moved echo up.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}881{"url":"https:\/\/github.com\/square\/retrofit\/commit\/325ece291ec13811cbd61a3dad1ffc2663f5a306","original_message":"Repackage gson into retrofit.internal.gson","message":"Repackage gson into retrofit.internal.gson","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}882{"url":"https:\/\/github.com\/square\/retrofit\/commit\/759d454eb3379dc2149552884ecc5492313d7633","original_message":"Add fixed query parameter support","message":"Add fixed query parameter support","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}883{"url":"https:\/\/github.com\/square\/retrofit\/commit\/320d18e7dfe4ee17c1740d8f9b58e078fd1470c2","original_message":"Ensure ByteSinks and Files use FileDescriptor.sync()","message":"Ensure ByteSinks and Files use FileDescriptor.sync()","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}884{"url":"https:\/\/github.com\/square\/retrofit\/commit\/2e35fda8164023a4e0fd1030cc2b9a947366b16b","original_message":"Add PUT, DELETE support to RestAdapter","message":"Add PUT, DELETE support to RestAdapter","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}885{"url":"https:\/\/github.com\/square\/retrofit\/commit\/00a2db876fc5c0447a3617837894f30890cde367","original_message":"Adding GET support to RestAdapter","message":"Adding GET support to RestAdapter","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}886{"url":"https:\/\/github.com\/square\/retrofit\/commit\/9259e3add43cb442859f3e3c9cbe2286920620e3","original_message":"TypedFile gets its length from the underlying file now","message":"TypedFile gets its length from the underlying file now","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}887{"url":"https:\/\/github.com\/square\/retrofit\/commit\/e32d8b2a08d0905e36c44d9070d959eaeccf7ac5","original_message":"added toString() to ErrorResponse.java","message":"added toString() to ErrorResponse.java","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}888{"url":"https:\/\/github.com\/square\/retrofit\/commit\/1eab56aadbb5b8336553d4d0b41f2f33564782c2","original_message":"Cleaned up code.","message":"Cleaned up code.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}889{"url":"https:\/\/github.com\/square\/retrofit\/commit\/11da2563aaf50c42c2f175012ce86291a2b818dd","original_message":"bumped revision to 0.2-SNAPSHOT","message":"bumped revision to 0.2-SNAPSHOT","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}890{"url":"https:\/\/github.com\/square\/retrofit\/commit\/42dba217c69705a456b837bdd3cc2966c8d67b52","original_message":"added core, io, and http modules","message":"added core, io, and http modules","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}891{"url":"https:\/\/github.com\/square\/retrofit\/commit\/fb98822a9c17acfb6846d3f07d368804e155fd3f","original_message":"moved util to android, added ShakeDetector","message":"moved util to android, added ShakeDetector","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}892{"url":"https:\/\/github.com\/square\/okhttp\/commit\/09f424f12e48e2640915bf61c86a9ecd928e459e","original_message":"fix README.md typo (#6469)","message":"fix README.md typo","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}893{"url":"https:\/\/github.com\/square\/okhttp\/commit\/fce60e5a09eac198a0f9c676e486163212662230","original_message":"Document sharing an instance with additional configuration (#6449)","message":"Document sharing an instance with additional configuration","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}894{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a334f6f14f40f1586ae309277033c5b1ea53a749","original_message":"Fix single failing graal test (#6445)","message":"Fix single failing graal test","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}895{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ff959f8fd550b8f55a47038ea4235b1b2ed2eaa8","original_message":"Android Additional Tests (#6420)","message":"Android Additional Tests","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}896{"url":"https:\/\/github.com\/square\/okhttp\/commit\/dabbd56572089cfef00d358edcc87b3f5c73e580","original_message":"Update README.md (#6389)","message":"Update README.md","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}897{"url":"https:\/\/github.com\/square\/okhttp\/commit\/40f98404ddc4f0fca498a1016c80cc49f7347680","original_message":"Test docs and unit test (#6386)","message":"Test docs and unit test","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}898{"url":"https:\/\/github.com\/square\/okhttp\/commit\/40a683203d29228bac0516fd0f63c86eb8bf49a3","original_message":"Move osgi tests to Junit 5 (#6373)","message":"Move osgi tests to Junit 5","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}899{"url":"https:\/\/github.com\/square\/okhttp\/commit\/71800bd4d32e2ebee96224696b21fd68663a121b","original_message":"Move connection tests to Junit 5 (#6376)","message":"Move connection tests to Junit 5","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}900{"url":"https:\/\/github.com\/square\/okhttp\/commit\/78b2158fa50f1e8feaba49051a89d94e52d3d4db","original_message":"Move authenticator tests to Junit 5 (#6374)","message":"Move authenticator tests to Junit 5","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}901{"url":"https:\/\/github.com\/square\/okhttp\/commit\/743a260b2ad8fa9830a953710dca53ea7525151b","original_message":"Migrate Logging tests to Junit5 (#6355)","message":"Migrate Logging tests to Junit5","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}902{"url":"https:\/\/github.com\/square\/okhttp\/commit\/eba8a830929c2a696c48e702a0e22766ed9ab516","original_message":"Enable GitHub Code Security Scanning (#1) (#6304) \n \n Add codeql-analysis.yml to configure GitHub workflow for code security scanning. Added Setup Java action to override default Java 8.","message":"Enable GitHub Code Security Scanning (#1)\nAdd codeql-analysis.yml to configure GitHub workflow for code security scanning. Added Setup Java action to override default Java 8.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}903{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2fd0da8bc4a9c9d61b93af83b87383eacba850a3","original_message":"Update concurrency.md (#6290)","message":"Update concurrency.md","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}904{"url":"https:\/\/github.com\/square\/okhttp\/commit\/45a79c9c8572eb6c7273bcceb359773386a3fb2c","original_message":"Android 11 (#6286)","message":"Android 11","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}905{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8c2f383f14e354a45d0f9f16f5b0fa35b7244a51","original_message":"Document interceptor throwing modes (#6235)","message":"Document interceptor throwing modes","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}906{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0e0f3a2d8d95278bf362eaeb08f13516e383fafd","original_message":"Push OkHttp 3.14.x into the sea. It is no longer supported. (#6179) \n \n OkHttp 4.x is our only branch receiving security fixes, bug fixes, and \n new features. \n \n OkHttp 3.12.x gets security fixes only.","message":"Push OkHttp 3.14.x into the sea. It is no longer supported.\nOkHttp 4.x is our only branch receiving security fixes, bug fixes, and\nnew features.\nOkHttp 3.12.x gets security fixes only.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}907{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e736f927f82bcde9490b0e195f89d0a8884ba68b","original_message":"DER encoder (#6139) \n \n I haven't yet implemented certificate encoding","message":"DER encoder\nI haven't yet implemented certificate encoding","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}908{"url":"https:\/\/github.com\/square\/okhttp\/commit\/370ebcffe67ef552e30e866bd622da5291a6f5b3","original_message":"Prepare next development version.","message":"Prepare next development version.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}909{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ef7c5f358e2ac8dad806952c70c7af9061a6f7af","original_message":"Prepare for release 4.7.0.","message":"Prepare for release 4.7.0.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}910{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e2809002b94e1db3fa0e2ad0ca75c4c1e4a19d23","original_message":"Document auth retries function (#6031) \n \n * Document auth retries function \n \n * Update Authenticator.kt","message":"Document auth retries function\n* Document auth retries function\n* Update Authenticator.kt","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}911{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8cebf9012bbdfdbad6b833effc545ff5b8b8e48b","original_message":"Cache Events (#6015) \n \n Provide EventListener methods to understand the impact of caching.","message":"Cache Events\nProvide EventListener methods to understand the impact of caching.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}912{"url":"https:\/\/github.com\/square\/okhttp\/commit\/93ac4fa3b956e8747347fa36e394d40500883d7e","original_message":"Android Cache Test (#6010)","message":"Android Cache Test","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}913{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5c10006e0a0299ff39ad2e5ee425057b20644afd","original_message":"Centralise logging behind JUL (#6005) \n \n Use JUL, but wire up to the Android Log. \n \n Use `adb shell setprop log.tag.okhttp.Http2 DEBUG` to enable logging for known levels.","message":"Centralise logging behind JUL\nUse JUL, but wire up to the Android Log.\nUse `adb shell setprop log.tag.okhttp.Http2 DEBUG` to enable logging for known levels.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}914{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8036ad42b0bb7bdc18c0dc12438fdbba7aa7f255","original_message":"Check in the old public suffix DB","message":"Check in the old public suffix DB","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}915{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d56eb776e55f4ad531730c396a38902b24c5ee52","original_message":"Android docs for selecting devices","message":"Android docs for selecting devices","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}916{"url":"https:\/\/github.com\/square\/okhttp\/commit\/bc3c787ea2df854ac399603d5c67111716137d31","original_message":"Refactor Jdk9PlatformTest by using DelegatingSSLSocket \n \n Cont. https:\/\/github.com\/square\/okhttp\/pull\/5972 \n \n We can use DelegatingSSLSocket instead of overriding SSLSocket abstract class.","message":"Refactor Jdk9PlatformTest by using DelegatingSSLSocket\nCont. https:\/\/github.com\/square\/okhttp\/pull\/5972\nWe can use DelegatingSSLSocket instead of overriding SSLSocket abstract class.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}917{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ba5d3e278b027ee7a2cb741a1bec3646f9d11e16","original_message":"Migrate from Travis to GitHub Action for publishing","message":"Migrate from Travis to GitHub Action for publishing","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}918{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d9c8fbf3b273fe25aad0cd41f053547c1ed1b557","original_message":"Confirm MockWebServer shutdown is idempotent (#5946)","message":"Confirm MockWebServer shutdown is idempotent","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}919{"url":"https:\/\/github.com\/square\/okhttp\/commit\/02052b01f6cd1533dd5490ceb61ab6391c4cf2f8","original_message":"Convert DiskLruCacheTest to Kotlin (#5933) \n \n * Rename DiskLruCacheTest.java to DiskLruCacheTest.kt \n \n * Convert DiskLruCacheTest to Kotlin","message":"Convert DiskLruCacheTest to Kotlin\n* Rename DiskLruCacheTest.java to DiskLruCacheTest.kt\n* Convert DiskLruCacheTest to Kotlin","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}920{"url":"https:\/\/github.com\/square\/okhttp\/commit\/1a07f49bcb32ba1dd100833c5c539c7cbd58ffa5","original_message":"Kotlin 1.3.71 and misc dep upgrades (#5925)","message":"Kotlin 1.3.71 and misc dep upgrades","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}921{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0ea6ca0faae126db31fa81462b8ff7a0f64f387c","original_message":"Allowlist Sample for connecting to Dev servers (#5868)","message":"Allowlist Sample for connecting to Dev servers","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}922{"url":"https:\/\/github.com\/square\/okhttp\/commit\/08e23fcd02ccbd453b2037128b66f57bc7c8f1d2","original_message":"Add a canceled event to EventListener","message":"Add a canceled event to EventListener","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}923{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5ba145aa6c737878281c3fc655657002320b71c0","original_message":"Limit recovery attempts for REFUSED_STREAM errors \n \n We limit per-connection retries but not per-call retries, so this was \n creating large numbers of connections each of which called the server \n and accepted yet another REFUSED_STREAM. \n \n Instead we fail sooner with a StreamResetException. \n \n This shows that the ExchangeFinder interface is still somewhat inadequate \n to support all of the use cases we have.","message":"Limit recovery attempts for REFUSED_STREAM errors\nWe limit per-connection retries but not per-call retries, so this was\ncreating large numbers of connections each of which called the server\nand accepted yet another REFUSED_STREAM.\nInstead we fail sooner with a StreamResetException.\nThis shows that the ExchangeFinder interface is still somewhat inadequate\nto support all of the use cases we have.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}924{"url":"https:\/\/github.com\/square\/okhttp\/commit\/82f773376e19bb7e10916627349fad06e45f90cb","original_message":"Add HTTP\/2 and TLSv1.3 columns to our security providers doc","message":"Add HTTP\/2 and TLSv1.3 columns to our security providers doc","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}925{"url":"https:\/\/github.com\/square\/okhttp\/commit\/7c4c8c724dd8e05c4907c46309d0290dc44764fb","original_message":"Use Checkstyle's built-in Google style \n \n The boilerplate to set this up is unfortunate.","message":"Use Checkstyle's built-in Google style\nThe boilerplate to set this up is unfortunate.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}926{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ed9af27531b02f5ef334b7d606ef35c66f541958","original_message":"Android 10 support for X509TrustManager (#5688)","message":"Android 10 support for X509TrustManager","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}927{"url":"https:\/\/github.com\/square\/okhttp\/commit\/3e61ce3cf09e8ff2723ea70390ce0132f72bf14a","original_message":"Test Android with Play provider (#5679)","message":"Test Android with Play provider","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}928{"url":"https:\/\/github.com\/square\/okhttp\/commit\/96e596117e25d108bf9b96ad2899d3610f9915a0","original_message":"Use our test rule instead of the Maven Surefire listener \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/4894","message":"Use our test rule instead of the Maven Surefire listener\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/4894","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}929{"url":"https:\/\/github.com\/square\/okhttp\/commit\/20cd3a08935c78c75dae015964608b2c233d629d","original_message":"Increase severity of bridge methods to ERROR. (#5160) \n \n Delete the KotlinSourceCompatibilityTest. It has served its purpose.","message":"Increase severity of bridge methods to ERROR.\nDelete the KotlinSourceCompatibilityTest. It has served its purpose.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}930{"url":"https:\/\/github.com\/square\/okhttp\/commit\/b2460b7bffca38d908607262c84b963ff36f9693","original_message":"OkHttp 4 upgrade guide","message":"OkHttp 4 upgrade guide","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}931{"url":"https:\/\/github.com\/square\/okhttp\/commit\/b5efb41a636154cb8bbc7c5ea3c8244090692d28","original_message":"Degrade connections after a timeout \n \n This is based roughly on the 'Degraded Connections' proposal here \n https:\/\/github.com\/square\/okhttp\/issues\/3146#issuecomment-471196032 \n \n I'm using 1000 ms instead of 500 ms. That's about the cost of a (slow) \n TLS handshake, which is what callers would need to do if we degrade \n unnecessarily.","message":"Degrade connections after a timeout\nThis is based roughly on the 'Degraded Connections' proposal here\nhttps:\/\/github.com\/square\/okhttp\/issues\/3146#issuecomment-471196032\nI'm using 1000 ms instead of 500 ms. That's about the cost of a (slow)\nTLS handshake, which is what callers would need to do if we degrade\nunnecessarily.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}932{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0827fc62da61fce5cf7bedb088575fe41573b39d","original_message":"Update Headers factories to be idiomatic Kotlin","message":"Update Headers factories to be idiomatic Kotlin","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}933{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a0a3ef543cd5bf199878e14e34b2167e6cf9c575","original_message":"Beef up Request's toString \n \n Previously it unconditionally showed tags even if empty and would not show headers.","message":"Beef up Request's toString\nPreviously it unconditionally showed tags even if empty and would not show headers.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}934{"url":"https:\/\/github.com\/square\/okhttp\/commit\/96eb1111eb17553931fb55d86f21bb7fa4fccfa6","original_message":"Implement date formatting and parsing as extensions (#5134)","message":"Implement date formatting and parsing as extensions","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}935{"url":"https:\/\/github.com\/square\/okhttp\/commit\/df572ee9fda255b083e5ad0414b8cdd331d07254","original_message":"Convert hex digit parser to extension function","message":"Convert hex digit parser to extension function","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}936{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0137eb9dbad165caea7189c5c3e09382563ef8bd","original_message":"Remove unnecessary use of grouping parentheses \n \n Let's remove warnings found by errorprone. \n \n - attempt \n ``` \n okhttp\/okhttp\/src\/test\/java\/okhttp3\/CallTest.java:2056: warning: [UnnecessaryParentheses] Unnecessary use of grouping parentheses \n sink.writeUtf8('attempt ' + (attempt++)); \n ^ \n (see https:\/\/errorprone.info\/bugpattern\/UnnecessaryParentheses) \n Did you mean 'sink.writeUtf8('attempt ' + attempt++);'? \n ``` \n \n - isEaualTo \n ``` \n okhttp\/src\/test\/java\/okhttp3\/OkHttpClientTest.java:287: warning: [UnnecessaryParentheses] Unnecessary use of grouping parentheses \n assertThat(expected.getMessage()).isEqualTo(('protocols must not contain null')); \n ^ \n (see https:\/\/errorprone.info\/bugpattern\/UnnecessaryParentheses) \n ```","message":"Remove unnecessary use of grouping parentheses\nLet's remove warnings found by errorprone.\n- attempt\n```\nokhttp\/okhttp\/src\/test\/java\/okhttp3\/CallTest.java:2056: warning: [UnnecessaryParentheses] Unnecessary use of grouping parentheses\nsink.writeUtf8('attempt ' + (attempt++));\n^\n(see https:\/\/errorprone.info\/bugpattern\/UnnecessaryParentheses)\nDid you mean 'sink.writeUtf8('attempt ' + attempt++);'?\n```\n- isEaualTo\n```\nokhttp\/src\/test\/java\/okhttp3\/OkHttpClientTest.java:287: warning: [UnnecessaryParentheses] Unnecessary use of grouping parentheses\nassertThat(expected.getMessage()).isEqualTo(('protocols must not contain null'));\n^\n(see https:\/\/errorprone.info\/bugpattern\/UnnecessaryParentheses)\n```","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}937{"url":"https:\/\/github.com\/square\/okhttp\/commit\/620be4c97baf5d20cb21c55a11a6191b2511f1ce","original_message":"Use TaskRunner in MockWebServer \n \n The utility here is negligible. We're sharing threads between HTTP, \n HTTP\/2 and web sockets now.","message":"Use TaskRunner in MockWebServer\nThe utility here is negligible. We're sharing threads between HTTP,\nHTTP\/2 and web sockets now.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}938{"url":"https:\/\/github.com\/square\/okhttp\/commit\/460ee26ff69be9d70f24d2918f417f3faed9559f","original_message":"Idiomatic Kotlin for Multipart","message":"Idiomatic Kotlin for Multipart","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}939{"url":"https:\/\/github.com\/square\/okhttp\/commit\/b3027a52edfe25824ca96a4eaab3dfc08b622016","original_message":"Replace Math.min() with minOf (#5071) \n \n * Replace Math.min() with minOf \n \n * Fix","message":"Replace Math.min() with minOf\n* Replace Math.min() with minOf\n* Fix","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}940{"url":"https:\/\/github.com\/square\/okhttp\/commit\/53e0f9e7fb39f7babd6388a7a56e9c7e827667e7","original_message":"Adopt idiomatic Kotlin in Headers","message":"Adopt idiomatic Kotlin in Headers","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}941{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5fbf7cccd19c6f144a59cc2487e8a93636ecac0c","original_message":"Cancel calls on unexpected exceptions \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/5151","message":"Cancel calls on unexpected exceptions\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/5151","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}942{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e3e829d2060542d50f33d1a9864f7ace82c9db5c","original_message":"API change: Make OkHttpClient accessors final \n \n If we want these to be vals to Kotlin, they can't be open. I think the \n motivation to make these non-final was pretty weak, and I don't mind \n breaking API compatibility here.","message":"API change: Make OkHttpClient accessors final\nIf we want these to be vals to Kotlin, they can't be open. I think the\nmotivation to make these non-final was pretty weak, and I don't mind\nbreaking API compatibility here.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}943{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a2716d984bdf0930657aebb08c2b12c565130de3","original_message":"Fix master build (#5477)","message":"Fix master build","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}944{"url":"https:\/\/github.com\/square\/okhttp\/commit\/58a0a363d0c5f7a7c2fb6736bf96b459f40d39c5","original_message":"Convert MockWebServer to Kotlin","message":"Convert MockWebServer to Kotlin","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}945{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a1265b6140a8fe336602b969960d4048ebd1d3da","original_message":"Fix a regression in combining cache headers \n \n This was introduced with our migration to Kotlin. Iterating over the indices \n of the header names doesn't work because header names are not distinct. \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/5413","message":"Fix a regression in combining cache headers\nThis was introduced with our migration to Kotlin. Iterating over the indices\nof the header names doesn't work because header names are not distinct.\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/5413","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}946{"url":"https:\/\/github.com\/square\/okhttp\/commit\/f9d92d47f8b02d5cac75023410bf06c9fd67c3ab","original_message":"3.12.3 backports some bug fixes","message":"3.12.3 backports some bug fixes","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}947{"url":"https:\/\/github.com\/square\/okhttp\/commit\/99b83a3b20e6fe22b6ea587599fde1423056af2d","original_message":"Include prerequisites in the releasing guide. \n \n https:\/\/github.com\/cashapp\/barber\/blob\/master\/docs\/releasing.md","message":"Include prerequisites in the releasing guide.\nhttps:\/\/github.com\/cashapp\/barber\/blob\/master\/docs\/releasing.md","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}948{"url":"https:\/\/github.com\/square\/okhttp\/commit\/bc6776c751b4cd93551a2a20f56429bb78296829","original_message":"Convert Http2Connection to Kotlin (#5014) \n \n * Rename Http2Connection to .kt \n \n * Convert Http2Connection to Kotlin","message":"Convert Http2Connection to Kotlin\n* Rename Http2Connection to .kt\n* Convert Http2Connection to Kotlin","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}949{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2d75be404a6c5371faded5dcdcadd26f64199e0a","original_message":"Convert HttpDate to Kotlin (#5000) \n \n * Convert HttpDate to Kotlin \n \n * Idiomatic Kotlin \n \n * Revert back to if condition","message":"Convert HttpDate to Kotlin\n* Convert HttpDate to Kotlin\n* Idiomatic Kotlin\n* Revert back to if condition","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}950{"url":"https:\/\/github.com\/square\/okhttp\/commit\/1e386df1fe6293d1d00ce8a8cc98e75e1bf2d858","original_message":"Convert RetryAndFollowUpInterceptor to Kotlin \n \n Update RetryAndFollowUpInterceptor.kt","message":"Convert RetryAndFollowUpInterceptor to Kotlin\nUpdate RetryAndFollowUpInterceptor.kt","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}951{"url":"https:\/\/github.com\/square\/okhttp\/commit\/23ca0ea3bb33706f8e75412ab7d3ce1faa15a1d6","original_message":"Convert Http2Reader, Http2Writer to Kotlin (#4982) \n \n * Rename Http2.java to .kt (and others) \n \n * Convert Http2Reader, Http2Writer to Kotlin","message":"Convert Http2Reader, Http2Writer to Kotlin\n* Rename Http2.java to .kt (and others)\n* Convert Http2Reader, Http2Writer to Kotlin","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}952{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2a1f328d58de8d12861cdcf4be1c9f8902687e8d","original_message":"Add proxy event logging (#5300)","message":"Add proxy event logging","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}953{"url":"https:\/\/github.com\/square\/okhttp\/commit\/7292e54a63733493553a98184080c90168370399","original_message":"Update the changelog for OkHttp 4.0.1","message":"Update the changelog for OkHttp 4.0.1","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}954{"url":"https:\/\/github.com\/square\/okhttp\/commit\/930d4d07d836aef3c2681867d6ab9e73c23aacfb","original_message":"Passing conscrypt test (#5270)","message":"Passing conscrypt test","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}955{"url":"https:\/\/github.com\/square\/okhttp\/commit\/bdd6c3944f239d74d8b1288d8c50351fcc76d1ea","original_message":"Testing with JDK 12 and latest 11.0.3 (#5212) \n \n JDK 12 and be more specific about when we expect failures, e.g. 11.0.3 has fixes we should take into account.","message":"Testing with JDK 12 and latest 11.0.3\nJDK 12 and be more specific about when we expect failures, e.g. 11.0.3 has fixes we should take into account.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}956{"url":"https:\/\/github.com\/square\/okhttp\/commit\/675cb843cee2ca2579e9f49d777e7fa1c14b2f6f","original_message":"Tolerate null-hostile lists in public API","message":"Tolerate null-hostile lists in public API","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}957{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c6c7ce7dadf2ccaa04122f57a278a4a96d1f5c50","original_message":"DiskLruCache snapshot() method removing entries that are being cached (#3905) \n \n Fixed a bug I found. \n When using DiskLruCache, hasNext() method of Iterator<Snapshot> returned by snapshot() method iterates through lruEntries, however if entry is not completed yet, it is removed (together with dirtyFiles) as cleanFiles don't exist yet - during saving response to disk. This caused sometimes file not being cached at all.","message":"DiskLruCache snapshot() method removing entries that are being cached\nFixed a bug I found.\nWhen using DiskLruCache, hasNext() method of Iterator<Snapshot> returned by snapshot() method iterates through lruEntries, however if entry is not completed yet, it is removed (together with dirtyFiles) as cleanFiles don't exist yet - during saving response to disk. This caused sometimes file not being cached at all.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}958{"url":"https:\/\/github.com\/square\/okhttp\/commit\/18f2b5e6e69de28f420298862378abfd243096ce","original_message":"Fix source compatibility for some Kotlin callsites. (#4887) \n \n We had a problem where boolean vals needed to be reverted back to \n boolean funs. I'd like to go back to vals later, but supporting existing \n source patterns is more important. \n \n We also had a problem where single abstract method types (SAM types) \n could be supplied as lambas when calling into Java but not when calling \n into Kotlin. \n \n I found these by pointing KotlinSourceCompatibilityTest at the OkHttp \n \n Get there like this: \n git co 7eb897ab2e223632b3316bf46a15d37307a3d3b6^ \n git co 7eb897ab2e223632b3316bf46a15d37307a3d3b6 okhttp\/build.gradle \n git co 7eb897ab2e223632b3316bf46a15d37307a3d3b6 build.gradle","message":"Fix source compatibility for some Kotlin callsites.\nWe had a problem where boolean vals needed to be reverted back to\nboolean funs. I'd like to go back to vals later, but supporting existing\nsource patterns is more important.\nWe also had a problem where single abstract method types (SAM types)\ncould be supplied as lambas when calling into Java but not when calling\ninto Kotlin.\nI found these by pointing KotlinSourceCompatibilityTest at the OkHttp\nGet there like this:\ngit co 7eb897ab2e223632b3316bf46a15d37307a3d3b6^\ngit co 7eb897ab2e223632b3316bf46a15d37307a3d3b6 okhttp\/build.gradle\ngit co 7eb897ab2e223632b3316bf46a15d37307a3d3b6 build.gradle","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}959{"url":"https:\/\/github.com\/square\/okhttp\/commit\/eae6f32101a5be6bf20621b7765791d32cb70f09","original_message":"Fix correctness of WebSocketReader reserved flags test","message":"Fix correctness of WebSocketReader reserved flags test","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}960{"url":"https:\/\/github.com\/square\/okhttp\/commit\/008c7834929e8ec91ea8144ac9a30c9fb06e0636","original_message":"Run cron schedule in circleci (#4862)","message":"Run cron schedule in circleci","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}961{"url":"https:\/\/github.com\/square\/okhttp\/commit\/489c92400f579bace0950c910de2dca03959785e","original_message":"Revise the upgrading guide for OkHttp 4.x. \n \n Also change the old OkHttp 3.x Javadoc to set the new docs as canonical. \n https:\/\/publicobject.com\/2017\/02\/14\/canonical-urls-for-javadocs\/","message":"Revise the upgrading guide for OkHttp 4.x.\nAlso change the old OkHttp 3.x Javadoc to set the new docs as canonical.\nhttps:\/\/publicobject.com\/2017\/02\/14\/canonical-urls-for-javadocs\/","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}962{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5569a0d20f4669ddde8227d8777de54ddf373181","original_message":"Remove obsolete @JvmField","message":"Remove obsolete @JvmField","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}963{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8603e2d20e4335a7a530f90a2f6439d16b8767de","original_message":"Prepare for release 4.0.0-RC2.","message":"Prepare for release 4.0.0-RC2.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}964{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e7a704a1cea504d293eec9c93cf4dcaa4ec376f3","original_message":"Update javadoc","message":"Update javadoc","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}965{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4fb3842fe87eb11a1d75b7577e69603ff63cfb4e","original_message":"Convert CertificatePinner to a data class","message":"Convert CertificatePinner to a data class","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}966{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0e9a5c8054f8ae9b2bc4c41f32790fb52fd73944","original_message":"Make error-prone validate missing override annotations","message":"Make error-prone validate missing override annotations","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}967{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e8b271e69a0449d1859de21c6a098e1db1c36e9a","original_message":"Save reports (#4821)","message":"Save reports","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}968{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a7603602ca8b58c5a32117f03189d6d6a7c8e7be","original_message":"add @overide for subclass override method","message":"add @overide for subclass override method","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}969{"url":"https:\/\/github.com\/square\/okhttp\/commit\/967635662ab7b853508872c743629249cec2bb0c","original_message":"Clean up Address.kt","message":"Clean up Address.kt","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}970{"url":"https:\/\/github.com\/square\/okhttp\/commit\/422458316520e5d4e86dad88d8a40359a40bf3f0","original_message":"Revert 'Measure time' \n \n This reverts commit 853a80d3ff56facc18ed3efcec32fcc9eb959dc9.","message":"Revert 'Measure time'\nThis reverts commit 853a80d3ff56facc18ed3efcec32fcc9eb959dc9.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}971{"url":"https:\/\/github.com\/square\/okhttp\/commit\/87bfe81744b407ddba3b6fc154949204af546ea5","original_message":"Fix flaky DuplexTest.duplexWithRedirect \n \n The test is flaky because the server sometimes acts on the 301 response and resets the stream before the action added by MockDuplexResponseBody.sendResponse() is executed. This action then fails because it tries to write to a reset stream. mockDuplexResponseBody.awaitSuccess() then throws and fails the test. \n \n The change enforces the de-facto sequence on most runs, where the 301 response is handled only after the Duplex response is sent. \n \n Fixes https:\/\/github.com\/square\/okhttp\/issues\/4743","message":"Fix flaky DuplexTest.duplexWithRedirect\nThe test is flaky because the server sometimes acts on the 301 response and resets the stream before the action added by MockDuplexResponseBody.sendResponse() is executed. This action then fails because it tries to write to a reset stream. mockDuplexResponseBody.awaitSuccess() then throws and fails the test.\nThe change enforces the de-facto sequence on most runs, where the 301 response is handled only after the Duplex response is sent.\nFixes https:\/\/github.com\/square\/okhttp\/issues\/4743","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}972{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d04b9b0cca894c7aef4c52d77e3f599bd6ef612e","original_message":"Skip hpack if tests are missing (#4770)","message":"Skip hpack if tests are missing","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}973{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8512256dff756888fc967f1763c3d882c892edda","original_message":"change var to val, readonly is better","message":"change var to val, readonly is better","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}974{"url":"https:\/\/github.com\/square\/okhttp\/commit\/43f93d014c6cf42847ba88fe67dc2d7237bbfb4b","original_message":"Fix flaky testRfc2109Response() \n \n The time delta in the cookie max-age is rounded down, so is at most 59 seconds. Possibly a GC or some other hiccup can occasionally make it lower, so allow some room for error. \n \n Fixes https:\/\/github.com\/square\/okhttp\/issues\/4733.","message":"Fix flaky testRfc2109Response()\nThe time delta in the cookie max-age is rounded down, so is at most 59 seconds. Possibly a GC or some other hiccup can occasionally make it lower, so allow some room for error.\nFixes https:\/\/github.com\/square\/okhttp\/issues\/4733.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}975{"url":"https:\/\/github.com\/square\/okhttp\/commit\/7fa3f9fc49b9e526fcc0168bf7ee082c29956359","original_message":"Configure travis caching for gradle.","message":"Configure travis caching for gradle.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}976{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e7a04f92a2f5d1fa13866b333dada999c3c11fd8","original_message":"Release websocket transmitter before failing response #4695","message":"Release websocket transmitter before failing response #4695","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}977{"url":"https:\/\/github.com\/square\/okhttp\/commit\/59e68cd2bcba789e7faca70f8910afd2edeed2be","original_message":"Introduce Exchange. \n \n This is the payoff that preceding changes have been working towards. \n This splits StreamAllocation into three parts: \n \n - ExchangeFinder: strategy to allocate connections for exchanges \n - Exchange: a single request\/response pair \n - Transmitter: a sequence of exchanges for a Call \n \n The refactoring isn't totally complete, but this should be the last \n big one. \n \n https:\/\/github.com\/square\/okhttp\/issues\/4603","message":"Introduce Exchange.\nThis is the payoff that preceding changes have been working towards.\nThis splits StreamAllocation into three parts:\n- ExchangeFinder: strategy to allocate connections for exchanges\n- Exchange: a single request\/response pair\n- Transmitter: a sequence of exchanges for a Call\nThe refactoring isn't totally complete, but this should be the last\nbig one.\nhttps:\/\/github.com\/square\/okhttp\/issues\/4603","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}978{"url":"https:\/\/github.com\/square\/okhttp\/commit\/aac6c8da0720c53ccd8aa8385f8f250f78a7b61c","original_message":"Introduce EventListener.requestFailed, responseFailed events \n \n These replace requestBodyEnd() \/ responseBodyEnd() in some failure scenarios. \n They may also be issued in cases where no event was published previously.","message":"Introduce EventListener.requestFailed, responseFailed events\nThese replace requestBodyEnd() \/ responseBodyEnd() in some failure scenarios.\nThey may also be issued in cases where no event was published previously.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}979{"url":"https:\/\/github.com\/square\/okhttp\/commit\/512f3528daf902fb74ad0e128420763cb91bdd35","original_message":"Jdk8WithJettyBootPlatform - load through bootstrap","message":"Jdk8WithJettyBootPlatform - load through bootstrap","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}980{"url":"https:\/\/github.com\/square\/okhttp\/commit\/652f3a1d36298f15677a7eda7838fa5c04d6016b","original_message":"HTTP\/1 >> HTTP1","message":"HTTP\/1 >> HTTP1","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}981{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c8b1ee602bcd1541dd3f9eebb72aef08338f6224","original_message":"Support follow-ups for duplex requests. \n \n https:\/\/github.com\/square\/okhttp\/issues\/4267","message":"Support follow-ups for duplex requests.\nhttps:\/\/github.com\/square\/okhttp\/issues\/4267","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}982{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2594c6c695f2898bba947ea86a7aaac8dcfd4dc4","original_message":"Don't call callEnd() twice when application interceptors proceed twice. \n \n I'm working towards reducing the role StreamAllocation plays. \n \n https:\/\/github.com\/square\/okhttp\/issues\/4603","message":"Don't call callEnd() twice when application interceptors proceed twice.\nI'm working towards reducing the role StreamAllocation plays.\nhttps:\/\/github.com\/square\/okhttp\/issues\/4603","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}983{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2b5337d14ecce5f965ea0d0001f30565f0e1d4a0","original_message":"Fix some maven problems that are blocking the 3.13 release","message":"Fix some maven problems that are blocking the 3.13 release","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}984{"url":"https:\/\/github.com\/square\/okhttp\/commit\/94c38da706a99f2be825c67718c150b58eb08928","original_message":"Permit multipart filenames to contain non-ascii characters \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/4564","message":"Permit multipart filenames to contain non-ascii characters\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/4564","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}985{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0dc50f11122d9e1a5f6546a2159ecb46e07727c3","original_message":"Run IntelliJ inspections on the codebase \n \n Some nullability warnings, some diamond operators, adopting Objects.equals(), \n and some dead code elimination.","message":"Run IntelliJ inspections on the codebase\nSome nullability warnings, some diamond operators, adopting Objects.equals(),\nand some dead code elimination.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}986{"url":"https:\/\/github.com\/square\/okhttp\/commit\/bdc7681b3ba16ae311d2dd21160d61315e8942ca","original_message":"Drop code for Android 2.3 through 4.4. \n \n No more Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean or KitKat.","message":"Drop code for Android 2.3 through 4.4.\nNo more Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean or KitKat.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}987{"url":"https:\/\/github.com\/square\/okhttp\/commit\/97ba25854476bc5ff9ea4b8d3b4a78f6e9cf1a3e","original_message":"Update issue templates","message":"Update issue templates","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}988{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0685dfaa7ff71a8f16b1b71f417b08eff13ec55f","original_message":"Move TLSv1 and TLSv1.1 to COMPATIBLE_TLS. \n \n We no longer connect to TLSv1.0 or TLSv1.1 servers out-of-the-box; instead \n it is necessary to enable COMPATIBLE_TLS in the OkHttpClient configuration. \n \n This is in the path to later removing these TLS versions completely; that \n is scheduled for March 2020 by some browsers. \n \n https:\/\/github.com\/square\/okhttp\/issues\/4319","message":"Move TLSv1 and TLSv1.1 to COMPATIBLE_TLS.\nWe no longer connect to TLSv1.0 or TLSv1.1 servers out-of-the-box; instead\nit is necessary to enable COMPATIBLE_TLS in the OkHttpClient configuration.\nThis is in the path to later removing these TLS versions completely; that\nis scheduled for March 2020 by some browsers.\nhttps:\/\/github.com\/square\/okhttp\/issues\/4319","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}989{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8c2a4cfffacc9bb8272182d327b05488a1810c80","original_message":"Don't crash on IPv4-mapped IPv6 addresses \n \n https:\/\/github.com\/square\/okhttp\/issues\/4451","message":"Don't crash on IPv4-mapped IPv6 addresses\nhttps:\/\/github.com\/square\/okhttp\/issues\/4451","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}990{"url":"https:\/\/github.com\/square\/okhttp\/commit\/fe5d3eb89549d9ed7433bb88d364832e66b76cdc","original_message":"Change contributing guide in repo to match wiki (#4414)","message":"Change contributing guide in repo to match wiki","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}991{"url":"https:\/\/github.com\/square\/okhttp\/commit\/fa24d3dd7465f79aa35c3c7066a3269975be87e2","original_message":"Exclude 'internal' packages in generated Javadocs","message":"Exclude 'internal' packages in generated Javadocs","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}992{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4b204037e6415a486df4eadb0c659c666e6b9aba","original_message":"Remove overlapping package-info.java","message":"Remove overlapping package-info.java","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}993{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5373160d20aa3f6036ff5ebc91137888c4abffbe","original_message":"Whole operation timeouts \n \n Strictly-speaking this change is backwards-incompatible because it adds \n a new method to the Call interface. The method returns the call's timeout. \n \n The trickiest part of this is signaling the end of the call, which \n occurs after the last byte is consumed of the last follow up request, \n or when the call fails. Fortunately this is made easier by borrowing \n the sites used by EventListener, which already plots out where calls \n end. \n \n https:\/\/github.com\/square\/okhttp\/issues\/2840","message":"Whole operation timeouts\nStrictly-speaking this change is backwards-incompatible because it adds\na new method to the Call interface. The method returns the call's timeout.\nThe trickiest part of this is signaling the end of the call, which\noccurs after the last byte is consumed of the last follow up request,\nor when the call fails. Fortunately this is made easier by borrowing\nthe sites used by EventListener, which already plots out where calls\nend.\nhttps:\/\/github.com\/square\/okhttp\/issues\/2840","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}994{"url":"https:\/\/github.com\/square\/okhttp\/commit\/70bf8e78b7dbf8ed08dfd93596ba6ebfca52d3a3","original_message":"CipherSuite init speedup (#4340)","message":"CipherSuite init speedup","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}995{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c951e6ed887ad8b9595652f39dad646590b22037","original_message":"APIs to set date headers","message":"APIs to set date headers","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}996{"url":"https:\/\/github.com\/square\/okhttp\/commit\/be245e75cdfe87f077743ba9e72c66e04c3ded02","original_message":"Document HttpLoggingInterceptor.redactHeader()","message":"Document HttpLoggingInterceptor.redactHeader()","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}997{"url":"https:\/\/github.com\/square\/okhttp\/commit\/474c23aa3035dc34eb6487ee7e2d4ba03bfb8c7a","original_message":"Properly parse RFC 7235 authentication headers (#4249) (#4252)","message":"Properly parse RFC 7235 authentication headers (#4249)","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}998{"url":"https:\/\/github.com\/square\/okhttp\/commit\/63ed542534eec2b1eb124531452a467b5541baa7","original_message":"API for handling an unexpected SSE response","message":"API for handling an unexpected SSE response","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}999{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a01b5115985e555761fee9f9dafb9d7f14ad13cd","original_message":"MockWebserver fix for IPv6 addresses (#4235) \n \n Wrap IPv6 addresses with [] and return '\/' path URIs for proxy CONNECT","message":"MockWebserver fix for IPv6 addresses\nWrap IPv6 addresses with [] and return '\/' path URIs for proxy CONNECT","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1000{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5a17198acef96906dc6698245ad3192a1b4f6384","original_message":"remove experimental doc","message":"remove experimental doc","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}1001{"url":"https:\/\/github.com\/square\/okhttp\/commit\/355c8b0ef12318994822b4095dcd9cdcec1e259a","original_message":"Skip UTF-8 decode of keys, defer UTF-8 decode of data","message":"Skip UTF-8 decode of keys, defer UTF-8 decode of data","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1002{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5fe3cc2d089810032671d6135ad137af6f491d28","original_message":"OkHttpClient.cache() is nullable. (#3916)","message":"OkHttpClient.cache() is nullable.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1003{"url":"https:\/\/github.com\/square\/okhttp\/commit\/69bdd6961ba294894620f850b6b01d7175ae8009","original_message":"Restricted ciphers (#3908) \n \n Add a 'best practice' restricted TLS connection spec","message":"Restricted ciphers\nAdd a 'best practice' restricted TLS connection spec","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1004{"url":"https:\/\/github.com\/square\/okhttp\/commit\/137e7de0454f10160370f105ac7d9d2fc5403c84","original_message":"New API, HandshakeCertificates.addPlatformTrustedCertificates() \n \n Also rename HeldCertificate.Builder.issuedBy() to signedBy(). 'Issued' is the \n word used by certificates; 'signed' is the word used by cryptographers. I prefer \n 'signed'.","message":"New API, HandshakeCertificates.addPlatformTrustedCertificates()\nAlso rename HeldCertificate.Builder.issuedBy() to signedBy(). 'Issued' is the\nword used by certificates; 'signed' is the word used by cryptographers. I prefer\n'signed'.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1005{"url":"https:\/\/github.com\/square\/okhttp\/commit\/db2ae92156242255a0d42caaf50c7801e79de917","original_message":"Fixup HeldCertificate so that it's worthy of production use. \n \n This changes the default from the insecure 1024-bit RSA to a secure 256-bit ECDSA \n key. It adds a new option to use RSA keys for interoperating with older clients.","message":"Fixup HeldCertificate so that it's worthy of production use.\nThis changes the default from the insecure 1024-bit RSA to a secure 256-bit ECDSA\nkey. It adds a new option to use RSA keys for interoperating with older clients.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1006{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d908a676c25b6b3d547b45a9970f4bfb7a358010","original_message":"Support client authentication in MockWebServer \n \n Also expose the handshake in the RecordedResponse. \n \n https:\/\/github.com\/square\/okhttp\/issues\/3934","message":"Support client authentication in MockWebServer\nAlso expose the handshake in the RecordedResponse.\nhttps:\/\/github.com\/square\/okhttp\/issues\/3934","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1007{"url":"https:\/\/github.com\/square\/okhttp\/commit\/af6198a1e992b55ff4d16dcaeeacbb4e90e29c8a","original_message":"Fail HTTP\/2 connections if the pong is not received. (#3878) \n \n This removes the Ping abstraction from our http2 package. This was written as \n if it were a public API, but never exposed to any callers but tests. Removing \n it makes it easier to lock down how pings are used. \n \n This also removes the NullServer class, replacing it with a new SocketPolicy \n on MockWebServer. The new SocketPolicy, STALL_SOCKET_AT_START, allows us to \n do TLS and negotiate an HTTP\/2 connection without actually building a proper \n Http2Connection and without responding to pings. \n \n The behavior in HTTP\/2 connections is modeled after our behavior in web sockets. \n We count outgoing pings, incoming pongs, and confirm that the pongs are keeping \n up. If later we make this policy more sophisticated we can track the changes \n in both places. \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/3261","message":"Fail HTTP\/2 connections if the pong is not received.\nThis removes the Ping abstraction from our http2 package. This was written as\nif it were a public API, but never exposed to any callers but tests. Removing\nit makes it easier to lock down how pings are used.\nThis also removes the NullServer class, replacing it with a new SocketPolicy\non MockWebServer. The new SocketPolicy, STALL_SOCKET_AT_START, allows us to\ndo TLS and negotiate an HTTP\/2 connection without actually building a proper\nHttp2Connection and without responding to pings.\nThe behavior in HTTP\/2 connections is modeled after our behavior in web sockets.\nWe count outgoing pings, incoming pongs, and confirm that the pongs are keeping\nup. If later we make this policy more sophisticated we can track the changes\nin both places.\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/3261","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1008{"url":"https:\/\/github.com\/square\/okhttp\/commit\/abb0a790802996d1039c35424b70b0f3f06b94b7","original_message":"First step towards HTTP\/2 automatic pings. (#3874) \n \n This changes the executor services in HTTP\/2 connection to split up \n listener executors (of which there may be many threads) from writer \n executors (of which there is one per connection). \n \n This adds a scheduled executor job to send pings on an interval. We \n don't yet fail the connection if pongs are not received. \n \n For follow-up there's some work to remove exising APIs to send pings \n through the HTTP\/2 APIs. These are unused and make it awkard to \n confirm that only the automatic pings are being replied to. \n \n See https:\/\/github.com\/square\/okhttp\/issues\/3261","message":"First step towards HTTP\/2 automatic pings.\nThis changes the executor services in HTTP\/2 connection to split up\nlistener executors (of which there may be many threads) from writer\nexecutors (of which there is one per connection).\nThis adds a scheduled executor job to send pings on an interval. We\ndon't yet fail the connection if pongs are not received.\nFor follow-up there's some work to remove exising APIs to send pings\nthrough the HTTP\/2 APIs. These are unused and make it awkard to\nconfirm that only the automatic pings are being replied to.\nSee https:\/\/github.com\/square\/okhttp\/issues\/3261","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1009{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ea014716fd2a8712ee39888725f91bed43148cd3","original_message":"Remove CBC-mode ECDSA cipher suites \n \n This removes the following cipher suites as supported-by-default: \n TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA \n TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA \n \n This tracks a similar change in Chromium 56: \n https:\/\/developers.google.com\/web\/updates\/2016\/12\/chrome-56-deprecations#remove_cbc-mode_ecdsa_ciphers_in_tls \n \n OkHttp's updated cipher suites, plus comparisons to Android, Java, \n Chromium, Firefox, and Square's server-site configuration is here: \n https:\/\/tinyurl.com\/okhttp-cipher-suites \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/3035","message":"Remove CBC-mode ECDSA cipher suites\nThis removes the following cipher suites as supported-by-default:\nTLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\nTLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\nThis tracks a similar change in Chromium 56:\nhttps:\/\/developers.google.com\/web\/updates\/2016\/12\/chrome-56-deprecations#remove_cbc-mode_ecdsa_ciphers_in_tls\nOkHttp's updated cipher suites, plus comparisons to Android, Java,\nChromium, Firefox, and Square's server-site configuration is here:\nhttps:\/\/tinyurl.com\/okhttp-cipher-suites\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/3035","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1010{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0a4896a296c113c5fe0e82f0f052e615b95527bf","original_message":"Transfer to\/from FileChannel directly from Buffer. (#3846)","message":"Transfer to\/from FileChannel directly from Buffer.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1011{"url":"https:\/\/github.com\/square\/okhttp\/commit\/18f3564a4f2b17c3067e7f02337e3909ba5cb3ba","original_message":"Update deploy_snapshot.sh to temporarily ignore javadoc errors and compile tests but not run (#3821)","message":"Update deploy_snapshot.sh to temporarily ignore javadoc errors and compile tests but not run","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1012{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0cf6f33c1fd1ff84970fa2400afb70a1ea176d5d","original_message":"document buffer (#3748)","message":"document buffer","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}1013{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c310d27440bd58c23a8cb7795fe1e9514488c962","original_message":"workaround broken system dns behaviour","message":"workaround broken system dns behaviour","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1014{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d6fd0d3832907ff36789b89450df09320081fc66","original_message":"Fix travis build","message":"Fix travis build","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}1015{"url":"https:\/\/github.com\/square\/okhttp\/commit\/3646138247488c9832a7f325401fe0b12fcdbebf","original_message":"Don't summarize the request and response headers. (#3576) \n \n Just pass the Request and Response objects in directly.","message":"Don't summarize the request and response headers.\nJust pass the Request and Response objects in directly.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1016{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a95ec06a5037f7ca84f4f596397ce6090734c59b","original_message":"Fix a race in WebSocketHttpTest. (#3570) \n \n We were assuming on a client failure the server wouldn't have any \n further events. But it will get a failure if we give it a moment. \n This was causing some test flakiness.","message":"Fix a race in WebSocketHttpTest.\nWe were assuming on a client failure the server wouldn't have any\nfurther events. But it will get a failure if we give it a moment.\nThis was causing some test flakiness.","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}1017{"url":"https:\/\/github.com\/square\/okhttp\/commit\/1801d0cb2c7132a97c3e9c011a8546f883dfcf12","original_message":"update proguard rules on README.md (#3559)","message":"update proguard rules on README.md","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1018{"url":"https:\/\/github.com\/square\/okhttp\/commit\/cdc48ba8b0e4bdfccc208985bfef200220096d9d","original_message":"IOException instead of Throwable in EventListener API (#3543)","message":"IOException instead of Throwable in EventListener API","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1019{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2f1e59e16792f4204dd5d03482b4bdc67554d7d6","original_message":"Travis: Remove the duplicate addons directive (#3492)","message":"Travis: Remove the duplicate addons directive","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1020{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0d069f3b7bc524320fc76051408384f8ece77412","original_message":"Prefer ByteString.encodeString. \n \n This saves cloning the byte array because the byte array can't be modified by the caller.","message":"Prefer ByteString.encodeString.\nThis saves cloning the byte array because the byte array can't be modified by the caller.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1021{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d4a9cf4772ae9d8991e58d934dea433798c9b8eb","original_message":"`response` receives null explicitly from several catch clauses => Fix nullability (override default parameter nullability set at package-info). (#3449)","message":"`response` receives null explicitly from several catch clauses => Fix nullability (override default parameter nullability set at package-info).","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1022{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c7d508b79c9e201c91ec23f5eec47c18be206567","original_message":"Add support for connect start\/end events. (#3434)","message":"Add support for connect start\/end events.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1023{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a9942c7c902a4ecc3c96b97b34737c54b07b48d2","original_message":"Fix code reference in Javadoc.","message":"Fix code reference in Javadoc.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}1024{"url":"https:\/\/github.com\/square\/okhttp\/commit\/f87d32984dd9b1f5a7092b52dbecbafd784bd764","original_message":"README: ProGuard changes for OkHttp 3.8.0","message":"README: ProGuard changes for OkHttp 3.8.0","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1025{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e5c84e1aef9572adb493197c1b6c4e882aca085b","original_message":"Update changelog for OkHttp 3.8.","message":"Update changelog for OkHttp 3.8.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1026{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e7e22feb12244b455c8f4961d7eeab7cd21965fe","original_message":"Fix Javadoc builds with the jsr305 dependency. \n \n Because multiple modules share a package we need to share the dependency on \n everything in package-info.java.","message":"Fix Javadoc builds with the jsr305 dependency.\nBecause multiple modules share a package we need to share the dependency on\neverything in package-info.java.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1027{"url":"https:\/\/github.com\/square\/okhttp\/commit\/29d56966c1ba932920b278467bb3d61f49709da9","original_message":"Forbid null for a response's message. \n \n This was only ever null in test code. Everything that parses responses from \n the network gets a non-null value. The message may be empty.","message":"Forbid null for a response's message.\nThis was only ever null in test code. Everything that parses responses from\nthe network gets a non-null value. The message may be empty.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1028{"url":"https:\/\/github.com\/square\/okhttp\/commit\/1c2c57b1a9e037d81aeac3ad5088db9ec4358fb1","original_message":"Add error-prone compiler and fix its found issues.","message":"Add error-prone compiler and fix its found issues.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}1029{"url":"https:\/\/github.com\/square\/okhttp\/commit\/6651a9c15e06e8d1829aa00f970998be2f33b225","original_message":"Change MediaType's failure mode to not crash on charset problems. \n \n As-is it throws unchecked exceptions on unexpected charsets. This is a problem \n because it can cause a misbehaving webserver to crash the client. \n \n I don't expect this to break existing clients; returning 'null' has always \n been a possibility; it's just returned in more cases.","message":"Change MediaType's failure mode to not crash on charset problems.\nAs-is it throws unchecked exceptions on unexpected charsets. This is a problem\nbecause it can cause a misbehaving webserver to crash the client.\nI don't expect this to break existing clients; returning 'null' has always\nbeen a possibility; it's just returned in more cases.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1030{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c9496d350c0c3bb4b9d9571c3ab97181726561e2","original_message":"Invalidate the cache even if the response has no body. \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/3203","message":"Invalidate the cache even if the response has no body.\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/3203","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1031{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8864c5d687df432021a4409aad4e0448ed030c5a","original_message":"Permit network interceptors to rewrite the host header. \n \n This makes it possible to do domain fronting. \n \n Closes https:\/\/github.com\/square\/okhttp\/issues\/3103","message":"Permit network interceptors to rewrite the host header.\nThis makes it possible to do domain fronting.\nCloses https:\/\/github.com\/square\/okhttp\/issues\/3103","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1032{"url":"https:\/\/github.com\/square\/okhttp\/commit\/87b86a53c4a5c591b8e1c5ec94b4d81edece00a8","original_message":"Add ProGuard config to README","message":"Add ProGuard config to README","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1033{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ca76167504d5323f2a8c1011402907b9a755585c","original_message":"Make the crawler a little better. \n \n Name threads by their URLs. Don't follow all fragments of the same URL.","message":"Make the crawler a little better.\nName threads by their URLs. Don't follow all fragments of the same URL.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1034{"url":"https:\/\/github.com\/square\/okhttp\/commit\/9e0b5b81b0ac25f59a25bd744dc788fe5c3e2971","original_message":"Make FakeDns more capable.","message":"Make FakeDns more capable.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1035{"url":"https:\/\/github.com\/square\/okhttp\/commit\/caec3c711887b16852c9a4b1bd6d795f3f1b9ca4","original_message":"fix CertificateChainCleanerTest for Java 9","message":"fix CertificateChainCleanerTest for Java 9","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1036{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ef6e605fafe8bd65045b42ae0decd5f91c3ec6c6","original_message":"Change HttpURL.redact() to return a String.","message":"Change HttpURL.redact() to return a String.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}1037{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c3e31674ea267b6fc01cb5a857d5937ca3f7740b","original_message":"Changelog for OkHttp 3.5.0.","message":"Changelog for OkHttp 3.5.0.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1038{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5d43df973ae841ca05a63580c6a225ff251c410b","original_message":"Fix an invalid HTML entity in the SlackApi Javadoc. \n \n And-per-se-and","message":"Fix an invalid HTML entity in the SlackApi Javadoc.\nAnd-per-se-and","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1039{"url":"https:\/\/github.com\/square\/okhttp\/commit\/22b250c1b87d2c8038a78f9aea5dec3b644ce977","original_message":"Correct UTF8 BOM is EFBBBF","message":"Correct UTF8 BOM is EFBBBF","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}1040{"url":"https:\/\/github.com\/square\/okhttp\/commit\/02b08fbde7b1726d7a4c0dc971152751ac82ca0a","original_message":"Allow HTAB in header values. \n \n RFC 7230 section 3.2 allows HTAB ('\t', 'u0009') inside header \n values as long as there is not more than one in a row: \n https:\/\/tools.ietf.org\/html\/rfc7230#section-3.2 \n \n Before this CL, OkHttp previously disallowed HTAB in header values. \n This CL changes behavior to allow any number of consecutive HTABs \n inside a header value; this is more permissive than the RFC, but \n is consistent with how OkHttp currently treats space characters \n (' ', 'u0020').","message":"Allow HTAB in header values.\nRFC 7230 section 3.2 allows HTAB ('\t', 'u0009') inside header\nvalues as long as there is not more than one in a row:\nhttps:\/\/tools.ietf.org\/html\/rfc7230#section-3.2\nBefore this CL, OkHttp previously disallowed HTAB in header values.\nThis CL changes behavior to allow any number of consecutive HTABs\ninside a header value; this is more permissive than the RFC, but\nis consistent with how OkHttp currently treats space characters\n(' ', 'u0020').","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1041{"url":"https:\/\/github.com\/square\/okhttp\/commit\/fd509b937c4a5438fe02ddf06ade5ad56736af5d","original_message":"Inject a leading . for better matching under JavaNetCookieJar \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/2549","message":"Inject a leading . for better matching under JavaNetCookieJar\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/2549","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1042{"url":"https:\/\/github.com\/square\/okhttp\/commit\/bf40d52edbb88d5afaa35af24837e3b72ac84eab","original_message":"Fix a test to not require a fallback IP address. \n \n This might be an unexpected upside of the migration to the Call API. \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/2178","message":"Fix a test to not require a fallback IP address.\nThis might be an unexpected upside of the migration to the Call API.\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/2178","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1043{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a0b9308d270c6d107c57adb1d017901897b5c9a4","original_message":"Update Javadoc example","message":"Update Javadoc example","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1044{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8688f539f17b5fe1be9ffc8bf167b88b1558084a","original_message":"More docs for HttpUrl. \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/2577 \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/2263","message":"More docs for HttpUrl.\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/2577\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/2263","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1045{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a5dc3106c54ae0aecd9237ffd942924e61ad5c0f","original_message":"Do not allow remote peer to arbitrarily size the HPACK decoder dynamic table.","message":"Do not allow remote peer to arbitrarily size the HPACK decoder dynamic table.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}1046{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5b8c043329b181d6d762d6192f3ded8abd84852e","original_message":"Fix tests to share a common Dispatcher. \n \n Also fix the memory limit, which may prevent Travis from failing \n our tests.","message":"Fix tests to share a common Dispatcher.\nAlso fix the memory limit, which may prevent Travis from failing\nour tests.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1047{"url":"https:\/\/github.com\/square\/okhttp\/commit\/15a5bc40a4520d935bbc02a3552f51dda77fcc9c","original_message":"Collapse interceptors into a single chain. \n \n Instead of having a chain of application interceptors and a separate chain \n of network interceptors, this makes a single heterogeneous chain. It makes \n the OkHttp core and network caller into interceptors.","message":"Collapse interceptors into a single chain.\nInstead of having a chain of application interceptors and a separate chain\nof network interceptors, this makes a single heterogeneous chain. It makes\nthe OkHttp core and network caller into interceptors.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1048{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e3cd9b9f1c9787c36d5ea82190bf1e2365377e66","original_message":"Fixes #2513 - NetworkSecurityPolicy based ConnectionSpec setup.","message":"","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1049{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8f8018ce5d712af94c31254763d70d047adcb4e1","original_message":"updates junit version to v4.12","message":"updates junit version to v4.12","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1050{"url":"https:\/\/github.com\/square\/okhttp\/commit\/9b4e74f8c8ce6fff4281c2d7369fb25f6772a64e","original_message":"A Pipe. \n \n This is something we need to implement HttpURLConnection atop the native \n OkHttp API. The application thread wants to be active, writing to its \n OutputStream. But in OkHttp's API, this work wants to happen in the \n RequestBody.writeTo() callback. To make this work we give the HttpUrlConnection \n OutputStream the sink end of the pipe, and the RequestBody the source end \n of the pipe. It's a bit of plumbing, but the benefit is that backpressure, \n timeouts, and failures will propagate as expected.","message":"A Pipe.\nThis is something we need to implement HttpURLConnection atop the native\nOkHttp API. The application thread wants to be active, writing to its\nOutputStream. But in OkHttp's API, this work wants to happen in the\nRequestBody.writeTo() callback. To make this work we give the HttpUrlConnection\nOutputStream the sink end of the pipe, and the RequestBody the source end\nof the pipe. It's a bit of plumbing, but the benefit is that backpressure,\ntimeouts, and failures will propagate as expected.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1051{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ad103f421ea546c1cb929eef0610eac5291a0607","original_message":"Use Moshi in OkHttp. \n \n As discussed here: https:\/\/github.com\/square\/okhttp\/pull\/2492","message":"Use Moshi in OkHttp.\nAs discussed here: https:\/\/github.com\/square\/okhttp\/pull\/2492","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1052{"url":"https:\/\/github.com\/square\/okhttp\/commit\/6b9eeb18d4f42d0fbadaa6d7e83b0cbaf135a054","original_message":"Update changelog for OkHttp 3.3.0.","message":"Update changelog for OkHttp 3.3.0.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1053{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c63be3ee65184d119d5145e77986298287118c3a","original_message":"document support for SNI","message":"document support for SNI","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1054{"url":"https:\/\/github.com\/square\/okhttp\/commit\/85f74e2004eaf0d4ff339e8644df3d8e716361e5","original_message":"Accept user-provided trust managers in OkHttpClient.Builder \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/2427","message":"Accept user-provided trust managers in OkHttpClient.Builder\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/2427","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1055{"url":"https:\/\/github.com\/square\/okhttp\/commit\/881bfb826fe3f717da329d2c99df80733484091a","original_message":"Remove untrue Callback statement from doc","message":"Remove untrue Callback statement from doc","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1056{"url":"https:\/\/github.com\/square\/okhttp\/commit\/b8fd4e3de0098c44010800c8206000a21feeb252","original_message":"Update readme and changelog for 3.1.2.","message":"Update readme and changelog for 3.1.2.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1057{"url":"https:\/\/github.com\/square\/okhttp\/commit\/18b2660873ed8f028ee72981c882ed676aa08030","original_message":"New CertificateAuthorityCouncil class to normalize certificate chains. \n \n The goal of this is to get the root CA certificate into the certificate \n chain, so that it can be considered by the certificate pinner. The work \n to integrate CertificateAuthorityCouncil with CertificatePinner will \n come in a follow-up PR. \n \n See: https:\/\/github.com\/square\/okhttp\/issues\/1699","message":"New CertificateAuthorityCouncil class to normalize certificate chains.\nThe goal of this is to get the root CA certificate into the certificate\nchain, so that it can be considered by the certificate pinner. The work\nto integrate CertificateAuthorityCouncil with CertificatePinner will\ncome in a follow-up PR.\nSee: https:\/\/github.com\/square\/okhttp\/issues\/1699","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1058{"url":"https:\/\/github.com\/square\/okhttp\/commit\/6a79c3223c5ff2d556bbab8eb9909fffc4ca4387","original_message":"Update README.md -> Mockito moved to Github","message":"Update README.md -> Mockito moved to Github","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1059{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d0c7fd06bf4e412b5dd942ac590e7ac2585927ff","original_message":"Update website to link to OkHttp 3.x Javadoc.","message":"Update website to link to OkHttp 3.x Javadoc.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1060{"url":"https:\/\/github.com\/square\/okhttp\/commit\/fc238a225d6da5b8d6e8fcb580b9d66021953fd7","original_message":"Handle UnsupportedCharsetException in HttpLoggingInterceptor","message":"Handle UnsupportedCharsetException in HttpLoggingInterceptor","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}1061{"url":"https:\/\/github.com\/square\/okhttp\/commit\/7826bcb2fb1facb697a4c512776756c05d8c9deb","original_message":"Fix some get prefixes on Cache and ConnectionPool.","message":"Fix some get prefixes on Cache and ConnectionPool.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1062{"url":"https:\/\/github.com\/square\/okhttp\/commit\/efbbb47626ded93f304fabea17fd07bb362d5119","original_message":"Tweak error copy, add a couple tests","message":"Tweak error copy, add a couple tests","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1063{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e991459c7c1f46d432ff4312cf7409884518655c","original_message":"First step in parsing Set-Cookie headers.","message":"First step in parsing Set-Cookie headers.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1064{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e97bb77a0efc057e47e1692fdf7f858bdbdb65ed","original_message":"adds optional request body for DELETE requests to ammend #610","message":"adds optional request body for DELETE requests to ammend #610","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1065{"url":"https:\/\/github.com\/square\/okhttp\/commit\/99f2bafe1c0abb2791131dde5a702d3bb3ba28f3","original_message":"Fix isClosed() when a cache has not been initialized \n \n isClosed() now means 'has close() been called', after \n commit ea565b2e30e15cd52ddfc2ddc6db4ea8f1c3de88 \n it meant 'has not been initialized or close() has been \n called'. \n \n Introduced explicit closed state. Minor tweak to use \n initialized state to determine whether cleanup will \n do anything. Added a test.","message":"Fix isClosed() when a cache has not been initialized\nisClosed() now means 'has close() been called', after\ncommit ea565b2e30e15cd52ddfc2ddc6db4ea8f1c3de88\nit meant 'has not been initialized or close() has been\ncalled'.\nIntroduced explicit closed state. Minor tweak to use\ninitialized state to determine whether cleanup will\ndo anything. Added a test.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1066{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4ab6a8258b0df3a3528029f810e1f48952dba2d7","original_message":"Remove old SSL protocol method.","message":"Remove old SSL protocol method.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1067{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2d73da131dfa77de81ff8a54831c7385a0ce2d72","original_message":"fix #1919: PROPFIND request should not redirect to GET request","message":"","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1068{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c5c4e7857cb25af822b9b3b1fbd158cbd168f48a","original_message":"Expose Headers directly on MockResponse.","message":"Expose Headers directly on MockResponse.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1069{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8b6aa0dca55576a54e69fec59f40ddfaa3561adb","original_message":"Use a Buffer for body contents.","message":"Use a Buffer for body contents.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1070{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a9a1f736b1ebbe2d44de570343685241db62600e","original_message":"Correct comment.","message":"Correct comment.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}1071{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e960f78ce685bc67946816867ee4ac545086e328","original_message":"Support 204 and 205 'No Content' replies when application interceptor.","message":"Support 204 and 205 'No Content' replies when application interceptor.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1072{"url":"https:\/\/github.com\/square\/okhttp\/commit\/f6c3ab9b16d1026d810a84c33f5476b26be5cd8d","original_message":"Use Sources and Sinks for all IO.","message":"Use Sources and Sinks for all IO.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1073{"url":"https:\/\/github.com\/square\/okhttp\/commit\/31ec212f84edbe04b9b705f521ed7dc3bd7ddc3a","original_message":"Skip buffer allocation when not needed.","message":"Skip buffer allocation when not needed.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1074{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4262a05f8e858ac9c39599b2e1dfc53c03020cd2","original_message":"Write some new connection pool tests. \n \n These use the Call APIs. They're high-level so they won't break with the \n implementation rewrite.","message":"Write some new connection pool tests.\nThese use the Call APIs. They're high-level so they won't break with the\nimplementation rewrite.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1075{"url":"https:\/\/github.com\/square\/okhttp\/commit\/cc216c6f731f4f08ac29e5619943f502c50bfafd","original_message":"Add Call.isExecuted(). \n \n Might be useful to expose this bookkeeping to app developers.","message":"Add Call.isExecuted().\nMight be useful to expose this bookkeeping to app developers.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1076{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e36d7ecc26be18021da3555fc8b14381df7af34d","original_message":"Fix flakiness in CallTest.cancelTagImmediatelyAfterEnqueue() \n \n There's a race where the HTTP engine has been created, but not yet connected \n and the cancel isn't as immediate as it could be. Fix the test by making sure \n there's a response to be retrieved. \n \n With the upcoming connection pool changes we might make the implementation \n more robust. \n \n Closes: https:\/\/github.com\/square\/okhttp\/issues\/2001","message":"Fix flakiness in CallTest.cancelTagImmediatelyAfterEnqueue()\nThere's a race where the HTTP engine has been created, but not yet connected\nand the cancel isn't as immediate as it could be. Fix the test by making sure\nthere's a response to be retrieved.\nWith the upcoming connection pool changes we might make the implementation\nmore robust.\nCloses: https:\/\/github.com\/square\/okhttp\/issues\/2001","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1077{"url":"https:\/\/github.com\/square\/okhttp\/commit\/868ee844458eda9ee7b1b6f9a5238b7c3f84c0e4","original_message":"Drop our one remaining DSS cipher suite. \n \n Tracking Chrome and Firefox, which have also dropped this cipher suite. \n \n This is the only cipher suite change since the last update. See our cipher \n suites spreadsheet for a comparison: https:\/\/goo.gl\/dWXbi0 \n \n Closes https:\/\/github.com\/square\/okhttp\/issues\/1476","message":"Drop our one remaining DSS cipher suite.\nTracking Chrome and Firefox, which have also dropped this cipher suite.\nThis is the only cipher suite change since the last update. See our cipher\nsuites spreadsheet for a comparison: https:\/\/goo.gl\/dWXbi0\nCloses https:\/\/github.com\/square\/okhttp\/issues\/1476","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1078{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a21a3d38e362626381e0a47cc9fbd349b31b0449","original_message":"Change COMPATIBLE_TLS to be TLSv1.0 and not SSLv3 \n \n Based on a discussion with Jesse Wilson during \n https:\/\/github.com\/square\/okhttp\/pull\/1189.","message":"Change COMPATIBLE_TLS to be TLSv1.0 and not SSLv3\nBased on a discussion with Jesse Wilson during\nhttps:\/\/github.com\/square\/okhttp\/pull\/1189.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1079{"url":"https:\/\/github.com\/square\/okhttp\/commit\/41bee9b70dfbe182697e32d2a8ad1f4b2885af02","original_message":"More interceptor tests. \n \n Test interactions with the response cache and HttpURLConnection.","message":"More interceptor tests.\nTest interactions with the response cache and HttpURLConnection.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1080{"url":"https:\/\/github.com\/square\/okhttp\/commit\/117ebac9e235cf9e614237cd6c246d0dac5e0142","original_message":"Update to Okio 1.1.0.","message":"Update to Okio 1.1.0.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1081{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e4dd6cfd63b251fba7a37e773f91c6bb4150b6bf","original_message":"Handle null fragments.","message":"Handle null fragments.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1082{"url":"https:\/\/github.com\/square\/okhttp\/commit\/32b7675b726a1ca62f5080581f6daaf9b7c6a48e","original_message":"Use ResponseBody to model the response body everywhere. \n \n This makes cache writing and gzip layering work a bit nicer \n because there are fewer fields in HttpEngine to track the \n various competing streams.","message":"Use ResponseBody to model the response body everywhere.\nThis makes cache writing and gzip layering work a bit nicer\nbecause there are fewer fields in HttpEngine to track the\nvarious competing streams.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1083{"url":"https:\/\/github.com\/square\/okhttp\/commit\/bebea4679ead5f9779ad00c3570ea68eb2a8dea7","original_message":"Log favicon request instead of using standard output","message":"Log favicon request instead of using standard output","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1084{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e74e3f3bf744ef7f4d8ee724a7cf2347e486cfab","original_message":"Move cache writing out of the transport. \n \n This is necessary to unblock network interceptors, where the interceptor \n may elect to rewrite the response body. If we've already cached the \n original response body, we're too late.","message":"Move cache writing out of the transport.\nThis is necessary to unblock network interceptors, where the interceptor\nmay elect to rewrite the response body. If we've already cached the\noriginal response body, we're too late.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1085{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0ad37cede4624e3d4764c400b1b46fc195420941","original_message":"Update to h2-16, hpack-10.","message":"Update to h2-16, hpack-10.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1086{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a4a79586d8aec87344ef81c0a46fcb3c8b61ce88","original_message":"Permit release candidates in version numbers.","message":"Permit release candidates in version numbers.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1087{"url":"https:\/\/github.com\/square\/okhttp\/commit\/16f1d048165d2bf0aee4833ff7d8b415f537ce64","original_message":"api has changed, fixing the example","message":"api has changed, fixing the example","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1088{"url":"https:\/\/github.com\/square\/okhttp\/commit\/92e64f0279f1ce10ddd280fe048a92f6a959203d","original_message":"Partially revert connection timeout behavior \n \n Related to issue #1790. \n \n If there is a *connection* timeout the next route should \n be tried. Timeouts during a request\/response should \n probably not be retried. \n \n The timeout\/interrupt behavior was changed in PR #1257 \n for issue #1146. This modified both connection and \n request\/response behavior. The issue reported was actually \n about the use of Thread.interrupt(), not timeouts, but the \n behavior change modified both behavior for interrupt and \n timeout. \n \n PR #1388 split the handling of exceptions so that separate \n code now handles connection errors from that which handles \n request\/response errors. It faithfully kept the behavior \n from PR #1257. \n \n The modification of the timeout behavior during *connection* \n caused problems on Android. Now that the two types of error \n handling are split it's possible to deal with them \n differently and return the connection behavior to trying \n the next route. This does not modify behavior during \n request\/response.","message":"Partially revert connection timeout behavior\nRelated to issue #1790.\nIf there is a *connection* timeout the next route should\nbe tried. Timeouts during a request\/response should\nprobably not be retried.\nThe timeout\/interrupt behavior was changed in PR #1257\nfor issue #1146. This modified both connection and\nrequest\/response behavior. The issue reported was actually\nabout the use of Thread.interrupt(), not timeouts, but the\nbehavior change modified both behavior for interrupt and\ntimeout.\nPR #1388 split the handling of exceptions so that separate\ncode now handles connection errors from that which handles\nrequest\/response errors. It faithfully kept the behavior\nfrom PR #1257.\nThe modification of the timeout behavior during *connection*\ncaused problems on Android. Now that the two types of error\nhandling are split it's possible to deal with them\ndifferently and return the connection behavior to trying\nthe next route. This does not modify behavior during\nrequest\/response.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1089{"url":"https:\/\/github.com\/square\/okhttp\/commit\/7a3bb19ea44f6771a20d3f5c323cc8bd15d73a56","original_message":"Prevent MockSpdyPeer interfering with Android tests \n \n On Android we run the OkHttp tests as an instrumented test case. \n The default UncaughtExceptionHandler on Android will quit the \n app, causing the current test to fail. \n \n MockSpdyPeer creates a thread that fails for various reasons \n that are not related to \/ required for the actual test. Often the \n exception is thrown during a subsequent test. \n \n This change logs the exception but prevent it from \n propagating out of the top of the call stack. This decreases \n overall flakiness.","message":"Prevent MockSpdyPeer interfering with Android tests\nOn Android we run the OkHttp tests as an instrumented test case.\nThe default UncaughtExceptionHandler on Android will quit the\napp, causing the current test to fail.\nMockSpdyPeer creates a thread that fails for various reasons\nthat are not related to \/ required for the actual test. Often the\nexception is thrown during a subsequent test.\nThis change logs the exception but prevent it from\npropagating out of the top of the call stack. This decreases\noverall flakiness.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1090{"url":"https:\/\/github.com\/square\/okhttp\/commit\/bffee2336725dde0f74933d5a7d12536c9bcbd06","original_message":"Introduce intermediate storage for frame contents. \n \n This eliminates the need to always send a frame for every FrameSink#write and to always send an empty frame for FrameSink#close. Now, we only emit bytes once Okio reports complete segments.","message":"Introduce intermediate storage for frame contents.\nThis eliminates the need to always send a frame for every FrameSink#write and to always send an empty frame for FrameSink#close. Now, we only emit bytes once Okio reports complete segments.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1091{"url":"https:\/\/github.com\/square\/okhttp\/commit\/426c11de7b411bd47e9ef5ba3ce08d8589a8a88c","original_message":"Upstream commit of Android SNI \/ NPN fix \n \n https:\/\/android-review.googlesource.com\/#\/c\/111211 \n \n The change's to Android's Platform have been ported. \n \n This does not include the introduction of PlatformTest, \n which will be difficult to write so it works everywhere.","message":"Upstream commit of Android SNI \/ NPN fix\nhttps:\/\/android-review.googlesource.com\/#\/c\/111211\nThe change's to Android's Platform have been ported.\nThis does not include the introduction of PlatformTest,\nwhich will be difficult to write so it works everywhere.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1092{"url":"https:\/\/github.com\/square\/okhttp\/commit\/067aa1f4495f9c93bafca183a6d655fa81b139d6","original_message":"Throw UnknownHostException again from HttpURLConnection \n \n This is to address issue #1827.","message":"Throw UnknownHostException again from HttpURLConnection\nThis is to address issue #1827.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1093{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8e996aadc5d7839f249399abac657e3c9df1dc4a","original_message":"Fix bug where request body isn't sent when it should","message":"Fix bug where request body isn't sent when it should","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}1094{"url":"https:\/\/github.com\/square\/okhttp\/commit\/112f020c411c9d14f34e480b98325777b25a7434","original_message":"Change the cache to have non-shared semantics. \n \n This means we'll cache responses that use an 'Authorization' header. This \n means OkHttp's cache shouldn't be used on middleboxes that sit between \n user agents and the origin server; in practice this is never a use case \n for OkHttp. \n \n Fixes https:\/\/github.com\/square\/okhttp\/issues\/1035","message":"Change the cache to have non-shared semantics.\nThis means we'll cache responses that use an 'Authorization' header. This\nmeans OkHttp's cache shouldn't be used on middleboxes that sit between\nuser agents and the origin server; in practice this is never a use case\nfor OkHttp.\nFixes https:\/\/github.com\/square\/okhttp\/issues\/1035","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1095{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a560f721937f7f7299167a4d1c3f3ca87998635b","original_message":"Expose internal APIs for pluggable file systems. \n \n We aren't yet ready to make FileSystem a public type, but I don't mind \n making it _almost_ available via an internal API for those brave enough \n to try that. \n \n Also migrate all of our tests to use the in memory file system. It's simpler. \n \n https:\/\/github.com\/square\/okhttp\/issues\/1459","message":"Expose internal APIs for pluggable file systems.\nWe aren't yet ready to make FileSystem a public type, but I don't mind\nmaking it _almost_ available via an internal API for those brave enough\nto try that.\nAlso migrate all of our tests to use the in memory file system. It's simpler.\nhttps:\/\/github.com\/square\/okhttp\/issues\/1459","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1096{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8d4230b78d283924842edbe963b10cfb43737338","original_message":"Don't append to a truncated line in the journal. \n \n Fixes https:\/\/github.com\/square\/okhttp\/issues\/1099","message":"Don't append to a truncated line in the journal.\nFixes https:\/\/github.com\/square\/okhttp\/issues\/1099","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1097{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c8c790a6c8862778cbf8f140b19944732316f0e7","original_message":"fix small types in the changelog","message":"fix small types in the changelog","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1098{"url":"https:\/\/github.com\/square\/okhttp\/commit\/3bee7aca20ddde7137c874ab918d2dc603d3026e","original_message":"Test that conditional misses update the cache. \n \n Closes https:\/\/github.com\/square\/okhttp\/issues\/1712","message":"Test that conditional misses update the cache.\nCloses https:\/\/github.com\/square\/okhttp\/issues\/1712","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1099{"url":"https:\/\/github.com\/square\/okhttp\/commit\/aaf2695b00dfd69df6fd915ba16665eee8c1962d","original_message":"Fix ResponseCacheTest for Android \n \n Pull #1011 broke ResponseCacheTest on Android. \n \n The test was asserting a header generated \n using a copy of the old broken implementation. \n \n The test now just uses HttpDate, which now has its own \n tests.","message":"Fix ResponseCacheTest for Android\nPull #1011 broke ResponseCacheTest on Android.\nThe test was asserting a header generated\nusing a copy of the old broken implementation.\nThe test now just uses HttpDate, which now has its own\ntests.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1100{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8fe27a50c2c88d382e6dc6600836bcc57fc7b0cf","original_message":"Crash on unexpected RuntimeExceptions. \n \n Currently we're sweeping these under the rug.","message":"Crash on unexpected RuntimeExceptions.\nCurrently we're sweeping these under the rug.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1101{"url":"https:\/\/github.com\/square\/okhttp\/commit\/cabd391637d9fa4fdeb7238c844b0c528722fe1b","original_message":"Use HTML entity for ampersand.","message":"Use HTML entity for ampersand.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1102{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4c1436b3d6e6a7f9722bbcaa4d9a286747168ec0","original_message":"HTTP\/2 initial window size is 65535 not 65536.","message":"HTTP\/2 initial window size is 65535 not 65536.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1103{"url":"https:\/\/github.com\/square\/okhttp\/commit\/3a8967322d06ff2d8445aa277ae103653adf4eee","original_message":"Use Okio's appending sink for File.","message":"Use Okio's appending sink for File.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1104{"url":"https:\/\/github.com\/square\/okhttp\/commit\/80cb022e49e63cbf304654f41153d5d4fd2cde50","original_message":"fix #789: Reorder test to ensure call is canceled before its body is returned.","message":"","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1105{"url":"https:\/\/github.com\/square\/okhttp\/commit\/9375aa8c4f954c086af05933191a5f9eed6c49eb","original_message":"Correct reference to RC1.","message":"Correct reference to RC1.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1106{"url":"https:\/\/github.com\/square\/okhttp\/commit\/cc38140be4c7e41330cf7749c3eeba23c85f9522","original_message":"Added support for http\/2 draft 12, which is incompatible with previous priority schemes.","message":"Added support for http\/2 draft 12, which is incompatible with previous priority schemes.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1107{"url":"https:\/\/github.com\/square\/okhttp\/commit\/26401d816215e1050b8c1cc070ddc7f6210df523","original_message":"Use Okio 1.4.0 final.","message":"Use Okio 1.4.0 final.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1108{"url":"https:\/\/github.com\/square\/okhttp\/commit\/1ba78fa29d1c0667bf7fb5efac2a9898d1d98b43","original_message":"Some POST samples.","message":"Some POST samples.","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}1109{"url":"https:\/\/github.com\/square\/okhttp\/commit\/65a64c54072ea9a169098ff087cccfe726de03d5","original_message":"APIs to set and remove path segments.","message":"APIs to set and remove path segments.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1110{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2ec2027fc00e24a83cd7bb7fef8b11e7c751bc13","original_message":"Add missing copyright headers. \n \n https:\/\/github.com\/square\/okhttp\/issues\/880","message":"Add missing copyright headers.\nhttps:\/\/github.com\/square\/okhttp\/issues\/880","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1111{"url":"https:\/\/github.com\/square\/okhttp\/commit\/7e28b1d6b6834879556b9c3caa62e49e428351cc","original_message":"Change HttpResponseCache to not implement java.net.ResponseCache. \n \n This marks some methods as @Deprecated and internal-only. \n Unfortunately we don't have a great mechanism to hide them from \n the documented API.","message":"Change HttpResponseCache to not implement java.net.ResponseCache.\nThis marks some methods as @Deprecated and internal-only.\nUnfortunately we don't have a great mechanism to hide them from\nthe documented API.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1112{"url":"https:\/\/github.com\/square\/okhttp\/commit\/53ebedf932b71bed7b05220e31b24388301168a4","original_message":"Implement query parameter management. \n \n The tricky part of this is '+' and ' ' management.","message":"Implement query parameter management.\nThe tricky part of this is '+' and ' ' management.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1113{"url":"https:\/\/github.com\/square\/okhttp\/commit\/770a1f954dfbd1b956ffceaf67c38f10a4de4401","original_message":"Small cleanups. \n \n Return the OkHttpClient on setters. \n Remove some completed TODOs in Call. \n Link to Okio in Javadoc.","message":"Small cleanups.\nReturn the OkHttpClient on setters.\nRemove some completed TODOs in Call.\nLink to Okio in Javadoc.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1114{"url":"https:\/\/github.com\/square\/okhttp\/commit\/28434ce17d1b0bfb7f398d047e825f0f76b6e403","original_message":"Add wildcard hostnames support in CertificatePinner","message":"Add wildcard hostnames support in CertificatePinner","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}1115{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d3c57bd4f38d5d3944da88266dd9b474a84d802b","original_message":"HttpURL parsing. \n \n This includes everything but character encoding. The implementation \n is built around one oversized method that runs top to bottom; I found \n this was easier to follow than the switch statement recommended by the \n URL standard.","message":"HttpURL parsing.\nThis includes everything but character encoding. The implementation\nis built around one oversized method that runs top to bottom; I found\nthis was easier to follow than the switch statement recommended by the\nURL standard.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1116{"url":"https:\/\/github.com\/square\/okhttp\/commit\/e19326c0337758817e5879f9e1bef452d27f9a4a","original_message":"Add MockWebServerRule.","message":"Add MockWebServerRule.","original_label":"Neither Why nor What","is_good":false,"is_bad":false,"binary_label":null}1117{"url":"https:\/\/github.com\/square\/okhttp\/commit\/92e427d7c66091c9731afd02f83f2d4ba08dc395","original_message":"Close the source after reading regardless of result.","message":"Close the source after reading regardless of result.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1118{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d017be5b0042d2142d9b541c1403aa393c2c7fdd","original_message":"Test differences between user and network responses for gzip.","message":"Test differences between user and network responses for gzip.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1119{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5b6f64a46220911466350202ae974f167497225a","original_message":"Fix HTTP post retransmit in the new API. \n \n We don't buffer response bodies in the new API. But we should retransmit \n POST bodies when a request fails.","message":"Fix HTTP post retransmit in the new API.\nWe don't buffer response bodies in the new API. But we should retransmit\nPOST bodies when a request fails.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1120{"url":"https:\/\/github.com\/square\/okhttp\/commit\/35d0922f46c95bd73b1d070b6963cf3512167854","original_message":"Add convenience overload for ByteString-backed RequestBody.","message":"Add convenience overload for ByteString-backed RequestBody.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1121{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2e07d308d2189e9ffef4fa958fa20f467ffdcfe5","original_message":"Custom trust recipe. \n \n To my great delight, Java and Android can read .pem files without \n the BKS or JKS store files we typically use to distribute trusted \n certificates. \n \n This recipe includes a big copy-and-pasteable method for converting \n an InputStream of PEM files into an SSLContext. The rest of it is \n warnings about how dangerous that is. \n \n Closes https:\/\/github.com\/square\/okhttp\/issues\/1336","message":"Custom trust recipe.\nTo my great delight, Java and Android can read .pem files without\nthe BKS or JKS store files we typically use to distribute trusted\ncertificates.\nThis recipe includes a big copy-and-pasteable method for converting\nan InputStream of PEM files into an SSLContext. The rest of it is\nwarnings about how dangerous that is.\nCloses https:\/\/github.com\/square\/okhttp\/issues\/1336","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1122{"url":"https:\/\/github.com\/square\/okhttp\/commit\/1ab086360755fcb13356617fe6d738171889d810","original_message":"Add a test for interceptors throwing unchecked exceptions. \n \n Our behavior here is not good. Right now it looks like we're leaking \n resources; nothing is releasing the socket in a 'finally' clause when \n interceptors crash. We're also not notifying the callback that the \n call has failed; that's left hanging. \n \n That said, we don't expect applications to recover from these \n exceptions. \n \n Closes https:\/\/github.com\/square\/okhttp\/issues\/1482","message":"Add a test for interceptors throwing unchecked exceptions.\nOur behavior here is not good. Right now it looks like we're leaking\nresources; nothing is releasing the socket in a 'finally' clause when\ninterceptors crash. We're also not notifying the callback that the\ncall has failed; that's left hanging.\nThat said, we don't expect applications to recover from these\nexceptions.\nCloses https:\/\/github.com\/square\/okhttp\/issues\/1482","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1123{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2d47bc2631048fc713dbc7dbb6e7603619fce776","original_message":"Add a test for corner-case behavior. \n \n I'm looking to make HttpURLConnectionImpl delegate to Job, and that means \n writing tests for all the weird things it does above HttpEngine.","message":"Add a test for corner-case behavior.\nI'm looking to make HttpURLConnectionImpl delegate to Job, and that means\nwriting tests for all the weird things it does above HttpEngine.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1124{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4f0cf03bed4180e4e277a99e1194cc17b0d198d4","original_message":"Expose running and queued call counts for monitoring","message":"Expose running and queued call counts for monitoring","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1125{"url":"https:\/\/github.com\/square\/okhttp\/commit\/60f5406dcc094d0431420139bd002e8bdd4ea5d5","original_message":"Move TLS retries \/ fallback into Connection. \n \n API changes: \n 1) Added: Address.getCertificatePinner() \n 2) Incompatible API change: Address constructor no longer \n includes ConnectionSpecs. Removed getConnectionSpecs(). \n 3) Added: ConnectionSpec.isCompatible(SSLSocket) \n 4) Added: TlsVersion.javaName() \n \n Implicit \/ semantic \/ internal changes: \n \n 1) Connection now handles all attempts to connect via a route \n (effectively a {proxy, socket address} pair), rather than just \n one attempt. i.e. Connection now handles all the TLS negotiation \n fallbacks internally. \n \n 2) Route no longer deals with TLS versions. Individual TLS \n failures are not counted against a Route. If no connection \n attempts to a route were successful the failure is counted \n against the route. \n \n 3) The code makes a distinction between when various \n IOExceptions occur, with the intention making retries a bit \n smarter. It is now more obvious which exceptions happen during \n setup (RequestException), connection (RouteException), \n HTTP communication and thus which can be retried and whether \n the request might have been sent.","message":"Move TLS retries \/ fallback into Connection.\nAPI changes:\n1) Added: Address.getCertificatePinner()\n2) Incompatible API change: Address constructor no longer\nincludes ConnectionSpecs. Removed getConnectionSpecs().\n3) Added: ConnectionSpec.isCompatible(SSLSocket)\n4) Added: TlsVersion.javaName()\nImplicit \/ semantic \/ internal changes:\n1) Connection now handles all attempts to connect via a route\n(effectively a {proxy, socket address} pair), rather than just\none attempt. i.e. Connection now handles all the TLS negotiation\nfallbacks internally.\n2) Route no longer deals with TLS versions. Individual TLS\nfailures are not counted against a Route. If no connection\nattempts to a route were successful the failure is counted\nagainst the route.\n3) The code makes a distinction between when various\nIOExceptions occur, with the intention making retries a bit\nsmarter. It is now more obvious which exceptions happen during\nsetup (RequestException), connection (RouteException),\nHTTP communication and thus which can be retried and whether\nthe request might have been sent.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1126{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0a67394f2a6401ae181d601e3724703829506bf6","original_message":"Exceptions from peer closing should not be propagated.","message":"Exceptions from peer closing should not be propagated.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1127{"url":"https:\/\/github.com\/square\/okhttp\/commit\/353ec0b0cdbf46ddbc2755e482c62ec711badf90","original_message":"Fix for SslContextBuilder\/MockWebServer disagreeing about localhost \n \n MockWebServer binds to getByName('localhost'), SslContextBuilder was using \n InetAddress.getByName(null) (null == any loopback). On Android, null \n returns IPv6 loopback, which has the name 'ip6-localhost'.","message":"Fix for SslContextBuilder\/MockWebServer disagreeing about localhost\nMockWebServer binds to getByName('localhost'), SslContextBuilder was using\nInetAddress.getByName(null) (null == any loopback). On Android, null\nreturns IPv6 loopback, which has the name 'ip6-localhost'.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1128{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ff7946416d86aedcf154b868ba869241cd4816e9","original_message":"Add some pings to force happens-before in SPDY tests. \n \n Previously we were relying on accidents to get our tests to pass. There \n may still be some that require work, but this should fix the three tests \n that I saw fail. \n \n https:\/\/github.com\/square\/okhttp\/issues\/525","message":"Add some pings to force happens-before in SPDY tests.\nPreviously we were relying on accidents to get our tests to pass. There\nmay still be some that require work, but this should fix the three tests\nthat I saw fail.\nhttps:\/\/github.com\/square\/okhttp\/issues\/525","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1129{"url":"https:\/\/github.com\/square\/okhttp\/commit\/b03026067b3686e45d4e11886eaccf084c36b01e","original_message":"Update to HTTP\/2 Draft 10 and HPACK Draft 6.","message":"Update to HTTP\/2 Draft 10 and HPACK Draft 6.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1130{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ff5390d6dcaf79ef09a3ef94dbb7e8ac39572a7f","original_message":"Allow specifying a socket factory for connections. \n \n This socket factory will be used for all non-proxy connections and HTTP proxy connections.","message":"Allow specifying a socket factory for connections.\nThis socket factory will be used for all non-proxy connections and HTTP proxy connections.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}1131{"url":"https:\/\/github.com\/square\/okhttp\/commit\/6c57d76915a7e79cc8b8f743ccd8ecc35889ce7c","original_message":"Track Connection ownership. \n \n Connection ownership is somewhat racy: when an HttpURLConnection reads \n the last byte of a connection, its ownership is released and given to \n the connection pool.","message":"Track Connection ownership.\nConnection ownership is somewhat racy: when an HttpURLConnection reads\nthe last byte of a connection, its ownership is released and given to\nthe connection pool.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1132{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4c86085429edbeef0a383941936ee7b64cc3805e","original_message":"Drop ALPN support. \n \n https:\/\/github.com\/square\/okhttp\/issues\/666","message":"Drop ALPN support.\nhttps:\/\/github.com\/square\/okhttp\/issues\/666","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1133{"url":"https:\/\/github.com\/square\/okhttp\/commit\/cb7de5bb40a506700565b9732e1574ce9161b442","original_message":"Remove 'jar-with-dependencies' qualifier from download link. \n \n This link is used when the jQuery Maven Artifact plugin cannot resolve the absolute URL of the latest artifact.","message":"Remove 'jar-with-dependencies' qualifier from download link.\nThis link is used when the jQuery Maven Artifact plugin cannot resolve the absolute URL of the latest artifact.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1134{"url":"https:\/\/github.com\/square\/okhttp\/commit\/6cf56de5d0701ff26aa6043c552e17c4665c1287","original_message":"Return HttpResponseCache to previous (e.g. KitKat) behavior \n \n This change required to handle this Android scenario: \n \n When this version of OkHttp is packaged into Android in a future \n release (in com.android.okhttp...) there is a possibility that \n an older version of OkHttp bundled with application \n (in com.squareup.okhttp...) will pick up the newer HttpResponseCache \n via ResponseCache.getDefault(). It will attempt to use the get() \/ put() \n methods. Commit e2599be9e073f1be8e929597c358e2664ab0c9a9 was \n intended to restore HttpResponseCache get() and put() and avoid the \n UnsupportedOperationException that would be thrown. \n \n Unfortunately, it didn't quite do it: \n \n In KitKat and older versions OkHttp, in HttpResponseCache the behavior \n was to ignore any calls to put(URI, URLConnection) including \n any HttpURLConnection\/HttpsURLConnection that wasn't its own \n (i.e. only ones from com.android.okhttp would be cached). The previous \n fix to HttpResponseCache re-introduced get()\/put() but didn't implement \n the necessary instanceof checks. \n \n Jesse also informs me that coexistance with other implementations \n of HttpURLConnection is not required (since OkHttp replaces the \n HTTP implementation on the desktop). I have also since discovered \n that HttpResponseCache didn't implement the cache-control logic \n required to follow the letter of the Java API anyway, which means \n that HttpResponseCache is not suitable for use in cases where \n the Http(s)URLConnection implementation expects a fully compliant \n implementation. \n \n Also addressed nits from e2599be9e073f1be8e929597c358e2664ab0c9a9.","message":"Return HttpResponseCache to previous (e.g. KitKat) behavior\nThis change required to handle this Android scenario:\nWhen this version of OkHttp is packaged into Android in a future\nrelease (in com.android.okhttp...) there is a possibility that\nan older version of OkHttp bundled with application\n(in com.squareup.okhttp...) will pick up the newer HttpResponseCache\nvia ResponseCache.getDefault(). It will attempt to use the get() \/ put()\nmethods. Commit e2599be9e073f1be8e929597c358e2664ab0c9a9 was\nintended to restore HttpResponseCache get() and put() and avoid the\nUnsupportedOperationException that would be thrown.\nUnfortunately, it didn't quite do it:\nIn KitKat and older versions OkHttp, in HttpResponseCache the behavior\nwas to ignore any calls to put(URI, URLConnection) including\nany HttpURLConnection\/HttpsURLConnection that wasn't its own\n(i.e. only ones from com.android.okhttp would be cached). The previous\nfix to HttpResponseCache re-introduced get()\/put() but didn't implement\nthe necessary instanceof checks.\nJesse also informs me that coexistance with other implementations\nof HttpURLConnection is not required (since OkHttp replaces the\nHTTP implementation on the desktop). I have also since discovered\nthat HttpResponseCache didn't implement the cache-control logic\nrequired to follow the letter of the Java API anyway, which means\nthat HttpResponseCache is not suitable for use in cases where\nthe Http(s)URLConnection implementation expects a fully compliant\nimplementation.\nAlso addressed nits from e2599be9e073f1be8e929597c358e2664ab0c9a9.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1135{"url":"https:\/\/github.com\/square\/okhttp\/commit\/6b17f9edf338173c6491cc30feeb6e4ff539be9d","original_message":"Doc: OkHttpClient should be treated as immutable once shared \n \n ...given that requirement, it's safe for many threads to call the \n open() method concurrently to open their own connections. \n \n https:\/\/github.com\/square\/okhttp\/pull\/634#discussion_r10487815","message":"Doc: OkHttpClient should be treated as immutable once shared\n...given that requirement, it's safe for many threads to call the\nopen() method concurrently to open their own connections.\nhttps:\/\/github.com\/square\/okhttp\/pull\/634#discussion_r10487815","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1136{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c8638813ff5f90715417e489b342aae5e410c5b2","original_message":"Build setup tweak to work around release plugin bug. \n \n http:\/\/jira.codehaus.org\/browse\/MRELEASE-812","message":"Build setup tweak to work around release plugin bug.\nhttp:\/\/jira.codehaus.org\/browse\/MRELEASE-812","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1137{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8f035fc347f1ba9e4155ce99242c1a4f7d6e16dd","original_message":"Restore support for ResponseCache.setDefault().","message":"Restore support for ResponseCache.setDefault().","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1138{"url":"https:\/\/github.com\/square\/okhttp\/commit\/cf63fcc48ae3e1dc3fb32120ca2fb04877fa041e","original_message":"Remove creation of 'fat' jar. \n \n Since the 'okhttp-protocols' module no longer exists we do not need to create this.","message":"Remove creation of 'fat' jar.\nSince the 'okhttp-protocols' module no longer exists we do not need to create this.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1139{"url":"https:\/\/github.com\/square\/okhttp\/commit\/6d8e198e2dd1ef808e81c57a9e88aa6218e0dbab","original_message":"New mockwebserver docs.","message":"New mockwebserver docs.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1140{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5c3cfd9148500c19794aec4ba44c426247b7bd72","original_message":"Confirm that we use GMT formatting in setIfModifiedSince().","message":"Confirm that we use GMT formatting in setIfModifiedSince().","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1141{"url":"https:\/\/github.com\/square\/okhttp\/commit\/29ffd5237ec89577a67c781c746ce72f968efabe","original_message":"Test for redirect leak bug.","message":"Test for redirect leak bug.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1142{"url":"https:\/\/github.com\/square\/okhttp\/commit\/97524fb5c9b94b1544a641f115318a41d976a801","original_message":"Use OkBuffer in Http20Draft09Test.","message":"Use OkBuffer in Http20Draft09Test.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1143{"url":"https:\/\/github.com\/square\/okhttp\/commit\/dac5aed3d5f9307b9d1ab0a8c7840b232d053ef3","original_message":"Move connection pooling logic. \n \n Previously we had this ugly, awkward release() method that \n attempted to manage connection pooling, discarding streams \n for caching, and closing broken streams. \n \n Move connection reuse to HttpConnection, with policy informed \n by HttpEngine. It specifies what to do when the connection \n becomes idle: pool, close or hold. The connection does what \n it's told.","message":"Move connection pooling logic.\nPreviously we had this ugly, awkward release() method that\nattempted to manage connection pooling, discarding streams\nfor caching, and closing broken streams.\nMove connection reuse to HttpConnection, with policy informed\nby HttpEngine. It specifies what to do when the connection\nbecomes idle: pool, close or hold. The connection does what\nit's told.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1144{"url":"https:\/\/github.com\/square\/okhttp\/commit\/15099af48064c22bc3357b01c9efcb1aa43c4819","original_message":"Flush control frames; don't flush user frames.","message":"Flush control frames; don't flush user frames.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1145{"url":"https:\/\/github.com\/square\/okhttp\/commit\/08bc3c8808ec4495a1284ed6eb2325d44b435d33","original_message":"Add MockWebServer.setNpnProtocols","message":"Add MockWebServer.setNpnProtocols","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1146{"url":"https:\/\/github.com\/square\/okhttp\/commit\/855c114f4f6fce3e0e1ae71479f89c9d5ad066d6","original_message":"Read\/write access for byte, short and int. \n \n This is big-endian only because that's all we use in OkHttp.","message":"Read\/write access for byte, short and int.\nThis is big-endian only because that's all we use in OkHttp.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1147{"url":"https:\/\/github.com\/square\/okhttp\/commit\/35b031fb63534b9664e622ca4ecf5b19536f63a8","original_message":"Fix mockwebserver jar download 404","message":"Fix mockwebserver jar download 404","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1148{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5fe67f1bfc00a1c2027802515079137f6fd70bea","original_message":"Implement moving bytes between OkBuffers. \n \n This is more complicated than I'd anticipated.","message":"Implement moving bytes between OkBuffers.\nThis is more complicated than I'd anticipated.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1149{"url":"https:\/\/github.com\/square\/okhttp\/commit\/32a2b1d8d000a19d4a340cc1d77a68973a9d65dc","original_message":"OkBuffer API sketch. \n \n I'm unhappy with java.io: \n * No timeouts. \n * Every layer needs to copy bytes around. Always copying bytes. \n * Features like mark\/reset and available() are clumsy. \n * Its awkard in mixed text\/binary protocols like HTTP because \n character decoding is separate and takes over the stream. \n \n Unfortunately java.nio isn't better, just different: \n * It's complex. \n * Buffers are fixed size. \n * No built-in buffer pooling. \n * Features like mark\/reset\/position are clumsy. \n \n This is an obnoxious attempt at a 3rd I\/O interface, mostly \n inspired by InputStream and OutputStream, but using growable \n buffers instead of byte arrays as the core data container.","message":"OkBuffer API sketch.\nI'm unhappy with java.io:\n* No timeouts.\n* Every layer needs to copy bytes around. Always copying bytes.\n* Features like mark\/reset and available() are clumsy.\n* Its awkard in mixed text\/binary protocols like HTTP because\ncharacter decoding is separate and takes over the stream.\nUnfortunately java.nio isn't better, just different:\n* It's complex.\n* Buffers are fixed size.\n* No built-in buffer pooling.\n* Features like mark\/reset\/position are clumsy.\nThis is an obnoxious attempt at a 3rd I\/O interface, mostly\ninspired by InputStream and OutputStream, but using growable\nbuffers instead of byte arrays as the core data container.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1150{"url":"https:\/\/github.com\/square\/okhttp\/commit\/69cabb714e2a9972a69be991e660bae99b356824","original_message":"Improve some Markdown","message":"Improve some Markdown","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}1151{"url":"https:\/\/github.com\/square\/okhttp\/commit\/241814257b774f39896d7384c3452ef22612307f","original_message":"Backfill spdy and http\/2 related tests wrt zero-length messages.","message":"Backfill spdy and http\/2 related tests wrt zero-length messages.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1152{"url":"https:\/\/github.com\/square\/okhttp\/commit\/97741e94fba896f2aede30aecb789efe409202cf","original_message":"Don't unzip if there isn't a response body. \n \n https:\/\/github.com\/square\/okhttp\/issues\/358","message":"Don't unzip if there isn't a response body.\nhttps:\/\/github.com\/square\/okhttp\/issues\/358","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1153{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0c5b5454bc8e9c24160a5df1f5b83a0532323ee1","original_message":"Read priority flag on http\/2 headers frame.","message":"Read priority flag on http\/2 headers frame.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1154{"url":"https:\/\/github.com\/square\/okhttp\/commit\/04e1002ad11b41d6483e614c673cfaa81ae1a551","original_message":"Support more than 64 referenced headers in HPACK.","message":"Support more than 64 referenced headers in HPACK.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1155{"url":"https:\/\/github.com\/square\/okhttp\/commit\/46a0852c202acf68cd890867a35f8e51b81c2948","original_message":"Don't attempt TLS modes we know will fail. \n \n https:\/\/github.com\/square\/okhttp\/issues\/442","message":"Don't attempt TLS modes we know will fail.\nhttps:\/\/github.com\/square\/okhttp\/issues\/442","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1156{"url":"https:\/\/github.com\/square\/okhttp\/commit\/9eb276043fc14cda856671ccdba4065bba2a7bae","original_message":"Small docs fixes. Remove OkHttp 2 warnings.","message":"Small docs fixes. Remove OkHttp 2 warnings.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1157{"url":"https:\/\/github.com\/square\/okhttp\/commit\/3eda83ab14d334bf5a5cb900674df1552de74e73","original_message":"Platform.getMtu is unused. \n \n This was a failed experiment.","message":"Platform.getMtu is unused.\nThis was a failed experiment.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1158{"url":"https:\/\/github.com\/square\/okhttp\/commit\/59a6804c91328c2d1eb096054590b213ab711d22","original_message":"Tests for canceling async requests.","message":"Tests for canceling async requests.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1159{"url":"https:\/\/github.com\/square\/okhttp\/commit\/30ecba897fb624df201f0a014b54a604418a0e73","original_message":"Use Request and Response types in OkResponseCache. \n \n This breaks support for java.net.ResponseCache implementations. That's \n good. That API is akward and can't support important features like \n conditional GETs and hit tracking.","message":"Use Request and Response types in OkResponseCache.\nThis breaks support for java.net.ResponseCache implementations. That's\ngood. That API is akward and can't support important features like\nconditional GETs and hit tracking.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1160{"url":"https:\/\/github.com\/square\/okhttp\/commit\/37c01895cca5ec2bec26a3d381611f0938acd6d0","original_message":"Define async APIs and switch Job to use HttpEngine directly. \n \n Using HttpEngine directly introduces some duplicated code with \n HttpURLConnection. It also breaks the response cache. I think \n this is the best route going forward; and eventually we could \n invert this relationship to have HttpURLConnection depending on \n Job directly rather than vice versa.","message":"Define async APIs and switch Job to use HttpEngine directly.\nUsing HttpEngine directly introduces some duplicated code with\nHttpURLConnection. It also breaks the response cache. I think\nthis is the best route going forward; and eventually we could\ninvert this relationship to have HttpURLConnection depending on\nJob directly rather than vice versa.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1161{"url":"https:\/\/github.com\/square\/okhttp\/commit\/1c90331a3dc9856e31fac14b58d856cb2dd83d89","original_message":"getMtu issue","message":"getMtu issue","original_label":"No What","is_good":false,"is_bad":true,"binary_label":0.0}1162{"url":"https:\/\/github.com\/square\/okhttp\/commit\/af5e60af84da628125b6fa832bdb45093c4bba71","original_message":"issue #364: spdy should set content-length when it is known.","message":"issue #364: spdy should set content-length when it is known.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1163{"url":"https:\/\/github.com\/square\/okhttp\/commit\/742cee9e41eebb3f8af3b830f7b62ef898a14976","original_message":"Static HTTPS\/SPDY3\/HTTP2 server example","message":"Static HTTPS\/SPDY3\/HTTP2 server example","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}1164{"url":"https:\/\/github.com\/square\/okhttp\/commit\/c74050b71c0bf06693c8c772fd9e30ee6a68317a","original_message":"Added description and download info for MockWebServer.","message":"Added description and download info for MockWebServer.","original_label":"No Why","is_good":true,"is_bad":false,"binary_label":1.0}1165{"url":"https:\/\/github.com\/square\/okhttp\/commit\/8f03548249d3292ab95fc5cf016b51133705e771","original_message":"Fix checkstyle issues in new Cookie code.","message":"Fix checkstyle issues in new Cookie code.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1166{"url":"https:\/\/github.com\/square\/okhttp\/commit\/29ab48bf0dfbac1b249f2233de08fa948bad11d8","original_message":"Fix a race condition in Connection.isExpired(). \n \n This was causing some SPDY connections to be evicted early, \n and preventing connection reuse. \n \n The spdyConnectionReuse test becomes flaky with the \n fix that makes MockWebServer use different sequenceNumbers \n for different requests on the same socket. With the fix \n the test is no longer flaky. The old test wasn't good enough \n to detect what it wanted to detect! \n \n This race has existed in the code since we added more \n aggressive time-based expiration in January 2013. In my \n basic tests the race impacted ~20% of connections on a \n desktop VM. It may have been more on mobile.","message":"Fix a race condition in Connection.isExpired().\nThis was causing some SPDY connections to be evicted early,\nand preventing connection reuse.\nThe spdyConnectionReuse test becomes flaky with the\nfix that makes MockWebServer use different sequenceNumbers\nfor different requests on the same socket. With the fix\nthe test is no longer flaky. The old test wasn't good enough\nto detect what it wanted to detect!\nThis race has existed in the code since we added more\naggressive time-based expiration in January 2013. In my\nbasic tests the race impacted ~20% of connections on a\ndesktop VM. It may have been more on mobile.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1167{"url":"https:\/\/github.com\/square\/okhttp\/commit\/638ae21c7a6edc0e51bc624a80dfbc6fb8aa4236","original_message":"safer check for invalid values, without catching OOM","message":"safer check for invalid values, without catching OOM","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1168{"url":"https:\/\/github.com\/square\/okhttp\/commit\/d3a92ff9d511b40ce65f24f95901f53a1240dc74","original_message":"spdy 3 support length 0 header value","message":"spdy 3 support length 0 header value","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1169{"url":"https:\/\/github.com\/square\/okhttp\/commit\/bc3aa64462552d3e1c2e621e0cb15880b71b933c","original_message":"Revert '[maven-release-plugin] prepare release parent-1.2' \n \n This reverts commit ad928c668de84199f277f083627a262485a987d1.","message":"Revert '[maven-release-plugin] prepare release parent-1.2'\nThis reverts commit ad928c668de84199f277f083627a262485a987d1.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1170{"url":"https:\/\/github.com\/square\/okhttp\/commit\/00a50d1919549b51d941aeb893b2a5ed465aa472","original_message":"Teach MockWebServer SPDY. \n \n Kill MockSpdyServer in the process.","message":"Teach MockWebServer SPDY.\nKill MockSpdyServer in the process.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1171{"url":"https:\/\/github.com\/square\/okhttp\/commit\/9ddc3d75de2b4ad83e2551c1d4dfc7fa5f4f3e56","original_message":"Only exclude Javadoc from 'internal' package in the main artifact.","message":"Only exclude Javadoc from 'internal' package in the main artifact.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1172{"url":"https:\/\/github.com\/square\/okhttp\/commit\/76275fc9733168320d9472b8982c7d38956058fb","original_message":"Really support requests greater than 2 GiB. \n \n git-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@45 cf848351-439f-e86a-257f-67fa721851d5","message":"Really support requests greater than 2 GiB.\ngit-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@45 cf848351-439f-e86a-257f-67fa721851d5","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1173{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ef09f798a32dc4d0593388054e446f199c14ec8f","original_message":"Don't use IOException APIs not in Gingerbread","message":"Don't use IOException APIs not in Gingerbread","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1174{"url":"https:\/\/github.com\/square\/okhttp\/commit\/5f87fc19ab269a929b61c088a806a674644caa6a","original_message":"Introduce a Policy interface between engine and connection. \n \n This breaks the direct dependency from HttpEngine to \n HttpURLConnectionImpl. With this dependency broken, we \n can start to use HttpEngine directly from Dispatcher and \n Job.","message":"Introduce a Policy interface between engine and connection.\nThis breaks the direct dependency from HttpEngine to\nHttpURLConnectionImpl. With this dependency broken, we\ncan start to use HttpEngine directly from Dispatcher and\nJob.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1175{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4910039a572abc6d20cac48eb2c5e92591520537","original_message":"Support querying & setting transport lists on connections. \n \n The list is specified via a magic request property \n 'X-Android-Transports' and can be queried via the request \n property 'X-Android-Selected-Transport'. \n \n System wide defaults \/ switches don't need any changes \n to okhttp. They can be set as options on the OkHttpClient \n used by the platform UrlStreamHandlers.","message":"Support querying & setting transport lists on connections.\nThe list is specified via a magic request property\n'X-Android-Transports' and can be queried via the request\nproperty 'X-Android-Selected-Transport'.\nSystem wide defaults \/ switches don't need any changes\nto okhttp. They can be set as options on the OkHttpClient\nused by the platform UrlStreamHandlers.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1176{"url":"https:\/\/github.com\/square\/okhttp\/commit\/1192af61fd1f6a102a7d74422e83dfb1fc9a94b9","original_message":"Add current AOSP class name for OpenSSLSocketImpl \n \n AOSP moved OpenSSLSocketImpl to com.android.org.conscrypt.* so add that \n as the first choice for unbundled apps. \n \n Change-Id: I7bad6533dcb86ee1cac3b15f42dd386bd651eaed","message":"Add current AOSP class name for OpenSSLSocketImpl\nAOSP moved OpenSSLSocketImpl to com.android.org.conscrypt.* so add that\nas the first choice for unbundled apps.\nChange-Id: I7bad6533dcb86ee1cac3b15f42dd386bd651eaed","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1177{"url":"https:\/\/github.com\/square\/okhttp\/commit\/53e12cca33f7d24cd8ea6c6ead262559b3553fbb","original_message":"Request entity tests for the Apache client shim.","message":"Request entity tests for the Apache client shim.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1178{"url":"https:\/\/github.com\/square\/okhttp\/commit\/a39032cb0af0de4cbc1c18397c64f67074981538","original_message":"Make ConnectionPoolTest less flaky \n \n I was seeing flaky results in the debugger because pooled \n connections were being evicted as the test ran.","message":"Make ConnectionPoolTest less flaky\nI was seeing flaky results in the debugger because pooled\nconnections were being evicted as the test ran.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1179{"url":"https:\/\/github.com\/square\/okhttp\/commit\/abb3ab4f50a99119caf0871fe95234a3e619dc82","original_message":"New Javadocs. \n \n \n git-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@20 cf848351-439f-e86a-257f-67fa721851d5","message":"New Javadocs.\ngit-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@20 cf848351-439f-e86a-257f-67fa721851d5","original_label":"Neither Why nor What","is_good":false,"is_bad":true,"binary_label":0.0}1180{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ec1f3e9073439c03b22de4f2314724d6066efb4b","original_message":"Rebuild Javadoc \n \n git-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@19 cf848351-439f-e86a-257f-67fa721851d5","message":"Rebuild Javadoc\ngit-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@19 cf848351-439f-e86a-257f-67fa721851d5","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}1181{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4ebac2656c870a090141106ad9ce267d25863301","original_message":"Upgrade from ant to maven. \n \n git-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@12 cf848351-439f-e86a-257f-67fa721851d5","message":"Upgrade from ant to maven.\ngit-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@12 cf848351-439f-e86a-257f-67fa721851d5","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1182{"url":"https:\/\/github.com\/square\/okhttp\/commit\/eb5e72280b56427139bb14ffe14036f8dca6dba3","original_message":"Use consistent camel casing of 'SSL'.","message":"Use consistent camel casing of 'SSL'.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1183{"url":"https:\/\/github.com\/square\/okhttp\/commit\/ae9d97110b6111f374e078eaa34694fdcff93da8","original_message":"Revert 'Consistent casing of 'SSL' in method names.' \n \n This reverts commit ea4297ded736c5b606a772fef9d0d7929697e159.","message":"Revert 'Consistent casing of 'SSL' in method names.'\nThis reverts commit ea4297ded736c5b606a772fef9d0d7929697e159.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1184{"url":"https:\/\/github.com\/square\/okhttp\/commit\/739cb3ec6c41f58e6b6a75d18c912ad1111f8061","original_message":"More interesting example tests \n \n git-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@6 cf848351-439f-e86a-257f-67fa721851d5","message":"More interesting example tests\ngit-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@6 cf848351-439f-e86a-257f-67fa721851d5","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1185{"url":"https:\/\/github.com\/square\/okhttp\/commit\/62177b80f051ffa1f0f95c15fd20482db2006b24","original_message":"Add Javadoc \n \n git-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@5 cf848351-439f-e86a-257f-67fa721851d5","message":"Add Javadoc\ngit-svn-id: https:\/\/mockwebserver.googlecode.com\/svn\/trunk@5 cf848351-439f-e86a-257f-67fa721851d5","original_label":"No Why","is_good":false,"is_bad":true,"binary_label":0.0}1186{"url":"https:\/\/github.com\/square\/okhttp\/commit\/59b1c1dc5290b9f96ebeefb7ea2369d58042fed3","original_message":"Pom version updates. Drop unused dependencies.","message":"Pom version updates. Drop unused dependencies.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1187{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0ff5ce5a6dd22b24c0c080e6fe8b734ec0859418","original_message":"Update website to the latest design.","message":"Update website to the latest design.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1188{"url":"https:\/\/github.com\/square\/okhttp\/commit\/954e8f5453a23d52f6a2a09aac469ca73460e0f5","original_message":"Dependency-free examples for the OkHttp front page. \n \n I'm going to include code snippets from these.","message":"Dependency-free examples for the OkHttp front page.\nI'm going to include code snippets from these.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1189{"url":"https:\/\/github.com\/square\/okhttp\/commit\/63c5a42ecdc53d51cc6d617d4fcc05cb2e7a9dba","original_message":"Don't explode if we can't find an interface for a local address. \n \n We'll likely explode later when attempting to use the socket. \n But that will fail with an IOException, unlike this which was \n failing with a NullPointerException.","message":"Don't explode if we can't find an interface for a local address.\nWe'll likely explode later when attempting to use the socket.\nBut that will fail with an IOException, unlike this which was\nfailing with a NullPointerException.","original_label":"No What","is_good":false,"is_bad":false,"binary_label":null}1190{"url":"https:\/\/github.com\/square\/okhttp\/commit\/58c42623d084b05c249f1948686f250413a3611a","original_message":"Minor doc fix.","message":"Minor doc fix.","original_label":"Why and What","is_good":false,"is_bad":true,"binary_label":0.0}1191{"url":"https:\/\/github.com\/square\/okhttp\/commit\/6ed0f2c2cbf5872684bcc50a883fb6d5d0ac207f","original_message":"Update to the latest DiskLruCache. \n \n Includes everything thru 8842981cbcfe20eb4721c0a2c867fa9a18233062","message":"Update to the latest DiskLruCache.\nIncludes everything thru 8842981cbcfe20eb4721c0a2c867fa9a18233062","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1192{"url":"https:\/\/github.com\/square\/okhttp\/commit\/4e3da9d43076937819a397fadddcd6514c9f6f2d","original_message":"FaultRecoveringOutputStream. \n \n This is the first step in a change that'll permit the underlying \n socket stream to change out-from-under-you while you're uploading \n POST data to a server. \n \n It'll recover from failures writing the request body that occur \n within the first N bytes, where N will be determined by the number \n of bytes that can be written without positive confirmation. \n \n See https:\/\/github.com\/square\/okhttp\/issues\/137","message":"FaultRecoveringOutputStream.\nThis is the first step in a change that'll permit the underlying\nsocket stream to change out-from-under-you while you're uploading\nPOST data to a server.\nIt'll recover from failures writing the request body that occur\nwithin the first N bytes, where N will be determined by the number\nof bytes that can be written without positive confirmation.\nSee https:\/\/github.com\/square\/okhttp\/issues\/137","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1193{"url":"https:\/\/github.com\/square\/okhttp\/commit\/0665b628fafec38271d7a66421ae04c7fd35dd29","original_message":"Add support for following HTTP 307 temporary redirects. \n \n Fixes Android bug 41739.","message":"Add support for following HTTP 307 temporary redirects.\nFixes Android bug 41739.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1194{"url":"https:\/\/github.com\/square\/okhttp\/commit\/2d45a13249943cafa73460b35c3c366e5742eb6f","original_message":"Mechanically change OkHttp to Square's Java style.","message":"Mechanically change OkHttp to Square's Java style.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1195{"url":"https:\/\/github.com\/square\/okhttp\/commit\/b9580d68e9bc34eef397e9bc7f13091f1e3f1528","original_message":"Be more careful around IOExceptions. \n \n This adds a first test where a frame is truncated. That has some \n unpleasant consequences for the other tests because it means the \n MockSpdyPeer is more aggressive about closing the socket when all \n frames have been sent. \n \n It also reduces the use of exceptions for flow control when handling \n bogus incoming frames. This is a bit worse and a bit better; my \n goal is to make it easier to differentiate between protocol-level \n problems (bogus frames) from transport-level problems (closed sockets \n and EOF streams).","message":"Be more careful around IOExceptions.\nThis adds a first test where a frame is truncated. That has some\nunpleasant consequences for the other tests because it means the\nMockSpdyPeer is more aggressive about closing the socket when all\nframes have been sent.\nIt also reduces the use of exceptions for flow control when handling\nbogus incoming frames. This is a bit worse and a bit better; my\ngoal is to make it easier to differentiate between protocol-level\nproblems (bogus frames) from transport-level problems (closed sockets\nand EOF streams).","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1196{"url":"https:\/\/github.com\/square\/okhttp\/commit\/3d2547f18886e771aaa9baa996a21136c93460c4","original_message":"Restore tests for response caching + TLS. \n \n One of the test cases bitrotted to failure as a consequence \n of the HTTP route selector change. I stopped assigning the \n socket, which it needed to cache the TLS metadata. This is \n fixed.","message":"Restore tests for response caching + TLS.\nOne of the test cases bitrotted to failure as a consequence\nof the HTTP route selector change. I stopped assigning the\nsocket, which it needed to cache the TLS metadata. This is\nfixed.","original_label":"No Why","is_good":false,"is_bad":false,"binary_label":null}1197{"url":"https:\/\/github.com\/square\/okhttp\/commit\/50999cceb5f5bcdaf79baa5ac7eeef90c72bda8d","original_message":"Move out of the libcore package. \n \n To promote the code into AOSP, we'll keep this package as-is \n and do the jarjar in Android instead.","message":"Move out of the libcore package.\nTo promote the code into AOSP, we'll keep this package as-is\nand do the jarjar in Android instead.","original_label":"Why and What","is_good":true,"is_bad":false,"binary_label":1.0}1198{"url":"https:\/\/github.com\/square\/okhttp\/commit\/40ff76547064c3fb5acb9047a6f679dd4379a4d0","original_message":"Make HttpConnection.connect return full working connections. \n \n Previously the returned connections required the caller to \n do extra work: setting up tunnels (which could require auth) \n and performing an SSL handshake. With this change we make a \n complete working connection in HttpConnection.connect(). \n \n This will make it easier to fix fallback when a single domain \n has multiple IP addresses and some of those addresses are not \n reachable. \n \n This will also make it easier to do SPDY through HTTP proxies.","message":"Make HttpConnection.connect return full working connections.\nPreviously the returned connections required the caller to\ndo extra work: setting up tunnels (which could require auth)\nand performing an SSL handshake. With this change we make a\ncomplete working connection in HttpConnection.connect().\nThis will make it easier to fix fallback when a single domain\nhas multiple IP addresses and some of those addresses are not\nreachable.\nThis will also make it easier to do SPDY through HTTP proxies.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}1199{"url":"https:\/\/github.com\/square\/okhttp\/commit\/cbb33cbd05947c7680fe3519678323641a56fa8c","original_message":"Fix a severe bug where multiple TLS tunnels were attempted. \n \n The previous code would attempt a TLS tunnel on reused \n HTTPS connections, even after the tunnel had been established. \n This is a severe protocol error!","message":"Fix a severe bug where multiple TLS tunnels were attempted.\nThe previous code would attempt a TLS tunnel on reused\nHTTPS connections, even after the tunnel had been established.\nThis is a severe protocol error!","original_label":"No What","is_good":true,"is_bad":false,"binary_label":1.0}1200{"url":"https:\/\/github.com\/square\/okhttp\/commit\/68ebb704fb73ad1545ae82287f8b2a5f68d8e69d","original_message":"Address some todos around stream failures and peer errors.","message":"Address some todos around stream failures and peer errors.","original_label":"Why and What","is_good":false,"is_bad":false,"binary_label":null}