Skip to content

Latest commit

 

History

History
108 lines (74 loc) · 6.69 KB

CHANGELOG.markdown

File metadata and controls

108 lines (74 loc) · 6.69 KB

Changelog

0.8.0

  • Davis is no longer dependent on jQuery, can be used with any or no DOM library with the use of extensions.
  • Added Zepto extension to allow Davis to be used with Zepto.
  • More robust checking of link origins, protocols must match to be caught by Davis, thanks jacobcoens
  • Added Mixpanel plugin, thanks hleinone
  • Added Facebook Like plugin, thanks hleinone
  • Fixed several bugs with the hashRouting extension.

0.7.0

  • Refactor of internals, many components now implemented as Davis plugins, making it easier to extend the library.
  • Simplify build tools, removed dependencies on ruby and java. Now all you need is make and node.js. Thanks visionmedia.
  • The Davis convenience function no longer requires a config function to be passed in when creating an app. visionmedia
  • The Davis convenience function auto starts the app as soon as possible. visionmedia.
  • Changed default setting generateRequestOnPageLoad, now it is false by default.
  • Davis.logger is now implemented as a plugin not a setting.
  • Renamed Davis.Request.prototype.asJSON to Davis.Request.prototype.toJSON. visionmedia.
  • Fix browser inconsistency bug where Firefox would not fire a popstate event on page load.

0.6.2

  • Fix issue so that a requests' location includes any query params. Fixed by hleinone.

0.6.1

  • Normalise node name when checking link and form origins, fixes bug when used in xhtml documents. Reported by sabberworm.
  • Fix issue when submitting forms with only file inputs or with no inputs. Reported by hleinone.

0.6.0

  • Ignore any links or forms that are not on the same origin, only listen to clicks on links and forms with a href or action from the same domain.
  • Big upgrade to the hashRouting extension, adding fallback for browsers that don't support onhashchange & the ability to fallback to hash based routing in browsers that do not support pushState. Many thanks to jbaudanza.
  • Fix bug in Davis.Request so that full urls are handled properly, jbaudanza.
  • Fix bug when parsing rails style nested params with arrays, thanks ismasan.
  • Creating instances of Davis.Request should be more robust, fixes issues seen in some versions of Chrome.
  • State data is pushed into the history state object under a _davis prefix to defend against any possible clashes with other code manipulating the history.
  • Add extension to disable Davis support in iOS versions less than 5.

0.5.1

  • Fixes required for Opera support now that Opera 11.50 supports pushState.
  • Ensure that jQuery is never referenced as $.

0.5.0

  • Introduce Davis.location object which acts as an interface to any kind of routing mechanism. Expects to be passed a delegate object which will do the actual routing work. By default the delegate is the HTML5 pushState module Davis.history.
  • Renamed methods on Davis.history to match the interface set out by Davis.location. Davis.history.pushState becomes Davis.history.assign & Davis.history.replaceState becomes Davis.history.replace.
  • Added Davis.extend method for adding library level extensions.
  • Added Davis.hashRouting extension allowing use of location.hash based routing.
  • Changed Davis.App.prototype.configure so that the settings object is yielded as the first argument to the config function.

0.4.3

  • Merge pull request fixes issues with IE's console functions/objects and IE's handling of lastIndex, thanks to jbaudanza.

0.4.2

  • Fixed bug by introducing a utils module which uses native implementations of Array.prototype.every, Array.prototype.forEach, Array.prototype.filter, Array.prototype.map if they exist and if not falls back to a non native implementation. This allows Davis.js to fail gracefully in IE. Thanks to to jbaudanza for reporting the issue.

0.4.1

  • If no route is found for the initial page load request don't stop the app
  • Log a message when the app is stopped

0.4.0

  • Only get requests should change the browser url, all others will create an entry in the history but not change the url
  • By default any routes not handled by Davis will be automatically sent to the server. This can be configured using the setting handleRouteNotFound
  • Request methods and paths are now case insensitive
  • Fixed bug which meant that restarting a Davis app would lead to events being bound to twice
  • Work when jQuery is in no conflict mode

0.3.3

  • Fixed bug when links contained other elements, reported by kbingman

0.3.2

  • Fixed bug which caused the initial page load to trigger two requests.
  • Made the initial request for the page load configurable, by default it is on.

0.3.1

  • fixed bug with request.redirect so that the browser url is set correctly.

0.3.0

  • Added app.use to use plugins in a Davis.App
  • Added app.helpers to add helper methods to a Davis.Request object, available with a route callback.
  • Created a Davis.title plugin, a simple plugin to set the page title for each request.
  • Created a Davis.google_analytics plugin, a simple plugin to enable google analytics tracking of requests.
  • Can now throw errors that happen in a route callback, this is disabled by default but can be enabled using app.settings.throwErrors. When disabled an http request is made to the server.
  • Add routeError event, triggered when an error occurs in a route callback.

0.2.1

  • request.whenStale callback should receive the new request as a param and have this bound to the new request.

0.2.0

  • Add app.state and app.trans to allow for routes that do not change the page url bar but are still navigable via the back and forward button.
  • Add request.whenStale callback, called whenever a route becomes stale, i.e. when another route has been triggered by a new request.
  • Fail more gracefully when pushState is not available cmalvern
  • Trigger 'unsupported' event when running in a browser that is unsupported