Skip to content

Releases: simonihmig/responsive-image

@responsive-image/react@1.1.0

11 Jun 18:38
73b0b89
Compare
Choose a tag to compare

Minor Changes

  • #1408 04979f8 Thanks @wkillerud! - Export the CSS as well as a JS only variant

    Most of the time the default export should "just work", but this change adds some flexibility for users of the package.

    In particular it makes it easier to include the CSS in a client-side bundle in an application that is otherwise server-side only.

Patch Changes

@responsive-image/webpack@2.0.0

06 Jun 17:12
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1239 2a12953 Thanks @simonihmig! - Refactor internal LQIP implementation

    The way the build plugins would expose the image meta data for any LQIP (Low Quality Image Placeholder) features has changed, especially related to Thumbhash/Blurhash. Previously, the image component would lazily load the runtime decoding function for Thumbhash/Blurhash (dynamic import), as to not load that code when the feature is not used at all. However, this introduced some (minor) delay due to the additional chunk loading, but also made the internal implementation of the image components more complex than it needed to be due to having to handle asynchrony. Now the conditional loading is off-loaded to the build plugins, which can make the decision to pull in the decoding code only when needed at build-time, significantly simplifying the runtime image components by removing any async loading and state syncing.

    This changed the internal contract (interface) for the LQIP feature between the build plugins (Vite or webpack) and the image components. This is a breaking chance, but the only impact for users is to make sure you only use v2.x of any of the project's dependencies (@responsive-image/*). No changes in code required.

  • #1246 c3dcac9 Thanks @simonihmig! - Make assets the default output path

    To align with defaults elsewhere (Ember, Vite) the webpack loaders will use a default outputPath of assets instead of images.

  • #1351 cfaabb7 Thanks @simonihmig! - Refactored styles for LQIP options

    This changed the interface between build plugins and image components with regard to how CSS styling information for LQIP options is passed through. While technically a breaking change, this shouldn't affect you as long as you are on V2.x versions of any build blugins and image component packages.

    It also introduces a new styles: 'inline' option for build plugins to ship LQIP tyles in the JavaScript bundle, which is needed for the web component, as external styles (external CSS file) was actually not working before due to Shadow DOM isolation.

Patch Changes

@responsive-image/wc@2.0.0

06 Jun 17:12
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1239 2a12953 Thanks @simonihmig! - Refactor internal LQIP implementation

    The way the build plugins would expose the image meta data for any LQIP (Low Quality Image Placeholder) features has changed, especially related to Thumbhash/Blurhash. Previously, the image component would lazily load the runtime decoding function for Thumbhash/Blurhash (dynamic import), as to not load that code when the feature is not used at all. However, this introduced some (minor) delay due to the additional chunk loading, but also made the internal implementation of the image components more complex than it needed to be due to having to handle asynchrony. Now the conditional loading is off-loaded to the build plugins, which can make the decision to pull in the decoding code only when needed at build-time, significantly simplifying the runtime image components by removing any async loading and state syncing.

    This changed the internal contract (interface) for the LQIP feature between the build plugins (Vite or webpack) and the image components. This is a breaking chance, but the only impact for users is to make sure you only use v2.x of any of the project's dependencies (@responsive-image/*). No changes in code required.

  • #1351 cfaabb7 Thanks @simonihmig! - Refactored styles for LQIP options

    This changed the interface between build plugins and image components with regard to how CSS styling information for LQIP options is passed through. While technically a breaking change, this shouldn't affect you as long as you are on V2.x versions of any build blugins and image component packages.

    It also introduces a new styles: 'inline' option for build plugins to ship LQIP tyles in the JavaScript bundle, which is needed for the web component, as external styles (external CSS file) was actually not working before due to Shadow DOM isolation.

Minor Changes

Patch Changes

@responsive-image/vite-plugin@2.0.0

06 Jun 17:12
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1239 2a12953 Thanks @simonihmig! - Refactor internal LQIP implementation

    The way the build plugins would expose the image meta data for any LQIP (Low Quality Image Placeholder) features has changed, especially related to Thumbhash/Blurhash. Previously, the image component would lazily load the runtime decoding function for Thumbhash/Blurhash (dynamic import), as to not load that code when the feature is not used at all. However, this introduced some (minor) delay due to the additional chunk loading, but also made the internal implementation of the image components more complex than it needed to be due to having to handle asynchrony. Now the conditional loading is off-loaded to the build plugins, which can make the decision to pull in the decoding code only when needed at build-time, significantly simplifying the runtime image components by removing any async loading and state syncing.

    This changed the internal contract (interface) for the LQIP feature between the build plugins (Vite or webpack) and the image components. This is a breaking chance, but the only impact for users is to make sure you only use v2.x of any of the project's dependencies (@responsive-image/*). No changes in code required.

  • #1351 cfaabb7 Thanks @simonihmig! - Refactored styles for LQIP options

    This changed the interface between build plugins and image components with regard to how CSS styling information for LQIP options is passed through. While technically a breaking change, this shouldn't affect you as long as you are on V2.x versions of any build blugins and image component packages.

    It also introduces a new styles: 'inline' option for build plugins to ship LQIP tyles in the JavaScript bundle, which is needed for the web component, as external styles (external CSS file) was actually not working before due to Shadow DOM isolation.

Patch Changes

@responsive-image/svelte@2.0.0

06 Jun 17:12
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1239 2a12953 Thanks @simonihmig! - Refactor internal LQIP implementation

    The way the build plugins would expose the image meta data for any LQIP (Low Quality Image Placeholder) features has changed, especially related to Thumbhash/Blurhash. Previously, the image component would lazily load the runtime decoding function for Thumbhash/Blurhash (dynamic import), as to not load that code when the feature is not used at all. However, this introduced some (minor) delay due to the additional chunk loading, but also made the internal implementation of the image components more complex than it needed to be due to having to handle asynchrony. Now the conditional loading is off-loaded to the build plugins, which can make the decision to pull in the decoding code only when needed at build-time, significantly simplifying the runtime image components by removing any async loading and state syncing.

    This changed the internal contract (interface) for the LQIP feature between the build plugins (Vite or webpack) and the image components. This is a breaking chance, but the only impact for users is to make sure you only use v2.x of any of the project's dependencies (@responsive-image/*). No changes in code required.

  • #1351 cfaabb7 Thanks @simonihmig! - Refactored styles for LQIP options

    This changed the interface between build plugins and image components with regard to how CSS styling information for LQIP options is passed through. While technically a breaking change, this shouldn't affect you as long as you are on V2.x versions of any build blugins and image component packages.

    It also introduces a new styles: 'inline' option for build plugins to ship LQIP tyles in the JavaScript bundle, which is needed for the web component, as external styles (external CSS file) was actually not working before due to Shadow DOM isolation.

Minor Changes

Patch Changes

@responsive-image/solid@2.0.0

06 Jun 17:12
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1239 2a12953 Thanks @simonihmig! - Refactor internal LQIP implementation

    The way the build plugins would expose the image meta data for any LQIP (Low Quality Image Placeholder) features has changed, especially related to Thumbhash/Blurhash. Previously, the image component would lazily load the runtime decoding function for Thumbhash/Blurhash (dynamic import), as to not load that code when the feature is not used at all. However, this introduced some (minor) delay due to the additional chunk loading, but also made the internal implementation of the image components more complex than it needed to be due to having to handle asynchrony. Now the conditional loading is off-loaded to the build plugins, which can make the decision to pull in the decoding code only when needed at build-time, significantly simplifying the runtime image components by removing any async loading and state syncing.

    This changed the internal contract (interface) for the LQIP feature between the build plugins (Vite or webpack) and the image components. This is a breaking chance, but the only impact for users is to make sure you only use v2.x of any of the project's dependencies (@responsive-image/*). No changes in code required.

  • #1351 cfaabb7 Thanks @simonihmig! - Refactored styles for LQIP options

    This changed the interface between build plugins and image components with regard to how CSS styling information for LQIP options is passed through. While technically a breaking change, this shouldn't affect you as long as you are on V2.x versions of any build blugins and image component packages.

    It also introduces a new styles: 'inline' option for build plugins to ship LQIP tyles in the JavaScript bundle, which is needed for the web component, as external styles (external CSS file) was actually not working before due to Shadow DOM isolation.

Minor Changes

Patch Changes

@responsive-image/react@1.0.0

06 Jun 17:12
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1364 18dbfea Thanks @simonihmig! - Add support for React

    Adds a new @responsive-image/react package providing the image component with a native React implementation.

Minor Changes

Patch Changes

@responsive-image/ember@2.0.0

06 Jun 17:12
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1239 2a12953 Thanks @simonihmig! - Refactor internal LQIP implementation

    The way the build plugins would expose the image meta data for any LQIP (Low Quality Image Placeholder) features has changed, especially related to Thumbhash/Blurhash. Previously, the image component would lazily load the runtime decoding function for Thumbhash/Blurhash (dynamic import), as to not load that code when the feature is not used at all. However, this introduced some (minor) delay due to the additional chunk loading, but also made the internal implementation of the image components more complex than it needed to be due to having to handle asynchrony. Now the conditional loading is off-loaded to the build plugins, which can make the decision to pull in the decoding code only when needed at build-time, significantly simplifying the runtime image components by removing any async loading and state syncing.

    This changed the internal contract (interface) for the LQIP feature between the build plugins (Vite or webpack) and the image components. This is a breaking chance, but the only impact for users is to make sure you only use v2.x of any of the project's dependencies (@responsive-image/*). No changes in code required.

  • #1351 cfaabb7 Thanks @simonihmig! - Refactored styles for LQIP options

    This changed the interface between build plugins and image components with regard to how CSS styling information for LQIP options is passed through. While technically a breaking change, this shouldn't affect you as long as you are on V2.x versions of any build blugins and image component packages.

    It also introduces a new styles: 'inline' option for build plugins to ship LQIP tyles in the JavaScript bundle, which is needed for the web component, as external styles (external CSS file) was actually not working before due to Shadow DOM isolation.

Minor Changes

Patch Changes

@responsive-image/core@2.0.0

06 Jun 17:12
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1346 b0ec36f Thanks @wkillerud! - ImageData.imageTypes can now be the string 'auto'

    CDNs often have a feature to automatically choose the
    optimal format based on the visiting browser. This type
    change is made to support using such features in the
    cdn package.

    Where you assume imageTypes is an array of strings,
    update to also support the imageTypes: 'auto' case.

  • #1239 2a12953 Thanks @simonihmig! - Refactor internal LQIP implementation

    The way the build plugins would expose the image meta data for any LQIP (Low Quality Image Placeholder) features has changed, especially related to Thumbhash/Blurhash. Previously, the image component would lazily load the runtime decoding function for Thumbhash/Blurhash (dynamic import), as to not load that code when the feature is not used at all. However, this introduced some (minor) delay due to the additional chunk loading, but also made the internal implementation of the image components more complex than it needed to be due to having to handle asynchrony. Now the conditional loading is off-loaded to the build plugins, which can make the decision to pull in the decoding code only when needed at build-time, significantly simplifying the runtime image components by removing any async loading and state syncing.

    This changed the internal contract (interface) for the LQIP feature between the build plugins (Vite or webpack) and the image components. This is a breaking chance, but the only impact for users is to make sure you only use v2.x of any of the project's dependencies (@responsive-image/*). No changes in code required.

  • #1351 cfaabb7 Thanks @simonihmig! - Refactored styles for LQIP options

    This changed the interface between build plugins and image components with regard to how CSS styling information for LQIP options is passed through. While technically a breaking change, this shouldn't affect you as long as you are on V2.x versions of any build blugins and image component packages.

    It also introduces a new styles: 'inline' option for build plugins to ship LQIP tyles in the JavaScript bundle, which is needed for the web component, as external styles (external CSS file) was actually not working before due to Shadow DOM isolation.

Patch Changes

  • #1311 ba7a9da Thanks @wkillerud! - Add support for Fastly IO as a CDN

  • #1383 ae74565 Thanks @simonihmig! - Fix a too small screenSize default in node/SSR environment

    Image components use the user's screen size as the width to use for the fallback image used in the src attribute.
    When running in node/SSR it cannot know the browser screen size, so it has to pick a reasonable default. It used to be 320, which is way too small in most cases. Now this defaults to the largest deviceWidth (3840 by default).

    In practice this only affected apps doing SSR and only relevant when srcset is not supported and the src fallback is used, so only very old legacy browsers (IE).

@responsive-image/cdn@2.0.0

06 Jun 17:11
cc6efa9
Compare
Choose a tag to compare

Major Changes

  • #1346 b0ec36f Thanks @wkillerud! - The default imageTypes changed to 'auto'

    The default imageTypes changed from an array of image formats to the string 'auto' in order to have the CDN backend decide the format.
    Image components that assume imageTypes is an array need to be updated to accept the string 'auto'. In such cases the component should render only an <img> tag with a srcset attribute.

Minor Changes

Patch Changes