| Age | Commit message (Collapse) | Author | 
 | 
This is just basic implementation of $browser.url, $browser.onUrlChange methods:
$browser.url() - returns current location.href
$browser.url('/new') - set url to /new
If supported, history.pushState is used, location.href property otherwise.
$browser.url('/new', true) - replace current url with /new
If supported, history.replaceState is used, location.replace otherwise.
$browser.onUrlChange is only fired when url is changed from the browser:
- user types into address bar
- user clicks on back/forward button
- user clicks on link
It's not fired when url is changed using $browser.url()
Breaks Removed $browser.setUrl(), $browser.getUrl(), use $browser.url()
Breaks Removed $browser.onHashChange(), use $browser.onUrlChange()
 | 
 | 
 | 
 | 
 | 
 | 
Closes #547
 | 
 | 
 | 
 | 
- buzz api keeps on throttling our requests which makes our build fail
  so I'm disabling the buzz demo e2e test
- the $xhr service jsonp test was modified to use jsonp on angularjs.org
  instead of buzz api for the same reason as mentioned above
 | 
 | 
 | 
 | 
 | 
 | 
ng:class as well as ng:class-odd and ng:class-even always reset the
class list to whatever it was before compilation, this makes it
impossible to create another directive which adds its own classes on the
element on which ng:class was applied.
the fix simply removes all classes that were added previously by
ng:class and add classes that the ng:class expression evaluates to.
we can now guarantee that we won't clobber stuff added before or after
compilation as long as all class names are unique.
in order to implement this I had to beef up jqLite#addClass and
jqLite#removeClass to be able to add/remove multiple classes without
creating duplicates.
 | 
 | 
 | 
 | 
 | 
 | 
- both $watch and $on now return a function which when called
  deregisters the listener
- $removeListener was removed and replaced with the above
- added more tests for $watch and $on
Closes #542
 | 
 | 
 | 
 | 
 | 
 | 
- fixed traversal originating on a scope with with a right sibling
- unified code for both $broadcast and $digest
 | 
 | 
 | 
 | 
BREAKING CHANGE
* removing `onChange`
FEATURE
* adding three events: $beforeRouteChange, $afterRouteChange, $routeReload
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
- special attrs such as ng:href, ng:check did not work as intended when
their values do not contain bindings. And this commit is to fix that
Closes #534
 | 
 | 
IE doesn't have Array#indexOf and [].splice.call doesn't work there
either.
 | 
 | 
- register listeners with $on
- remove listeners with $removeListener
- fire event that bubbles to root with $emit
- fire event that propagates to all child scopes with $broadcast
 | 
 | 
 | 
 | 
- expose lowercase, uppercase and isDate to angular public api
- remove unnecessary extention of jqLite at an early stage
 | 
 | 
 | 
 | 
 | 
 | 
In order to avoid unnecesary route reloads when just hashSearch part
of the url changes, it is now possible to disable this behavior by
setting reloadOnSearch param of the route declaration to false.
Closes #354
 | 
 | 
two arguments
 | 
 | 
Change doc_widget.js to:
- render "edit in jsfiddle" button next to all examples
- make opt out certain examples by adding jsfiddle="false" attribute to
  doc:source element
 | 
 | 
 | 
 | 
it turns out that even with our tricks, jqLite#show is not usable in
practice and definitely not on par with jQuery. so rather than
introducing half-baked apis which introduce issues, I'm removing them.
I also removed show/hide uses from docs, since they are not needed.
Breaks jqLite.hide/jqLite.show which are no longer available.
 | 
 | 
 | 
 | 
 | 
 | 
we commonly assign stuff in if statments like this:
if (variable = someFn()) {
  //do something with variable
}
This results in lint and IDE warnings (did you mean ==?).
It is better to be explicit about our intention and wrap the assignement
into parens:
if ((variable = someFn())) {
  //do something with variable
}
Doing so suppresses warnings + is easier to understand the intention.
I verified that the closure compiler strips the extra parens, so there
is no byte overhead for this safety practice.
We should use this style going forward...
 | 
 | 
The support for the 'z' formatting flag was removed becase the timezone
info can't be retrieved from the browser apis (except for en-US locale
on some but not all browsers). For this reason we don't want to support
this flag at all.
Related to this, since the 'long' and 'longtime' datetime formats require
the 'z' flag in the formatting string, we are removing support for this
format as well.
 | 
 | 
- filter.number, filter.currency and filter.date are injected with
$locale service so that we can just swap the service to localize these
- date filter was beefed up in order to support literal strings found in
  localization rules
 | 
 | 
 | 
 | 
Closes #508
 | 
 | 
 | 
 | 
Much faster $destroy operations for large ng:repeat sets.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
This was causing to show up the "$browser" twice in the menu.
 | 
 | 
Closes #506
 | 
 | 
 | 
 | 
windgets
These widgets are useless and only trigger extra $updateViews.
The only reason we had them was to support ng:change on these widgets,
but since there are no bindings present in these cases it doesn't make
sense to support ng:change here. It's likely just a leftover from
getangular.com
Breaking change: ng:change for input[button], input[submit], input[reset], input[image]
and button widgets is not supported any more
 |