diff --git a/.bowerrc b/.bowerrc index baa91a3e3f6c..9b2abeb660ab 100644 --- a/.bowerrc +++ b/.bowerrc @@ -1,3 +1,3 @@ { - "directory": "bower_components" -} \ No newline at end of file + "directory" : "bower_components" +} diff --git a/.gitignore b/.gitignore index ca56e9487ae2..f6961d018196 100644 --- a/.gitignore +++ b/.gitignore @@ -29,8 +29,11 @@ tmp pubspec.lock .c9 .idea/ +.settings/ *.swo modules/.settings +.vscode +modules/.vscode # Don't check in secret files *secret.js @@ -39,3 +42,9 @@ modules/.settings npm-debug.log /docs/bower_components/ + +# build-analytics +.build-analytics + +# built dart payload tests +/modules_dart/payload/**/build diff --git a/.nvmrc b/.nvmrc index c43e1055fd3f..fae6e3d04b2c 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -0.12 +4.2.1 diff --git a/.settings/settings.json b/.settings/settings.json deleted file mode 100644 index 783b6df3dabb..000000000000 --- a/.settings/settings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "search.exclude": { - ".git" : true, - ".idea": true, - "node_modules" : true, - "bower_components" : true, - "packages" : true, - "build" : true, - "dist" : true, - "tmp" : true - } -} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 428b8ed1be99..80d9d7540a51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: node_js sudo: false node_js: -- '0.12' +- '4.2.1' branches: except: @@ -19,7 +19,11 @@ env: - LOGS_DIR=/tmp/angular-build/logs - SAUCE_USERNAME=angular-ci - SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987 + - BROWSER_STACK_USERNAME=angularteam1 + - BROWSER_STACK_ACCESS_KEY=BWCd4SynLzdDcv8xtzsB - ARCH=linux-x64 + - DART_DEV_VERSION=latest + - DART_STABLE_VERSION=latest # Token for tsd to increase github rate limit # See https://github.com/DefinitelyTyped/tsd#tsdrc # This does not use http://docs.travis-ci.com/user/environment-variables/#Secure-Variables @@ -30,49 +34,68 @@ env: # GITHUB_TOKEN_ANGULAR - secure: "fq/U7VDMWO8O8SnAQkdbkoSe2X92PVqg4d044HmRYVmcf6YbO48+xeGJ8yOk0pCBwl3ISO4Q2ot0x546kxfiYBuHkZetlngZxZCtQiFT9kyId8ZKcYdXaIW9OVdw3Gh3tQyUwDucfkVhqcs52D6NZjyE2aWZ4/d1V4kWRO/LMgo=" matrix: - # Order: slowest build on top, so that we don't hog VMs while waiting for others to complete. - - MODE=dart DART_CHANNEL=stable - - MODE=dart DART_CHANNEL=dev - - MODE=saucelabs DART_CHANNEL=dev - - MODE=dart_experimental DART_CHANNEL=dev - - MODE=js DART_CHANNEL=dev - - MODE=lint DART_CHANNEL=dev + # Order: a slower build first, so that we don't occupy an idle travis worker waiting for others to complete. + - MODE=dart DART_CHANNEL=stable DART_VERSION=$DART_STABLE_VERSION + - MODE=dart DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION + - MODE=saucelabs DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION + - MODE=browserstack DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION + - MODE=dart_experimental DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION + - MODE=js DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION + - MODE=router DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION + - MODE=build_only DART_CHANNEL=stable DART_VERSION=$DART_STABLE_VERSION + - MODE=lint DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION + - MODE=payload DART_CHANNEL=stable DART_VERSION=$DART_STABLE_VERSION matrix: allow_failures: - - env: "MODE=saucelabs DART_CHANNEL=dev" + - env: "MODE=saucelabs DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION" + - env: "MODE=browserstack DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION" + - env: "MODE=dart_experimental DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION" + # TODO(alxhub): remove when dartdoc #1039 is in dev channel + - env: "MODE=dart DART_CHANNEL=dev DART_VERSION=$DART_DEV_VERSION" addons: firefox: "38.0" before_install: +- node tools/analytics/build-analytics start ci job +- node tools/analytics/build-analytics start ci before_install - echo ${TSDRC} > .tsdrc - export DISPLAY=:99.0 - export GIT_SHA=$(git rev-parse HEAD) - ./scripts/ci/init_android.sh -- ./scripts/ci/install_dart.sh ${DART_CHANNEL} ${ARCH} +- ./scripts/ci/install_dart.sh ${DART_CHANNEL} ${DART_VERSION} ${ARCH} - sh -e /etc/init.d/xvfb start - if [[ -e SKIP_TRAVIS_TESTS ]]; then { cat SKIP_TRAVIS_TESTS ; exit 0; } fi +- '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && [ "${TRAVIS_BRANCH}" = "master" ] && SAUCE_USERNAME="angular2-ci" && SAUCE_ACCESS_KEY="693ebc16208a-0b5b-1614-8d66-a2662f4e" || true' +- node tools/analytics/build-analytics success ci before_install install: - # Update npm - - npm install -g npm@2.9.1 - - npm --version + - node tools/analytics/build-analytics start ci install # Check the size of caches - du -sh ./node_modules || true # Install npm dependecies - npm install + - node tools/analytics/build-analytics success ci install before_script: +- node tools/analytics/build-analytics start ci before_script - mkdir -p $LOGS_DIR - ./scripts/ci/presubmit-queue-setup.sh +- node tools/analytics/build-analytics success ci before_script script: +- node tools/analytics/build-analytics start ci script - ./scripts/ci/build_and_test.sh ${MODE} +- node tools/analytics/build-analytics success ci script after_script: +- node tools/analytics/build-analytics start ci after_script - ./scripts/ci/print-logs.sh - ./scripts/ci/after-script.sh +- ./scripts/publish/publish-build-artifacts.sh +- node tools/analytics/build-analytics success ci after_script +- if [[ $TRAVIS_TEST_RESULT -eq 0 ]]; then node tools/analytics/build-analytics success ci job; else node tools/analytics/build-analytics error ci job; fi notifications: webhooks: @@ -98,24 +121,12 @@ deploy: bucket: angular2-snapshots # don't delete generated files skip_cleanup: true - # serve to public at https://storage.googleapis.com/angular2-snapshots/SHA/dart_stable/dist.tgz + # serve to public at https://storage.googleapis.com/angular2-snapshots/SHA/dist.tgz acl: public-read # upload the .tgz archive created in scripts/ci/build_and_test.sh local-dir: deploy # create a "subdirectory" for each commit - upload-dir: $TRAVIS_COMMIT/dart_stable + upload-dir: $TRAVIS_COMMIT on: repo: angular/angular - condition: "$MODE = dart && $DART_CHANNEL = stable" - - provider: gcs - access_key_id: GOOGIOQTDBEOPBUAWFZQ - secret_access_key: - secure: "MEDggllZ5fw4wI9CEUi8WR6jKsKXqdRF/DLxSNC2JpzM5RlVeBm0uqjntYT1Cf1dASvQ2/+vZCUikL/3A48NcoEYRHXGmxu8D6t/SvleQD8Xv434xFOdsa2QqP/HiCtqCLOI5jJz1JVoB5nNyKKZ33ogTUL1LV1TfcrAioyizW8=" - bucket: angular2-snapshots - skip_cleanup: true - acl: public-read - local-dir: deploy - upload-dir: $TRAVIS_COMMIT/js - on: - repo: angular/angular - condition: "$MODE = js" + condition: "$MODE = build_only" diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bac41c26bd2..640f797b1f9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,1226 @@ + +# 2.0.0-beta.0 somnambulant-inauguration (2015-12-15) + +**Enjoy!** + + + +# 2.0.0-alpha.55 (2015-12-15) + + +### Bug Fixes + +* **router:** export ROUTER_LINK_DSL_PROVIDER and hide MockPopStateEvent ([fc75220](https://github.com/angular/angular/commit/fc75220)) + +### Features + +* **core:** enable dev mode by default ([3dca9d5](https://github.com/angular/angular/commit/3dca9d5)) + + +### BREAKING CHANGES + +* Before +Previously Angular would run in dev prod mode by default, and you could enable the dev mode by calling enableDevMode. +After +Now, Angular runs in the dev mode by default, and you can enable the prod mode by calling enableProdMode. + + + + +# 2.0.0-alpha.54 (2015-12-15) + + +### Bug Fixes + +* **bundles:** don't include RxJS in System.register bundles ([77b7cae](https://github.com/angular/angular/commit/77b7cae)) +* **bundles:** remove ngUpgrade from the angular2.js bundle ([283962f](https://github.com/angular/angular/commit/283962f)), closes [#5739](https://github.com/angular/angular/issues/5739) [#5854](https://github.com/angular/angular/issues/5854) +* **bundles:** remove polyfills from angular2.js bundle ([2983558](https://github.com/angular/angular/commit/2983558)), closes [#5881](https://github.com/angular/angular/issues/5881) +* **bundles:** rename the testing.js bundle to testing.dev.js ([d55655f](https://github.com/angular/angular/commit/d55655f)), closes [#5899](https://github.com/angular/angular/issues/5899) [#5776](https://github.com/angular/angular/issues/5776) +* **bundles:** rename UMD bundles ([61b9468](https://github.com/angular/angular/commit/61b9468)), closes [#5898](https://github.com/angular/angular/issues/5898) + + +### BREAKING CHANGES + +* System.register testing bundle was renamed: +`testing.js` -> `testing.dev.js` + +* UMD bundles were renamed: + * `angular2.umd.js` -> `angular2-all.umd.js` + * `angular2-testing.umd.js` -> `angular2-all-testing.umd.js` + +* RxJS used to be bundled with Angular 2 code and this is not the case +any more. RxJS needs to be loaded explicitly. + +* Previously `angular2.js`, `angular2.min.js` and `angular2.dev.js` bundles +would have zone.js and reflect-metadata pre-appended. New bundles don't +contain zone.js nor reflect-metadata - those external dependencies can +be easily loaded into a browser using `angular2-polyfills.js` + +* `ngUpgrade` related symbols are no longer part of the `angular2.js` +bundle. `ngUpgrade` has a dedicated `upgrade.js` bundle now. + + + + + +# 2.0.0-alpha.53 (2015-12-13) + + +### Bug Fixes + +* **angular2:** don't export compiler bits as public API ([20c6eeb](https://github.com/angular/angular/commit/20c6eeb)), closes [#5815](https://github.com/angular/angular/issues/5815) [#5797](https://github.com/angular/angular/issues/5797) +* **angular2:** remove `angular2.ts` module ([200dc00](https://github.com/angular/angular/commit/200dc00)), closes [#5815](https://github.com/angular/angular/issues/5815) [#5844](https://github.com/angular/angular/issues/5844) +* **animate:** ensure transition properties are removed once the animation is over ([b8e69a2](https://github.com/angular/angular/commit/b8e69a2)) +* **async:** improve Rx support in ObservableWrapper ([4a17e69](https://github.com/angular/angular/commit/4a17e69)) +* **async:** support BehaviorSubjects in async pipe ([398f024](https://github.com/angular/angular/commit/398f024)) +* **bundles:** don't use angular2/angular2 in config of System.register bundles ([8c69497](https://github.com/angular/angular/commit/8c69497)) +* **changelog:** fix ngFor on template ([3190c59](https://github.com/angular/angular/commit/3190c59)), closes [#5785](https://github.com/angular/angular/issues/5785) +* **compiler:** remove AppRootUrl ([ed2c25e](https://github.com/angular/angular/commit/ed2c25e)) +* **core:** workaround for typescript@1.7.3 breakage #5784 ([30e25ac](https://github.com/angular/angular/commit/30e25ac)), closes [#5784](https://github.com/angular/angular/issues/5784) +* **dom_renderer:** moveNodeAfterSiblings should not detach the reference node ([edcb34d](https://github.com/angular/angular/commit/edcb34d)), closes [#5077](https://github.com/angular/angular/issues/5077) [#5759](https://github.com/angular/angular/issues/5759) +* **HtmlParser:** allow ng-content elements regardless the namespace ([080469f](https://github.com/angular/angular/commit/080469f)), closes [#5745](https://github.com/angular/angular/issues/5745) +* **parse5:** support comment nodes with getText and setText ([693d9dc](https://github.com/angular/angular/commit/693d9dc)), closes [#5805](https://github.com/angular/angular/issues/5805) +* **public_spec:** check exports of barrels instead of angular2/angular2 ([979162d](https://github.com/angular/angular/commit/979162d)), closes [#5841](https://github.com/angular/angular/issues/5841) +* **styles:** Escape \r characters in compiled text ([92ddc62](https://github.com/angular/angular/commit/92ddc62)), closes [#5772](https://github.com/angular/angular/issues/5772) [#5835](https://github.com/angular/angular/issues/5835) +* **TemplateParser:** match element and attributes regardless the namespace ([7c13372](https://github.com/angular/angular/commit/7c13372)) +* **upgrade:** allow directives with empty template ([2ca5e38](https://github.com/angular/angular/commit/2ca5e38)) +* **web_workers:** remove unnecessary setup module and AppRootUrl ([a885f37](https://github.com/angular/angular/commit/a885f37)), closes [#5820](https://github.com/angular/angular/issues/5820) + +### Features + +* **benchpress:** add receivedData + requestCount to PerflogMetric ([fe1dd77](https://github.com/angular/angular/commit/fe1dd77)), closes [#5750](https://github.com/angular/angular/issues/5750) +* **dom_renderer:** add setBindingDebugInfo method ([79399e1](https://github.com/angular/angular/commit/79399e1)), closes [#5227](https://github.com/angular/angular/issues/5227) +* **facade:** do not reexport Observable from angular2/core ([43f42d9](https://github.com/angular/angular/commit/43f42d9)) +* **Headers:** implement `toJSON` ([0cb32c2](https://github.com/angular/angular/commit/0cb32c2)) +* **renderer:** use a comment instead of an element when stamping out template>` elements ([194dc7d](https://github.com/angular/angular/commit/194dc7d)), closes [#4805](https://github.com/angular/angular/issues/4805) + + +### BREAKING CHANGES + +* `Observable` are no more re-exported from `angular2/core` + + Before + ``` + import {Observable} from 'angular2/core' + ``` + After + ``` + import {Observable} from 'rxjs/Observable'; + ``` + +* The setupWebWorker function exported from +angular2/platform/worker_app no longer returns a promise of providers, +but instead synchronously returns providers. +Related to #5815 + +* `angular2/angular2` was removed. Use the correct import from one of the barrels. E.g. `angular2/core`, `angular2/platform/browser`, `angular2/common`, … +Note: This only applies to JavaScript, Dart is not changed. + +* The following symbols are not exported from angular2/angular2 any more: +`UrlResolver`, `AppRootUrl`, `getUrlScheme`, `DEFAULT_PACKAGE_URL_PROVIDER`. +Use imports from `angular2/compiler` instead. + + + + +# 2.0.0-alpha.52 (2015-12-10) + + +### Features + +* **core:** case-sensitive camelCase templates (kebab-case removal) ([da9b46a](https://github.com/angular/angular/commit/da9b46a)) + + +### BREAKING CHANGES + +* Angular templates are now case-sensitive and use camelCase instead of kebab-case (dash-case). + + Before: + + ``` +

+ + + + +