feat($parse): CSP compatibility …
CSP (content security policy) forbids apps to use eval or Function(string) generated functions (among other things). For us to be compatible, we just need to implement the "getterFn" in $parse without violating any of these restrictions. We currently use Function(string) generated functions as a speed optimization. With this change, it will be possible to opt into the CSP compatible mode using the ngCsp directive. When this mode is on Angular will evaluate all expressions up to 30% slower than in non-CSP mode, but no security violations will be raised. In order to use this feature put ngCsp directive on the root element of the application. For example: <!doctype html> <html ng-app ng-csp> ... ... </html> Closes #893
chore(ngSanitize): extract $sanitize, ngBindHtml, linkyFilter into a … …
…module
Create build for other modules as well (ngResource, ngCookies):
- wrap into a function
- add license
- add version
Breaks `$sanitize` service, `ngBindHtml` directive and `linky` filter were moved to the `ngSanitize` module. Apps that depend on any of these will need to load `angular-sanitize.js` and include `ngSanitize` in their dependency list: `var myApp = angular.module('myApp', ['ngSanitize']);`refactor(fromJson/toJson): move the contents of these files into Angu… …
…lar.js these files are now mostly empty so it doesn't make sense to keep them separated from other helper functions
chore(ngCookies): moved to module
chore(resource): moved to module
refactor(forms): Even better forms …
- remove $formFactory completely - remove parallel scope hierarchy (forms, widgets) - use new compiler features (widgets, forms are controllers) - any directive can add formatter/parser (validators, convertors) Breaks no custom input types Breaks removed integer input type Breaks remove list input type (ng-list directive instead) Breaks inputs bind only blur event by default (added ng:bind-change directive)
chore(slim-jim) add configuration
refactor($controller): Add $controller service for instantiating cont… …
…rollers So that we can allow user to override this service and use BC hack: https://gist.github.com/1649788
refactor($autoScroll): rename to $anchorScroll and allow disabling au… …
…to scrolling (links) Now, that we have autoscroll attribute on ng:include, there is no reason to disable the service completely, so $anchorScrollProvider.disableAutoScrolling() means it won't be scrolling when $location.hash() changes. And then, it's not $autoScroll at all, it actually scrolls to anchor when it's called, so I renamed it to $anchorScroll.
feat(module): new module loader
feat(deferreds/promises): Q-like deferred/promise implementation with… …
… a ton of specs
feat(mocks.$httpBackend): add $httpBackend mock …
$httpBackend mock allows: - expecting (asserting) requests - stubbing (responding without asserting) Add empty $httpBackend service (currently just wrapper for $browser.xhr)
feat($http): new $http service, removing $xhr.* …
Features: - aborting requests - more flexible callbacks (per status code) - custom request headers (per request) - access to response headers - custom transform functions (both request, response) - caching - shortcut methods (get, head, post, put, delete, patch, jsonp) - exposing pendingCount() - setting timeout Breaks Renaming $xhr to $http Breaks Takes one parameter now - configuration object Breaks $xhr.cache removed - use configuration cache: true instead Breaks $xhr.error, $xhr.bulk removed Breaks Callback functions get parameters: response, status, headers Closes #38 Closes #80 Closes #180 Closes #299 Closes #342 Closes #395 Closes #413 Closes #414 Closes #507
feat(service.$autoScroll): scroll to hash fragment …
- whenever hash part of the url changes - after ng:view / ng:include load
refacter(filters): convert filter/limitTo/orderBy from type augmentat… …
…ion to filters
move(compiler): appease the History God …
- renamed: src/Compiler.js -> src/service/compiler.js - renamed: test/CompilerSpec.js -> test/service/compilerSpec.js
move(scope): appease the History God …
- renamed: src/Scope.js -> src/service/scope.js - renamed: test/ScopeSpec.js -> test/service/scopeSpec.js
test(mocks): test mocks with compiled angular …
Unfortunately, there people in our team (me), who are not able to use angular.* namespace prefix when writing angular-mocks code, so we need to test it...