Changelog
14.0.0
- Upgrade to Angular 19 (still compatible v17.3.0 and above).
- fix:
ngProgressHttp
gives an error with http requests inside effects, closes #386
13.0.0
- feat:
NgProgressRef
directive has (started)
and (completed)
outputs, instead of subjects.
- feat:
NgProgressRef
directive has all NgProgress
component inputs excepts the irrelevant styling inputs.
- feat: Add
fadeOutSpeed
input to set the fade out transition after the progress completes.
- feat: Add
--ng-progress-spinner-speed
CSS variable to set the spinner speed.
- enhance: Use
NgProgressRef
as hostDirective in NgProgress
component and forward its inputs and outputs.
- enhance: avoid triggering the main effects twice in
ProgressRef
directive due to config update.
- refactor: Use transform function for
min
and max
inputs.
Breaking changes
- Remove
setConfig()
function from ProgressRef
directive, you can now set the inputs directly.
- Remove
start()
, complete()
, inc()
and set()
functions from the component reference.
12.0.2
- refactor: Use
untracked
in effects instead of allowSignalWrites
and setTimeout
.
12.0.1
- Upgrade to Angular 18 (still compatible v17.3.0 and above).
- feat: Introduce CSS variables for more flexible customization, see styling.
- feat: Provide
provideNgProgressOptions()
to override global options.
- feat: Provide
provideNgProgressHttp()
to override http related options.
- feat: Provide
provideNgProgressRouter()
to override router related options.
- feat: Ability to use boolean inputs as attributes.
- refactor: Utilize signals API.
Breaking changes
- The
fixed
option has been removed in favor of relative
option which does the opposite.
- The
meteor
option has been removed in favor of flat
option which does the opposite.
- The
spinner
default option has been changed to false
.
- The service
NgProgress
has been removed.
- The component
NgProgressComponent
has been renamed to NgProgress
.
- The options interface
NgProgressConfig
has been renamed to NgProgressOptions
.
- Remove
thick
option, use --ng-progress-thickness
and --ng-progress-spinner-thickness
CSS variables instead.
- Remove
color
option, use --ng-progress-color
CSS variable instead.
- Remove
ease
option, use --ng-progress-ease
CSS variable instead.
- The option
delay
has been renamed to minDuration
in progressbar router options.
11.1.0
- feat: Migrate to Angular standalone components in 1a6f780.
- refactor: Update rxjs imports in 6f426b1.
11.0.0
- Update to Angular 16 in 5f05486.
- Refactor(core): Update progressbar styles directly to avoid triggering change detection frequently in 42f4bf5.
10.0.0
9.0.0
8.0.0
- feat: Add matcher feature to http module, closes #254 in a6ab70b and ce3c0d6.
- fix: Remove case-sensitive from
silentApis
, closes #283 in 32da22c.
- refactor: Change
zoom
to transform: scale
, closes #275 in c78dff6.
- Added unit tests
Breaking changes
Before:
silentApis
used to check the url using url.startsWith()
After:
silentApis
checks the url using url.includes()
When silentApis
is used along with matcher
regex, it will check if the URL matches both cases, learn more at wiki page.
7.0.0
6.1.1
6.1.0
- feat: Use the strict mode, in 25f0976.
- fix typo for config stream in
NgProgressRef
Breaking changes
- Rename
NgProgressRef.getState
to NgProgressRef.snapshot
6.0.4
6.0.3
- fix: get a new progressRef after the current one has been destroyed, in 69af8fe.
6.0.2
- feat: Upgrade library to Angular 9 in 8b1929a.
- fix: Remove warning when the package is installed in Angular 9 in bdfd1b7.
6.0.1
- fix: Cancel any finalizing delays if the progress started again too soon before it was fully completed, closes #253 in e68c7af.
6.0.0
Breaking changes
Before
Before version 6, there were 3 packages each one published in its own npm package
npm i @ngx-progressbar/core @ngx-progressbar/http @ngx-progressbar/router
import { NgProgressModule } from '@ngx-progressbar/core';
import { NgProgressHttpModule } from '@ngx-progressbar/http';
import { NgProgressRouterModule } from '@ngx-progressbar/router';
After
After version 6, all the packages is combined and published in one npm package
npm i ngx-progressbar
import { NgProgressModule } from 'ngx-progressbar';
import { NgProgressHttpModule } from 'ngx-progressbar/http';
import { NgProgressRouterModule } from 'ngx-progressbar/router';
5.3.2
- fix(test): avoid destroying progressRef which is not yet initialized, closes #217 in 850c65f
5.3.1
- feat(http): Ignore HTTP request by appending
ignoreProgressBar
to request's headers, closes #234 in a625d01.
- enhance(core): Increase spinner speed, in 0381cd3.
refactor(core, http, router): Deprecate forRoot(config?)
usage, config can be provided using withConfig(config)
instead, in 1b76e0b.
This removes the need to import NgProgressModule
in your root module, in other word, you no longer need to include this library in the main bundle if you are using it in lazy loaded modules.
Breaking changes
5.2.1
- Update packages peerDependecies to remove npm warnings in Angular 7
- Update project to Angular 7
5.2.0
- feat(core): Add
[fixed]
option, to disable the default progress bar fixed position, closes #212 in fff21f3.
- feat(router): Add
startEvents
and completeEvents
options, closes #211 in 0f7effe.
- refactor(core): Refactor progressbar destroyer function.
- refactor(core): change progressbar state from
NgProgressRef.state$
to NgProgressRef.state
.
- refactor(core): Use
Map<string, NgProgressRef>
for instances instead of just an object.
- refactor(core): Remove helper functions exposed in
NgProgress
.
Breaking Changes
- The following functions has been remove from
NgProgress
service: setConfig()
, start()
, set()
, inc()
, complete()
, isStarted()
, started()
, completed()
, destroy()
.
Before:
It was possible to use these functions from NgProgress
service directly
ngProgress.start();
After:
These functions are accessed by the NgProgressRef
instance
const progressRef: NgProgressRef = ngProgress.ref();
progressRef.start();
- If you are using
NgProgressRef
to integrate it with other progress bar components
Before:
<ng-container *ngIf="progressRef.state$ | async; let state">
<mat-progress-bar *ngIf="state.active" [value]="state.value"></mat-progress-bar>
</ng-container>
After:
<ng-container *ngIf="progressRef.state | async; let state">
<mat-progress-bar *ngIf="state.active" [value]="state.value"></mat-progress-bar>
</ng-container>
5.1.2
- fix(router): Progressbar is not completing when navigation ends, closes #202 in 6d8b644.
- fix(router): Fix router config.delay is undefined error, in 9dae94b.
5.1.0
- feat(http): Add optional config to set progressRef id and silent APIs, closes #83 in 3c1d72c (Thanks to @bboyz269).
- feat(router): Add optional config to set progressRef id and a delay to complete the progress bar, closes #181 in d274745.
- refactor(NgProgress): Use,
{providedIn: 'root'}
instead of useFactory
function in d31cacd.
Breaking changes
Before, to add the automagic features, we used to import NgProgressHttpModule
and NgProgressRouterModule
.
Now we must use forRoot()
on these modules => NgProgressHttpModule.forRoot()
and NgProgressRouterModule.forRoot()
.
5.0.1
- fix(build): fix
warning " > @ngx-progressbar/core@5.0.0" has incorrect peer dependency "@angular/core@5.0.0".
5.0.0
5.0.0-rc.1
- fix(NgProgressService): NgProgress.completed: return completed observable, #157
5.0.0-rc.0
- Upgrade to Angular 6, closes #143 in #156.
4.3.0
- feat(core): add debounceTime option, closes #141 in #151
4.2.0
- feat(core): Add
trickleFunc
input. This allows users to change the trickling amount based on progress state, closes #146 in #148.
4.1.1
- Use rxjs deep imports to avoid the whole lib to be bundled, #132.
4.1.0
- feat(Support IE11): Remove css variable, closes #123.
- refactor(NgProgressComponent): prefix component classes with
ng-
to avoid the side effects with other libraries, closes #125.
4.0.1
- fix(NgProgressComponent): Initialize progress bar without inputs, closes #118.
- refactor(NgProgressComponent): Use
style.transform
instead of ngStyle
to animate the progress.
4.0.0
- Move NgProgress logic to NgProgressRef.
- Refactor(NgProgress): became a central service to access progress bars instances (NgProgressRef).
- Refactor(NgProgressRef): shorten code, reduce complexity.
- Refactor(NgProgressBarComponent): Initialize inputs from the global config.
- Improve performance: Use a pure css solution for the progress bar.
- Refactor(NgProgressModule): Remove the service factory.
Features
- Supports multiple progress bars, closes #113.
<ng-progress></ng-progress>
<ng-progress id="instance1"></ng-progress>
<ng-progress id="instance2"></ng-progress>
- Ability to set global config for all progress bars using
forRoot(config)
.
- Ability to set background-color of the progress bar holder using
.bar-placeholder
class.
- Adds
(started)
and (complete)
output to the component.
- Adds
start()
, set(n)
, inc(n)
, complete()
methods to the component.
For example:
<ng-progress #progressBar></ng-progress>
<button (click)="progressBar.start()">Start</button>
<button (click)="progressBar.complete()">Complete</button>
Breaking Changes
@ngx-progressbar/http-client
package is deprecated in version 4.x, use @ngx-progressbar/http
instead.
[toggle]
input has been removed from the component.
NgProgress.done()
has been renamed to NgProgress.complete()
.
NgProgress.ended
has been renamed to NgProgress.completed()
.
- Since
HttpModule
is deprecated, NgProgress no longer supports it.
NgProgressHttpClientModule
has been renamed to NgProgressHttpModule
, so now the HttpClient
automagic feature is published on @ngx-progressbar/http
3.0.2
- Refactor(ProgressBar)
- track multiple concurrent requests in #105
3.0.1
- Fixed the problem with AOT build in v3.0.0
3.0.0
Breaking Changes
Main package is now @ngx-progressbar/core
Auto-magic features will be used by importing its module:
- For Http requests, use
@ngx-progressbar/http
- For HttpClient requests, use
@ngx-progressbar/http-client
- For Router events, use
@ngx-progressbar/router
remove [positionUsing]
option to use translate3d only
- rename
[showSpinner]
option to [spinner]
Features
- Improve rendering performance
- Add
[spinnerPosition]
options to set the spinner position, left
| right
- Add
progress.started()
event
- Add
progress.ended()
event
- Add option to disable progressbar tail (meteor)
- Fix progressbar tail (meteor) in right to left direction
2.1.1
- Allow
<ng-progress>
component to be destroyed, fixes #27, #28, #33, #41, #81, #82 in #86
- Add
NgProgressState
interface for Progress state
- Breaking Changes:
NgProgressService
has been renamed to NgProgress
2.1.0
Broken Release
2.0.8
- fix: remove unused code in #68
2.0.7
- fix: after
progress.done()
call progress.start()
immediately will not work, closes #65, #66 in #67. Thanks to @xinshangshangxin
2.0.6
- Remove NgProgressBrowserXhr from NgProgressModule providers
2.0.5
- Remove Http peerDepenedcy, closes #61
2.0.4
- feat(NgProgressHttpInterceptor): Adds automagic feature to
HttpClient
(Angular >= 4.3)
2.0.3
- Refactor(ProgressComponent) Increase
z-index
, closes #37
- General refactor for all files, improve linting
- Use inline styles and templates
NgProgressCustomBrowserXhr
has renamed to NgProgressBrowserXhr
2.0.2
2.0.0
- Rename npm package to
ngx-progressbar
.
- Update peerDependecies.
1.3.0
- (fix) Progressbar transition animation (which was introduced in v1.2.0), closes #16
- (refactor) ProgressBarComponent
- (feat) Support systemjs
- (feat) XHR provider for multiple http requests (BETA), closes #15
1.2.0
- (fix) Progressbar stuck after one time, closes #10
- (fix) AOT failing, cloese #8
- (feat) adds maximum input, closes #9
1.1.6
- (fix) default input values
1.1.4
Fixes Bugs
1.1.2
- fixes: Service.Done() doesn't complete the progress if it wasn't trickling
- (fix) No Animation on IE, Edge by using css animation-js polyfills
1.1.1
- Use rxjs operators to imrpove code quality
- Remove extra unnecessory subjects which been used in previous versions
- Remove unnecessory style
- Use single subject for update progress state
- Move logic to the service and make components as dump as possible
- Improve animation
- Support AOT
Breaking Changes
- Coloring animation is deprecated
[trickle]
input is deprecated
1.0.3
- Improvement: Uses
OnPush
change detection strategy on the outer component to improve performance.
1.0.1
Stable release
-New Feature: Thicker size using the input [thick]=true
.
-Fixes Bug: Adds transition for the spinner and the progress bar tail
0.1.5
Initial release