{"push_id":1095106950,"size":27,"distinct_size":1,"ref":"refs/heads/master","head":"bacb18e49af70c87a8dbd76ec021d04a9c94305b","before":"e56ddf7b404bac9a53bb1e889e53ca223ebf4737","commits":[{"sha":"8bef1f26f78e1402dd796c08ad263f1fe4bd46dd","author":{"email":"7647b3f0de2c5f049f3fd8683da596016764b513@fb.com","name":"Bert Maher"},"message":"Compress files in output APK as they were in input\n\nSummary:We don't want to change the compression of files in our input APK,\nsince the app may depend on it.\n\nReviewed By: dariorussi\n\nDifferential Revision: D3192634\n\nfb-gh-sync-id: 3f77c27cef896576a76a12f03ea13c206f0e7d3b\nfbshipit-source-id: 3f77c27cef896576a76a12f03ea13c206f0e7d3b","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/8bef1f26f78e1402dd796c08ad263f1fe4bd46dd"},{"sha":"05c143dd237008a6306900268c7025f985b42937","author":{"email":"493d7cd4be5a2cc5a69c47b9a752657b16aa1a5a@fb.com","name":"Shane Nay"},"message":"Add FAQ line wrt ldconfig\n\nSummary:In response to...\nhttps://github.com/facebook/redex/issues/98\n\nAdding the ldconfig to the Makefile.am will break OSX.  This only\nbreaks on some distros of Linux, so adding it to the FAQ seems\nlike the most reasonable approach.\n\nReviewed By: bertmaher\n\nDifferential Revision: D3194214\n\nfb-gh-sync-id: 0231d6080db246526c374cc08eec3dbbf7685e48\nfbshipit-source-id: 0231d6080db246526c374cc08eec3dbbf7685e48","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/05c143dd237008a6306900268c7025f985b42937"},{"sha":"7150e0a12dd3f026ad5b136d3323e9f059b4cd54","author":{"email":"15a65707e7593a99f39fa10f25ffd9f1cc498669@fb.com","name":"David Tarjan"},"message":"clarify python version needed for script\n\nSummary: Clarify interdex documentation with regard to python version needed.\n\nReviewed By: newobj\n\nDifferential Revision: D3191563\n\nfb-gh-sync-id: dc59c34daf80a07ffeb7282d7c6aa91a4f7e24c1\nfbshipit-source-id: dc59c34daf80a07ffeb7282d7c6aa91a4f7e24c1","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/7150e0a12dd3f026ad5b136d3323e9f059b4cd54"},{"sha":"e26619905947663ff9a4b6b843f4d3ce41f48707","author":{"email":"260b10ddf1bd1f500597a590597cdf54c83bffb6@fb.com","name":"Dario Russi"},"message":"Rename PgoFiles to ConfigFiles\n\nSummary:PgoFiles is getting more and more info not related to PGO. I am not sure about the new name but the PGO reference is really non sensical.\nAlso I don't mind the very generic ConfigFiles ;)\nWhat do you think?\n\nReviewed By: bertmaher\n\nDifferential Revision: D3192584\n\nfb-gh-sync-id: 1b3e6352d7d7e6ccacf16ca9ab47b896256e7e97\nfbshipit-source-id: 1b3e6352d7d7e6ccacf16ca9ab47b896256e7e97","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/e26619905947663ff9a4b6b843f4d3ce41f48707"},{"sha":"153e94974d102cb0b4f2cd02ffc8a66ad4e4fae9","author":{"email":"7647b3f0de2c5f049f3fd8683da596016764b513@fb.com","name":"Bert Maher"},"message":"PgoFiles -> ConfigFiles in Makefile.am\n\nSummary: oops\n\nReviewed By: kcoons\n\nDifferential Revision: D3195473\n\nfb-gh-sync-id: 558adf0bddb41e8d2c7ad20fe70279d36431d473\nfbshipit-source-id: 558adf0bddb41e8d2c7ad20fe70279d36431d473","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/153e94974d102cb0b4f2cd02ffc8a66ad4e4fae9"},{"sha":"4686744199dc51fee3414a91eb6adb770ba5a85a","author":{"email":"260b10ddf1bd1f500597a590597cdf54c83bffb6@fb.com","name":"Dario Russi"},"message":"rebind refs revisited again\n\nSummary:Made the rebinder work better with external refrences and correct semantic.\nWe have 3 modes of rebinding now, all related to virtual invocation:\nNORMAL does not touch virtual invocation, not even array clone\nMEDIUM rebinds virtual to the first definition up the hierarchy\nHIGH rebinds virtual to the top definition up the hierarchy (method introduction)\nThe number of refs saved is highest in HIGH.\nThere are a set of issues related to rebinding virtual which I am going to post about soon.\n\nWe are running with HIGH mode. Or at least that is what the config is set up to with this diff\n\nReviewed By: shanenay\n\nDifferential Revision: D3189892\n\nfb-gh-sync-id: 0f8df4f27ac8a314a935ea8b4c755168cdb01c6e\nfbshipit-source-id: 0f8df4f27ac8a314a935ea8b4c755168cdb01c6e","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/4686744199dc51fee3414a91eb6adb770ba5a85a"},{"sha":"240fa8155cdf74474c5d804ebb0a3db1a9c49502","author":{"email":"15a65707e7593a99f39fa10f25ffd9f1cc498669@fb.com","name":"David Tarjan"},"message":"don't emit empty dexes\n\nSummary: We implicitly assume that there are secondary dexes and add canary classes even if we have no classes to emit. This is incorrect behavior and messes up single dex apps like Instagram and most apps from our OSS users.\n\nReviewed By: shanenay, bertmaher\n\nDifferential Revision: D3194409\n\nfb-gh-sync-id: 1f133d34545f753fceaa285f3f1ab271efdfd9b2\nfbshipit-source-id: 1f133d34545f753fceaa285f3f1ab271efdfd9b2","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/240fa8155cdf74474c5d804ebb0a3db1a9c49502"},{"sha":"a547f772ad841d237bec9b25d1af995ca172d9e4","author":{"email":"15a65707e7593a99f39fa10f25ffd9f1cc498669@fb.com","name":"David Tarjan"},"message":"make use of canary classes configurable\n\nSummary: Not all applications use canary classes, so don't enforce the addition of canary classes when we emit secondary dexes.\n\nReviewed By: shanenay\n\nDifferential Revision: D3194542\n\nfb-gh-sync-id: 603c8b63c3ca91a5ba82b3c602d9caeedc7e044e\nfbshipit-source-id: 603c8b63c3ca91a5ba82b3c602d9caeedc7e044e","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/a547f772ad841d237bec9b25d1af995ca172d9e4"},{"sha":"c09e9f3671b531f38d7538b0eec49ae82d60c9fe","author":{"email":"d9c18cedfa0ffe328de72ad69f45bea60c8fe033@raintown.org","name":"Satnam Singh"},"message":"Redex synth example\n\nSummary:This PR illustrates one of the synth wrapper removal optimizations in detail.\n* A simple example of a synthetic wrapper removal with supporting bytecode etc.\n* A complete Android Studio 1.5 application that illustrates a synthetic wrapper removal scenario.\n* A Makefile for running Redex on the APK generated by Android studio.\nCloses https://github.com/facebook/redex/pull/100\n\nReviewed By: bertmaher\n\nDifferential Revision: D3196984\n\nPulled By: satnam6502\n\nfb-gh-sync-id: a8613252a0e73e73b4c13f6927a1bf799af2d9d6\nfbshipit-source-id: a8613252a0e73e73b4c13f6927a1bf799af2d9d6","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/c09e9f3671b531f38d7538b0eec49ae82d60c9fe"},{"sha":"3383c9af3209138185ae8f4e176d6acd3ed53181","author":{"email":"7647b3f0de2c5f049f3fd8683da596016764b513@fb.com","name":"Bert Maher"},"message":"StaticRelo should fix visibility of references\n\nSummary:Relocated methods may contain references to package-protected things.\nMake those things public.\n\nFixes #30\nhttps://github.com/facebook/redex/issues/30\n\nReviewed By: newobj\n\nDifferential Revision: D3197081\n\nfb-gh-sync-id: de6838d503935d3f1a12fe5cf54a9d7217d56a37\nfbshipit-source-id: de6838d503935d3f1a12fe5cf54a9d7217d56a37","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/3383c9af3209138185ae8f4e176d6acd3ed53181"},{"sha":"0ec06a4786eebba2bd8938a8b79d3761915caeba","author":{"email":"260b10ddf1bd1f500597a590597cdf54c83bffb6@fb.com","name":"Dario Russi"},"message":"make jar parsing more forgiving to multiple definition\n\nSummary:apparently external jars may have multiple definitions of the same class. That crashes redex and stops the build.\nThis is making the parsing of external classes ignoring multiple definitions\n\nReviewed By: satnam6502, shanenay\n\nDifferential Revision: D3198952\n\nfb-gh-sync-id: 31cea11644ea82ce4c2829e47abd62f253b4619a\nfbshipit-source-id: 31cea11644ea82ce4c2829e47abd62f253b4619a","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/0ec06a4786eebba2bd8938a8b79d3761915caeba"},{"sha":"75606c149aadd48d5f9254855c6e1791733b04e4","author":{"email":"493d7cd4be5a2cc5a69c47b9a752657b16aa1a5a@fb.com","name":"Shane Nay"},"message":"Add opcode handling for jumbos\n\nSummary:Add opcode handling for jumbo opcodes.  This isn't quite ready for\nreview, more signal fire to test for screaming.\n\nReviewed By: bertmaher\n\nDifferential Revision: D3159724\n\nfb-gh-sync-id: f0bbc53d0b5d2a429c5dcf26a0d61136afddba50\nfbshipit-source-id: f0bbc53d0b5d2a429c5dcf26a0d61136afddba50","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/75606c149aadd48d5f9254855c6e1791733b04e4"},{"sha":"f12507955ef30539a8d6bac565d913d6e48b5f05","author":{"email":"d9c18cedfa0ffe328de72ad69f45bea60c8fe033@raintown.org","name":"Satnam Singh"},"message":"Add copryight messages to Synth example and use debug keystore\n\nSummary: Closes https://github.com/facebook/redex/pull/110\n\nReviewed By: bertmaher\n\nDifferential Revision: D3200654\n\nPulled By: satnam6502\n\nfb-gh-sync-id: 1d5762206eb7c4c9ea94be69e05418872074096d\nfbshipit-source-id: 1d5762206eb7c4c9ea94be69e05418872074096d","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/f12507955ef30539a8d6bac565d913d6e48b5f05"},{"sha":"c2aa1b2fe53b8b9e080b5cff9717f32dff63ea55","author":{"email":"15a65707e7593a99f39fa10f25ffd9f1cc498669@fb.com","name":"David Tarjan"},"message":"print out mapping of moved methods\n\nSummary: Print out mappings of methods we move between classes during static relo.\n\nReviewed By: bertmaher\n\nDifferential Revision: D3159962\n\nfb-gh-sync-id: 3c1713b71950bbbd3940a4e125808f8f35f7b0e6\nfbshipit-source-id: 3c1713b71950bbbd3940a4e125808f8f35f7b0e6","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/c2aa1b2fe53b8b9e080b5cff9717f32dff63ea55"},{"sha":"49f8587f0819618c4c4842037a48e2eb9d81ffac","author":{"email":"7647b3f0de2c5f049f3fd8683da596016764b513@fb.com","name":"Bert Maher"},"message":"--redex-binary is for binary\n\nSummary:OSS users are frequently confused when they try to do something like:\n```\nredex in.apk out.apk\n```\nAnd it tells them that \"redex-all is not found\".\n\nWhen you think about it, it's pretty weird that the path to the binary is a\npositional argument, especially since it's not usually needed.  Let's make it a\nnamed argument instead.\n\nReviewed By: dcolascione\n\nDifferential Revision: D3200881\n\nfb-gh-sync-id: 2c12cfd8240c038328e87e56bcff11a3d9c31445\nfbshipit-source-id: 2c12cfd8240c038328e87e56bcff11a3d9c31445","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/49f8587f0819618c4c4842037a48e2eb9d81ffac"},{"sha":"8a205f1f782f97d8e8b238f3d79dad6a56d7f9a7","author":{"email":"7647b3f0de2c5f049f3fd8683da596016764b513@fb.com","name":"Bert Maher"},"message":"Accept strings for package name in PG -repackageclasses\n\nSummary:The format of -repackageclasses allows\n```\n-repackageclasses ''\n-repackageclasses foo\n-repackageclasses 'foo'\n```\n\nFixes #32\n\nReviewed By: onomatopoeia\n\nDifferential Revision: D3203397\n\nfb-gh-sync-id: 368569353203c4107bb2d88f4dce05700cf15c93\nfbshipit-source-id: 368569353203c4107bb2d88f4dce05700cf15c93","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/8a205f1f782f97d8e8b238f3d79dad6a56d7f9a7"},{"sha":"987f461d750ef5bb0287156f8695180dc189ea8e","author":{"email":"7647b3f0de2c5f049f3fd8683da596016764b513@fb.com","name":"Bert Maher"},"message":"Accept -include in PG parser\n\nSummary:We don't support it, but we shouldn't choke on it either.\n\nFixes #68\n\nReviewed By: onomatopoeia\n\nDifferential Revision: D3204144\n\nfb-gh-sync-id: db0e2557dfc7bfdafb6d17d96569d211ef86df1e\nfbshipit-source-id: db0e2557dfc7bfdafb6d17d96569d211ef86df1e","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/987f461d750ef5bb0287156f8695180dc189ea8e"},{"sha":"18cbe356e5e16deb4a83f830e0ea78cd921c22b0","author":{"email":"7647b3f0de2c5f049f3fd8683da596016764b513@fb.com","name":"Bert Maher"},"message":"Require that bridges be virtual\n\nSummary:I don't see how they could be nonvirtual, but somehow retrolambda does.\n\nFixes #33\n\nReviewed By: shanenay\n\nDifferential Revision: D3200145\n\nfb-gh-sync-id: 4d2600e5eda1c668a7a2691a6ac5f36ba79fda6f\nfbshipit-source-id: 4d2600e5eda1c668a7a2691a6ac5f36ba79fda6f","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/18cbe356e5e16deb4a83f830e0ea78cd921c22b0"},{"sha":"8cadc5448c3b837bcc53c063b5781008dc9aa646","author":{"email":"7647b3f0de2c5f049f3fd8683da596016764b513@fb.com","name":"Bert Maher"},"message":"Make Bridge more permissive\n\nSummary:Bridge had some overly-aggressive sanity checks that reject valid code.\nI'm not sure how to convince javac to produce said code, but apparently it can\nhappen.  Maybe it's just Kotlin?  Who knows.\n\nFixes #105\nFixes #69\nFixes #19\n\nReviewed By: shanenay\n\nDifferential Revision: D3200019\n\nfb-gh-sync-id: 3f8382ae62231e4ae4b2ee330d6839710df07b2f\nfbshipit-source-id: 3f8382ae62231e4ae4b2ee330d6839710df07b2f","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/8cadc5448c3b837bcc53c063b5781008dc9aa646"},{"sha":"b920d020ba39b3f66f3e0d0d7d48968a1bb3633b","author":{"email":"398adddea5fba2fa90ba2e644ddcc1d0593f8ba8@fb.com","name":"Gary Frost"},"message":"Rename DexOpcode -> DexInstruction\n\nSummary:Here is the sequence I walked through\n\nReplaced DexOpcode -> DexInstruction in all code\n\nhg mv include/DexOpcode.h include/DexInstruction.h\nhg mv libredex/DexOpcode.cpp libredex/DexInstruction.cpp\n\nHand edited ! m_opcodes -> m_insns\n\nReplaced DexDebugOpcode -> DexDebugInstruction in all code\nhg mv include/DexDebugOpcode.h include/DexDebugInstruction.h\nhg mv libredex/DexDebugOpcode.cpp libredex/DexDebugInstruction.cpp\n\nReplaced DexCodeItemOpcode -> DexOpcode in all code\n\nReplaced OpCodeWalkerFn -> InstructionWalkerFn in all code\n\nReplaced  push_opcode -> push_instruction in all code\n\nReplaced make_opcode -> make_instruction in all code\n\nReplaced get_opcode_vector -> get_instruction_vector in all code\n\nReviewed By: shanenay\n\nDifferential Revision: D3204288\n\nfb-gh-sync-id: b9bccfa019d3163a0eb9a74011044d04d9345997\nfbshipit-source-id: b9bccfa019d3163a0eb9a74011044d04d9345997","distinct":false,"url":"https://api.github.com/repos/satnam6502/redex/commits/b920d020ba39b3f66f3e0d0d7d48968a1bb3633b"}]}