balupton/history.js — pull request #137 by rroesler (2011-12-08 03:10:50+00:00)
Title: Modify history.js (uncompresses only) 

"
4. If the third argument is present, set the document's current address to the absolute URL that was found earlier in this algorithm.

Since this is neither a navigation of the browsing context nor a history traversal, it does not cause a hashchange event to be fired.
"
I believe that " this is not a navigation" also applies to popState (as this this cause applies to push push and replace state)

The changes to history.js bring statechange (event) in line with the spec.