angular2
DEPRECATED - please use angular (without the 2)
3.1.0
What this package is like to depend on
Last release 9 years ago
no release in 18 months
Release timing varies
gaps range from 1 weeks to 4 months
Nearly every release is documented
notes for 7 of 7 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
84 releases · first in 2015
0 releases in the last 12 months
see the full history below
Release timeline
84 releases · Feb 2015 to Aug 2017Releases
latest 60 of 84-
3.1.022 May 2017Release notes
Open source →New features
-
Exposed
TouchFunctionandChangeFunctiontypedefs to make the transition to strong-mode easier for teams relying on these function definitions. We might remove them in a future release when they are no longer needed. -
Added a flag to use an experimental new compiler that uses the Dart analyzer to gather metadata information. This flag will be turned on by default in
4.0:
transformers: angular2/transform/codegen: use_analyzer: trueWARNING: Using
use_analyzer: truerequires discontinuing use of theplatform_*options, and fails-fast if both flags are used. See https://goo.gl/68VhMa for details.WARNING: Using
use_analyser: truedoesn't yet work with most third-party packages due to a bug.Deprecations
- Using
dart:mirrors(i.e. running AngularDart without code generation) is now formally deprecated. In4.0+code generation will be the only way to run an AngularDart application, even in development mode. Please ensure you are using our transformer: https://goo.gl/rRHqO7.
Bug fixes
-
CSS errors are now just warnings, and can be ignored. This is due to using a CSS parser for encapsulation - and the AngularDart transformer aggressively runs on all CSS files in a given package. We hope to make this smoother in a future release.
-
Do not generate
throwOnChangeschecks outside of dev-mode.
Performance
- Bypasses the deprecated event plugin system for all native DOM events.
- At runtime
interpolateis now represented by multiple functions (faster). KeyValueDiffer(NgClass,NgStyle) optimized for initial add/removals.- No longer generates event handler registrations for directive outputs.
-
-
3.1.0+131 Aug 2017 -
3.1.0-beta15 May 2017 pre-releaseNothing published for this version
-
3.1.0-beta+116 May 2017 pre-releaseNothing published for this version
-
3.0.027 Apr 2017Release notes
Open source →New features
composeValidatorsandcomposeAsyncValidatorsnow part of the public API.angular2/testing.dartincludes a test-onlyisDebugModefunction.- (Forms)
AbstractControl.markAsDirtynow emits a status change event.
Breaking changes
-
Requires at least Dart SDK
1.23.0. -
Injecting
nullis no longer supported. -
Remove unused
usePropertyargument in DIProviderapi. -
ReflectionCapabilities.isReflectionEnabledrenamed toreflectionEnabled. -
Malformed CSS warnings are errors now.
-
Removed forms async validators. Alternative:
control.valueChange((value) { rpc.validate(change).then((errors) { if (errors != null) control.setErrors(errors); }); }); -
Removed
TitleService. To update the title, usedart:html:document.title = 'My title'; -
DynamicComponentLoadernow has a simplified API:loadAsRoot,loadAsRootIntoNodereplaced by a singleloadmethod that always creates the component root node instead of hoisting into an existing node. -
Removed
viewBindingsfromComponent. This has been interchangeable withviewProvidersfor a while now.BEFORE:
dart @Component(viewBindings: const [])AFTER:
dart @Component(viewProviders: const []) -
Removed
EventManagerfrom the public API. Code generation is now closer todocument.addEventListenerand having this interception layer would not allow further optimizations. -
Removed
IterableDifferFactoryandKeyValueDifferFactoryfrom the public API. We have planned compiler optimizations that will no longer allow overriding our diffing implementations. Looking into alternatives before a final3.0.0release that are lower cost. -
ASYNC_VALIDATORScan no longer return aStreaminstance, onlyFuture. -
The experimental
NgTestBedwas removed. Usepackage:angular_testnow. -
By default, the
ExceptionHandleris aBrowserExceptionHandler, which prints exceptions to the console. If you don't want this behavior (i.e. releasing to production), make sure to override it. -
ElementRef.nativeElementis nowfinal(no setter). -
DOM adapter is now completely removed from the API and generated code
-
A
nameparameter is now required for all@Pipe(...)definitions:BEFORE:
dart @Pipe(name: 'uppercase')AFTER:
dart @Pipe('uppercase') -
DomEventsPluginnow requires a strongly typed interface todart:html. -
Nullis no longer propagated as an initial change value. Code should be updated to either deliver a different initial value or components with an@Input()should have an appropriate default value.BEFORE
<my-component [value]="null"></my-component> ... String _value; set value(String value) { _value = value ?? 'Default name'; }AFTER
String _value = 'Default name'; set value(String value) { _value = value; } -
Removed the
isFirstChange()method ofSimpleChange. Instead, check whetherpreviousValueisnull. -
Removed
NgPlural, deprecated as of 2.1.0. -
Removed
ObservableListDiffFactory, deprecated as of 2.1.0. -
Event handlers are bound at initialization time. Therefore, the following will no longer work, because
clickHandlerisnullduring initialization.@Component( selector: 'my-component', template: '<div (click)="clickHandler($event)"></div>') class MyComponent { Function clickHandler; } -
Removed
Component.moduleId, which was unused.
Deprecations
@Viewwill be removed in4.0, only use@Componentinstead.EventEmitteris now@Deprecated: UseStreamandStreamController.ngSwitchCasereplacesngSwitchWhen(soft deprecation).XHRis deprecated, along with the runtime/reflective compiler.IterableDiffersandKeyValueDiffersare deprecated. The cost of looking up to see if a custom differ is available is too high for almost no use. Before they're removed, we'll have other customization options.
Bug fixes
- Updated various documentation to make cleaner and use Dart, not TS, samples.
- Perf: Added performance improvements around generated code and type inference.
- Fix: Key-value differ now detects removals when first key moves.
- Fix:
<ng-content select="...">does not emit incorrect code (regression). - Perf: Optimized how reflective providers are resolved on application startup.
ngSwitchWhennow properly compares identity in Dartium.Component/Directive#selectoris now a@requiredproperty.- Angular warns in the console if using Dartium without checked mode.
- Various performance improvements for both code size and runtime.
- Various Dart idiomatic/style guide updates to the codebase.
ngIfnow throws again if the bound value changes during change detection.- Fixed a bug where the router didn't work on a root path in IE11.
- Fixed generated code that caused a strong-mode warning on
AppView<...>. - Fixed a bug where DDC didn't work properly with "pure"
Pipes. - Some simple types are now propagated to the generated
.template.dartfile. - When setting up a new
NgControl,valueAccessorno longer can throw an NPE - Re-enabled
strong-modeanalysis within the project, and fixed some errors.
Refactoring
- We now use the formal
<T>generic type syntax for methods, not/*<T>*/. - Removed
NgZoneImpl, all the code exists inNgZonenow. - We now generate specific code for view and content children (faster).
- Projectable nodes now use the visitor pattern in
AppView. - In generated
.template.dartchange detected primitives are typed. - Moved
renderTypeas a static class member in generated code.
-
3.0.0-beta04 Apr 2017 pre-releaseNothing published for this version
-
3.0.0-beta+115 Apr 2017 pre-releaseNothing published for this version
-
3.0.0-beta+221 Apr 2017 pre-releaseNothing published for this version
-
3.0.0-alpha18 Jan 2017 pre-releaseNothing published for this version
-
3.0.0-alpha+111 Mar 2017 pre-releaseNothing published for this version
-
2.2.030 Nov 2016Release notes
Open source →API changes
- Breaking changes
- Using
@ViewQuery|Children|Content|in a constructor is no longer valid. This caused significant extra code to need to be generated for a case that is relatively rare. Code can safely be moved into a setter in most cases.
- Using
BEFORE
class MyComponent { QueryList<ChildComponent> _childComponents; MyComponent(@ContentChildren(ChildComponent) this._childComponents); }AFTER
class MyComponent { QueryList<ChildComponent> _childComponents; @ContentChildren(ChildComponent) set childComponents(QueryList<ChildComponent> childComponents) { _childComponents = childComponents; } }Bug fixes
- Importing
angular2/reflection.dartnow works properly.
- Breaking changes
-
2.1.128 Nov 2016Release notes
Open source →API changes
- Introduced
angular2/reflection.dartas canonical way to opt-in to mirrors. In 2.2.0 it will be considered deprecated to enable runtime reflection by any other means.
- Introduced
-
2.1.028 Nov 2016Release notes
Open source →API changes
- Breaking changes
NgControlStatusno longer included inCOMMON_DIRECTIVESand inFORM_DIRECTIVES. Needs to be manually included in your bootstrap or migrated off of
- Deprecations
- Using
@Queryin a component constructor; move to field-level Renderer: Usedart:htmldirectlyNgControlStatus: A form control should set class they are interested inNgPlural: Was never formally supported in Angular Dart. Recommend usingpackage:intlwith getters on your@Componentpointing to anIntl.messagecall until we have formal template support (planned)ObservableListDiff: Not properly implemented, will re-introduce later
- Using
- Removed support for
InjectorModule- was never formally supported
Bug fixes and other changes
- Documentation fixes and cleanups across the codebase
- Code size and runtime performance improvements across the codebase
- More reduction of STRONG_MODE exceptions in the compiler
- Removed
InjectorModulecode (from TS-transpiler era) - Fixed a bug with
ExceptionHandlernot being called during change detection - Fixed a bug where controls were not marked dirty when an error was set
- Breaking changes
-
2.0.026 Oct 2016Release notes
Open source →API changes
- Implemented NgTestBed to improve test infrastructure goo.gl/NAXXlN.
- Removed Metadata classes used for angular annotations.
- Added ComponentState to provide push change detection with better ergonomics and code generation.
- ViewContainerRef.createEmbeddedView index parameter removed instead introduced insertEmbeddedView.
- Added support for minimal code generation when user explicitly marks component with preserveWhitespace:false.
Bug fixes and other changes
- Improved ngFor performance.
- Improved shared style host performance.
- Improved @ViewChild/@ViewChildren performance.
- Code and documentation cleanups.
- Strong mode fixes.
-
2.0.0-beta.2227 Sep 2016 pre-releaseRelease notes
Open source →API changes
- POTENTIALLY BREAKING Observable features new use the new
observablepackage, instead ofobserve. - Removed
Renderer.createViewRoot.
Bug fixes and other changes
- Improved compiler errors.
- Fixes to reduce code size.
- Support the latest
pkg/build. - Now require Dart SDK 1.19 at a minimum.
- Added
.analysis_optionsto enforce a number of style rules.
- POTENTIALLY BREAKING Observable features new use the new
-
2.0.0-beta.2106 Sep 2016 pre-releaseRelease notes
Open source →Our push towards better performance has started showing results in this release. This update provides 5-10% speedup in components. >20% reduction in Dart code size emitted from compiler.
API changes
- Added support for '??' operator in template compiler.
- Removed unused animation directives to create more Darty/compile time version.
- Removed unused i18n pipes to prepare for dart:intl based solution.
- Language facades removed (isPresent, isBlank, getMapKey, normalizeBool, DateWrapper, RegExpWrapper, StringWrapper, NumberWrapper, Math facades, SetWrapper, ListWrapper, MapWrapper, StringMapWrapper, ObservableWrapper, TimerWrapper).
- Deprecated unused ROUTER_LINK_DSL_TRANSFORM.
- Refactor(element.dart) is now app_element.dart.
- AppView moved to app_view. DebugAppView moved to debug/debug_app_view.dart.
- The deprecated injection Binding and bind have been removed.
- Remove global events and disposables (instead of :window type targets, use dart APIs).
Bug fixes and other changes
- Improved change detection performance.
- Improved error messages reported by template compiler.
- Optimized [class.x]="y" type bindings.
- Switched to js_util for browser_adapter to make angular CSP compliant.
- Started strongly typing element members in compiled template code.
- Cheatsheet and code docs updated.
- Router fixes
-
2.0.0-beta.2018 Aug 2016 pre-releaseRelease notes
Open source →API changes
- Added ngBeforeSubmit event to ngForm API to allow better validation.
- Global events removed from event binding syntax (dart:html APIs provide better alternative).
Bug fixes and other changes
- Reduced template code size.
- Cleanup of facades.
- Class Documentation updates.
- ngForm submit changed to sync.
- Removed disposables in generated template code.
-
2.0.0-beta.1901 Aug 2016 pre-releaseRelease notes
Open source →API changes
- Remove existing implementation of web workers, to be replaced in the future with Dart import override for dart:html.
Bug fixes and other changes
- Remove throwOnChanges parameter from all change detection calls in generated template.dart.
- Unused and empty assertArrayOfStrings API removed.
- Update BrowserDomAdapter from dart:js to package:js.
- Reset change detection to guard against template exception.
- Delete unused files.
- Clean up the NgIf directive and remove facades.
- Enabled Travis-CI.
- Update tests that should only run in the browser.
- Add angular transformer which deletes any pre-existing generated files from Bazel.
- Add DI library entrypoint to support VM tests.
- Fix the Math facade (improper annotation): @Deprecated(description).
- Clean up animation classes.
- Remove library name declarations.
- Run dart formatter on all code.
- Remove unused testing/lang_utils.dart.
-
2.0.0-beta.1820 Jul 2016 pre-releaseRelease notes
Open source →This is the first release of Angular 2 for Dart that is written directly in Dart, instead of generated from TypeScript.
API changes
The
Providerconstructor andprovide()function are now more intuitive when they have a single argument.Before,
const Provider(Foo)orprovide(Foo)would provide anullobject. To provide aFooobject, you had to useconst Provider(Foo, useClass:Foo)orprovide(Foo, useClass:Foo). Now you can omit theuseClass:Foo. Either of the following provides aFooinstance:const Provider(Foo) // or provide(Foo)If you want the old behavior, change your code to specify
useValue:const Provider(Foo, useValue: null) // or provide(Foo, useValue: null)Known issues
- Some types of dependency injection don't work. (https://github.com/dart-lang/angular2/issues/10)
Bug fixes and other changes
- Fix lower bound of pkg/build dependency.
- Fixes for dependency upper bounds: build and protobuf.
- Bumping min version of pkg/intl and pkg version.
- Remove redundant declaration of
el. - Security Update. Secure Contextual Escaping Implementation.
- Fix Intl number formatting.
- Enforce strong mode for angular2.dart.
- Updating README and CONTRIBUTING.md for first release.
- Enforce dartfmt for dart/angular2.
- Add //dart/angular2/build_defs with default resolved_identifiers.
- Import cleanup.
- Annotate browser-only tests.
- Include .gitignore in files sent to GitHub.
- Fix a strong mode error in angular2 (strong mode type inference miss).
- Add compiler tests.
- Delete unused libraries in lib/src.
- Updated pubspec: authors, description, homepage.
- Angular strong mode fixes for DDC support.
- Add _LoggerConsole implementation of Console for the TemplateCompiler.
- Mark Binding and bind() as deprecated. Replaced by Provider and provide().
-
2.0.0-beta.1728 Apr 2016 pre-releaseNothing published for this version
-
2.0.0-beta.1626 Apr 2016 pre-releaseNothing published for this version
-
2.0.0-beta.1513 Apr 2016 pre-releaseNothing published for this version
-
2.0.0-beta.1407 Apr 2016 pre-releaseNothing published for this version
-
2.0.0-beta.13.131 Mar 2016 pre-releaseNothing published for this version
-
2.0.0-beta.1331 Mar 2016 pre-releaseNothing published for this version
-
2.0.0-beta.1224 Mar 2016 pre-releaseNothing published for this version
-
2.0.0-beta.1118 Mar 2016 pre-releaseNothing published for this version
-
2.0.0-beta.1017 Mar 2016 pre-releaseNothing published for this version
-
2.0.0-beta.909 Mar 2016 pre-releaseNothing published for this version
-
2.0.0-beta.802 Mar 2016 pre-releaseNothing published for this version
-
2.0.0-beta.718 Feb 2016 pre-releaseNothing published for this version
-
2.0.0-beta.612 Feb 2016 pre-releaseNothing published for this version
-
2.0.0-beta.511 Feb 2016 pre-releaseNothing published for this version
-
2.0.0-beta.410 Feb 2016 pre-releaseNothing published for this version
-
2.0.0-beta.303 Feb 2016 pre-releaseNothing published for this version
-
2.0.0-beta.228 Jan 2016 pre-releaseNothing published for this version
-
2.0.0-beta.108 Jan 2016 pre-releaseNothing published for this version
-
2.0.0-beta.015 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.5515 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.5415 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.5313 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.5210 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.5110 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.5009 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4909 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4805 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4701 Dec 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4611 Nov 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4529 Oct 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4416 Oct 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4213 Oct 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4113 Oct 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.4009 Oct 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.3906 Oct 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.3710 Sep 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.3631 Aug 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.3519 Aug 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.3406 Aug 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.3330 Jul 2015 pre-releaseNothing published for this version
-
2.0.0-alpha.3223 Jul 2015 pre-releaseNothing published for this version