Skip to main content

100 posts tagged with "release"

View All Tags

4.16.4

· 2 min read

Highlights

This patch fixes a CommonJS / SSR regression introduced in 4.16.

  • fix(core): CJS require("@egjs/flicking") returns the Flicking class again — 4.16's Vite migration accidentally dropped the hybrid CJS entry (index.cjs.ts), so require() returned a namespace object ({ default, ... }) instead of the class. This broke direct CommonJS require (new F(), F.prototype) and wrapper SSR (renderToString). The CJS build now uses index.cjs.ts again, producing output identical to 4.15. A verify:cjs build-time guard prevents the regression from recurring. (#953, closes #952)
  • fix(core): restore @egjs/imready dependency range to ^1.3.1 — the monorepo migration lowered the range floor to ^1.1.1; restored to match 4.15 and avoid unintended downgrades. (#954)

Packages

  • @egjs/flicking 4.16.4
  • @egjs/react-flicking 4.16.6
  • @egjs/vue3-flicking 4.16.4

What's Changed

4.16.3

· One min read

Highlights

  • Fix: resolved an insertBefore NotFoundError thrown when inserting/prepending panels while a detached (unseen) panel is used as the insertion reference under renderOnlyVisible (reproducible by clicking Prepend twice in the Add/Remove demo) (#949)
    • Companion fix to 4.16.2's removePanel guard — the same detachment issue on the insert path.

Published packages

  • @egjs/flicking@4.16.3
  • @egjs/react-flicking@4.16.5
  • @egjs/vue3-flicking@4.16.3

What's Changed

4.16.2

· One min read

Highlights

  • Fix: resolved an error thrown when calling removePanel on a not-yet-rendered (unseen) panel with renderOnlyVisible (#946)

Published packages

  • @egjs/flicking@4.16.2
  • @egjs/react-flicking@4.16.4
  • @egjs/vue3-flicking@4.16.2

Internal changes: repaired the CI test workflow for the pnpm monorepo, reorganized docs demos (CrossFlicking preset, reactive demos replacing legacy advanced demos), and realigned e2e specs. See the PR list below for details.

What's Changed

4.16.0

· 2 min read

Packages (install the latest patch)

PackageVersion
@egjs/flicking4.16.1
@egjs/react-flicking4.16.3
@egjs/vue3-flicking4.16.1
@egjs/flicking-plugins4.8.1

Highlights

Documentation overhaul

  • Rebuilt the documentation site end to end.
  • Added an automated TypeScript-to-MDX API reference pipeline.
  • Added an LLM-friendly docs pipeline (llms.txt and pure-markdown mirrors).
  • Release notes are now reflected on the docs site automatically.

Development environment overhaul

  • Consolidated the previously separated @egjs/flicking-plugins repository into a single pnpm workspace monorepo, alongside the @egjs/flicking core.
  • Restructured the publish pipeline and replaced release-helper with a custom release/versioning script.
  • Reworked the local dev workflow (HMR dev servers, @dev/* import aliases, issue-reproduction scratch pattern).
  • Migrated the test suites and the Vue 3 demo to the Composition API.

Discontinued packages

  • The Svelte, Angular, and Vue 2 wrappers are no longer maintained and have been removed during the monorepo consolidation.
  • Their previously published versions remain installable on npm but will not receive further updates.

Patch releases

The Vite-based build migration introduced two regressions that were fixed in same-day patches. Install the latest patch of each package (table above).

  • React 19 — @egjs/react-flicking 4.16.1 / 4.16.2: the initial 4.16.0 build bundled a stale react/jsx-runtime (runtime crash Cannot read properties of undefined (reading 'ReactCurrentDispatcher') on React 19) and referenced the removed global JSX namespace (typecheck error TS2503). 4.16.1 and 4.16.2 fix these respectively. @egjs/react-flicking@4.16.0 is deprecated.
  • ES2015 down-level — flicking 4.16.1 / react-flicking 4.16.3 / vue3-flicking 4.16.1 / flicking-plugins 4.8.1: the new build initially emitted ES2020 syntax (?. / ??). Bundles are now down-leveled to ES2015, restoring the docs demos (which do not transpile dependencies) and older-browser compatibility.

What's Changed

4.14.0

· One min read

What's Changed

4.13.1

· One min read

What's Changed

New Contributors

4.12.0

· One min read

New Feature

Bug Fix

  • Fixed an error where the initial Panel is set to the last Panel when display: none is applied to the viewport. (#903)

4.11.4

· One min read

Bug Fix

  • Fixed an error that disabled flicking blocks native scroll.

4.11.3

· One min read

Bug Fix

  • Fixed an error when destroy() is called immediately after resize() (#859)
  • Fixed a bug that events return the wrong direction on circular Flicking (#854)
  • Fixed an error when using bound and custom align props together (#850)
  • Fixed a bug that the threshold option does not apply to movetype: "snap" (#844)

4.11.2

· One min read

Bug Fix

  • fixed a bug that strict movetype moving wrong panel on circular flicking (#842)

4.11.1

· One min read

Bug Fix

  • Fixed a bug that nan occurs when calculating the size if element does not exist. (#833)
  • Fixed a bug that layout is broken when direction: rtl is applied to camera element. (#836)

4.11.0

· One min read

New Feature

  • Added a new option preventDefaultOnDrag (#820)

4.10.7

· One min read

Bug Fix

  • Fixed a bug that setStatus not working properly when index is 0 (#795)

4.10.6

· One min read

Bug Fix

  • Fixed position of the panel was calculated incorrectly when the duration is 0 and moveType is "strict". (#771)
  • Fixed CSS transform was not applied correctly during the SSR rendering process. (#773)

4.10.5

· One min read

Bug Fix

  • Fixed a bug that the resize event listener was not properly removed when the instance was destroyed. (#779)
  • Fixed the issue that the panel moved to an inappropriate position when a panel is clicked during sliding. (#777)

4.10.3

· One min read

Bug Fix

  • Fixed a bug that resizeOnContentsReady option cause error with lazy image loading inside panel (#745)

4.10.2

· One min read

Bug Fix

  • Fixed component dependency for frameworks (#741)
  • Fixed a bug that some setters doesn't update UI (#743)

4.10.1

· One min read

Bug Fix

  • Fixed a bug that preventClickOnDrag option prevents click event for movement less than 1 pixel (#738)

Others

  • @egjs/react-flicking , @egjs/preact-flicking 4.10.2
    • Added a new property renderOnSamekey (#735)
    • Fixed a bug that update occurs between rendering (#739)

4.10.0

· One min read

New Feature

  • Added a new method updateAnimation (#728)
  • Added a new method stopAnimation (#728)

Others

  • @egjs/ngx-flicking
    • setup vanilla flicking within the root zone and remove event listeners once the view is removed (#727)

4.9.3

· One min read

Bug Fix

  • Fixed a bug that Panel was not released when the input was canceled

4.9.2

· One min read

Bug Fix

  • Fixed moveTo causing unhandled error while user input is holding

4.9.1

· One min read

Bug Fix

  • Fixed panelsPerView option not working with adaptive option
  • Fixed bound option causing error when using with specific panel width

4.9.0

· One min read

New Feature

  • Added a new option - useFractionalSize (#692)

4.8.1

· One min read

Bug Fix

  • Fixed an error that click does not work after disableInput and then moveTo when preventClickOnDrag is true
  • Fixed Flicking spinning 1 cycle when moveType is "snap" with circular is true, align is "prev" and moving to adjacent panel. (#689)
  • Fixed wrong type definition of children in ViewportSlot (#693)

4.8.0

· One min read

New Feature

  • Added new option changeOnHold (#684)

Bug Fix

  • Fixed wrong camera offset on adaptive resize (#682)

4.7.3

· One min read

Bug Fix

  • Fixed Flicking still not working properly in iOS environment

4.7.2

· One min read

Bug Fix

  • Fixed Flicking not working in iOS Safari browser (#677)

4.7.1

· One min read

Bug Fix

  • Fixed horizontal Flicking blocking vertical drag (#673)

4.7.0

· One min read

New Feature

  • Added a new option: nested (#670)

4.6.3

· One min read

Bug Fix

  • Fixed wrong behavior when using strict & circular (#662)

4.6.2

· One min read

Bug Fix

  • Fixed camera position update while animating (#656)
  • Fixed willChange and willRestore can't be stopped (#659)

4.6.1

· One min read

Bug Fix

  • Fixed wrong CSS publish

4.6.0

· One min read

New Feature

  • Added sass files
  • Added two new options - "resizeDebounce", "maxResizeDebounce"

Bug Fix

  • Removed es6 syntax in CFC codes
  • Fixed wrong rendering on React 18
  • Fixed v-if related bug in Vue@3
  • Fixed wrong rendering order when panel order is changed on frameworks.

3.9.3

· One min read

Bug Fix

  • Fixed an issue that removed panel is included as a visible panel (#642)

4.5.1

· One min read

Bug Fix

  • Can't init using Vite + Vue3 (#631)
  • Can't call moveTo when using moveType:strict (#633)

3.9.2

· One min read

Bug fix

  • Fixed resizeOnContentsReady not working correctly on frameworks (#624)

3.9.1

· One min read

Bug Fix

  • Fixed wrong non-null assertion on panel cloning (#619)

4.5.0

· One min read

New Feature

  • Added new option circularFallback (#610)

Bug Fix

  • Fixed "constructor not found" error in svelte SSR

4.4.2

· One min read

Bug Fix

  • Fixed wrong sync behavior when removing all prev panels (#598)

4.4.1

· One min read

Bug Fix

  • Fixed preact-flicking is not working due to import error (#583)
  • Fixed Vue and Vue3 Flicking's typings

3.9.0

· One min read

New Feature

  • Added a new option: useResizeObserver

Bug fix

  • Fixed a bug that event's direction is always null after disabling input

4.4.0

· One min read

New Feature

  • Added a new option: virtual (#568)
  • Added a new option: useResizeObserver (#564)

Bug fix

  • Index is not updated when moving to same position (#570)

4.3.1

· One min read

Bug Fix

  • Fixed a bug that can't move from the last panel to the first panel when moveType: strict and circular is enabled (#562)

4.3.0

· One min read

New Feature

  • Added new option: resizeOnContentsReady (#546)

Bug Fix

  • currentPanel is null when the initial panel size is 0 (#548)

4.2.5

· One min read

Bug Fix

  • getRenderingPanels uses old list (#538)
  • Flicking is animating on moveEnd event (#541)

4.2.4

· One min read

Bug Fix

  • needPanel triggers multiple times when panel is appended by event callback (#522)
  • Angular peer dependency is not updated (#530)
  • sync - ordered not updates middle panel indexes (#529)
  • Vue3 render triggers update (#535)

4.2.3

· One min read

Bug Fix

  • resize places camera at wrong position in react-flicking (#519)
  • setPrototypeOf is not defined on IE10 or lower (#518)

4.2.2

· One min read

Bug Fix

  • bound not working when there're not enough panels to fill the viewport (#505)

3.8.4

· One min read

Bug Fix

  • Flicking doesn't update currentPanel after calling sync (#509)

4.2.1

· One min read

Bug Fix

  • Fixed a missing count option for the "snap" moveType

4.2.0

· One min read

New Features

  • Added svelte-flicking@4.2.0
  • Added a new moveType, "strict"
  • Added a count option for "snap" moveType
  • Added preventEventsBeforeInit option
  • Added hideBeforeInit and firstPanelSize option for frameworks

Bug Fix

  • Fixed a bug that click events are prevented even though they are not triggered by panel elements
  • Fixed a bug that viewport size is wrong when there's a border applied to the viewport element
  • Fixed a bug that CFC methods are not exported in the umd(cjs) port of Flicking
  • Fixed a bug that Axes's releaseOnScroll option is not applied

4.1.1

· One min read

Bug Fix

  • Definition error in ngx-flicking (#482)
  • select event can throw error when there's no element on panel in frameworks (#468)
  • preventClickOnDrag is not working on non-native clickable elements (#470)

4.1.0

· One min read

New Features

  • Added panelChange event (#464)

Bug Fix

  • changed triggered multiple times (#461)
  • missing resize in frameworks (#459)

4.0.0

· 3 min read

HTML structure

  • To support SSR(Server Side Rendering), Flicking no longer generates viewport & camera element.
  • So you have to create a viewport & camera element in your HTML template yourself.
  • Also, now you have to import CSS file we're providing and place a correct class names
    • We're now using flicking-viewport and flicking-camera instead of eg-flick-viewport and eg-flick-camera
  • All framework-based Flickings don't have to consider this change, as they're still generating inner elements for you.
<head>
<link rel="stylesheet" href="https://unpkg.com/@egjs/flicking@4.0.0/dist/flicking.css">
</head>
<body>
<div id="my-flicking" class="flicking-viewport">
<div class="flicking-camera">
<div>Panel 1</div>
<div>Panel 2</div>
<div>Panel 3</div>
</div>
</div>
</body>
const flicking = new Flicking("#my-flicking");

Changes when using umd modules

  • We've removed eg namespace on umd modules.
    • eg.Flicking is now just Flicking

Removed Options

  • CSS-related options
    • To support SSR, we've removed all CSS-related properties to guarantee UI when rendered in SSR frameworks.
    • gap
      • You can now set gaps between panels with CSS margins like margin-right or margin-bottom.
    • zIndex
      • You can now directly use CSS z-index to viewport element(.flicking-viewport) instead.
    • overflow
      • You can set overflow: visible to viewport element(.flicking-viewport) instead.
  • infinite and lastIndex
    • needPanel event is now always triggered without the option infinite
  • collectStatistics
  • thresholdAngle
  • isEqualSize and isConstantSize
  • anchor and hanger is now merged into the new option named align.
    • anchor: 20 and hanger: "40%" is same to align: { panel: 20, camera: "40%" }
  • infiniteThreshold is now renamed to needPanelThreshold

Removed methods

  • replace
    • As Flicking no longer supports isolated indexes, we've removed Flicking's replace and added prepend and insert instead.
  • Getters
    • We're now usinge a getter property instead of get- methods
    • getIndex() > index
    • getAllPanels() > panels
    • getElement() > element
    • getCurrentPanel() > currentPanel

Option Changes

  • adaptive is now only applicable when horizontal: true
  • moveType is now always a string

Option's default value changes

  • Default value of duration is now 500 (was 100)
  • Default value of bounce is now 20% (was [10, 10])
  • Default value of autoResize is now true (was false)

Method Changes

  • addPlugins and removePlugins do not longer accept arrays

Event Changes

  • needPanel is now can be triggered on the index 0
    • It always has direction: "PREV"
  • We don't longer provide the method fill() in needPanel event
    • As all panels now have continuous indexes, you can use prepend() or append() instead

3.8.3

· One min read

Bug Fix

  • resize throws error when there're empty panels between (#447)

3.8.2

· One min read

Bug Fix

  • currentPanel can be null after adding the panel on the frameworks when there were no panels (#439)

3.8.1

· One min read

Bug Fix

  • Flicking can move while the page's scrolling(#433)
  • Flicking fires select event on touch devices even if scrolling up/down(#432)

3.7.2

· One min read

Bug Fix

  • Flicking's camera position can be wrong when getStatus is called from the non-zero index (#421)

3.8.0

· One min read

Features

  • Add element property on "select" event

Bug Fix

  • Wrong panel positions after calling setStatus (#423)
  • ngx-flicking: getCloneCount is not defined after destroy (#419)

3.7.1

· One min read

Bug Fix

  • next/prev/moveTo not work after disableInput(#407)

3.7.0

· One min read

Features

  • Added getSize() (#401)
  • Added resizeOnImagesReady option (#396)

3.6.3

· One min read

Bug fix

  • Prepending panels in frameworks can break carousel with renderOnlyVisible option(#389)

Docs

  • Fix a typo in MoveTypeSnapOption description(#388)

3.6.2

· One min read

Bug Fix

  • Panels are not positioned correctly with renderOnlyVisible option (#382)

3.6.1

· One min read

Fixes

  • Fixed renderOnlyVisible option makes Flicking doesn't apply panel's CSS (#382)

3.6.0

· One min read

Features

  • Add typescript event type inference support

3.5.1

· One min read

Bug Fix

  • Camera position can be wrong when resized with "freeScroll" and "bound" (#376)

3.5.0

· One min read

Added

  • Add iOSEdgeSwipeThreshold option

3.4.7

· One min read

Bug Fix

  • touchmove ends when renderOnlyVisible is enabled (#342)

3.4.6

· One min read

Bug Fix

  • The adaptive option does not work after #334

3.4.5

· One min read

Bug fix

  • Page can be scrolled when Flicking resize occurs (#333)

3.4.4

· One min read

Bug Fix

  • Scroll area calculation can be wrong when the sum of the panel sizes is smaller than the viewport size (#322)
  • Unnecessary methods have exported to the framework (#326)

3.4.3

· One min read

Bug Fix

  • viewport size recalculation is done after moveEnd event

3.4.2

· One min read

Bug Fix

  • "change" event is triggered on the bounce area (#305)
  • "select" event is always triggered on mobile devices (#304)

Feat

  • Add Google Analytics to Vue & Angular (#306)

Document Fix

  • Mismatched descriptions in Flicking options (#307)

3.4.1

· One min read

Bug Fix

  • Fix circular dependency #294, #295

3.4.0

· One min read

Features

  • Added renderOnlyVisible option, which can dramatically increase performance when there're many panels.
  • Added isEqualSize and isConstantSize option.
    • isEqualSize(boolean | string[]) option can skip panel size recalculation, which can increase performance when adding a panel or resize().
    • isConstantSize(boolean) option will assume that panel's size won't change after resize. It can increase the performance of resize().
    • See FlickingOptions for more info.
  • Added useOffset option. This will use offsetWidth instead of getBoundingClientRect, so it can calculate panel's original width when CSS transform is applied to panel.
    • ⚠️ Using useOffset when the panel's size is not integer can lead to 1px white space between panels.
  • Added fill() method for needPanel event, which makes user to add panel easily without considering event direction.

3.3.2

· One min read

Bugs

  • Cannot set zIndex 0 #267

3.3.1

· One min read

Fix

  • README file not appearing on npm

3.3.0

· One min read

Features

  • Google analytics integration #258
    • Add collectStatistics option

Document Fix

  • resize is regarded as Flicking's variable not method #262

3.2.1

· One min read

Fix

  • Clone count miscalculation #241
  • resize() makes more clones #243
  • Enabling autoResize option triggers error #248
  • Called next(), but moves to previous direction on circular mode #250
  • Camera moves out of bound with bound option #219

3.2.0

· One min read

Features

  • Option to preserve style when destroy() called #232
  • Relative camera positioning #227

Fix

  • In freeScroll mode, duration also happens to be very short when the distance to move is short. #230
  • Window event is not detached when destroy() is called #229
  • Rotating screen will make blank space in flicking area if free scroll is enabled #226

Chore

  • Add google analytics tools to features, plugins demo #236

3.1.1

· One min read

Changes

  • Remove packages on npmignore.

3.1.0

· One min read

Features

  • Add sync method for frameworks #199
  • Add update interface for panel's add, remove, or update #215
  • Add getLastIndex method #217
  • Add @withFlickingMethods property decorator #210
  • Add getCloeCount method #200

Changes

  • Can assign non-number values in setLastIndex #204
  • If Viewport or Camera element exists, use it. #198

Bugs

  • needPanel event isn't triggered when there is no panels. #206
  • Removing all panels in needPanel event will emit error. #205

3.0.1

· One min read

Bugs

  • Target panel isn't recalculated if interrupted in circular mode (#171)
  • snap move type's target panel is calculated from release position, not start position (#174)
  • Panel is aligned after calling resize() in freeScroll move type (#177)
  • Changing panel size in FlickingPanel's update() breaks layout (#178)
  • getCurrentPanel() returns null after calling setStatus() (#180)
  • Panels are filled with empty after insertBefore/prepend (#181)
  • Calling stop() won't stop events immediately (#184)
  • No needPanel event is triggered when there're no panels (#185)
  • Can't loop with circular option enabled at Android 4.4.2 (#187)
  • Consecutive flicking with circular option targets wrong panel to move (#190)
  • change event is triggered with same panel with freeScroll option (#191)
  • Cannot use namespace 'Flicking' as a type (#195)
  • Interrupting in bounce area will set target panel at opposite end (#196)

2.4.4

· One min read

fix

  • When called in the order of dragging => restore method => resize method > dragging, the second dragging will not be moved into place. (#169)

3.0.0

· One min read

Overall

  • Now supports variable size.
  • Now supports align, with hanger and anchor.
  • Now supports infinite flicking.
  • Added bound option.
  • Added gap option.
  • Added "moveType" option.
    • snap and freeScroll is added.
  • Added progresses, visibleRatio properties.
  • Renovated event system.
  • Renovated old Element-based interface to Panel-based interface

2.4.3

· One min read

Bugs

  • fix moveTo method for previewPadding and circular (#159)

2.4.2

· One min read

Changes

  • Export Plugins(ParallaxEffect, OpacityEffect) in flicking #140
  • Support for flicking in node.js #139

Bugs

  • next/prev() function is making wrong transition when they are used with Touch #133

2.4.1

· One min read

Changes

  • Change Webpack to Rollup (#137)

2.4.0

· One min read

Features :

  • Options
    • Intent to ship useTranslate (#113)

Bug Fixes :

  • Plugin
    • Fix parallaxEffect to work on multiple panels (#122)

Refactorings :

  • Style
    • Mitigate style recalculation (#118)

Chore tasks :

  • Dev-env
    • Add nightly build (#119)
    • Update dev-env & build (#114)

2.3.0

· One min read

Features :

  • Plugin

    • Intent to ship plugin interface (#103)
  • Options

    • Intent to ship zIndex option (#83)
    • Intent to ship previewPadding with '%' value (#19)

Bug Fixes :

  • Resize
    • Remove updating container's width (#77)

Code Styles :

  • Flicking
    • Change the position of this keyword (#84)

Chore tasks :

  • Definition

    • Update getStatus return type (#98)
  • All

    • Clarify modules imports (#94)
  • Dev-env

    • Update on build & dependencies (#89)
  • Module

    • Update babel-preset (#79)

2.2.0

· One min read

Bug Fixes :

  • Event

    • Set to null e.distance on API call (#64)
  • Utils

    • Correct getting panel's dimension (#52)

Documents :

  • All
    • Reinforce API description (#59)

Code Styles :

  • Flicking

    • Mark physical as deprecated (#61)
  • Utils

    • Remove outdated .isHWAccelerable() (#66)
  • D.ts

    • Add return types (#57)

Refactorings :

  • Flicking
    • Remove .getTotalCount() (#69)

Chore tasks :

  • Flicking
    • Update egjs-axes to 2.4.2 (#72)

2.1.0

· One min read

Features :

  • Event
    • Intent to ship event.isTrusted (#41)

Chore tasks :

  • Dependency

    • Update dependencies (#46)
  • Flicking.d.ts

    • Add type definition (#35)

2.0.3

· One min read

Bug Fixes :

  • Flicking
    • Fix destroying (#34)

2.0.2

· One min read

Bug Fixes :

  • EventHandler
    • Adjust animation status (#30)

2.0.1

· One min read

Bug Fixes :

  • Flicking
    • Correct wrong restore event calls (#23)

2.0.0

· One min read

Features :

  • All

    • Removed jQuery dependency
    • Implemented new eg.Axes as part of eg.MovableCoord removal
    • Separation from egjs library to be as independent module
  • Flicking

    • Intent to ship new status methods (#1)

Bug Fixes :

  • All

    • Fix causing error when calling .resize() during panel animation (#492)
    • Fix on previewPadding resizing (#489)
  • Consts, Flicking

    • Correct transform prop name (#5)
  • Flicking

    • Change getting wrapper's size (#7)

Tests :

  • All
    • Changed test framework from QUnit to Mocha/Chai and Karma suit
    • Changed headless browser from PhantomJS to ChromeHeadless