6 ms·
I don't think I'm very picky about versions meanings. But still the first two items are huge breaking changes for a dot release... If I hadn't left my previous
by byroot 13y ago
I don't think I'm very picky about versions meanings. But still the first two items are huge breaking changes for a dot release...
If I hadn't left my previous job, It would take me a day or two to upgrade. Even Rails 3.2 => 4 is more straightforward.
- look_lookatme 13y agoI can't speak to the Backbone.js changes, but isn't one of the odd things about Rails versioning the fact that 3.x -> 4.0 is essentially a dot release upgrade, but 4.0 to 4.1 a full version upgrade (many things are deprecated from 3.x to 4.0, and 4.1 will remove them entirely?)
- steveklabnik 13y agoThat was the plan, but now we are planning to make 4.1 an easy upgrade as well, and not remove deprecations that were originally planned on being removed.
- look_lookatme 13y agoOh that's awesome. Thanks for the info.
- masterj 13y agoHow? * Made the return values of Collection's set, add, remove, and reset more useful. Instead of returning this, they now return the changed (added, removed or updated) model or list of models. Given that calling `collection.add(foo)` returned `collection`, when were you ever using the return value for anything? Going forward you might, but I would be very surprised if much if any code was broken by this. * Backbone Views no longer automatically attach options passed to the constructor as this.options, but you can do it yourself if you prefer. This might require going through your code base, but it's just adding one line in the `initialize` function: initialize: function(options) { this.options = options; Annoying if you have hundreds of views that directly extend Backbone.View, but not something that should take a day to fix? Am I missing something?
- tbranyen 13y agoYou're missing a lot, but you would have had to peruse the commits that have been happening over the past year to know how much has changed. I'm not sure how to proceed with my own LayoutManager plugin. Hoping someone will PR a fix making it compatible, because my initial attempt told me it wasn't going to be trivial.
- masterj 13y agoWhat are the issues you're seeing with LayoutManager? Are they reflected in the changelog or hidden in commit messages?
- masterj 13y agoLooking into it, it seems like most of your issues stem from the fact that you depended on View._configure being called during initialization. You overwrite it here: https://github.com/tbranyen/backbone.layoutmanager/blob/master/backbone.layoutmanager.js#L855 https://github.com/tbranyen/backbone.layoutmanager/blob/mast... but this was completely removed with the update: https://github.com/jashkenas/backbone/compare/1.0.0...1.1.0#diff-0d56d0d310de7ff18b3cef9c2f8f75dcL983 https://github.com/jashkenas/backbone/compare/1.0.0...1.1.0#... In backbone's defense, that wasn't part of its public API, but it does make updating challenging. I'll give it a try and see if I can be of some help.
- ChiperSoft 13y agoThe return values change matters if you are chaining actions anywhere, which isn't that uncommon. And yes, some people do have lots of views. In my current codebase we use Backbone.View as the base of all our frontend web components. This won't take us a day to update, but it's far from trivial, and we will have to regression test every component.
- masterj 13y agoDoh, completely whiffed on chaining. I can see that breaking in weird ways. Thanks for the insight.
- 13y ago
- pselbert 13y agoThat is precisely why our apps are currently "stuck" on 0.9.10. The upgrade process for backbone is rather painful, as you end up hunting for "undefined" issues all over the place. Any change that renders my entire application broken should be a major version bump.