parent
							
								
									39cd56038f
								
							
						
					
					
						commit
						c679a6fb7b
					
				
							
								
								
									
										155
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										155
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @ -48,84 +48,8 @@ | |||||||
| 
 | 
 | ||||||
| ### BREAKING CHANGES | ### BREAKING CHANGES | ||||||
| 
 | 
 | ||||||
|  | #### Deprecated code | ||||||
| * router: `RouterOutlet` properties `locationInjector` and `locationFactoryResolver` have been removed as they were deprecated since v4. | * router: `RouterOutlet` properties `locationInjector` and `locationFactoryResolver` have been removed as they were deprecated since v4. | ||||||
| * compiler: - `@angular/platform-server` now additionally depends on |  | ||||||
|   `@angular/platform-browser-dynamic` as a peer dependency. |  | ||||||
| * common: Because of multiple bugs and browser inconsistencies, we have dropped the intl api in favor of data exported from the Unicode Common Locale Data Repository (CLDR). |  | ||||||
| Unfortunately we had to change the i18n pipes (date, number, currency, percent) and there are some breaking changes. |  | ||||||
| 
 |  | ||||||
| 1. I18n pipes |  | ||||||
| * Breaking change: |  | ||||||
|   - By default Angular now only contains locale data for the language `en-US`, if you set the value of `LOCALE_ID` to another locale, you will have to import new locale data for this language because we don't use the intl API anymore. |  | ||||||
| 
 |  | ||||||
| * Features: |  | ||||||
|   - you don't need to use the intl polyfill for Angular anymore. |  | ||||||
|   - all i18n pipes now have an additional last parameter `locale` which allows you to use a specific locale instead of the one defined in the token `LOCALE_ID` (whose value is `en-US` by default). |  | ||||||
|   - the new locale data extracted from CLDR are now available to developers as well and can be used through an API (which should be especially useful for library authors). |  | ||||||
|   - you can still use the old pipes for now, but their names have been changed and they are no longer included in the `CommonModule`. To use them, you will have to import the `DeprecatedI18NPipesModule` after the `CommonModule` (the order is important): |  | ||||||
| 
 |  | ||||||
|   ```ts |  | ||||||
|   import { NgModule } from '@angular/core'; |  | ||||||
|   import { CommonModule, DeprecatedI18NPipesModule } from '@angular/common'; |  | ||||||
| 
 |  | ||||||
|   @NgModule({ |  | ||||||
|     imports: [ |  | ||||||
|       CommonModule, |  | ||||||
|       // import deprecated module after |  | ||||||
|       DeprecatedI18NPipesModule |  | ||||||
|     ] |  | ||||||
|   }) |  | ||||||
|   export class AppModule { } |  | ||||||
|   ``` |  | ||||||
| 
 |  | ||||||
|   Dont forget that you will still need to import the intl API polyfill if you want to use those deprecated pipes. |  | ||||||
| 
 |  | ||||||
| 2. Date pipe |  | ||||||
| * Breaking changes: |  | ||||||
|   - the predefined formats (`short`, `shortTime`, `shortDate`, `medium`, ...) now use the patterns given by CLDR (like it was in AngularJS) instead of the ones from the intl API. You might notice some changes, e.g. `shortDate` will be `8/15/17` instead of `8/15/2017` for `en-US`. |  | ||||||
|   - the narrow version of eras is now `GGGGG` instead of `G`, the format `G` is now similar to `GG` and `GGG`. |  | ||||||
|   - the narrow version of months is now `MMMMM` instead of `L`, the format `L` is now the short standalone version of months. |  | ||||||
|   - the narrow version of the week day is now `EEEEE` instead of `E`, the format `E` is now similar to `EE` and `EEE`. |  | ||||||
|   - the timezone `z` will now fallback to `O` and output `GMT+1` instead of the complete zone name (e.g. `Pacific Standard Time`), this is because the quantity of data required to have all the zone names in all of the existing locales is too big. |  | ||||||
|   - the timezone `Z` will now output the ISO8601 basic format, e.g. `+0100`, you should now use `ZZZZ` to get `GMT+01:00`. |  | ||||||
| 
 |  | ||||||
|   | Field type | Format        | Example value         | v4 | v5            | |  | ||||||
|   |------------|---------------|-----------------------|----|---------------| |  | ||||||
|   | Eras       | Narrow        | A for AD              | G  | GGGGG         | |  | ||||||
|   | Months     | Narrow        | S for September       | L  | MMMMM         | |  | ||||||
|   | Week day   | Narrow        | M for Monday          | E  | EEEEE         | |  | ||||||
|   | Timezone   | Long location | Pacific Standard Time | z  | Not available | |  | ||||||
|   | Timezone   | Long GMT      | GMT+01:00             | Z  | ZZZZ          | |  | ||||||
| 
 |  | ||||||
| * Features |  | ||||||
|   - new predefined formats `long`, `full`, `longTime`, `fullTime`. |  | ||||||
|   - the format `yyy` is now supported, e.g. the year `52` will be `052` and the year `2017` will be `2017`. |  | ||||||
|   - standalone months are now supported with the formats `L` to `LLLLL`. |  | ||||||
|   - week of the year is now supported with the formats `w` and `ww`, e.g. weeks `5` and `05`. |  | ||||||
|   - week of the month is now supported with the format `W`, e.g. week `3`. |  | ||||||
|   - fractional seconds are now supported with the format `S` to `SSS`. |  | ||||||
|   - day periods for AM/PM now supports additional formats `aa`, `aaa`, `aaaa` and `aaaaa`. The formats `a` to `aaa` are similar, while `aaaa` is the wide version if available (e.g. `ante meridiem` for `am`), or equivalent to `a` otherwise, and `aaaaa` is the narrow version (e.g. `a` for `am`). |  | ||||||
|   - extra day periods are now supported with the formats `b` to `bbbbb` (and `B` to `BBBBB` for the standalone equivalents), e.g. `morning`, `noon`, `afternoon`, .... |  | ||||||
|   - the short non-localized timezones are now available with the format `O` to `OOOO`. The formats `O` to `OOO` will output `GMT+1` while the format `OOOO` will be `GMT+01:00`. |  | ||||||
|   - the ISO8601 basic time zones are now available with the formats `Z` to `ZZZZZ`. The formats `Z` to `ZZZ` will output `+0100`, while the format `ZZZZ` will be `GMT+01:00` and `ZZZZZ` will be `+01:00`. |  | ||||||
| 
 |  | ||||||
| * Bug fixes |  | ||||||
|   - the date pipe will now work exactly the same across all browsers, which will fix a lot of bugs for safari and IE. |  | ||||||
|   - eras can now be used on their own without the date, e.g. the format `GG` will be `AD` instead of `8 15, 2017 AD`. |  | ||||||
| 
 |  | ||||||
| 3. Currency pipe |  | ||||||
| * Breaking change: |  | ||||||
|   - the default value for `symbolDisplay` is now `symbol` instead of `code`. This means that by default you will see `$4.99` for `en-US` instead of `USD4.99` previously. |  | ||||||
| 
 |  | ||||||
| * Deprecation: |  | ||||||
|   - the second parameter of the currency pipe (`symbolDisplay`) is no longer a boolean, it now takes the values `code`, `symbol` or `symbol-narrow`. A boolean value is still valid for now, but it is deprecated and it will print a warning message in the console. |  | ||||||
| 
 |  | ||||||
| * Features: |  | ||||||
|   - you can now choose between `code`, `symbol` or `symbol-narrow` which gives you access to more options for some currencies (e.g. the canadian dollar with the code `CAD` has the symbol `CA$` and the symbol-narrow `$`). |  | ||||||
| 
 |  | ||||||
| 4. Percent pipe |  | ||||||
| * Breaking change |  | ||||||
|   - if you don't specify the number of digits to round to, the local format will be used (and it usually rounds numbers to 0 digits, instead of not rounding previously), e.g. `{{ 3.141592 | percent }}` will output `314%` for the locale `en-US` instead of `314.1592%` previously. |  | ||||||
| * common: `NgFor` has been removed as it was deprecated since v4. Use `NgForOf` instead. This does not impact the use of`*ngFor` in your templates. | * common: `NgFor` has been removed as it was deprecated since v4. Use `NgForOf` instead. This does not impact the use of`*ngFor` in your templates. | ||||||
| * common: `NgTemplateOutlet#ngOutletContext` has been removed as it was deprecated since v4. Use `NgTemplateOutlet#ngTemplateOutletContext` instead. | * common: `NgTemplateOutlet#ngOutletContext` has been removed as it was deprecated since v4. Use `NgTemplateOutlet#ngTemplateOutletContext` instead. | ||||||
| * core: `Testability#findBindings` has been removed as it was deprecated since v4. Use `Testability#findProviders` instead. | * core: `Testability#findBindings` has been removed as it was deprecated since v4. Use `Testability#findProviders` instead. | ||||||
| @ -138,6 +62,83 @@ Unfortunately we had to change the i18n pipes (date, number, currency, percent) | |||||||
| * core: `ErrorHandler` no longer takes a parameter as it was not used and deprecated since v4. | * core: `ErrorHandler` no longer takes a parameter as it was not used and deprecated since v4. | ||||||
| * compiler: the option `useDebug` for the compiler has been removed as it had no effect and was deprecated since v4. | * compiler: the option `useDebug` for the compiler has been removed as it had no effect and was deprecated since v4. | ||||||
| 
 | 
 | ||||||
|  | #### Other breaking changes | ||||||
|  | * compiler: - `@angular/platform-server` now additionally depends on | ||||||
|  |   `@angular/platform-browser-dynamic` as a peer dependency. | ||||||
|  | * common: Because of multiple bugs and browser inconsistencies, we have dropped the intl api in favor of data exported from the Unicode Common Locale Data Repository (CLDR). | ||||||
|  | Unfortunately we had to change the i18n pipes (date, number, currency, percent) and there are some breaking changes. | ||||||
|  |   ##### I18n pipes: | ||||||
|  |   - Breaking change: | ||||||
|  |     - By default Angular now only contains locale data for the language `en-US`, if you set the value of `LOCALE_ID` to another locale, you will have to import new locale data for this language because we don't use the intl API anymore. | ||||||
|  |   - Features: | ||||||
|  |     - you don't need to use the intl polyfill for Angular anymore. | ||||||
|  |     - all i18n pipes now have an additional last parameter `locale` which allows you to use a specific locale instead of the one defined in the token `LOCALE_ID` (whose default value is `en-US`). | ||||||
|  |     - the new locale data extracted from CLDR are now available to developers as well and can be used through an API (which should be especially useful for library authors). | ||||||
|  |     - you can still use the old pipes for now, but their names have been changed and they are no longer included in the `CommonModule`. To use them, you will have to import the `DeprecatedI18NPipesModule` after the `CommonModule` (the order is important): | ||||||
|  | 
 | ||||||
|  |     ```ts | ||||||
|  |     import { NgModule } from '@angular/core'; | ||||||
|  |     import { CommonModule, DeprecatedI18NPipesModule } from '@angular/common'; | ||||||
|  | 
 | ||||||
|  |     @NgModule({ | ||||||
|  |       imports: [ | ||||||
|  |         CommonModule, | ||||||
|  |         // import deprecated module after | ||||||
|  |         DeprecatedI18NPipesModule | ||||||
|  |       ] | ||||||
|  |     }) | ||||||
|  |     export class AppModule { } | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  |     Don't forget that you will still need to import the intl API polyfill if you want to use those deprecated pipes. | ||||||
|  | 
 | ||||||
|  |   ##### Date pipe | ||||||
|  |   - Breaking changes: | ||||||
|  |     - the predefined formats (`short`, `shortTime`, `shortDate`, `medium`, ...) now use the patterns given by CLDR (like it was in AngularJS) instead of the ones from the intl API. You might notice some changes, e.g. `shortDate` will be `8/15/17` instead of `8/15/2017` for `en-US`. | ||||||
|  |     - the narrow version of eras is now `GGGGG` instead of `G`, the format `G` is now similar to `GG` and `GGG`. | ||||||
|  |     - the narrow version of months is now `MMMMM` instead of `L`, the format `L` is now the short standalone version of months. | ||||||
|  |     - the narrow version of the week day is now `EEEEE` instead of `E`, the format `E` is now similar to `EE` and `EEE`. | ||||||
|  |     - the timezone `z` will now fallback to `O` and output `GMT+1` instead of the complete zone name (e.g. `Pacific Standard Time`), this is because the quantity of data required to have all the zone names in all of the existing locales is too big. | ||||||
|  |     - the timezone `Z` will now output the ISO8601 basic format, e.g. `+0100`, you should now use `ZZZZ` to get `GMT+01:00`. | ||||||
|  | 
 | ||||||
|  |     | Field type | Format        | Example value         | v4 | v5            | | ||||||
|  |     |------------|---------------|-----------------------|----|---------------| | ||||||
|  |     | Eras       | Narrow        | A for AD              | G  | GGGGG         | | ||||||
|  |     | Months     | Narrow        | S for September       | L  | MMMMM         | | ||||||
|  |     | Week day   | Narrow        | M for Monday          | E  | EEEEE         | | ||||||
|  |     | Timezone   | Long location | Pacific Standard Time | z  | Not available | | ||||||
|  |     | Timezone   | Long GMT      | GMT+01:00             | Z  | ZZZZ          | | ||||||
|  | 
 | ||||||
|  |   - Features | ||||||
|  |     - new predefined formats `long`, `full`, `longTime`, `fullTime`. | ||||||
|  |     - the format `yyy` is now supported, e.g. the year `52` will be `052` and the year `2017` will be `2017`. | ||||||
|  |     - standalone months are now supported with the formats `L` to `LLLLL`. | ||||||
|  |     - week of the year is now supported with the formats `w` and `ww`, e.g. weeks `5` and `05`. | ||||||
|  |     - week of the month is now supported with the format `W`, e.g. week `3`. | ||||||
|  |     - fractional seconds are now supported with the format `S` to `SSS`. | ||||||
|  |     - day periods for AM/PM now supports additional formats `aa`, `aaa`, `aaaa` and `aaaaa`. The formats `a` to `aaa` are similar, while `aaaa` is the wide version if available (e.g. `ante meridiem` for `am`), or equivalent to `a` otherwise, and `aaaaa` is the narrow version (e.g. `a` for `am`). | ||||||
|  |     - extra day periods are now supported with the formats `b` to `bbbbb` (and `B` to `BBBBB` for the standalone equivalents), e.g. `morning`, `noon`, `afternoon`, .... | ||||||
|  |     - the short non-localized timezones are now available with the format `O` to `OOOO`. The formats `O` to `OOO` will output `GMT+1` while the format `OOOO` will be `GMT+01:00`. | ||||||
|  |     - the ISO8601 basic time zones are now available with the formats `Z` to `ZZZZZ`. The formats `Z` to `ZZZ` will output `+0100`, while the format `ZZZZ` will be `GMT+01:00` and `ZZZZZ` will be `+01:00`. | ||||||
|  | 
 | ||||||
|  |   - Bug fixes | ||||||
|  |     - the date pipe will now work exactly the same across all browsers, which will fix a lot of bugs for safari and IE. | ||||||
|  |     - eras can now be used on their own without the date, e.g. the format `GG` will be `AD` instead of `8 15, 2017 AD`. | ||||||
|  | 
 | ||||||
|  |   ##### Currency pipe | ||||||
|  |   - Breaking change: | ||||||
|  |     - the default value for `symbolDisplay` is now `symbol` instead of `code`. This means that by default you will see `$4.99` for `en-US` instead of `USD4.99` previously. | ||||||
|  | 
 | ||||||
|  |   * Deprecation: | ||||||
|  |     - the second parameter of the currency pipe (`symbolDisplay`) is no longer a boolean, it now takes the values `code`, `symbol` or `symbol-narrow`. A boolean value is still valid for now, but it is deprecated and it will print a warning message in the console. | ||||||
|  | 
 | ||||||
|  |   - Features: | ||||||
|  |     - you can now choose between `code`, `symbol` or `symbol-narrow` which gives you access to more options for some currencies (e.g. the canadian dollar with the code `CAD` has the symbol `CA$` and the symbol-narrow `$`). | ||||||
|  | 
 | ||||||
|  |   ##### Percent pipe | ||||||
|  |   - Breaking change | ||||||
|  |     - if you don't specify the number of digits to round to, the local format will be used (and it usually rounds numbers to 0 digits, instead of not rounding previously), e.g. `{{ 3.141592 | percent }}` will output `314%` for the locale `en-US` instead of `314.1592%` previously. | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| <a name="4.3.6"></a> | <a name="4.3.6"></a> | ||||||
| ## [4.3.6](https://github.com/angular/angular/compare/4.3.5...4.3.6) (2017-08-23) | ## [4.3.6](https://github.com/angular/angular/compare/4.3.5...4.3.6) (2017-08-23) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user