forked from quirkey/sammy
-
Notifications
You must be signed in to change notification settings - Fork 1
/
HISTORY
86 lines (64 loc) · 6.04 KB
/
HISTORY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
== 0.4.1 [01/11/10]
New:
- Add rake generate task that builds a simple (server-less) sammy app structure
Fixed:
- decode all parsed params (thanks jdknezek)
- Fix Sammy.JSON fails in IE6
- Fixed test suite in IE8
- Fixed console.log is not a real function in IE8
== 0.4.0 [01/04/10]
New:
- Sammy.Storage and Sammy.Session are wrappers around a new prototype Sammy.Store, which is an class that abstracts access to the various types of in browser storage, including HTML5 DOM Storage and Cookies. This allows for a unified way of accessing and storing data locally for a Sammy app.
- Sammy.Mustache is a plugin that adds support for the Mustache template framework through @janl's Mustache.js.
- Sammy.JSON is simple plugin that includes the json2.js source and also provides a simple helper for doing JSON to/from conversion
- Sammy.Application#helper() is a shortcut for adding a single helper by name. This allows for more easily defined dynamically named helpers.
Changed:
- Sammy no longer depends exclusively on polling to determine changes in its location. The work of determining location change was pulled out of Sammy.Application entirely and into LocationProxy prototypes. The new default Sammy.HashLocationProxy will use the native 'onhashchange' event where available, and resort to a single global poller when not. The LocationProxy object can be set for each Sammy.Application. Location proxies can be defined added, and will work as long as they conform to the simple prototype laid out by the HashLocationProxy.
Fixed:
- URL query params are properly URL decoded. [Thanks Lee Semel]
== 0.3.1 [12/09/09]
New:
- Sammy.NestedParams is a new plugin that handles form fields like Rails/Rack's nested params. See the docs for more info [thanks endor!]
Changed:
- Sammy.Application#_parseFormParams is now a single point of entry that takes a form and should return a set of params. NestedParams hooks into this.
- The Sammy.Application constructor no longer requires an app function. This allows you to create multiple apps quickly and assign routes/etc. later.
- Sammy.Template takes a second option which is the proxy/extension you want to associate it with.
Fixed:
- Fixed a bug in IE only where with two consecutive routes that contain params, the second set of params will not be filtered properly [thanks Scott McMillin!]
== 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)