|
1 | 1 | <a name="v0.13.0"></a>
|
2 | 2 | # v0.13.0 tempus-fugitification (2014-07-25)
|
3 | 3 |
|
| 4 | +## Highlights |
| 5 | + |
| 6 | +This release is focused on performance and significantly speeds up rendering. We optimized our |
| 7 | +entire rendering pipeline and now component rendering is 2.8 times (those with inlined templates) |
| 8 | +to 6.3 times faster (those with template files) than the previous 0.12.0 release. |
| 9 | + |
| 10 | +To accomplish these performance improvements, we |
| 11 | +- fixed a number of performance bugs |
| 12 | +- moved more compilation work out of the ViewFactories, which stamps out DOM nodes, and into the |
| 13 | + Compiler, which sets up the ViewFactories. |
| 14 | +- implemented a custom "directive injector" to optimize Dependency Injection calls from the |
| 15 | + ViewFactories |
| 16 | +- optimized Dependency Injection, eliminating slow APIs |
| 17 | + |
| 18 | +Also, we have given apps more knobs to tune performance |
| 19 | +- The Http service now supports coalescing http requests. This means that all the HTTP responses |
| 20 | + that arrive within a particular interval can all be processed in a single digest. |
| 21 | +- The ElementProbe can be disabled for apps that do not use animation |
| 22 | +- Along with the existing ScopeStats, Angular now exposes cache statistics through the ngCaches |
| 23 | + global object. This also allows developers to clear the caches and measure memory usage |
| 24 | +- Along with these changes, we have also added support for ProtractorDart. |
| 25 | + |
4 | 26 | ## Bug Fixes
|
5 | 27 |
|
6 | 28 | - **DynamicParser:** Correctly handle throwing exceptions from method.
|
@@ -244,12 +266,20 @@ towards the ScopeDigestTTL.
|
244 | 266 | notifyWhenNoOutstandingRequests(callback) method on the testability
|
245 | 267 | object to whenStable(callback).
|
246 | 268 |
|
247 |
| - |
248 |
| - |
249 |
| - |
250 | 269 | <a name="v0.12.0"></a>
|
251 | 270 | # v0.12.0 sprightly-argentinosaurus (2014-06-03)
|
252 | 271 |
|
| 272 | +## Highlights |
| 273 | + |
| 274 | +- A 20% performance improvement from caching interpolated expressions. |
| 275 | +- Http service can make cross-site requests (get, post, put, etc.) which use credentials (such as |
| 276 | + cookies or authorization headers). |
| 277 | +- **Breaking change**: vetoing is no longer allowed on leave (RouteLeaveEvent). This change corrects |
| 278 | + an issue with routes unable to recover from another route vetoing a leave event. |
| 279 | +- **Breaking change**: Zone.defaultOnScheduleMicrotask is now named Zone.onScheduleMicrotask |
| 280 | +- **Breaking change**: OneWayOneTime bindings will continue to accept value assignments until their |
| 281 | + stabilized value is non-null. |
| 282 | + |
253 | 283 | ## Bug Fixes
|
254 | 284 |
|
255 | 285 | - **NgStyle:** make NgStyle export expressions
|
@@ -339,13 +369,61 @@ towards the ScopeDigestTTL.
|
339 | 369 |
|
340 | 370 | - **VmTurnZone:** due to [a8699da0](https://github.com/angular/angular.dart/commit/a8699da016c754e08502ae24034a86bd8d6e0d8e),
|
341 | 371 |
|
342 |
| - |
343 | 372 | `Zone.defaultOnScheduleMicrotask` is now named `Zone.onScheduleMicrotask`
|
344 | 373 |
|
345 | 374 |
|
346 | 375 | <a name="v0.11.0"></a>
|
347 | 376 | # v0.11.0 ungulate-funambulism (2014-05-06)
|
348 | 377 |
|
| 378 | +## Highlights |
| 379 | + |
| 380 | +### Breaking Change |
| 381 | + |
| 382 | +The breaking change first: `Http.getString()` is gone. |
| 383 | + |
| 384 | +If you said: `Http.getString('data.txt').then((String data) { ... })` before, now say |
| 385 | +`Http.get('data.txt').then((HttpResponse resp) { var data = resp.data; ... });` |
| 386 | + |
| 387 | +### New Features |
| 388 | + |
| 389 | +- Shadow DOM-less components |
| 390 | + |
| 391 | +Shadow DOM is still enabled by default for components. Now, its use can be controlled through the |
| 392 | +new `useShadowDom` option in the Component annotation. |
| 393 | + |
| 394 | +For example: |
| 395 | + |
| 396 | +```dart |
| 397 | +@Component( |
| 398 | + selector: 'my-comp', |
| 399 | + templateUrl: 'my-comp.html', |
| 400 | + useShadowDom: false) |
| 401 | +class MyComp {} |
| 402 | +``` |
| 403 | + |
| 404 | +will disable Shadow DOM for that component and construct the template in the "light" DOM. Either |
| 405 | +omitting the `useShadowDom` option or explicitly setting it to `true` will cause Angular to |
| 406 | +construct the template in the component's shadow DOM. |
| 407 | + |
| 408 | +Adding cssUrls to Components with Shadow DOM disabled is not allowed. Since they aren't using Shadow |
| 409 | +DOM, there is no style encapsulation and per-component CSS doesn't make sense. The component has |
| 410 | +access to the styles in the `documentFragment` where it was created. Style encapsulation is a |
| 411 | +feature we are thinking about, so this design will likely change in the future. |
| 412 | + |
| 413 | +- bind-* syntax |
| 414 | + |
| 415 | +We have shipped an early "preview" of the upcoming bind-* syntax. In 0.11.0, you may bind an |
| 416 | +expression to any mapped attribute, even if that attribute is a `@NgAttr` mapping which typically |
| 417 | +takes a string. |
| 418 | + |
| 419 | +### Performance improvements |
| 420 | + |
| 421 | +There are two significant performance improvements: |
| 422 | +- We now cache CSS as `StyleElement`s instead of string, saving a `setInnerHtml` call on each styled |
| 423 | + component instantiation. In a benchmark where components used unminified Bootstrap styles (124kB), |
| 424 | + this sped up component creation by 31%. |
| 425 | +- Changes in the DI package sped up View instantiation by 200%. This change makes AngularDart |
| 426 | + rendering significantly faster. |
349 | 427 |
|
350 | 428 | ## Bug Fixes
|
351 | 429 |
|
|
0 commit comments