Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change Log for upcoming release #1885

Closed
wookiehangover opened this issue Dec 10, 2012 · 32 comments
Closed

Change Log for upcoming release #1885

wookiehangover opened this issue Dec 10, 2012 · 32 comments

Comments

@wookiehangover
Copy link
Collaborator

In response to the question "What's been updated in master?", I started a rough draft of a changelog for > 0.9.2. This is only after one pass through the commit history (since March!), so it's bound to be missing stuff. I ignored documentation changes and relegated minor commits/fixes to be referenced by issue # as best as possible. Instead of making a bunch of pull request noise, I thought it would be good to hash out as an issue especially given the numbers of features, bug fixes, etc.

Without further ado:

Change Log > 0.9.2

  • Model#Save accepts { patch: true } option
  • Collection#sort triggers sort event instead of reset
  • Added Backbone.Collection#update
  • Backbone now extends Events object
  • added optional groups to route syntax
  • Add 'once' to Backbone events
  • Backbone.Events supports jQuery-style event maps in 'on' and 'off'
  • Reset events include previous list of models, for added convenience
  • Validation always happens, even when silent: true
  • events can be passed in options hash to Backbone.View
  • Bump to require Underscore 1.3.3
  • Add extend to Backbone.History
  • History can be used outside of the browser
  • Backbone.sync accepts emulateHTTP and emulateJSON as options.
  • Backbone.Router#navigate is chainable
  • Backbone.Collection aliases underscore proxies (collect, foldl, inject, foldr, head, take, tail)
  • Backbone.Model#parse is run on initialization
  • Normalizing trailing and leading slash behavior in routes
  • Added Backbone.View#dispose
  • Backbone.View#remove now calls #dispose for event cleanup
  • Falsy values for collection#comparator will override default value
  • Null and undefined are invalid model id's
  • { merge: true } option for collection#add
  • Backbone.Collection#clone()
  • Backbone.View#options, Backbone.View#el and Backbone.View#tagName can be provided as functions
  • Added Backbone.ajax for over-riding default ajax implementation
  • on and off are now prefered over bind and unbind
  • Backbone.Model#destroy() returns false if the model.isNew()
  • Backbone.View#make accpets falsy values for the content argument
  • Remove Ender support
  • Collection#reset() will now call the collection's parse function as well as the model's if {parse:true}

Bugfixes

#1030, #1092, #1144, #1151, #1206, #1252, #1366, #1327, #1371, #1387, #1412, #1403, #1447,
#1455, #1545, #1684, #1477, #1478, #1664, #1695, #1751, #1756, #1838, #1717, #1854

@gsamokovarov
Copy link
Contributor

Nice @wookiehangover! Another change I think is worth taking note of is the optional routes syntax.

@caseywebdev
Copy link
Collaborator

Reset events include previous list of models, for added convenience

Unless it's triggered in sort, which is further reason I believe that trigger should be 'sort' instead of 'reset'. They're different things.

@jashkenas
Copy link
Owner

Ooh -- this saves a ton of work. Many thanks for getting started on this.

@tgriesser
Copy link
Collaborator

Another change: Collection#reset() will now call the collection's parse function as well as the model's if {parse:true} #1854

@tgriesser
Copy link
Collaborator

@wookiehangover also might want to clarify "Remove Ender support" - I know the tests were dropped but $ can still be assigned to root.ender

@philfreo
Copy link
Contributor

Added Backbone.View#dispose

I was assuming the details of dispose was still up for discussion per all the comments in #1461, but if not then you should reword the changelog to be more of a warning, such as "Added Backbone.View#dispose to unbind from a view's model and collection, which is automatically called from Backbone.View#remove"

@wookiehangover
Copy link
Collaborator Author

@philfreo I had imagined that any new features would link to the documentation, rather than trying to explain them in detail.

@tgriesser good point, I wonder if it's worth mentioning at all... also added the note about #1854

@gsamokovarov ahh good catch!

@jashkenas no problem, I'll be editing the original post as relevant updates arise, please feel free to make edits where you see fit

@philfreo
Copy link
Contributor

@philfreo I had imagined that any new features would link to the documentation, rather than trying to explain them in detail.

Yes, but "adding a new method" is hardly accurate when in its current state the way remove works has totally changed in a backwards incompatible (and IMO unwise) way.

@wookiehangover
Copy link
Collaborator Author

@philfreo my point being that it's a longer form discussion that's more appropriate in the documentation for #remove and #dispose... but fwiw I've added a note about remove's behavior changing (which eventually would also link to the relevant documentation)

@philfreo
Copy link
Contributor

I've added a note about remove's behavior changing

thanks - this is what was definitely necessary

@philfreo
Copy link
Contributor

I'd also like to know exactly what has changed regarding querystrings in routes

@paulmillr
Copy link
Contributor

@wookiehangover +gh-1889. Backbone object now supports global events.

Backbone.trigger('stuff'); Backbone.on('stuff', doStuff)

@wookiehangover
Copy link
Collaborator Author

@paulmillr added

@caseywebdev
Copy link
Collaborator

Collection#update is now in core 🎊

@wookiehangover
Copy link
Collaborator Author

@caseywebdev 🎉

@wookiehangover
Copy link
Collaborator Author

added new sort event

@addyosmani
Copy link
Contributor

Nice work @wookiehangover! Do you think there will be a need for an upgrade guide for > 0.9.2 that goes into any more detail than the changelog?

@jashkenas
Copy link
Owner

Yes. We'll put a little "Upgrading" section at the top of the docs.

@addyosmani
Copy link
Contributor

Perfect :)

@wookiehangover
Copy link
Collaborator Author

@addyosmani I had actually started work on something approaching that last night. For now its the same list, just broken up into a few categories: New Features, Enhancements, Minor Changes and Potentially Breaking Changes. That last category should be a good diving rod for an upgrade guide. https://gist.github.com/4259967

@dariocravero
Copy link

👍 on the "upgrading" guide @addyosmani proposed @wookiehangover @jashkenas

@caseywebdev
Copy link
Collaborator

listenTo and stopListening (names pending) in Backbone.Events, trigger got a nice speed boost

@philfreo
Copy link
Contributor

Needs a note about model.save(..., { patch: true })

@WillsB3
Copy link

WillsB3 commented Dec 13, 2012

Great work on this @wookiehangover.

@philfreo
Copy link
Contributor

Needs a note that Collection#getByCid has been removed (Collection#get can handle lookups by cid now also)

@philfreo
Copy link
Contributor

Backbone.Model#parse is run on initialization

I believe that's only true if you pass { parse: true } in options.

@caseywebdev
Copy link
Collaborator

null/undefined attributes are now replaced with their default values (if specified) in the Model constructor.

@jashkenas
Copy link
Owner

@wookiehangover -- Are you confident that the above list is reasonably complete? Or do you want me to read through all of the commits to double check?

@jashkenas
Copy link
Owner

http://backbonejs.org/#changelog

... very happy to be able to close this ticket.

@philfreo
Copy link
Contributor

🎆 woo!

@caseywebdev
Copy link
Collaborator

Well Done

@wookiehangover
Copy link
Collaborator Author

@jashkenas looks like you got around to it, but yes, I feel like this is a reasonably complete list. Definitely helped to have it sitting in the issue tracker for a couple for days.

Thanks @philfreo @caseywebdev @paulmillr et al for helping make this accurate!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants