{"push_id":2658408888,"size":43,"distinct_size":1,"ref":"refs/heads/custom","head":"c4233199d061149a225ddcb075ec2f4c831fcacc","before":"b0da50c6fa26377d47ae964337bdda79aaf552d3","commits":[{"sha":"4bef88e53144acb21bd06899883ac4c6abb7b7b5","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":"Moved sendTwoFactorLoginSMS() from Account to InstagramAPI class\n\nThe function is moved to the InstagramAPI class, since it makes more\nsense to keep it along with the other login related function such a 2FA\nand so. This function doesn’t require any previous authentication,\nthats why `->setNeedsAuth(false)` is added","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/4bef88e53144acb21bd06899883ac4c6abb7b7b5"},{"sha":"1fa90ca992e2c02df3f8fb3be401b456258b6d98","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":"Media: Add reportAsSpam() function\n\nFixes #1947","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/1fa90ca992e2c02df3f8fb3be401b456258b6d98"},{"sha":"31c9702eb518778678b3fe9aa95c333bdfb2cd25","author":{"name":"Abyr Valg","email":"70fd8dfafd75a8d5e8f2fbfa0bafd5170b0be201@abyrga.ru"},"message":"Examples: Normalize album media before upload\n\nFixes #1942.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/31c9702eb518778678b3fe9aa95c333bdfb2cd25"},{"sha":"cb37a81a7c8ce5b087568c53733b494f477045b0","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"InstagramMedia & Examples: Document allowNewAspectDeviation\n\n- There was a typo in the `InstagramMedia` class description for\n  `allowNewAspectDeviation`. It should have told people to use `TRUE` to\n  enable that feature, but it said `FALSE` instead. I've fixed the docs.\n\n- Fixed the uploadAlbum example (to use `TRUE`) and added a big\n  description about the reason for that feature. It's good to educate\n  users, and they can just delete that text-block when using it in their\n  own projects.\n\nThanks @valga for the great, new uploadAlbum.php normalization code btw. :-)","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/cb37a81a7c8ce5b087568c53733b494f477045b0"},{"sha":"8a0616fef3ec13c046b4759773a45cae7a773633","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":"Media: add reportComment() function","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/8a0616fef3ec13c046b4759773a45cae7a773633"},{"sha":"1699e99b8595a9ffc18fe8c26b26516ac4274bbc","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"Media: Rename reportAsSpam() to report()\n\n- We are unlikely to ever add the other report-reasons (since they\n  redirect to a webpage), so there's no point having \"AsSpam\" in the\n  name. It just adds confusion (`reportAsSpam()` vs `reportComment()`).\n  Therefore let's rename the functions to match each other.\n\n- Now we have these reporting-functions:\n\n`$ig->discover->reportExploreMedia()`\n`$ig->media->report()`\n`$ig->media->reportComment()`","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/1699e99b8595a9ffc18fe8c26b26516ac4274bbc"},{"sha":"1e9596715fb4cf8e7b55f850c857fe75350be5ad","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":"InstagramAPI: Added userLookup() function","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/1e9596715fb4cf8e7b55f850c857fe75350be5ad"},{"sha":"4e8de71405e28af899c7dd752e11291bda309389","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"InstagramAPI: Fixed userLookup() behavior\n\n- This code was totally problematic. We cannot do these calls without\n  having set a user via `login()` (the `setUser()` chain) first. The\n  device id will be null etc before the correct user has been set.\n\n  In reality on the real app, the device itself knows its own ID and has\n  tokens etc, so getting that info is no problem for a real device. But\n  for library users this code was 100% screwed.\n\n  Therefore it has been changed to load/create a user database\n  entry (which creates a device for them and initializes everything).\n\n- The model was using `int` for a ID/PK field, which of course breaks on\n  32-bit machines as you may remember... ;-) IDs must always be strings.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/4e8de71405e28af899c7dd752e11291bda309389"},{"sha":"1f9d73cb99f6621ff03afa479c646076ed01a47b","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"InstagramMedia: Add `forceAspectRatio` feature\n\n- This is a major change to how users apply their desired custom aspect\n  ratios. Instead of using `minAspectRatio = maxAspectRatio = <desired\n  ratio>` and setting `allowNewAspectDeviation = true`, you should now\n  simply leave ALL of those options alone (do NOT touch them anymore\n  unless you are an expert and have a good reason for it!). Instead,\n  just use this NEW feature:\n\n  `forceAspectRatio = <desired ratio>`\n\n- The most important reason for this new feature is that it allows users\n  to target a very specific ratio WITHOUT screwing up the actual, legal\n  min/max range limits for their target feed. So now, the algorithm is\n  aware of BOTH what the legal ratio range is AND what the user wants.\n  With this info, it is able to calculate the best-possible FULLY *LEGAL*\n  ratio that fits the user's desired ratio requirement as close as possible.\n\n- I also changed the algorithm for determining `$useFloorHeightRecalc`,\n  by placing it AFTER all of the \"aspect ratio decisions\". This is done\n  to ensure that we always base the floor/ceil-decision on our FINAL\n  TARGET aspect ratio IN COMPARISON TO the aspect ratio limits (min/max\n  ratio), so that we never overshoot or undershoot the legal limits in\n  our algorithm's attempts to later adjust things based on the target\n  ratio value, since all further calculations are based on THAT ratio.\n  Basically this change was necessary to ensure that we never\n  accidentally create illegal output file aspect ratios when the user\n  has provided a custom ratio which is very close to the min/max limits.\n\n- Updates to `uploadAlbum` example and devtools coming in the next commit...","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/1f9d73cb99f6621ff03afa479c646076ed01a47b"},{"sha":"d2771d20c44ce6da45c7f1f09c0292ac4d706af1","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"Examples&DevTools: Update to use `forceAspectRatio`\n\n- The `uploadAlbum` example is now finalized. It now perfectly applies\n  the first media's aspect ratio to all other media, while still staying\n  within the legal aspect ratio ranges for the target feed.\n\n- DevTool test-file was also updated to use the new aspect ratio method.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/d2771d20c44ce6da45c7f1f09c0292ac4d706af1"},{"sha":"2a8ea88843a2d6046446229b68827e6cbc8e3b2e","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"InstagramAPI: Mark in-dev version as v5\n\nDue to backwards-compatibility breaking changes in some recent commits,\nwe must mark the next version as v5.\n\nv5 being next of course means that the dev team is welcome to break\nbackwards compatibility as much as you want in `dev-master`. So to all\ndevs: Feel free to do any big library refactorings you've been dreaming of.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/2a8ea88843a2d6046446229b68827e6cbc8e3b2e"},{"sha":"616cebfabee7339d9141faad6ee26a22324970b2","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"InstagramMedia: Validate min and max aspect params\n\nThis is a small fix and enhancement for the media processor, discovered\nwhen reading through the code changes.\n\n- Verify that user-provided min/max aspect ratio params must be floats.\n\n- Only compare the user's custom aspect ratio against the min/max limits\n  if values exist for min/max, and compare them one by one since either\n  of those values may be missing.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/616cebfabee7339d9141faad6ee26a22324970b2"},{"sha":"bac5e6957fc3099a917f70db7729df908ebb3860","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":"InstagramAPI: Added recovery functions\n\n`sendRecoverySMS()`  and `sendRecoveryEmail()` functions are added to\nInstagramAPI class. These functions help the user to get a recovery\nlink to get back into their account.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/bac5e6957fc3099a917f70db7729df908ebb3860"},{"sha":"084b60e752a740d3028322b303b1ee0e3a5d43ec","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":"InstagramAPI: Added recovery functions\n\nRemove `username` post param. This is NOT included in the request and\nwas added by mistake.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/084b60e752a740d3028322b303b1ee0e3a5d43ec"},{"sha":"b73b35164d429e861fa86719b8844078dc685d91","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"InstagramAPI: Avoid code repetition in recovery\n\n- There are 3 functions with identical code. That's a good sign to move\n  the code to a separate function. :-)","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/b73b35164d429e861fa86719b8844078dc685d91"},{"sha":"67715b6d8baeb0e6bb51b31466ab4abaf3db34d7","author":{"name":"SteveJobzniak","email":"dffeed86f2121ba670355f088cde6ce7836341b7@users.noreply.github.com"},"message":"Global: Ensure aspect ratios are floats everywhere\n\n- This was something I had noticed yesterday while implementing\n  `forceAspectRatio` but didn't want to spend the tedious time searching\n  for all the code and fixing it everywhere. But it's a BUG, so it was\n  still annoying me today that I had left it in there... I've now fixed\n  it properly by searching for all aspect ratio code via `ag\n  'width.*\\/.*height'`, which seems to have found them all. The problem\n  with the old code was that `int(1080) / int(1080) = int(1)`, in other\n  words every time that you divide equal width and height integers in\n  PHP you always get an int instead of a float. That meant that\n  functions which claimed to return a float aspect ratio were lying in\n  case of square images. And MOST SERIOUSLY it also meant that strict\n  `=== 1.0` comparisons were impossible, since the variable became an\n  unexpected int every time the aspect ratio was perfectly square.\n\n- Fixed it by always casting the result to a float *everywhere*, so that\n  `(float) (int(1080) / int(1080)) = float(1.0)`. Even added this strict\n  casting in places where we don't need to do casting (such as in printf\n  statements), just so that nobody sees any bugged non-casting code\n  anywhere and accidentally copies the bug into a serious code location\n  again in the future. Because it is a very evil and well-hidden bug, so\n  hopefully the copious amounts of `(float)` conversion and new docs\n  will now alert future readers that something special is going on with\n  that code...\n\n- Also fixed some incorrect PHPdoc `@return` values. And merged two\n  redundant lines in `examples/uploadAlbum.php`.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/67715b6d8baeb0e6bb51b31466ab4abaf3db34d7"},{"sha":"139e9b736ebca6196c438f217dec34c90945ec00","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":"People: Added function to report users as spam","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/139e9b736ebca6196c438f217dec34c90945ec00"},{"sha":"4ac3d4cda95f3a3a03787d9fce398e20b4d4308d","author":{"name":"aitte2","email":"ba30cb1210ea7790b2b587f815297cbe364f865b@users.noreply.github.com"},"message":"People: Update report() docs","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/4ac3d4cda95f3a3a03787d9fce398e20b4d4308d"},{"sha":"70157d9337fc380e91074f8680ac10b16f78f640","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":"Signatures: Force returned value to be an object\n\nThere are cases when an empty array is encoded as an array and not as\nan object. For example while calling `Account::getPresenceStatus()`.\n\nNow it is forced to be encoded as an object.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/70157d9337fc380e91074f8680ac10b16f78f640"},{"sha":"776e375f251c5325fbddccd9eac77fe69698044b","author":{"name":"mgp25","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mgp25.com"},"message":" Signatures: Force returned value to be an object (when empty)\n\nThe commit\nhttps://github.com/mgp25/Instagram-API/commit/70157d9337fc380e91074f8680\nac10b16f78f640 was wrong.","distinct":false,"url":"https://api.github.com/repos/iwangpeng/Instagram-API/commits/776e375f251c5325fbddccd9eac77fe69698044b"}]}
{"actor":{"display_login":"iwangpeng"}}