{"push_id":868332616,"size":9,"distinct_size":9,"ref":"refs/heads/master","head":"2dec6bcd88dd29e8a06ce5a0fb730874a26f48d1","before":"a2dc84444f237b3d1b372d9cc075b4f15e0f8d28","commits":[{"sha":"8087ffd99d177fa21d525aa30fc65fd3d20f4391","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Add changelog entry to the previous commit","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/8087ffd99d177fa21d525aa30fc65fd3d20f4391"},{"sha":"560ebf1ad4c72aaab3bb013ea5f6e054414edcc9","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Don't delete cached files\n\nThere are couple of problems with deleting cached files. Firstly, when\nusing backgrounding it can happen that a cached file is deleted (either\nby being replaced or destroyed) while being promoted, which would cause\nan error. This wouldn't necessarily do any harm, but it would look like\nan unnecessary alarm that there is an error, while in reality nothing\nerroneous happened.\n\nSecondly, it can cause unexpected errors when using the `moving` plugin,\nbecause we don't know whether the cached file has been moved before\ndeleting it. This was mitigated by a hack where we make an uploaded file\nremember that it was deleted, but that wasn't a good solution, because\nwe had to modify UploadedFile's data hash. With introduction of this\nrule we make sure that these errors cannot happen.\n\nAn idea has occured that we can simply rescue any delete errors from the\nattacher level, and log a warning. But that seemed wrong, we don't know\nwhat causes these errors, it could be that the underlying storage is\nthrowing an informative error which we are swallowing. And also this\nwouldn't solve other errors which deleting cached files bring, so we can\navoid adding this potentially problematic behaviour.","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/560ebf1ad4c72aaab3bb013ea5f6e054414edcc9"},{"sha":"3a5fd889c7b485bc8c6cff9e947ea046146a5a26","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Remove delete_invalid plugin\n\nThe problem with this plugin is that, if the user resubmits an invalid\nfile, they will get an error because the underlying storage would try to\ndelete a file that was already deleted. This could cause a lame error in\nthe production, and we want to follow the principle of least surprise,\nso we're removing this plugin, because isn't useful enough to justify\nits extistence and these potential errors.","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/3a5fd889c7b485bc8c6cff9e947ea046146a5a26"},{"sha":"e35d8bc8008b0ef9570baffbfbfb5068e14d4cbb","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Add `:public` option to S3 storage for public URLs","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/e35d8bc8008b0ef9570baffbfbfb5068e14d4cbb"},{"sha":"d941e7b8482be76ac6e228c5cd34f468bfad13ce","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Fix migration_helpers not detecting change\n\nThe migration_helpers plugin didn't properly detect that the file has\nchanged while executing a block, so we fix that.","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/d941e7b8482be76ac6e228c5cd34f468bfad13ce"},{"sha":"2b7ed0e6aabd378a05346c13e8bf339922fc2da1","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Make a lot of improvements to the documentation","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/2b7ed0e6aabd378a05346c13e8bf339922fc2da1"},{"sha":"d195ddcf680d491c47a95832484747da63728fa8","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Add support for Sequel's Postgres JSON column\n\nSequel has a \"pg_json\" plugin, which serializes and deserializes a\nPostgres JSON column into a hash-like object. This object is not a\ndescendant of Hash, but it responds to #to_hash, so we can loosen the\nrequirement in Shrine and accept any object that responds to #to_hash as\ndata.","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/d195ddcf680d491c47a95832484747da63728fa8"},{"sha":"f5f437ef4126e7396453f28928a987f8c407e28e","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Tweak style of declaring direct upload routes","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/f5f437ef4126e7396453f28928a987f8c407e28e"},{"sha":"2dec6bcd88dd29e8a06ce5a0fb730874a26f48d1","author":{"email":"1e70908baa314345bbf67ecc18bb99bf93d99783@gmail.com","name":"Janko Marohnić"},"message":"Tweak a changelog description","distinct":true,"url":"https://api.github.com/repos/janko-m/shrine/commits/2dec6bcd88dd29e8a06ce5a0fb730874a26f48d1"}]}