Skip to content

Production 🎉

Date : 01/01/2026 06:30 PM

Frontend bundle optimization for faster page speed: login split, module-wise lazy-loading, named chunks, and reduced vendor dependencies.

🚀 Added

  • Sr. no column in Dynamic Result
  • FEE RECEIPT text msg integration (Moonland School)
  • Student Side Fees Menu -> Your Balance on Click Summary option

👨‍🔧 Changed

  • The Master Create Plan has been updated. No plan is assigned for the same date range.
  • FEE RECEIPT Changes (Moonland School)
  • Radhika school website changes

🐛 Bug Fixed 🐞

  • sen Expense bug fix
  • General bug fixes and stability improvements

🤖 Development

COCToast New

Reusable common toast / notification component with:

  • Glass effect background
  • Auto stacking
  • Optional actions
  • Vue 2 support

  • Created a separate layout specifically for login pages
  • Separate login.js Entry Bundle
    • Introduced a new entry file login.js
    • The login page Vue code was removed from app.js and moved into login.js
  • Improved Import Strategy + Added webpackChunkName
    • Converted several static imports to dynamic imports (import())
    • Added meaningful webpackChunkName values for grouped chunk output
  • Reduced schoolPanel/app.js Bundle Size
    • Moved heavy dependencies to lazy-load chunks
    • Optimized shared imports and grouped libraries into proper chunks
    • Modules-chunk should load only when user navigates to them
  • Replaced moment.js with dayjs
  • Converted vuedraggable static import to dynamic import
  • Converted quill-editor static import to dynamic import

Dynamic Imports + Chunk Naming (webpackChunkName)

vuejs
const ComponentName = () => import(/_ webpackChunkName: "module-name" _/ '@/path/to/Component.vue')

XLSX

Before

vuejs
import * as XLSX from 'xlsx'

After

vuejs
import { loadXLSX } from '@/plugins/xlsxLoader'

const XLSX = await loadXLSX()
const workbook = XLSX.utils........

draggable

Before

vuejs
import draggable from 'vuedraggable'

After

vuejs
import asyncDraggable from '@/plugins/asyncDraggable'

components: {
    draggable: asyncDraggable,
}

draggable

Before

vuejs
import draggable from 'vuedraggable'

After

vuejs
import asyncDraggable from '@/plugins/asyncDraggable'

components: {
    draggable: asyncDraggable,
}

Dynamic Import for vue-quill-editor (Quill)

Before

vuejs
import 'quill/dist/quill.snow.css'
import { quillEditor } from 'vue-quill-editor'

components: {
    quillEditor,
}

After

vuejs
import asyncEditor from '@/plugins/asyncEditor'

components: {
    quillEditor: asyncEditor,
}

Deprecated

vuejs
import moment from 'moment'

Replace Moment.js with Day.js

Before

vuejs
import moment from 'moment'

moment(date).format('DD-MM-YYYY')

After

vuejs
this.$dayjs(date).format('DD-MM-YYYY')

multiselect

Before

vuejs
import Multiselect from 'vue-multiselect'

After

vuejs
const Multiselect = () => import(/* webpackChunkName: "vendor-multiselect" */ 'vue-multiselect')