Skip to content

Latest commit

 

History

History
452 lines (283 loc) · 19.7 KB

CHANGELOG.md

File metadata and controls

452 lines (283 loc) · 19.7 KB

Changelog

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

  • Upgrade to Angular 12

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

  • Upgrade to Angular 11

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

  • Change NgProgressModule.forRoot() to NgProgressModule
  • If you use custom config NgProgressModule.forRoot(config), then change it to NgProgressModule.withConfig(config)

The same applies on NgProgressHttpModule and NgProgressRouterModule

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

  • Broken release

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

  • margin positioning

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