== 0.3.0 [09/28/09]
New:
- Sammy.Application#use() takes an app function and applies it to the current app. This is the entry point for Sammy Plugins. See docs at: http://code.quirkey.com/sammy/docs/plugins.html
- New system for repository structure, minified files are placed in lib/min/ version numbers are appended to minified files
- Sammy.EventContext#partial() is template engine agnostic and calls the template engine method based on the extension of the file you're trying to render.
- New official Sammy.Cache plugin provides simple client side caching
- Sammy.EventContext#redirect() can take any number of arguments that are all joined by '/'
- Sammy.Application#refresh() will re-run the current route
Changes:
- Removed John Resig's Class() inheritance code/style in favor of doing prototypical inheritance and using $.extend()
- Sammy.Application bind() and trigger() now use jQuery's built in namespacing. This means that a Sammy application can now catch events like clicks and other events that bubble up or are triggered on the Sammy.Application#element()
- Sammy.log and Sammy.addLogger are top level access to logging and adding additional logging paths. Sammy.Application#bindToAllEvents() replaces the functionality for the former addLogger() method
- the app functions and route callbacks both take _this_ as the first argument
- $.srender and template() are no longer part of the sammy.js and are instead included in the Sammy.Template plugin lib/plugins/sammy.template.js
- Routes are saved and looked up in order of definition instead of shortest first (May break existing applications that use RegExp based routing)
- Made the parse query more uniform with the rest of the code base
- Sammy.Object#toString() wont include functions unless you explicitly want them
Fixes:
- Fixed redirect() handling in post routes
- Fixed param parsing for form submission where there were multiple params with the same name
== 0.2.1 [08/28/09]
New:
- Query string parameters: You can now pass extra parameters to a route using the traditional Query string params scheme. e.g #/my/route?var1=blah will give you params['var1'] #=> 'blah' inside an Event context. (Thanks to Jesse Hallet [halletj]) See the commit (cb309b91c0ab80d4e8d6ef9bc97314607cc0da76) for more info.
Fixed:
- Redirection in POST routes wasnt working properly. (Thanks Russel Jones [CodeOfficer])
- Dont cache partial templates in debug mode. (Thanks Jonathan Vaught [gravelpup])
- Spelling and grammar fixes to README/Docs (Thanks Jason Davies [jasondavies])
== 0.2.0 [06/01/09]
New:
- Location Overrides: All location methods refer to two Sammy.Application methods: getLocation() and setLocation() which return and take a string, respectively. The default behavior is to pull the location from window.location.hash, but these methods can be overridden to provide alternate location strategies. Theres an example in examples/location_override. (thanks to britg, CodeOfficer)
- Sammy.Object#toHash() returns a JS object with any functions stripped. Useful for using with params.
- Sammy.Application#swap() is the method called within partial() for changing the content of $element(). The default behavior is just to use $.fn.html(), but can be overridden to provide some fancy animations.
Fixed:
- The 'changed' event is only fired at run() and after a partial's callback. This is the event to bind to, to check the DOM after a partial() call. (thanks to hpoydar).
- template() (aka $.srender) handles single quoted attributes now (aka generated HAML)
- When the app booted up, run() would redirect to the start_url even if another location was present.
- the _checkLocation() method now sets last_location properly (which fixes continual checking if route isnt found)