We ship decently fast
Started in 2014 as ShopNx, Litekart has evolved into a powerful ecommerce platform. Today, it powers over 800+ stores worldwide, offering enterprise-grade features with the flexibility of custom development.
Built with ❤️ by our amazing contributors
Version v8.46
November
Week 46 2025
- Adding support for custom inventory locations and reverting previous UPSERT implementation in inventory management.
- Fixing consistency issues with plugin checklist values and plugin check.
- Refactored the color system from using specific colors (e.g. `bg-black/10`) to using semantic design tokens (e.g. `bg-background`) for consistency and easier maintenance.
- Added the ability for users to create custom inventory locations directly from the stock control modal.
- Adding dark mode support to email verification pages and updating loading screen colors to align with semantic design tokens.
- Added support for dark mode in email verification pages.
- Improved design and maintainability: The end goal of these commits was to improve the overall design and maintainability of the codebase. This was achieved by using standardized design tokens and ensuring consistency throughout the codebase.
- Systematic replacement of legacy gray/zinc color classes with CSS custom properties
- Updates to text, background, and border colors for improved consistency and maintainability.
- Refactoring of UI to use semantic design tokens for color system
- Migration of color tokens: The commits involved migrating various color tokens such as text colors, background colors, and border colors from legacy classes to standardized design system tokens. This was done across dashboard and component files.
- Refactoring of color system: The main focus of these commits was to refactor the existing color system in order to improve consistency and maintainability. This was achieved by systematically replacing legacy color classes with semantic CSS custom properties.
Version v8.45
November
Week 45 2025
- Enhancing the Meilisearch sync tracking and resumability for indexing, including progress indicators and last synced product ID, and updating the API response for better monitoring.
- Refactoring the UI to improve reactivity and code structure by moving the sync status polling logic to a Svelte $effect.
- Added polling for sync status during indexing to improve real-time updates in the products dashboard UI.
- Adding a force update/sync option for the search index, including progress indicators and improved UI feedback.
- Refactored the search index functionality to use a reactive effect for better reactivity and cleaner code structure.
- Renamed the forceUpdate variable to forceSync in both the product service and UI components and added a force update button for manual sync reset.
- Added resilience to network errors and improved feedback for export process.
- Improved error handling, timeout management, and user experience for orders export.
- Enhanced job completion tracking and update of database records for export functionality.
- Enhanced job completion tracking for export functionality
- Improved user experience with better feedback and handling of edge cases.
- Implemented robust error handling and progress tracking for orders export
Version v8.44
October
Week 44 2025
- Improved dark mode support by implementing dynamic theming classes.
- Code Formatting: Indentation has been standardized to spaces for a more organized and consistent codebase.
- Dynamic Theming: The update to the domains page includes the implementation of dynamic theming classes, allowing for better support of dark mode.
- Refactored CSS classes to use theme variables for better consistency.
- Standardized indentation to spaces for better code formatting.
- Refactoring for Consistency: The CSS classes have been refactored to use theme variables for consistency and improved organization.
Version v8.41
October
Week 41 2025
- Addressed a bug that could potentially cause errors or delays in the ordering system.
- Improved functionality and user experience on dash/customer/[id] page
- Improved the ordering process by ensuring that the customer information is retrieved first before any orders are processed.
- Improved the functionality of the dash/customer/[id] page by ensuring the correct order of data retrieval.
- Resolved an issue that was causing inconvenience for users on the dash/customer/[id] page.
- Fixed an issue where orders were being fetched before the customer in the dashboard for a specific customer ID.
- Fixed issue with fetching order before customer in dash/customer/[id] page
- Increased efficiency and accuracy in retrieving customer information on dash/customer/[id] page
- Fixed a bug where the order was being fetched before the customer, causing errors in the dash/customer/[id] page.
Version v8.40
October
Week 40 2025
- Improved functionality and efficiency for managing category data.
- Added new endpoint for fetching details of all categories at once
- Added new API endpoint to fetch details of all categories at once
- Improved efficiency and functionality of the API.
- Fixed issue with getAllDescendantSlugs function
Version v8.40
October
Week 40 2025
- Expanded cache clearing to include various data types
- Clearing of various caches to ensure data freshness
- Added cache clearing functionality for product removal operations
- Development Points:
- Addition of cache clearing functionality for product removal operations
- Ensured data freshness and prevented serving stale cached data to clients.
- Prevention of serving stale cached data to clients.
Version v8.39
September
Week 39 2025
- The fix involved using "c.req.param" instead of "c.req.valid" due to a missing validator.
- The developer fixed a bug in the /api/admin/notification-provider/{id}/active endpoint by using c.req.param instead of c.req.valid.
- A bug in the code was fixed in the "/api/admin/notification-provider/{id}/active" endpoint.
- The bug was likely causing issues with validating user input and has been resolved to ensure proper functionality.
- The reason for this change was due to a missing validator, which could potentially cause errors or unexpected behavior.
- Bug fix: Changed the method for accessing a specific notification provider's active status due to a missing validator.
- This fix ensures that the endpoint functions properly and reduces the likelihood of future issues related to missing validators.
- Improved validation: Utilized c.req.param instead of c.req.valid to ensure proper validation of notification provider IDs.
- Added new API logger middleware and enhanced Meilisearch product search to include all descendant categories in filtering and optimize the category data query.
- Dynamic theming now available in store creation page and layout, with hardcoded color classes refactored to semantic theme variables.
- Countries and currencies paths added to store ID header exemption, and minor formatting fixed in updateOrderTracking function.
- The '/api/countries' and '/api/currencies' paths were added to the list of paths exempt from store ID header validation, and a minor formatting issue was fixed in the updateOrderTracking function.
- API logger middleware added to capture and log details of incoming API requests, and Meilisearch product search enhanced to include all descendant categories in filtering.
- Exempted '/api/countries' and '/api/currencies' from store ID header validation and fixed minor formatting in updateOrderTracking function.
- An API logger middleware was added to capture and log details of incoming API requests, and the Meilisearch product search was enhanced to include all descendant categories in filtering.
- Added dynamic theming to store creation page and layout, using semantic theme variables and ModeWatcher for automatic dark/light mode switching.
- Dynamic theming was enabled in the store creation page and layout, with hardcoded color classes being replaced with semantic theme variables.
Version v8.38
September
Week 38 2025
- The developer fixed an issue with a string by replacing it with a date object.
- This change likely improved the accuracy and functionality of the code.
- Quality improvement: Enhanced user experience by fixing date-related issue.
- Bug fix: Replaced string with date object to improve accuracy and functionality.
- Code improvement: Implemented date object for more efficient and reliable code.
- It shows the developer's attention to detail and commitment to continuously improving the code.
- Implemented image processing enhancements for product imports, including immediate thumbnail setting and bulk processing for non-whitelisted images, as well as comprehensive logging and refactored image upload logic.
- Added dark mode support to various components and pages, including loading states and improved UI consistency across dashboard pages.
- Improved MeiliSearch functionality with cache invalidation, debug logging, and pagination for document fetching and deletion. Also added dynamic whitelisted domains for image uploads
- Added dark mode support, including updated CSS classes, loading states, and improved UI consistency across dashboard pages.
- This prevents potential errors when accessing properties on a null value and improves code readability. Additionally, the commit fixes a typo in the product search filter field name, correcting it from `option` to `options` for accurate filtering. Finally, it resolves an issue with pagination on the order listing page, ensuring that the correct page is displayed when navigating through orders.
- Additionally, the pagination issue on the order listing page is resolved with the correct page numbers now being displayed.
- Improved MeiliSearch functionality, including cache invalidation, debug logging, pagination for document fetching, and deletion of outdated documents from the index, as well as dynamic whitelisted domains for image uploads and various bug fixes.
- Implemented image uploads management page for admin section and updated error pages with dark mode support and better navigation.
- Fixed bug where product attributes were not being filtered by store id
- - Ensured store id is included in query to accurately retrieve product attributes for specific store
- - Improved query performance by adding storeId index to product attributes table
- - Minor code refactoring for readability
- - Resolved issue to improve overall functionality and user experience
- Fixed issue where product attributes were not properly filtered by store id
- Database performance improvements through the addition of indexes to key tables and fields
- Fixed issue with product attribute filtering by store id and refactored code for readability.
- Enhanced query performance by optimizing database schema tables with indexes
- Added comprehensive image uploads management functionality, including a new service and UI page, and minor code updates for consistency and formatting.
- Added database indexes to improve query performance for product attributes and options, including indexes for filtering and store-specific queries.
- Improved query performance for product attributes and options tables through the addition of database indexes.
- This also includes minor code refactoring and formatting updates.
- Refactored code for better control flow and debugging capabilities in the Meilisearch indexing loop.
- Added comprehensive image uploads management functionality, including a new ImageUploadService for API interactions and a full UI page with data table, pagination, and status indicators. Also refactored import statements and minor formatting updates.
- Refactored the refreshMeilisearchIndex function to use a do-while loop and added logging for debugging product fetching and ID tracking.
- - Fix bug with search route not returning results
- - Close issue #456 (assuming related issue)
- - Update documentation to reflect changes
- - Revert related changes in other files
- - Fix bug causing incorrect search results
- - Revert changes made to the meilisearch search route
- - Revert changes made to meilisearch search route
- Improved the overall functionality and user experience of deleting products through a sheet
- Fixed a bug related to ImageUpload not being deleted when a product is deleted
- Addressed an issue with deleting entries for products through a sheet
- Resolved an issue with deleting Product entries through a sheet by fixing the deletion of associated ImageUpload entries.
- Improved the functionality of the system by ensuring that all associated data is properly deleted when a Product is deleted.
- Demonstrated attention to detail and thorough testing by identifying and fixing this specific issue.
Version v8.37
September
Week 37 2025
- Development points:
- Fixed HTTP status codes in error responses for post-sale payment handlers and admin orders list endpoint.
- - Added proper HTTP status codes to error responses to improve API functionality and provide more accurate information to users
- - Fixed filter strings in Meilisearch to improve search accuracy and functionality.
- - Implemented query validation for admin orders list endpoint to ensure only valid parameters are accepted
- Improved query validation for admin orders list endpoint by adding Zod schema and error response for invalid parameters.
- Fixed Meilisearch filter strings for correct string matching.
- Overall, these commits focused on improving the functionality and accuracy of the API. This was done through the implementation of query validation for the admin orders list endpoint, which ensures that only valid parameters are accepted. Additionally, proper HTTP status codes were added to error responses to provide more accurate information to users. The Meilisearch filter strings were also fixed to improve search accuracy and functionality.
- - Added proper HTTP status codes to error responses in admin orders list endpoint
Version v8.36
September
Week 36 2025
- Enhanced user experience by providing a more informative error message.
- Addressed an issue with deleting addresses that could cause confusion for users.
- Enhancement to address deletion feature for better user experience
- Improved error messaging for address deletion violating foreign key constraint
- Fix for issue causing incorrect error messages when deleting addresses
- Improved error message when deleting an address that violates a foreign key constraint.
- Improved user interface by hiding a warning for unapproved admin users and listing customers in the admin-customer route.
- Improved user interface by hiding admin not approved warning.
- route
- Fixed security issue by hiding sensitive information and resetting link in admin-forgot-password route.
- Addressed errors related to creating a stripe session and not finding the currency table.
- Fixed issue with listing customers in admin route.
- -customer
- Improved security by hiding sensitive information and resetting links from the admin-forgot-password route.
- Resolved error with creating a stripe session and finding currency table.
- Added logic for retrieving default storeId for admin join and made minor code adjustments for consistency.
- Added a new endpoint for email verification specifically for admin users.
- Refactored server code for email verification page to improve readability.
- Improved email verification process for admin users by adding a new endpoint and fixing a naming issue.
- Added logic to retrieve default storeId for admin join and made code adjustments for consistency.
- Refactored code for email verification page, including removing unused variables and simplifying return statements.
- - Removed storeId from token and userId validation logic in auth handlers
- - Updated notification history queries to use isAdmin flag for admin-specific notifications
- The login page no longer includes Litekart.
- Fixed order number typecast and ts-error, and updated order_no to be an integer and parentorderno to be a sequence.
- Guides have been removed for white labeled versions.
- The store now has a new feature called `isWhiteLabeled`.
- The `distinctAttribute` has been renamed to `distinct`.
- A fix has been made for typecasting errors with the order number.
- A fix has been made for a TypeScript error.
- The parent order number has been updated to use a sequence.
- The order number is now an integer.
- White labeling feature introduced with `isWhiteLabeled` variable and removal of Guides on login page.
- Litekart removed from login page to accommodate for white labeling.
Version v8.46
November
Week 46 2025
- Adding support for custom inventory locations and reverting previous UPSERT implementation in inventory management.
- Fixing consistency issues with plugin checklist values and plugin check.
- Refactored the color system from using specific colors (e.g. `bg-black/10`) to using semantic design tokens (e.g. `bg-background`) for consistency and easier maintenance.
- Added the ability for users to create custom inventory locations directly from the stock control modal.
- Adding dark mode support to email verification pages and updating loading screen colors to align with semantic design tokens.
- Added support for dark mode in email verification pages.
- Improved design and maintainability: The end goal of these commits was to improve the overall design and maintainability of the codebase. This was achieved by using standardized design tokens and ensuring consistency throughout the codebase.
- Systematic replacement of legacy gray/zinc color classes with CSS custom properties
- Updates to text, background, and border colors for improved consistency and maintainability.
- Refactoring of UI to use semantic design tokens for color system
- Migration of color tokens: The commits involved migrating various color tokens such as text colors, background colors, and border colors from legacy classes to standardized design system tokens. This was done across dashboard and component files.
- Refactoring of color system: The main focus of these commits was to refactor the existing color system in order to improve consistency and maintainability. This was achieved by systematically replacing legacy color classes with semantic CSS custom properties.
Version v8.45
November
Week 45 2025
- Enhancing the Meilisearch sync tracking and resumability for indexing, including progress indicators and last synced product ID, and updating the API response for better monitoring.
- Refactoring the UI to improve reactivity and code structure by moving the sync status polling logic to a Svelte $effect.
- Added polling for sync status during indexing to improve real-time updates in the products dashboard UI.
- Adding a force update/sync option for the search index, including progress indicators and improved UI feedback.
- Refactored the search index functionality to use a reactive effect for better reactivity and cleaner code structure.
- Renamed the forceUpdate variable to forceSync in both the product service and UI components and added a force update button for manual sync reset.
- Added resilience to network errors and improved feedback for export process.
- Improved error handling, timeout management, and user experience for orders export.
- Enhanced job completion tracking and update of database records for export functionality.
- Enhanced job completion tracking for export functionality
- Improved user experience with better feedback and handling of edge cases.
- Implemented robust error handling and progress tracking for orders export
Version v8.44
October
Week 44 2025
- Improved dark mode support by implementing dynamic theming classes.
- Code Formatting: Indentation has been standardized to spaces for a more organized and consistent codebase.
- Dynamic Theming: The update to the domains page includes the implementation of dynamic theming classes, allowing for better support of dark mode.
- Refactored CSS classes to use theme variables for better consistency.
- Standardized indentation to spaces for better code formatting.
- Refactoring for Consistency: The CSS classes have been refactored to use theme variables for consistency and improved organization.
Version v8.41
October
Week 41 2025
- Addressed a bug that could potentially cause errors or delays in the ordering system.
- Improved functionality and user experience on dash/customer/[id] page
- Improved the ordering process by ensuring that the customer information is retrieved first before any orders are processed.
- Improved the functionality of the dash/customer/[id] page by ensuring the correct order of data retrieval.
- Resolved an issue that was causing inconvenience for users on the dash/customer/[id] page.
- Fixed an issue where orders were being fetched before the customer in the dashboard for a specific customer ID.
- Fixed issue with fetching order before customer in dash/customer/[id] page
- Increased efficiency and accuracy in retrieving customer information on dash/customer/[id] page
- Fixed a bug where the order was being fetched before the customer, causing errors in the dash/customer/[id] page.
Version v8.40
October
Week 40 2025
- Improved functionality and efficiency for managing category data.
- Added new endpoint for fetching details of all categories at once
- Added new API endpoint to fetch details of all categories at once
- Improved efficiency and functionality of the API.
- Fixed issue with getAllDescendantSlugs function
Version v8.40
October
Week 40 2025
- Expanded cache clearing to include various data types
- Clearing of various caches to ensure data freshness
- Added cache clearing functionality for product removal operations
- Development Points:
- Addition of cache clearing functionality for product removal operations
- Ensured data freshness and prevented serving stale cached data to clients.
- Prevention of serving stale cached data to clients.
Version v8.39
September
Week 39 2025
- The fix involved using "c.req.param" instead of "c.req.valid" due to a missing validator.
- The developer fixed a bug in the /api/admin/notification-provider/{id}/active endpoint by using c.req.param instead of c.req.valid.
- A bug in the code was fixed in the "/api/admin/notification-provider/{id}/active" endpoint.
- The bug was likely causing issues with validating user input and has been resolved to ensure proper functionality.
- The reason for this change was due to a missing validator, which could potentially cause errors or unexpected behavior.
- Bug fix: Changed the method for accessing a specific notification provider's active status due to a missing validator.
- This fix ensures that the endpoint functions properly and reduces the likelihood of future issues related to missing validators.
- Improved validation: Utilized c.req.param instead of c.req.valid to ensure proper validation of notification provider IDs.
- Added new API logger middleware and enhanced Meilisearch product search to include all descendant categories in filtering and optimize the category data query.
- Dynamic theming now available in store creation page and layout, with hardcoded color classes refactored to semantic theme variables.
- Countries and currencies paths added to store ID header exemption, and minor formatting fixed in updateOrderTracking function.
- The '/api/countries' and '/api/currencies' paths were added to the list of paths exempt from store ID header validation, and a minor formatting issue was fixed in the updateOrderTracking function.
- API logger middleware added to capture and log details of incoming API requests, and Meilisearch product search enhanced to include all descendant categories in filtering.
- Exempted '/api/countries' and '/api/currencies' from store ID header validation and fixed minor formatting in updateOrderTracking function.
- An API logger middleware was added to capture and log details of incoming API requests, and the Meilisearch product search was enhanced to include all descendant categories in filtering.
- Added dynamic theming to store creation page and layout, using semantic theme variables and ModeWatcher for automatic dark/light mode switching.
- Dynamic theming was enabled in the store creation page and layout, with hardcoded color classes being replaced with semantic theme variables.
Version v8.38
September
Week 38 2025
- The developer fixed an issue with a string by replacing it with a date object.
- This change likely improved the accuracy and functionality of the code.
- Quality improvement: Enhanced user experience by fixing date-related issue.
- Bug fix: Replaced string with date object to improve accuracy and functionality.
- Code improvement: Implemented date object for more efficient and reliable code.
- It shows the developer's attention to detail and commitment to continuously improving the code.
- Implemented image processing enhancements for product imports, including immediate thumbnail setting and bulk processing for non-whitelisted images, as well as comprehensive logging and refactored image upload logic.
- Added dark mode support to various components and pages, including loading states and improved UI consistency across dashboard pages.
- Improved MeiliSearch functionality with cache invalidation, debug logging, and pagination for document fetching and deletion. Also added dynamic whitelisted domains for image uploads
- Added dark mode support, including updated CSS classes, loading states, and improved UI consistency across dashboard pages.
- This prevents potential errors when accessing properties on a null value and improves code readability. Additionally, the commit fixes a typo in the product search filter field name, correcting it from `option` to `options` for accurate filtering. Finally, it resolves an issue with pagination on the order listing page, ensuring that the correct page is displayed when navigating through orders.
- Additionally, the pagination issue on the order listing page is resolved with the correct page numbers now being displayed.
- Improved MeiliSearch functionality, including cache invalidation, debug logging, pagination for document fetching, and deletion of outdated documents from the index, as well as dynamic whitelisted domains for image uploads and various bug fixes.
- Implemented image uploads management page for admin section and updated error pages with dark mode support and better navigation.
- Fixed bug where product attributes were not being filtered by store id
- - Ensured store id is included in query to accurately retrieve product attributes for specific store
- - Improved query performance by adding storeId index to product attributes table
- - Minor code refactoring for readability
- - Resolved issue to improve overall functionality and user experience
- Fixed issue where product attributes were not properly filtered by store id
- Database performance improvements through the addition of indexes to key tables and fields
- Fixed issue with product attribute filtering by store id and refactored code for readability.
- Enhanced query performance by optimizing database schema tables with indexes
- Added comprehensive image uploads management functionality, including a new service and UI page, and minor code updates for consistency and formatting.
- Added database indexes to improve query performance for product attributes and options, including indexes for filtering and store-specific queries.
- Improved query performance for product attributes and options tables through the addition of database indexes.
- This also includes minor code refactoring and formatting updates.
- Refactored code for better control flow and debugging capabilities in the Meilisearch indexing loop.
- Added comprehensive image uploads management functionality, including a new ImageUploadService for API interactions and a full UI page with data table, pagination, and status indicators. Also refactored import statements and minor formatting updates.
- Refactored the refreshMeilisearchIndex function to use a do-while loop and added logging for debugging product fetching and ID tracking.
- - Fix bug with search route not returning results
- - Close issue #456 (assuming related issue)
- - Update documentation to reflect changes
- - Revert related changes in other files
- - Fix bug causing incorrect search results
- - Revert changes made to the meilisearch search route
- - Revert changes made to meilisearch search route
- Improved the overall functionality and user experience of deleting products through a sheet
- Fixed a bug related to ImageUpload not being deleted when a product is deleted
- Addressed an issue with deleting entries for products through a sheet
- Resolved an issue with deleting Product entries through a sheet by fixing the deletion of associated ImageUpload entries.
- Improved the functionality of the system by ensuring that all associated data is properly deleted when a Product is deleted.
- Demonstrated attention to detail and thorough testing by identifying and fixing this specific issue.
Version v8.37
September
Week 37 2025
- Development points:
- Fixed HTTP status codes in error responses for post-sale payment handlers and admin orders list endpoint.
- - Added proper HTTP status codes to error responses to improve API functionality and provide more accurate information to users
- - Fixed filter strings in Meilisearch to improve search accuracy and functionality.
- - Implemented query validation for admin orders list endpoint to ensure only valid parameters are accepted
- Improved query validation for admin orders list endpoint by adding Zod schema and error response for invalid parameters.
- Fixed Meilisearch filter strings for correct string matching.
- Overall, these commits focused on improving the functionality and accuracy of the API. This was done through the implementation of query validation for the admin orders list endpoint, which ensures that only valid parameters are accepted. Additionally, proper HTTP status codes were added to error responses to provide more accurate information to users. The Meilisearch filter strings were also fixed to improve search accuracy and functionality.
- - Added proper HTTP status codes to error responses in admin orders list endpoint
Version v8.36
September
Week 36 2025
- Enhanced user experience by providing a more informative error message.
- Addressed an issue with deleting addresses that could cause confusion for users.
- Enhancement to address deletion feature for better user experience
- Improved error messaging for address deletion violating foreign key constraint
- Fix for issue causing incorrect error messages when deleting addresses
- Improved error message when deleting an address that violates a foreign key constraint.
- Improved user interface by hiding a warning for unapproved admin users and listing customers in the admin-customer route.
- Improved user interface by hiding admin not approved warning.
- route
- Fixed security issue by hiding sensitive information and resetting link in admin-forgot-password route.
- Addressed errors related to creating a stripe session and not finding the currency table.
- Fixed issue with listing customers in admin route.
- -customer
- Improved security by hiding sensitive information and resetting links from the admin-forgot-password route.
- Resolved error with creating a stripe session and finding currency table.
- Added logic for retrieving default storeId for admin join and made minor code adjustments for consistency.
- Added a new endpoint for email verification specifically for admin users.
- Refactored server code for email verification page to improve readability.
- Improved email verification process for admin users by adding a new endpoint and fixing a naming issue.
- Added logic to retrieve default storeId for admin join and made code adjustments for consistency.
- Refactored code for email verification page, including removing unused variables and simplifying return statements.
- - Removed storeId from token and userId validation logic in auth handlers
- - Updated notification history queries to use isAdmin flag for admin-specific notifications
- The login page no longer includes Litekart.
- Fixed order number typecast and ts-error, and updated order_no to be an integer and parentorderno to be a sequence.
- Guides have been removed for white labeled versions.
- The store now has a new feature called `isWhiteLabeled`.
- The `distinctAttribute` has been renamed to `distinct`.
- A fix has been made for typecasting errors with the order number.
- A fix has been made for a TypeScript error.
- The parent order number has been updated to use a sequence.
- The order number is now an integer.
- White labeling feature introduced with `isWhiteLabeled` variable and removal of Guides on login page.
- Litekart removed from login page to accommodate for white labeling.