Skip to content

Latest commit

 

History

History
548 lines (256 loc) · 28.9 KB

changelog.md

File metadata and controls

548 lines (256 loc) · 28.9 KB

SCION Toolkit

SCION Toolkit Projects Overview Changelog Contributing Sponsoring

Changelog > @scion/toolkit

1.6.0 (2024-10-28)

Features

  • toolkit/operators: provide replacement for subscribeInside and observeInside operators (4d45a8b)

Performance Improvements

  • toolkit/observable: avoid unnecessary change detection cycles (5aea0f1)

1.5.1 (2024-10-22)

Bug Fixes

  • toolkit/observable: position document root in CSS layer when using fromBoundingClientRect$ (9af2f48)

1.5.0 (2024-10-03)

Performance Improvements

  • toolkit/observable: optimize position detection in fromBoundingClientRect$ (540b8bb)

Code Refactoring

  • toolkit/operators: remove deprecated pluckArray operator (6c84329)
  • toolkit/testing: remove deprecated ObserveCaptor#resetValues method (10253e6)

BREAKING CHANGES

  • toolkit/testing: ObserveCaptor#resetValues was deprecated and has been removed; use ObserveCaptor#reset instead.
  • toolkit/operators: RxJS operator pluckArray was deprecated and has been removed; use mapArray instead.

1.4.1 (2023-06-14)

Performance Improvements

  • toolkit/uuid: use faster algorithm to generate UUID (1fe7039), closes #162

1.4.0 (2023-04-19)

Bug Fixes

  • toolkit/util: fix comparing unordered arrays (900fe45)

Features

  • toolkit/operators: accept readonly array (aed2d5b)
  • toolkit/util: accept readonly array (61de22a)

1.3.1 (2022-11-09)

Bug Fixes

  • toolkit/bean-manager: construct eager bean of a multi-token when registered after started the bean manager (6c29afd)

1.3.0 (2022-11-02)

Features

  • toolkit/crypto: provide digest function to compute the hash of data (67eff30)

1.2.1 (2022-10-07)

Bug Fixes

  • toolkit/bean-manager: do not destroy "value beans" (2698ec3)

1.2.0 (2022-09-26)

Features

  • toolkit/operators/filterArray: continue filtering if a predicate completes without first emission (b1435d6)
  • toolkit/operators/filterArray: do not error if a predicate errors (84af2b0)

1.1.0 (2022-09-16)

Features

  • toolkit/operators: support asynchronous predicate in filterArray operator (c5803f7), closes #104

1.0.0 (2022-05-17)

Features

  • toolkit: separate toolkit into @scion/toolkit and @scion/components (b8845d1), closes #77

BREAKING CHANGES

  • toolkit: Separating the toolkit into @scion/toolkit and @scion/components introduced a breaking change.

    Migration of framework-agnostic tools

    Below is the list of framework-agnostic tools:

    • @scion/toolkit/bean-manager
    • @scion/toolkit/observable
    • @scion/toolkit/operators
    • @scion/toolkit/storage
    • @scion/toolkit/util
    • @scion/toolkit/uuid

    To migrate:

    • Install the NPM module @scion/toolkit in version 1.0.0 using the following command: npm install @scion/toolkit --save. Note that the toolkit was previously released as pre-releases of version 13.0.0 or older.

    Migration of Angular-specific components and directives

    The following Angular-specific tools have been moved from @scion/toolkit to @scion/components:

    • @scion/toolkit/dimension
    • @scion/toolkit/sashbox
    • @scion/toolkit/splitter
    • @scion/toolkit/throbber
    • @scion/toolkit/viewport

    To migrate:

    • Install the NPM module @scion/components in version 13.0.0 using the following command: npm install @scion/components @scion/toolkit @angular/cdk --save
    • Search and replace the following imports:
      • @scion/toolkit/dimension@scion/components/dimension
      • @scion/toolkit/sashbox@scion/components/sashbox
      • @scion/toolkit/splitter@scion/components/splitter
      • @scion/toolkit/throbber@scion/components/throbber
      • @scion/toolkit/viewport@scion/components/viewport
    • If you use the viewport scrollbar in other viewport implementations, such as CDK's virtual scroll viewport, follow these steps:
      • Load SASS mixins as SASS module via the @use rule instead of the @import rule, as follows:
        • @import '~@scion/toolkit/viewport/scrollbar';@use '@scion/components' as sci-components;
      • We have renamed the scrollbar style mixins. See viewport description for a full example. Migrate as follows:
        • @include hide-scrollbars-when-inactive();@include sci-components.scrollbar-hide-when-inactive();
        • @include scrollbar();@include sci-components.scrollbar-position();

SEPARATION OF @SCION/TOOLKIT INTO @SCION/[email protected] AND @SCION/[email protected]

Previously, framework-agnostic and Angular-specific tools were published as a single NPM package, which often led to confusion and prevented framework-agnostic tools from having a release cycle independent of the Angular project.

Therefore, we have moved Angular-specific components and directives to the NPM package @scion/components. It will continue to be versioned according to the Angular major release train. On the other hand, framework-agnostic tools will continue to be released under @scion/toolkit, but now starting with version 1.0.0 instead of pre-release versions.

Below is the changelog of @scion/toolkit before the separation.


13.0.0-beta.2 (2022-03-15)

Bug Fixes

  • toolkit/bean-manager: construct eager bean when registering it after started the bean manager (3511b4b)
  • toolkit/bean-manager: prevent registering a bean with undefined as value (8f68cdf)
  • toolkit/testing: time out ObserveCaptor#waitUntilEmitCount when not capturing expected emissions in time (ec8507c)

Features

  • toolkit/bean-manager: allow using an existing bean as initializer (efde8b1)
  • toolkit/storage: allow synchronous retrieval of an item (eadd8fd)

13.0.0-beta.1 (2022-02-18)

Dependencies

  • toolkit: update @scion/toolkit to Angular 13 and migrate to RxJS 7.5 (d9114e2)

Code Refactoring

  • toolkit/observable: remove option for disabling native resize observer (af91803)

BREAKING CHANGES

  • toolkit: Updating @scion/toolkit to Angular 13 and RxJS 7.5 introduced a breaking change.

    To migrate:

  • toolkit/observable: Support for disabling the native ResizeObserver has been removed because this API is now supported by all major browsers.

    To migrate:

    • remove the options parameter when calling fromDimension$ .
    • remove the global flag FromDimension.defaults.useNativeResizeObserver.

12.0.0-beta.3 (2021-12-06)

Bug Fixes

  • toolkit/viewport: remove DOM elements instantly after computing the native scrollbar track size (af28dee)

Features

  • toolkit/splitter: provide splitter Angular component to control the size of elements next to it (4cb5afe)

12.0.0-beta.2 (2021-08-31)

Bug Fixes

  • toolkit/testing: fix check in ObserveCaptor to indicate whether the Observable has failed (606b47e)

Features

  • toolkit: provide a function to remove undefined entries from a dictionary (5350a1c)

12.0.0-beta.1 (2021-07-01)

Chore

  • toolkit: update @scion/toolkit to Angular 12 (8331caa), closes #56

11.0.0-beta.12 (2021-06-24)

Bug Fixes

  • ɵtoolkit/accordion: stretch the accordion header horizontally to its full width (4f4e152)
  • ɵtoolkit/filter-field: use unique id to identify the input element (736e32a)

Features

  • ɵtoolkit/tabbar: allow activating a tab programmatically (6c70831)
  • toolkit/operators: add bufferUntil operator to buffer emissions (50e365e)
  • toolkit/operators: add combineArray operator to combine Observables contained in the source array (113a419)
  • toolkit/operators: add distinctArray operator to remove duplicates in the source array (5a61e1c)

11.0.0-beta.11 (2021-04-26)

Chore

  • toolkit: compile with TypeScript strict checks enabled (0a241d5), closes #42

11.0.0-beta.10 (2021-03-16)

Bug Fixes

  • toolkit/testing: allow to reset the emit count of ObserveCaptor (b2427bf)

11.0.0-beta.9 (2021-03-09)

Bug Fixes

  • toolkit/util: make the signature of Arrays.intersect compatible with strict type checking mode (21bde13), closes #48

11.0.0-beta.8 (2021-02-21)

Bug Fixes

  • ɵtoolkit/accordion: trigger filled state update on initialization (7a5402f)
  • ɵtoolkit/list: remove padding to prevent native scrollbars from showing (5fc6dc1)

11.0.0-beta.7 (2021-02-10)

Features

  • toolkit/util: support the coercion of Map's from other JavaScript realms (aea4aa8)

11.0.0-beta.6 (2021-01-15)

Bug Fixes

  • ɵtoolkit/accordion: remove viewport from accordion (ff0aac3)
  • toolkit/viewport: render the actual scroll position when an animation completes (8033a79)

11.0.0-beta.5 (2021-01-11)

Features

  • ɵtoolkit/accordion: allow displaying accordion items in solid instead of speech bubble style (7d211d3)
  • ɵtoolkit/accordion: provide page object to be used in e2e protractor tests (c94c14e)
  • ɵtoolkit/filter-field: allow the user to reset filter text (29e3fec)
  • ɵtoolkit/filter-field: enable the filter field for use with the Angular Forms API (079b00c)
  • ɵtoolkit/theme: remove the focus glow from disabled input fields (be9944c)
  • toolkit/observable: allow observing an element's position on the screen (7cbffa1)
  • toolkit/viewport: allow a viewport to grow with its content (b7f9e0d)

BREAKING CHANGES

As part of this change, we also had to change the sci-scrollable directive's behavior. It no longer positions its host absolutely, but in document element flow instead. You may use this directive for adding the SCION scrollbar to other viewport implementations, such as the <cdk-virtual-scroll-viewport> component of Angular CDK. To migrate, add the host to a CSS grid container to fill the remaining space vertically and horizontally.

11.0.0-beta.4 (2020-12-17)

Bug Fixes

  • toolkit/sashbox: do not form a stacking context barrier on sash content (ff624fd)

Features

  • ɵtoolkit/checkbox: allow to query the checked state via page object (1b0a767)
  • ɵtoolkit/property: throw an error if the page object is given an invalid element finder (ca0cb90)
  • ɵtoolkit/tabbar: provide page object to select a tab in e2e tests (9538a02)

11.0.0-beta.3 (2020-12-09)

Features

  • ɵtoolkit/filter-field: allow setting a placeholder text if empty (0e4d4cf)
  • toolkit/sashbox: prevent the splitter from overlapping overlays (6903256)
  • toolkit/throbber: provide a throbber to indicate execution of an action (eca1da9)
  • toolkit/viewport: allow styling scrollbar and prefix CSS variable names to lay out viewport content (f91dc1f)

BREAKING CHANGES

  • toolkit/viewport: Renamed CSS variables to lay out viewport content.

    To migrate: If customizing the default layout of viewport content, replace the following CSS variables:

    • --grid-template-columns -> --sci-viewport-content-grid-template-columns
    • --grid-template-rows -> --sci-viewport-content-grid-template-rows
    • --grid-auto-columns -> --sci-viewport-content-grid-auto-columns
    • --grid-auto-rows -> --sci-viewport-content-grid-auto-rows
    • --gap -> --sci-viewport-content-grid-gap

11.0.0-beta.2 (2020-11-17)

Bug Fixes

  • toolkit: restrict the toolkit to be compatible with Angular version 11 (2e603df)

11.0.0-beta.1 (2020-11-17)

chore

  • toolkit: update @scion/toolkit to Angular 11 (abfb0e9), closes #26

BREAKING CHANGES

  • toolkit: Added support for Angular 11.

    To migrate: If using Angular-specific tools, migrate your app to Angular 11 as following:

    • Run ng update @angular/cli @angular/core @angular/cdk.
    • Refer to the Angular Update Guide for detailed instructions on how to update Angular: https://update.angular.io

10.0.0-beta.4 (2020-11-11)

Bug Fixes

  • toolkit/testing: capture error in ObserveCaptor (31d3efe)

10.0.0-beta.3 (2020-11-05)

Bug Fixes

  • toolkit/sashbox: accept numeric values for sash proportions (94100ba)
  • toolkit/sashbox: emit sash sizes when resetting the sash layout (6063078)
  • toolkit/sashbox: remove dimension module from imported modules as not used (76bb850)
  • toolkit/viewport: remove dimension module from imported modules as not used (eef3cf8)

Features

  • toolkit/util: add method to arrays util to get the last element in an array matching a predicate (2346dc1)
  • toolkit/operators: allow running downstream and upstream operators inside a context (5074075)
  • toolkit/operators: deprecate pluckArray RxJS operator in favor of the mapArray operator (5c72584)
  • toolkit/sashbox: emit sash sizes when finished sashing (0d28543)
  • toolkit/util: make options object optional in Arrays.remove utility (c87f5fd)
  • toolkit/storage: observe changes to items in local and session storage using the WebStorage class (f435426)
  • toolkit/bean-manager: provide bean manager to look up singleton objects (bf76eca)

10.0.0-beta.2 (2020-08-07)

Features

  • ɵtoolkit: allow organizing content in tabs (98805e0), closes #10

10.0.0-beta.1 (2020-07-17)

Bug Fixes

  • ɵtoolkit: prefix the version in the URL of the testing application (885700b)

chore

  • update toolkit to Angular 10 (da15919), closes #11

BREAKING CHANGES

  • Added support for Angular 10.

    To migrate:

    • if using Angular-specific tools, migrate your app to Angular 10 by running ng update @angular/cli @angular/core @angular/cdk.

9.0.0-beta.3 (2020-06-12)

Bug Fixes

  • ɵtoolkit: allow placing form field labels above (6220121)
  • ɵtoolkit: change colors in accent color palette to have a higher contrast (50d0a40)
  • toolkit: make sashbox component work with Angular 9 (8fd97a8)
  • toolkit: use dash-case for CSS variables of sci-sashbox component (0504476)

BREAKING CHANGES

  • toolkit: Renamed CSS variables of sci-sashbox component as following:

    • --sci-sashbox-splitter_backgroundColor to --sci-sashbox-splitter-bgcolor
    • --sci-sashbox-splitter_backgroundColorOnHover to --sci-sashbox-splitter-bgcolor_hover
    • --sci-sashbox-splitter_size to --sci-sashbox-splitter-size
    • --sci-sashbox-splitter_sizeOnHover to --sci-sashbox-splitter-size_hover
    • --sci-sashbox-splitter_touchTargetSize to --sci-sashbox-splitter-touch-target-size
    • --sci-sashbox-splitter_crossAxisSize to --sci-sashbox-splitter-cross-axis-size
    • --sci-sashbox-splitter_borderRadius to --sci-sashbox-splitter-border-radius
    • --sci-sashbox-splitter_opacityWhenActive to `--sci-sashbox-splitter-opacity_active
    • --sci-sashbox-splitter_opacityOnHover to --sci-sashbox-splitter-opacity_hover

9.0.0-beta.2 (2020-06-01)

Bug Fixes

  • publish internal toolkit under @scion/toolkit.internal instead of @scion/~toolkit (78a31d7)

9.0.0-beta.1 (2020-06-01)

Features

  • create scion-toolkit repository with tools from scion-workbench repository (42571e1)