Skip to content

0.7.0 Release Candidate #184

Merged
merged 31 commits into from Oct 22, 2012

6 participants

@tbranyen
Owner

Disclaimer

This has been tested in a few production applications, but for the most part has not been battle tested. Please drop into your application and follow the migration guide. Report all bugs in here.

Note: Documentation is still being worked on, the README is limited, but the 0.6.6 docs will exist until the new site is launched.

Merging on Monday

Migration Guide From 0.6.*

There have been a few small "breaking" changes that have been made to create a more unified and sane API. You should have to change relatively little to gain the benefits from this release. Please ask all questions in the comment area below and not open new issues.

  • All render calls that previously took a function as a callback argument, should now be changed to render().done or render().then check out http://api.jquery.com/category/deferred-object/ for more information.
  • Inside the LayoutManager.configure object, change the paths Object to prefix which is a single String property pointing to where your templates live.
  • The above change may cause you to change your template properties for Layouts.
  • If you were using swapLayout you can patch it back in, but it's removed due to lack of use case.

Every other change should be compatible with your existing implementation.

Changelog

  • Refactored source to be less cryptic.
  • 100% test code coverage.
  • Re-wrote much of the internals.
  • Performance greatly improved, especially with large lists.
  • Removed swapLayout.
  • serialize is deprecated and replaced by data.
  • render(callback) is deprecated to render().done() deferreds only.
  • Automatically unbind model and collection events inside cleanup.
  • Backbone.LayoutView,Backbone.Layout, andBackbone.View(withmanage set totrue`) are now all identical.
  • paths is now a String prefix, set this to the folder where your templates live.
  • myView.render().view now allows you to attach view.el after a render for some nice one-liners. new Backbone.LayoutView({ template: "#t" }).render().view.$el.appendTo("body");
@atomictag

Very nice work!
Quick one: now that Layout, LayoutView and LayoutManager are all equivalent, will it be possible to nest Layouts?
Thanks again for this great release

@tbranyen
Owner

Yup, everything is nestable now. =)

@dannguyen

Very cool, the Layout/LayoutView/LayoutManager differentiation was a little hard to grasp. Thanks for the hard work.

@tbranyen tbranyen merged commit 888fcdf into master Oct 22, 2012
@ryno1234

Exactly what I was just looking for! Nice work. Will be implementing and testing shortly.

@torbjorntorbjorn torbjorntorbjorn referenced this pull request in tbranyen/backbone-boilerplate Oct 31, 2012
Closed

Question since upgrade to LM 0.7.0 #164

@andrewferk

This has solved some problems for me, such as my subviews' events actually being binded. All my jasmine tests still pass in my application, and the test suite finishes about 15% faster, and we've noticed some noticeable performance increases. Thank you!

@dariocravero

Hey @tbranyen is backbone.layoutmanager.docs the repo for 0.7.x docs or is it somewhere else? Do you need any help with writing stuff?

@tbranyen
Owner
tbranyen commented Dec 4, 2012

Yeah, it's the repo. I've been trying to get a design locked down, but I've hated everything I made. I think the documentation needs a little bit of tweaking as well. The migration guide is already written. If you're interested in helping out, I can add you as a collab to it.

@dariocravero
@tbranyen
Owner
tbranyen commented Dec 4, 2012

Awesome added you as a collab.

@tbranyen
Owner
tbranyen commented Dec 4, 2012

Feel free to change anything (content/design) in the repo and to add credits.

@dariocravero

Thanks! I will

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.