Enhancing jQuery SDK with tests and a critical patch
Unfortunately, we've been having a few problems with our jQuery SDK these past two days. We are very sorry about that and sadly, we don't really have a better explanation to give other than human (i.e. my) failure. Fortunately, only a small subset of customers was affected (only those who were running jQuery SDK 2.6.1 in combination with our /file/filter Robot), but still, this is not on par with the quality you have come to expect from us.
The jQuery SDK dates from before CasperJS, Travis CI, and the likes, and was in fact the first piece of software that was written for Transloadit nearly 6 years ago. It was launched without a good set of tests. Unfortunately, we failed to change that over the years as our tools improved. The last few days made it painfully clear that not only our API, website, and our many other SDKs need vigorous testing, but of course also our jQuery SDK.
Going forward, we will correct this and turn weakness into strength by introducing various tests to the jQuery SDK on system, implementation, and integration level, using aforementioned tools. We are confident that this upgrade will drastically minimize the chances of bugs like these reaching production again.
Again, we are very sorry that this has happened.
If you are running on a custom version or fork of the jQuery SDK, we kindly ask you to manually apply this patch to your setup. There will be a future update to the API that will break the jQuery SDK for you if you do not have this patch. This is because we currently have the logic of which result was already sent to the jQuery SDK and for which to call the onResult() callback for within the API. Of course, the API should not worry about this, as it is client-side logic. Thus, we would like to free the API from this functionality and move it into the jQuery SDK, which the above patch does with only 10% of the code used.
As always, we recommend that you use the latest jQuery version by using https://assets.transloadit.com/js/jquery.transloadit2-v2-latest.js. We will always make an effort to keep that stable. If you are using that version, you do not need to do anything about the patch.
There will be another announcement with a real deprecation date for this functionality soon, but – because it is related to the problems that occurred – this is to let you know in advance already.