# Changelog

## [Unreleased]

## [8.3.3] - 2026-02-23
- Dependency and runtime cleanup:
  - removed Vite Node polyfill plugin and legacy browserify/polyfill packages (`assert`, `crypto-browserify`, `os-browserify`, `process`, `stream-browserify`, `stream-http`, `url`, `vm-browserify`);
  - removed direct `lodash` usage from app code paths and replaced it with local utility helpers in form/user formatters;
  - pinned transitive `lodash` to a safe version via npm override (`^4.17.23`).
- Lockfile update:
  - added `yarn.lock` for Yarn install parity while keeping npm lockfile in place.

## [8.3.2] - 2026-02-23
- Phase 1 modernization baseline fixes:
  - fixed dead fallback redirect in app shell (`/app/main/visits` -> `/app/main/dashboard`);
  - hardened `AuthRoute` against missing `location.state`;
  - normalized login/register/forgot links to absolute auth routes;
  - replaced obsolete layout test with route-guard smoke tests;
  - removed conflicting project-level `babel.config.js` to align with CRA toolchain.
- Tooling baseline updates:
  - added explicit `ajv@^8.18.0` dev dependency to fix webpack/schema-utils `ajv` resolution during build;
  - documented working install path (`npm install --force`) in README.
- Phase 2 modernization updates:
  - migrated build/dev/preview workflow to Vite + SWC (`vite.config.js`, root `index.html`);
  - removed CRA/rewired build overrides (`config-overrides.js`, `public/index.html`, `react-app-rewired`, `react-scripts`);
  - migrated test runner to Vitest and retained route-guard smoke coverage;
  - migrated runtime env handling to Vite-compatible app env bridge (`VITE_BACKEND` + `__APP_ENV__`);
  - kept build output compatibility (`build/`) and added Node memory guard for large production bundle builds;
  - standardized lockfile strategy to npm (`package-lock.json`).
- Dependency refresh batch 1:
  - low-risk update: `bootstrap` upgraded within major (`5.2.3` -> `5.3.8`);
  - major update block A: `axios` (`0.27.2` -> `1.13.5`), `jsonwebtoken` (`8.5.1` -> `9.0.3`), `cross-env` (`7.0.3` -> `10.1.0`);
  - adjusted SCSS override to keep build compatibility with Bootstrap 5.3 variable changes.
- Dependency refresh batch 2:
  - updated `react-slick` (`0.30.3` -> `0.31.0`), `showdown` (`1.9.1` -> `2.1.0`), and `uuid` (`8.3.2` -> `13.0.0`);
  - fixed `redux-thunk` import usage for v3 named export (`ReduxThunk` -> `thunk`) to restore production build compatibility.
- Dependency refresh batch 3:
  - updated form/data libs: `formik` (`1.5.8` -> `2.4.9`), `yup` (`0.32.11` -> `1.7.1`), `react-toastify` (`6.2.0` -> `11.0.5`), `react-select` (`3.2.0` -> `5.10.2`), `filesize` (`6.4.0` -> `11.0.13`);
  - updated utility libs: `formsy-react` (`0.19.5` -> `2.3.2`) and `styled-components` (`5.3.11` -> `6.3.11`).
- Dependency refresh batch 4:
  - updated UI/demo libs: `react-dropzone` (`11.7.1` -> `15.0.0`), `react-autosize-textarea` (`5.0.1` -> `7.1.0`), `react-syntax-highlighter` (`13.5.3` -> `16.1.0`), `react-animate-height` (`2.1.2` -> `3.2.3`), `rc-slider` (`9.7.5` -> `11.1.9`), `react-bootstrap-table-next` (`3.3.5` -> `4.0.3`), `react-bootstrap-table2-toolkit` (`1.4.2` -> `2.1.3`);
  - migrated removed `rc-slider` tooltip helper API usage to v11-compatible slider usage in documentation/forms pages.
- Dependency refresh batch 5:
  - updated chart libs: `highcharts` (`10.3.3` -> `12.5.0`), `apexcharts` (`3.54.1` -> `5.6.0`), `react-apexcharts` (`1.9.0` -> `2.0.1`);
  - updated calendar stack to `@fullcalendar/*` `6.1.20` and adapted calendar config for v6 (`initialView`, list view target `listWeek`, removed deprecated plugin CSS imports).
- Dependency refresh batch 6:
  - removed React-16/17-locked dependencies: `connected-react-router`, `react-bootstrap-table-next`, `react-bootstrap-table2-toolkit`, `react-bootstrap-table2-paginator`, `react-google-maps`, `react-images`, `react-maskedinput`, `react-mde`, `react-shuffle`, `react-sortable-hoc`, `react-sortable-tree`, `react-table`;
  - replaced dependency-driven implementations with local/runtime-safe equivalents:
    - custom navigation action boundary + shared history singleton (no `connected-react-router`);
    - native/Reactstrap tables in users/management/dynamic pages (search + pagination preserved);
    - iframe-based map component for maps/timeline pages;
    - modal-based gallery image viewer;
    - local masked input and auto-resize textarea components;
    - local markdown editor (write/preview with Showdown);
    - native drag-and-drop sortable list implementation for list groups demo;
  - removed stale third-party CSS imports tied to deleted packages.
- Dependency refresh batch 7:
  - migrated router runtime to `react-router-dom` v7 (`Routes`/`Route`/`Navigate`) across app shell, main layout, and documentation layout;
  - removed deprecated router dependencies: `react-router`, `history`, `react-router-hash-link`;
  - replaced route guard implementation (`AdminRoute`, `UserRoute`, `AuthRoute`) with v7-compatible wrapper components and refreshed route smoke tests;
  - introduced local `withRouter` bridge (`src/components/withRouter.js`) to keep class-component routes working during phased hooks migration;
  - replaced hash-link usage in docs scrollspy with `react-router-dom` `Link`.
- Dependency refresh batch 8:
  - upgraded framework/tooling stack: `react`/`react-dom` (`18.3.1` -> `19.2.4`), `eslint` (`9.39.x` -> `10.0.1`);
  - upgraded chart/sortable stack: `echarts` (`4.9.0` -> `6.0.0`), `echarts-for-react` (`2.0.16` -> `3.0.6`), `react-sortablejs` (`1.5.1` -> `6.1.4`);
  - removed obsolete CRA-era dependencies no longer used under Vite: `react-app-polyfill`, `react-dev-utils`, `sass-loader`;
  - migrated ECharts imports to modular `echarts/core` registration compatible with ECharts 6.
- Phase 5 legacy cleanup batch:
  - migrated app shell entry and docs shell from `class`/`connect`/`withRouter` to hooks (`App`, `DocumentationLayout`, `DocumentationHeader`, `DocumentationSidebar`);
  - completed migration away from `react-redux` `connect(...)` HOC to hooks across app-level screens/components;
  - converted all header/sidebar icon components to functional React components;
  - migrated ecommerce pages/components (`Products`, `Product`, `ProductCard`) to hooks and removed router HOC usage;
  - migrated ecommerce management flows (`Management`, `ProductEdit`) to hooks and `useNavigate`/`useLocation` adapter for existing product thunks;
  - migrated legacy auth pages (`/pages/login`, `/pages/register`) and users form page to hooks-based implementation;
  - migrated users view and rickshaw-based widgets/charts (`UsersViewItem`, `ChangesChart`, `RealtimeTraffic`, dashboard `Rickshaw`) away from `connect` classes;
  - replaced sidebar `LinksGroup` HOC routing dependency with native `useLocation` hook and removed obsolete local `withRouter` bridge.
- Phase 4 state modernization:
  - moved auth/users side effects to reusable service layer (`src/services/authService.js`, `src/services/usersService.js`);
  - migrated users auth-domain thunks to `async/await` with safer shared error-message handling;
  - consolidated registration state ownership in `auth` reducer and removed duplicated legacy `register` reducer/actions;
  - cleaned users state compatibility fields (`findLoading`/`loading`, list modal/delete metadata) and removed stale empty `dashboard` reducer.
- Phase 5 progress:
  - removed deprecated lifecycle methods from source components (`componentWillMount`, `componentWillReceiveProps`);
  - migrated users route-level pages (`UsersListPage`, `UsersViewPage`, `ChangePasswordFormPage`) from class components to hooks-based functional components;
  - migrated auth route-level pages (`Login`, `Register`, `Forgot`, `Reset`, `Verify`) from class components to hooks-based functional components;
  - migrated app shell components (`Layout`, `Header`, `Sidebar`) from class components to hooks-based functional components.
- Phase 6 quality hardening:
  - introduced repository lint gate with ESLint flat config and `npm run lint` command;
  - added GitHub Actions CI workflow (`.github/workflows/ci.yml`) for `npm ci`, `npm run lint`, `npm run build`, and `npm test`.
- Dependency cleanup and release docs:
  - removed unused direct dependencies from runtime manifest: `buffer`, `https-browserify`, `jsonwebtoken`, `md5`, `rc-hammerjs`;
  - removed `yarn.lock` to keep npm as the single package manager lock source;
  - added migration and release docs (`docs/migration-notes.md`, `docs/adr/0001-routing-and-runtime-baseline.md`, `docs/release-checklist.md`, `docs/rollback-recovery.md`).
- Runtime/tooling compatibility:
  - aligned Node engine range to `^20.19.0 || >=22.12.0` to support current Node 22 environments and Vite 7 requirements.
  - React 19 is active; some legacy demo dependencies still declare React 18 peer ranges, so install currently uses npm peer override behavior (`npm install --force`) until those packages are replaced.

## [8.3.1] - 26.11.2024
- Update dependencies

## [8.3.0] - 05/09/2024

- Added react-scripts version 5 along with webpack version 5 support.
- Added support for node.js version > 20
- Removed old webpack configs.
- Removed unnecessary dev dependencies.
- Replaced deprecated glyphicons-halflings icon library with bootstrap-icons

## [8.2.3] - 21.12.2023
- Update dependencies

## [8.2.2] - 18.05.2023
- Update dependencies
- Update react version
- Corrected minor errors

## [8.2.1] - 01.07.2022
- UI Adjust

## [8.2.0] - 17.06.2022
- Updated Bootstrap/Reactstrap
- Add theme swicther
- Updated dependencies

## [8.1.6] - 13.05.2021
- Updated blocks position in Typography, Form Validations, LB Packages, 
- Products Grid: Customize dropdowns in E-Commerce 
- Alerts:  Customize alerts notifications
- Dashboard: Fixed position pop-up alert in header
- Add function LoginOut in Login Page,   
- Following dependencies and devDependencies was updated to the recent versions
###Dependencies:
    "@fullcalendar/core": "5.3.0" -> "5.6.0",
    "@fullcalendar/daygrid": "5.3.0" -> "5.6.0",
    "@fullcalendar/interaction":  "5.3.0" -> "5.6.0",
    "@fullcalendar/list": "5.3.0" -> "5.6.0",
    "@fullcalendar/react": "5.3.0" -> "5.6.0",
    "@fullcalendar/timegrid": "5.3.0" -> "5.6.0",
    "axios": "^0.19.2" -> "^0.21.1",
    "bootstrap": "4.5.0" -> "4.6.0",`
    "classnames": "^2.2.6" -> "^2.3.1",
    "connected-react-router": "^6.8.0" -> "6.9.1",
    "draft-js": "^0.11.6" -> "^0.11.7",
    "echarts-for-react": "^2.0.16",
    "file-saver": "^2.0.2" ->  "^2.0.5",
    "filesize": "^6.1.0" -> "^6.3.0",
    "md5": "^2.2.1" -> "^2.3.0",
    "rc-slider": "^9.5.1" -> "^9.7.2",
    "react": "^16.13.1" -> "^16.14.0",
    "react-animate-height": "^2.0.21" -> "^2.0.23",
    "react-animated-number": "^0.4.4",
    "react-apexcharts": "^1.3.7" -> "^1.3.9",
    "react-app-polyfill": "^0.1.3" -> "^0.2.0",
    "react-dev-utils": "^6.0.5" -> "^6.1.1",
    "react-dom": "^16.5.2" -> "^16.14.0",
    "react-draft-wysiwyg": "1.10.12" -> "1.14.7",
    "react-dropzone": "^11.2.0" -> "^11.3.2",
    "react-mde": "^11.0.0" -> "^11.5.0",
    "react-redux": "7.2.0" -> "7.2.4",
    "react-router-hash-link": "^2.1.0" -> "^2.4.1",
    "react-scrollspy": "^3.4.2" -> "^3.4.3",
    "react-select": "^3.1.0" -> "^3.2.0",
    "react-slick": "^0.26.1" -> "^0.28.1",
    "react-sortable-tree": "^2.7.1" -> "^2.8.0",
    "react-toastify": "^6.0.8" -> "^6.2.0",
    "react-transition-group": "^4.4.1",
    "redux": "^4.0.5" -> "^4.1.0",
    "sortablejs": "1.10.2" -> "1.13.0",
    "styled-components": "^5.1.1" -> "^5.3.0",
    "uuid": "^8.3.0" -> "^8.3.2",
    "yup": "^0.29.1" -> "^0.32.9"
  
  ###DevDependencies:
    "@babel/core": "7.4.4" -> "7.14.0",
    "@babel/plugin-proposal-class-properties": "7.4.4" -> "7.13.0",
    "@babel/plugin-proposal-optional-chaining": "7.2.0" -> "^7.13.12",
    "@svgr/webpack": "4.2.0" ->"4.3.3",
    "babel-core": "7.0.0-bridge.0",
    "babel-eslint": "10.0.1" -> "10.1.0",
    "babel-jest": "24.8.0" -> "24.9.0",
    "babel-loader": "8.0.5" -> "8.2.2",
    "babel-plugin-named-asset-import": "1.0.0-next.103" -> "1.0.0-next.154",
    "babel-preset-react-app": "9.0.0" -> "9.1.2",
    "bfj": "6.1.1" -> "6.1.2",
    "case-sensitive-paths-webpack-plugin": "2.2.0" -> "2.4.0",
    "cross-env": "^7.0.2" -> "^7.0.3",
    "dotenv": "8.5.1" -> "8.5.1",
    "eslint-plugin-flowtype": "3.8.1" -> "3.13.0",
    "eslint-plugin-import": "2.17.2" -> "2.22.1",
    "eslint-plugin-jsx-a11y": "6.2.1" -> "6.4.1",
    "eslint-plugin-react": "7.13.0" -> "7.23.2",
    "eslint-plugin-react-hooks": "1.6.0" -> "1.7.0",
    "jest": "24.8.0" -> "24.9.0",
    "jest-pnp-resolver": "1.2.1" -> "1.2.2",
    "jest-resolve": "24.8.0" -> "24.9.0",
    "mini-css-extract-plugin": "0.6.0" -> "0.12.0",
    "node-sass": "4.14.0" -> "4.14.1",
    "optimize-css-assets-webpack-plugin": "5.0.1" -> "5.0.4",
    "pnp-webpack-plugin": "1.4.3" -> "1.6.4",
    "postcss-flexbugs-fixes": "4.1.0" -> "4.2.1",
    "postcss-preset-env": "6.6.0" -> "6.7.0",
    "postcss-safe-parser": "4.0.1" -> "4.0.2",
    "resolve": "1.10.1" -> "1.20.0",
    "sass-loader": "7.1.0" -> "7.3.1",
    "style-loader": "0.23.0" -> "0.23.1",
    "terser-webpack-plugin": "1.2.3" -> "1.4.4",
    "webpack": "4.31.0" -> "4.44.0",
    "webpack-dev-server": "3.3.1" -> "3.11.2",
    "webpack-manifest-plugin": "2.0.4" -> "2.2.0",
  
## [8.1.5]

- Updated documentation

## [8.1.4]

### Updated 

- Updated sidebar and header icons
- Updated sidebar and header layout

## [8.1.3]

### Fixed 

- Change badge text in the sidebar
- Change alert text in the usermanager/ecommerce

## [8.1.2]

### Fixed bugs and layout issues

- Add new images to Documentation and LB Package pages
- Change progress bars bg color
- Update main colors
- Badges and buttons: fix margins, change font colors
- Dropdowns: change paddings
- Header component: change dropdown hover states
- Charts: fix charts issues
- Fix adaptive and layout issues on pages
- Charts: fix label colors, apex dropdown text

## [8.1.1]

- Added link to flatlogic on login page

## [8.1.0]

- Updated all dependencies, cleaned up dependency tree

## [8.0.5]

- Updated fullcalendar package to v5.3.0

## [8.0.4]

- Add animation to alert in header
- Fix animated classes
- Fix colors in notifications, chart dropdown menu, tables

## [8.0.3]

- Updated line-awesome package

## [8.0.2]

### Fixed bug

- Fixed sidebar caret for Safari

## [8.0.1]

### New Features

- Added sample formik widget

## [8.0.0]

### New Features

- Added brand new Backend
- New tab to mange users
- Social login
- Manage users functionality
- Update password route
- Reset password route
- Upload avatar
- Refactored architecture

## [7.2.0]

### New Features

- Added re-usable breadcrumbs component

## [7.1.2]

### Fixed

- Fixed small calendar events

## [7.1.1]

### Fixed

- Added css fixes

## [7.1.0]

### New Features

- New color scheme

## [7.0.1]

### Fixed

- Fix bugs and css improvements

## [7.0.0]

### Updated

- Removed Jquery from core layout

### New Features

- New charts

## [6.1.0]

### New Features

- Make an api stub for non-backend mode
