| 2026-07-03 | Audited and lightened the app: removed obsolete Label Printing table CSS, removed disabled image upload/compression fragments, locked Label Printing to max 5 columns, and added scroll after 10 labels so two rows stay visible. |
| 2026-07-03 | Label Printing cards now auto-fit as 5 images per row on desktop with 0 gap, using square responsive cards so two rows can show 10 labels at once. |
| 2026-07-03 | Label Printing now uses a 0-gap tight card grid, moves Size/Pasted/Printed controls to the left side, and uses a smaller solid-blue Prints circle on the right; the white image area still tints faint yellow for Pasted and faint green for Printed. |
| 2026-07-03 | Label Printing updated the hero count bubble from Labels to Prints, removed the Label Size badge, reduced the Size badge footprint, and made the 4.4 inch image area tint faint yellow when Pasted is checked and faint green when Printed is checked. |
| 2026-07-03 | Label Printing now keeps product title, formula, account, size, label size, count, and Pasted/Printed controls inside the 4.4 inch image frame, mainly in the top cap area and side overlays; hover preview remains disabled. |
| 2026-07-03 | Label Printing moved product details to left/right side columns so information no longer overlaps the 4.4 inch full external product image; hover/click preview is disabled on Label Printing images. |
| 2026-07-03 | Label Printing now displays the full external product image in the 4.4 inch card while Firebase still stores only one image URL text record per Vendor + Account + Product Name. |
| 2026-07-02 | Audited and hardened Firebase storage safety: Force Upload sanitizes runtime image data first, legacy currentState migration sanitizes master data and removes duplicate legacy currentState, and deleted-history recovery snapshots are sanitized. |
| 2026-07-02 | Added Product + Consumable Data row Lock/Edit toggle. New rows open in Edit mode at the top; locked rows are protected and sorted alphabetically. |
| 2026-07-02 | Changed image workflow to link-only: Firebase stores only one product image URL in Product Image Memory, order records do not store image/base64 fields, Firebase Storage upload is disabled, and Tools includes a storage warning monitor. |
| 2026-07-02 | Fixed single-option product autofill so when Type + Category + Formula has only one matching Size/Code, Size and Code auto-populate by default. |
| 2026-06-17 | Linked latest product image to product name so searching the same product auto-displays the saved image; new pasted image replaces the old one. |
| 2026-06-17 | Added Local/Cloud/Failed image status and forced pending local images to upload to Firebase before Add Order completes. |
| 2026-06-17 | Made DSR pasted images appear instantly as local thumbnails while Firebase Storage upload continues in the background. |
| 2026-06-17 | Added visible Image saved/Open hyperlink under DSR product name and auto-linked product name to pasted image when no product link exists. |
| 2026-06-17 | Changed DSR image workflow to paste-only and added support for copied listing image URLs from sites like eBay. |
| 2026-06-17 | Fixed DSR Entry product image paste reliability and added click-to-upload fallback. |
| 2026-06-17 | Shortened selected account subtitle to show only vendor, account, orders, and units. |
| 2026-06-17 | Changed Account Analysis account buttons to two centered lines with account name bold. |
| 2026-06-17 | Removed Analysis KPI/header/source text while keeping the Update Analysis button. |
| 2026-06-17 | Fixed Unknown Category in account formula analysis by linking category from Product + Consumable Data using code/formula/size. |
| 2026-06-17 | Added Category column between Formula and Size in account formula analysis tables. |
| 2026-06-17 | Normalized account formula analysis sizes so 50ml, 50 ml, and 50 ML merge as 50 ml, with similar cleanup for other sizes. |
| 2026-06-17 | Added Number of Orders and Number of Units columns to each account formula analysis table. |
| 2026-06-17 | Normalized account analysis vendor/account names so eBay/eBAY merge as eBay and Kanny/Kenny merge as Kenny. |
| 2026-06-17 | Forced Account Formula Analysis to use saved full Firebase shipped-history calculation instead of visible last-7-day history fallback. |
| 2026-06-17 | Added account-level sub-tabs showing sold formulas by rank, size, unit percentage, and order percentage. |
| 2026-06-17 | Split Analysis into two sub-tabs: Account Analysis and Formula Analysis. |
| 2026-06-17 | Fixed Analysis update error for Wish vendor accounts by correcting vendor group mapping. |
| 2026-06-17 | Changed Update Analysis to run without admin password and added clearer update status feedback. |
| 2026-06-17 | Embedded product thumbnail beside Product Name and added clickable thumbnail preview in Label Printing. |
| 2026-06-17 | Moved product image paste/upload workflow to DSR Entry product rows; images save to Firebase Storage and masterData when product code is matched. |
| 2026-06-17 | Added admin-overridable Status dropdown in Product + Consumable Data and displayed saved status on Stock tab. |
| 2026-06-17 | Removed Stock category totals and changed stock status to In-Stock / Out-of-Stock with row color. |
| 2026-06-17 | Removed Start, Used, and Current capsules from Stock F# headers. |
| 2026-06-17 | Simplified Stock detail table to Code, Size, and Status columns. |
| 2026-06-17 | Added lightweight Stock tab grouped by Kids and Adults, Category, and F# with cloud refresh button. |
| 2026-06-17 | Professional UI polish added with lightweight CSS-only design refresh; no functional JavaScript changes. |
| 2026-06-17 | Added DSR product-name history search with auto-fill for product fields except Qty. |
| 2026-06-17 | Removed destructive Reset Setup and Clear Orders buttons from Tools for safety. |
| 2026-06-17 | Renamed app branding from OMS Pro V2 to WebLead Pro. |
| 2026-06-17 | History table loads last 7 days by default for lighter browser performance. |
| 2026-06-17 | Added indexed Search Record by Tracking, Client, Product, and Code. |
| 2026-06-17 | Added Phase 3 Python backfill script for old history search indexes. |
| 2026-06-17 | History KPI cards calculate from all history records while table stays lightweight. |
| 2026-06-17 | Export History CSV restored in KPI ribbon and exports all cloud history when connected. |
| 2026-06-17 | Added on-demand Inventory and Analysis calculations saved to cloud. |
| 2026-06-17 | Envelope and container inventory accounting added for shipped-history usage. |
| 2026-06-17 | DSR Entry layout cleaned by removing repeated field labels. |