Changelog

Recent updates and improvements to Midfield Digital Labs

Version 2.8

  • ERP Company Code ManagementExposed the `erpCompanyCode` field on the legal Company details screen in the Admin Console! Administrators can now view, search, and configure ERP Company Code values (such as 'CBMcKen') on company records, preventing Fail-Hard errors when bulk synchronising vendors or customers from Epicor accounts systems.
  • Interactive Cut Planner (Brand New Screen)Explore disassembly cut trees and assembly recipes with our brand new interactive Cut Planner screen! Pick any transformable product — like a lamb carcase — and click through the available transformation steps at each branch. Every decision consumes the input, reveals the outputs, and tracks running totals for labour minutes and expected yields (with optional start weight), so you can compare cutting strategies at your fingertips before committing on the floor.
  • Live Product Lookup from Barcode ScansThe Barcode Reader now instantly recognises scanned products! Whenever you scan a GS1 carton or carcase barcode, the reader checks it against your product registry in real time and displays the matched product variant, SKU, and target market right on the scan card.
  • Products Module (Brand New)Introduced our brand new Products master data suite! You can now manage product specifications and their market-specific SKU variants in one clean system. One physical product (like a boneless lamb leg) is defined once as a specification, and each market variant (such as US Costco, Middle East Halal, or China Export) gets its own unique 5-digit SKU and barcode with tailored packaging, tare weights, and labelling — ending the days of duplicating entire product records just to sell into a new market.
  • Universal Product SupportProducts of any shape or size are now supported — cartons of meat, whole carcases, bulk truckloads of grain, bags of milk powder, and even packaging materials like carton bases, lids, and vacuum liners all live in one unified, easy-to-search registry.
  • Transformation Plans (Cut Plans & Recipes)Laid the foundation for disassembly cut plans and assembly recipes. Transformation steps record what products are consumed, what is produced, expected yields, and labour units — the building blocks for future cut-tree planning and margin optimisation on the boning room floor.
  • Industrial-Strength Barcode ScanningOur barcode engine has been completely upgraded to a full GS1 specification parser. It now correctly reads carton, carcase, retail (EAN-13), and pallet (SSCC) barcodes from every Midfield site, validates check digits, and handles batch numbers and serials flawlessly — including a fix for serial numbers that previously could be mis-read when they contained certain digit pairs.
  • Safer Database SeedingThe database seed command is now fully re-runnable — it only ever inserts information that isn't already there, never duplicates, and never deletes. Destructive database commands (initialise/drop) are now additionally protected behind a strict type-to-confirm safety gate.
  • NVD Document Analysis Email FieldAdded support for extracting contact email addresses from LPA Cattle National Vendor Declarations! The AI vision engine now automatically detects, parses, and sanitises email addresses written on uploaded documents, allowing operators to audit, correct, and export them natively in the verification console and CSV spreadsheets.
  • Dynamic Vendor & Customer Registry FiltersUpgraded the Vendors master directory in the Admin Console with robust, real-time filtering! You can now filter counterparties based on their Associated Company and dynamically generated classification types (like GROWER or AGENT), which are now loaded natively from live database entries. Added an Active Status filter (Active Only, Inactive Only, or All Statuses) and set the filtering bar to expand automatically on load, making it effortless to browse and map your entire multi-tenant AP Vendor and AR Customer roster.

Version 2.7

  • User Administrator Status & Type SelectionAdded the ability for system administrators to directly set and manage a user's administrator status (User Type) from both the user creation and edit modals in the UI. Administrators can now promote or demote user accounts to ADMIN, USER, or SYSTEM roles using a clean select dropdown, backed by secure validation, database updates, and full integration test coverage.
  • Interactive API Playground FixResolved a service error on the '/admin/routes' page where the Interactive API Playground (Swagger) failed to load. The route registry now correctly and smoothly parses all platform API schemas, ensuring that developer documentation remains complete, interactive, and functional across the console.
  • Dispatch Map and Buyer Interface Pagination CompatibilityResolved a critical interface crash on the Interactive Dispatch Map and JIT Weekly Planner when clicking the 'Dispatch' button or resolving site delivery coordinates, and on the Buyer screen when retrieving livestock categories. Standardised all operational listings to safely parse both paginated datasets and legacy flat arrays, and updated key API testing suites to support the new, high-performance paginated envelope format.
  • Yard Manager Bi-directional URL Parameters & Fullscreen SyncAdded complete support for synchronising the Yard Manager page filters (such as Site, Yard Type, Yard Area, and Species) and fullscreen mode with browser URL parameters in real time. Changing any dropdown or layout setting instantly updates your browser's address bar without reloading the page. You can now copy and share links directly, and opening them on another device—such as a shared big-screen dashboard—will cleanly override local cache settings to load the exact same view.
  • Operational Pagination Compatibility and RobustnessResolved an issue across several operational screens—including Consignments, Consignment Lines, Mobs, Purchases, Loss Events, and the JIT Weekly Planner—where opening modals or trying to filter entries would fail or cause the page to freeze due to updated, highly-efficient paginated API response structures. Added bulletproof compatibility logic to ensure all operational front-ends seamlessly parse both legacy flat arrays and modern, high-speed paginated datasets, providing a smooth and uninterrupted experience.
  • Cascading Role Deletion and WarningsUpgraded our Role Management system to support safe cascading deletions. When you delete a role that is still assigned to active users, the system now displays a helpful warning modal listing the affected users and confirming whether you would like to proceed. If confirmed, the system deletes the role, cleanly detaches all user assignments, and immediately invalidates their active platform capability caches so their permissions are updated instantly.
  • Admin Console Form Update FixesResolved a frustrating pattern across our entire admin suite—including the Users, Sites, Locations, and Database Connections controllers—where saving changes to an entry (such as making a user inactive or renaming a site) would fail if optional fields (like middle names, contact info, descriptions, or GPS coordinates) were left empty. All admin forms now handle empty or undefined parameters smoothly, allowing you to update accounts and facilities with confidence.
  • Roles Editor Update FixFixed an issue where renaming or editing a role with an empty description failed. The system now seamlessly allows modifying role labels without requiring any description text.
  • Barcode Reader and Barcode Generator SeparationSplit the Barcode tools' access control. The Barcode Reader now has its own dedicated capability, allowing organisations to manage who can scan and decode barcodes independently from who can generate them.
  • Dedicated Shipping & Containers AccessIntroduced brand new, granular capabilities for our Shipping and Containers module. This ensures sea voyage logs, commercial cargo manifests, and container security seals are managed separately from domestic road transport logistics.
  • Administrative API HardeningHardened and restricted high-privilege administrative APIs (including email configurations, database connections, and user invitation systems). These are now locked behind strict admin credentials and capabilities, completely resolving security exposures.
  • Fleet Asset Security AlignmentAligned our vehicle registration and fleet editing features to require explicit truck management capabilities rather than broader scheduling capabilities.
  • Yard Movements Clean-upStreamlined our backend ledger system by removing unused historical capability keys to keep permissions lightweight and clean.
  • AI Tasker Capability RefinementUpgraded our permission naming and descriptions to clearly separate everyday operators from system administrators. Standard users can now be assigned a streamlined 'Execute AI Tasks' capability that allows them to run checklist templates and upload images without having access to configure or alter the underlying prompts.
  • User Editor Roles and Organisations FixCorrected an issue where the available roles and organisations lists in the User Edit modal were displaying as empty. The frontend has been updated to strictly assert the latest paginated API contract structures, ensuring reliable, real-time loading of administrative entities while preventing future silent data omissions.
  • Roles Info Banner RefinementUpdated the Roles management screen to include a clear, descriptive overview of our default-deny permission model. The banner now explains that all system access is denied by default, and that administrators can assign one or more roles to a user to explicitly grant them the specific capabilities required to perform actions across the platform.
  • Premium Icon StandardisationConducted a comprehensive sweep across all user-facing front-end components and page templates to replace inconsistent raw emojis with professional, high-fidelity Tabler Icons (including on the X-Ray Analysis lookup card, Carton Movement timelines, Cadmium eligibility grids, and status message panels). Upgraded our portable Card structures to cleanly support custom inline icon nodes, ensuring perfect design cohesion, strict functional styling, and a modern, polished visual experience.
  • Server-Side Search & Pagination for Admin ConsolesRefactored our administrative management interfaces for Database Connections, Email Templates, and Livestock Categories. These systems now support lightning-fast server-side pagination with SQL LIMIT and OFFSET, alongside live, server-side filtering via search parameters. This dramatically reduces network traffic, reduces memory overhead, and improves device responsiveness, keeping everything fully aligned with our database-agnostic schemas.
  • Carton X-Ray Lookup EnhancementsRe-aligned the security rules for our X-Ray Analysis tool to use a clean, read-only capability key, and corrected its description to reflect carton-level scan results and image searches rather than carcass inspection metadata.
  • Dedicated Platform Capabilities & System Routes DirectorySeparated our system paths and user permission directories into two dedicated consoles. Under '/admin/routes', administrators can now browse dynamically registered Page and API endpoints with their corresponding RBAC rules, alongside our interactive Swagger Playground. Under the new '/admin/capabilities' page (accessible to role managers), you can easily browse and search the full descriptive catalog of platform capability keys when designing and assigning custom roles.
  • Strict Capabilities & Access SecurityUpgraded our platform's permission gating to utilize strict, type-safe semantic capabilities. This completely resolves permission conflicts on key operational pages like the Yard Manager, ensuring your custom-assigned roles work flawlessly and instantaneously. Operators are now protected by native compile-time safety and clean, helpful permission panels.
  • Simple Password Generator UtilityAdded a brand new password generator command-line utility. This tool allows system administrators to easily generate cryptographically secure, simple passwords of any specified length. It purposefully avoids confusing special characters (such as symbols and punctuation) to produce clean, easily readable alphanumeric credentials.
  • Truncation-Resistant AI Thinking ParserUpgraded our AI Tasker to gracefully handle situations where standard models run out of token budgets mid-thought. If the AI's internal scratchpad is cut off before generating a closing tag, our backend will now dynamically recover the partial thoughts, enclose them inside our clean 'Show AI Thinking Process' accordion, and provide a helpful notification to the operator suggesting a higher token budget setting.
  • Prompted AI Reasoning & Scratchpad AccordionFully upgraded our AI Tasker to support a dedicated, step-by-step thinking phase for all tasks when reasoning effort is enabled. If standard, cost-effective models (such as Google Gemini 2.5 Flash) are selected, the system will dynamically instruct and parse the AI's internal thought processes behind a beautiful, collapsible 'Show AI Thinking Process' panel, keeping your final audit checklists incredibly clean, precise, and free of confusing 'thinking out loud' text.
  • Deployment Stability & Performance ProtectionStreamlined our server-side system loaders to prevent unexpected memory exhaustion and application crashes during cloud server deployments. Highly optimised our background Docker container images, ensuring incredibly fast, smooth, and robust application compilation and lightning-fast rebuild speeds.
  • Beautiful Markdown Responses in AI TaskerEnabled high-fidelity markdown rendering across both active execution screens and historical conversation ledgers. Inspection statuses, bullet-point audits, typographical warnings, and checklist criteria are now displayed natively with clean typography, styled dividers, monospace codes, and bold highlights, eliminating hard-to-read raw symbols.
  • AI Task Customisation & Admin ConsoleUpgraded our AI Tasker by moving all hardcoded filesystem task templates directly into our PostgreSQL database. We have introduced a beautiful new AI Task Templates administrative console under '/admin/ai-tasks' equipped with a structured, visual input field builder. Non-technical administrators can now easily design operational system prompts, manage uploader configurations, adjust response formatting, and customise operator form fields on the fly without writing any code or requiring software deploys.
  • Database-Backed Tenancy for AI TasksFully isolated AI task libraries per organisation, ensuring that each business tenant can establish their own proprietary suite of operational checks. Old historical conversation logs have been streamlined to natively link directly to our newly structured task tables.
  • Username Account Provisioning UpgradesOverhauled our Active Directory account generator tool by adding support for new vital fields including Employee IDs, corporate Telephones, and internal Office Phone Extensions. Standardised all generated mobile numbers to comply with strict Australian '+614' patterns.
  • Live Employee Directory SearchIntegrated the generator directly with our secure UKG Employee Directory database cache. Administrators can now start typing any name or Employee ID to autocomplete and auto-populate their profile details with a single click.
  • Printer PIN Conflict Pre-ChecksThe generated script now includes intelligent Active Directory conflict pre-checks for printer PIN codes. If the chosen PIN code is already active elsewhere in the directory, the script will automatically fail-fast to prevent database corruption.
  • Employee Welcome Sheet & PDF DownloadsRedesigned the printable employee credentials welcome sheet to fully fit high-quality A4 dimensions. Supports all newly introduced phone and directory parameters in a secure, well-structured layout, and renamed the trigger to 'Print Welcome Sheet / Save as PDF' for better clarity.

Version 2.6

  • Digital Run SheetsEliminated the need for paper Daily Run Sheets by creating a completely digital, mobile-first interface for our truck driver operators. Employed drivers can now log in on their phones, easily create today's sheet, record pre-trip checks for safety (oil, fuel, and water), log odometer readings, and add card-styled rows for each stop through the day (customer, location, pickups, deliveries, hooks, and unhooks). Submitting a sheet locks it instantly, acting as a digital signature.
  • Payroll Run Sheet PortalCreated a desktop-friendly dashboard for payroll and management staff to browse, search, and review submitted run sheets. Management can filter by specific dates, status, or search by Driver Employee IDs. Clicking a sheet opens a beautiful detailed viewer to review safety checks, stops, and margins scribbles.
  • Payroll CSV ExportEnabled downloading driver run sheets as highly formatted, pivot-friendly CSV sheets with repeated header columns, making it extremely easy for payroll staff to import data directly into external pay award calculators, spreadsheet pivots, or BI suites.
  • Enhanced Capability-Based Sidebar & GatingFully migrated all Utilities and Screens sidebar lists to use semantic capabilities instead of legacy permission models. The sidebar now automatically and cleanly customises itself based on your account's exact permissions—low-privilege drivers only see what they need, while payroll administrators get full access, making mobile navigation extremely clean.
  • Settings Modals PolishOverhauled the administrative system settings modals to prevent false alerts about unsaved changes. The form now intelligently detects if any typed changes have been reverted back to their original state, and hardened input fields against aggressive browser password managers that tried to auto-fill secret keys when simply viewing settings.
  • Encrypted Document Extraction KeyUpgraded the Document Extraction AI API key setting to be fully encrypted at rest inside our databases. Existing unencrypted API key records have been safely migrated, and future configuration edits will be automatically protected as masked passwords.
  • Provider-Generic AI Gateway SettingsRefactored our AI and Language Models orchestrator to support multiple providers (OpenRouter or OpenAI Direct) through a beautiful generic configuration panel, matching the same streamlined layout as our Document Extraction AI. Added dropdown provider selection, and conditional metadata fields that automatically show and hide based on your active AI service provider.

Version 2.5

  • AI-Powered Document Ingestion & Field ExtractorIntroduced a highly advanced, web-based Document Analyzer micro-app. Operators can now choose a document type, drag and drop multiple PDF documents (or ZIP archives containing PDFs), and extract detailed structured data on the fly using multimodal AI vision capabilities on OpenRouter. Standard users see and manage their own submissions, while admins have global access to audit and verify extracted fields.
  • Batch Verification Audit ConsoleIntegrated a beautiful side-by-side administrative audit screen with secure original PDF preview streaming and live-editable extraction form fields. Fields where the AI has low confidence are automatically highlighted in orange, allowing administrative staff to correct and approve document structures with minimal effort, syncing approved data directly to the database.
  • Universal Document Extraction APIExposed a secure, high-performance external API endpoint at '/api/document-analysis/submit' supporting both synchronous blocking and asynchronous polling workflows for direct third-party, supplier, or transport driver app integrations.

Version 2.4

  • Employee Directory & HierarchyEnabled browser-native deep linking across the Employee Directory. You can now bookmark or share links directly to any employee profile. Additionally, the Direct Manager field is now an interactive link, and we have introduced a beautifully styled, scrollable Direct Reports panel within the profile modal, allowing you to navigate seamlessly up and down your organisation's reporting hierarchy with a single click.
  • AI Task Orchestration & History LedgerAdded complete integration test coverage for AI Tasker execution, template listing, and conversation history ledger endpoints, utilizing secure simulated AI model replies and uploaded attachment tracking.
  • Database Connection ManagerAdded rigorous CRUD verification tests for runtime-configurable database connection records, covering live configuration loading, reloading connection parameters, and automated connection test diagnostics with real database handshakes.
  • System Health DiagnosticsCovered system liveness, health status, and utility diagnostics with integration tests that verify database connection status, memory allocation, and storage reachability under active session contexts.
  • Codebase Hygiene & RefactoringDecoupled and refactored the shipping voyage portal by extracting browser-native photo compressors, form submodals, and tab list renderers into independent modules, keeping the code exceptionally neat, fast, and fully compliant with MDL's strict Code-Perfect line budget of 1,000 lines.
  • Web Push Notifications & Subscription SettingsEnabled browser-native push notifications, allowing operators to receive real-time updates and urgent alerts directly on their devices even when the application is closed. Introduces an interactive Push Notifications subscription toggle under user Profile settings, enabling secure registration of standard browser Service Worker push channels powered by @pushforge/builder using raw Web Crypto payload encryption.
  • Interactive GIS Mapping & Custom LayersIntroduced a robust, native interactive GIS mapping dashboard under the new Mapping navigation header. Users can now establish custom organisational layers (defining points, line segments, or area boundaries styled with custom theme colours), and trace live geometries directly on the map. Features a zero-dependency drawing engine that supports plotting, flight tracking, and element deletion with direct PostGIS database synchronisation.
  • Interactive Dispatch MapIntegrated an interactive geographic dispatch board map utilizing Leaflet.js directly inside the Livestock Planner app. Users can now review all pending direct farm bookings represented as pins on the map, pan and zoom geographically, or click list cards to fly the map focus onto individual paddocks and suppliers. If exact GPS coordinates have not yet been configured in the database, the system dynamically calculates fallback coordinate rings from the nearest destination site to ensure they remain cleanly visible on the dashboard.
  • Unified Planner Navigation & FiltersUpgraded the Livestock Planner application to implement standardized accessible Preact Tabs. Persistent global filters for Species and Destination Site are now elevated to the top of the board, remaining beautifully fixed and interactive across the Daily Arrivals table, the Stocktake Matrix, the weekly JIT Forecast timelines, and the new Map dashboard.
  • Livestock Just-In-Time (JIT) LogisticsImplemented the backend transaction engine and API orchestration layer for atomic mob division and movement dispatching, enabling operators to split large herds and dispatch them as independent transit movement trip runs in a single transaction while guaranteeing perfect biosecurity ledger compliance.
  • Homepage PolishStandardised all homepage cards to align perfectly in width and design, replaced old raw emojis with elegant, custom gradient-coloured Tabler Icons, and optimised hover effects and rotating background animations for a premium experience on mobile devices and desktops alike.
  • Yard Manager Kiosk & Navigation EnhancementsAdded persistent full-screen state supporting dedicated monitors and kiosks. Your preference is remembered across page refreshes and browser restarts, or you can boot directly into the giant screen view using a shortcut with a '?fullscreen=true' URL parameter. Also added a beautiful breadcrumb trail displaying Site > Yard Type > Yard Area for instant context on large displays, and made the full-screen button more subtle.
  • Theme SupportEasily switch between Light, Dark, and System modes to suit viewing preferences. Our styling system has been overhauled to ensure form inputs, select dropdowns, text fields, and custom icons beautifully and cleanly adapt to dark mode across all screens.
  • Livestock Management GroundworkThe foundation is now in place for a complete livestock management experience, establishing the underlying structures needed for properties, transit movements, National Vendor Declarations (NVDs), pricing grids, loss events, and suspect declarations. While this system is not yet finished or ready for use, the groundwork is complete and ready for user screens and features to be built out in future updates.
  • NotificationsAdded a new notification system with a bell icon in the navigation bar, making it easy to see important updates across all organisations.
  • Sidebar FavouritesNavigating the platform is now even faster with alphabetically sorted menus and a new favourites feature to pin most-used pages for quick access.
  • Form ProtectionPrevent accidental data loss with new close-confirmation prompts on forms when trying to exit with unsaved changes.
  • Sticky Modal FootersAll platform modals have been refactored to implement type-safe sticky footer actions. Form buttons and key decisions (such as Save, Cancel, or Delete) now remain beautifully fixed at the bottom of your screen during scrolling, ensuring essential controls are never hidden or lost on longer forms or smaller devices.
  • System Health Dashboard OverhaulThe System Health monitoring screen has been beautifully redesigned to offer maximum clarity and a premium dark mode layout. Service status is now split cleanly into critical system services and external database connections, organised in a clean, space-efficient grid. If a non-critical external connection experiences issues, the system status will downgrade gracefully to a warning state, preventing false alarm unhealthy states, and the memory bar now explains the dynamic V8 heap allocation.
  • Yard Manager Dark ModeOverhauled the Yard Manager grid, unallocated board, and yard selection interfaces to fully support dark mode. Mob category colours are now generated using responsive CSS lightness variables to produce high-contrast, premium dark-pastel backgrounds, and all card texts, head counts, and yard boxes dynamically transition their colours and state borders using semantic tokens.
  • Under the HoodAn extensive round of behind-the-scenes refactoring, bug fixes, security updates, and performance improvements to keep everything running smoothly and reliably.

Version 2.3

  • NEW APP — X-Ray AnalysisA professional inspection tool for reviewing carton x-ray data. Search by exact barcode to instantly view detailed analysis results, including Chemical Lean (CL) percentages, weight, and contaminant detection status. Includes a high-resolution, full-screen image viewer with systematic file naming for high-quality downloads.
  • NEW APP — Barcode ReaderA professional-grade barcode and QR code scanner designed for speed and reliability. Features specialised 1D barcode scanning, GS1 label parsing, and enhanced visual feedback with target guides and reactive detection boxes.
  • NEW APP — Employee TransactionsA new tool to easily track and manage employee-related transactions. You can now add, edit, and delete transaction entries directly from the interface, with all fields fully editable. Includes support for multiple currencies, date-restricted filtering, and one-click CSV exporting for seamless payroll and reporting. Edit and delete capabilities are protected by manager role permissions for security.
  • NEW APP — Barcode GeneratorGenerate barcodes and QR codes in multiple formats (QR Code, Code 128, Data Matrix, and more). Customise settings and download high-quality SVG files for use in labels or signage. Supports text and hex input modes.
  • NEW APP — Mob Manager (Hides and Skins)Review the complete history of archived mobs. Filter records by date, species, and lifecycle status to track mobs even after they have left the yard.
  • Mob ImagesUpload, view, and download images against mobs, including dedicated support for Mob Images and Pelt Images (hides and skins).
  • Yard Manager ImprovementsMobs are now archived instead of deleted, preserving historical records. Clear colour-coded lifecycle statuses (Unallocated, Allocated, In Transit, Archived) make it easy to see where each mob stands.
  • Profile PersonalisationYou can now personalise your account by uploading a profile picture! Your picture appears in the sidebar and dashboard, updating immediately whenever you change it.
  • System and SecuritySignificant core upgrades improve scalability and security. New passwords must now meet standard complexity requirements, and sidebar navigation has been optimised for smoother workflows.
  • Admin ToolsA new System Health dashboard allows for monitoring performance and database connectivity. Role management is now faster, with assigned permissions floating to the top of the list.
  • SecurityAdded background session monitoring — if your session times out while you're working, a notification will appear immediately so you can log back in without losing your place.

Version 2.1

  • Yard ManagerAdded Mob Warnings system — flag mobs with important alerts or notes that appear as a red triangle icon on mob cards. Warnings track who created and resolved them with full history, keeping everyone accountable.
  • Yard ManagerWarnings use colour-coded backgrounds and update in real-time across all browser tabs — active warnings show with a red background while resolved ones appear in green with strikethrough.
  • Yard ManagerCompletely redesigned mob details view with a clean bullet-list format showing all essential information (name, species, category, head count, yards, capacity) in one easy-to-scan place.
  • Yard ManagerDetails, remarks, and warnings now appear side-by-side on desktop for easier viewing, and stack vertically on mobile for better readability.
  • Yard ManagerCategories now display with both code and name (e.g., 'M0 - Cull Cows') throughout the system — no more memorising what each code means!
  • Yard ManagerMob names can now include forward slashes — useful for labels like 'Cows/Bulls' or 'A/B' to better organise your mobs.
  • Yard ManagerClicking any mob (whether in a yard or the unallocated list) now opens the same consistent interface with all management options in one place.
  • Yard ManagerEdit mob now keeps you in the details view after saving — less clicking, smoother workflow.
  • Yard ManagerFixed edit mob modal behaviour — both the X button and Cancel button now consistently return you to the mob details view, preventing confusion and accidental data loss.
  • Yard ManagerAdded species filter to the Unallocated Mobs page — quickly find mobs of a specific species (Bovine, Ovine, etc.) to make allocation faster and easier, especially useful when managing large numbers of unallocated animals.
  • Yard ManagerFilter state now persists when moving between Yard Manager, Unallocated Mobs, and Stock Summary pages — your selections are remembered so you return to exactly where you were.
  • Yard ManagerRemoved borders from mob cards for a cleaner, more modern look — cards now stand out with colour and rounded corners.
  • Stock SummaryIncreased text size in category breakdown for better readability.
  • SystemOngoing look-and-feel improvements and behind-the-scenes optimisations for better performance and reliability.
  • SystemImprovements to back end admin console, added ability to reset user passwords, and simplified some components.
  • Yard ManagerImproved yard sorting when viewing 'All Areas' — yards now group by area first, then sort alphabetically within each area. This makes it much easier to scan through large lists of yards.
  • Yard ManagerAdded dedicated Stock Summary page — view a complete breakdown of all livestock by species and category, showing totals, allocated, and unallocated counts. Perfect for daily reporting and planning.
  • Yard ManagerStock Summary page updates automatically in real-time when you make changes in the yard manager — no need to refresh the page manually.
  • Yard ManagerStock Summary layout designed for clarity — species are clearly labelled with separate rows for total, allocated, and unallocated animals, making it easy for everyone to understand at a glance.
  • Yard ManagerStock Summary now shows category details more clearly — displays both category code and name (e.g., '#4 - Cows') to help identify categories at a glance.
  • Yard ManagerFixed category codes throughout to preserve their exact capitalisation — codes like '#8's' now display correctly instead of being changed to '#8'S'.
  • Yard ManagerSpecies names now display with proper capitalisation — 'Bovine' instead of 'bovine' — making the interface look more polished and professional.
  • SystemBrowser tab title now shows the environment — 'Digital Labs - Dev' or 'Digital Labs - Staging' — making it easy to tell which environment you're working in at a glance.
  • Yard ManagerAdded a new floating action menu button in the bottom right corner for quick access to common actions with less wasted space. Especially handy on mobile!
  • Yard ManagerImprovements to look and feel — buttons, form inputs, and yard cards now look cleaner and work better on mobile devices with improved responsive layouts.
  • Yard ManagerFixed critical bug where creating mobs without remarks would fail — remarks are now optional as intended.
  • Yard ManagerFixed issue where deleted mobs would still appear in the unallocated mobs list — deleted mobs are now properly removed from the system.
  • SystemBehind-the-scenes improvements to how icons are loaded throughout the application — this makes the system more efficient and easier to maintain.
  • SystemReduced codebase size significantly by removing over 5,000 unnecessary icon files, which should make updates faster and more reliable.
  • Yard ManagerAdded Livestock Categories — you can now classify mobs into categories (like Calves, Cows, Bulls) specific to each species. This makes it easier to organise and manage different types of livestock.
  • AdminAdded new Livestock Categories management page where you can create, edit, and organise categories for each species in your organisation.
  • Yard ManagerWhen creating or editing mobs, you'll now see a category dropdown that automatically filters based on the species you select.
  • Yard ManagerAdded Remarks field to mobs — you can now add optional notes or comments about each mob. The remarks field appears at the bottom of the mob form as a multi-line text area, replacing the old animal type field.
  • AdminCleaned up all admin tables by removing action buttons — simply click any table row to view details and access edit/delete options. This gives you more screen space and a cleaner interface.
  • AdminFixed an issue where disabled items (like inactive species) weren't showing in admin pages — you can now see and manage all items, active or inactive.
  • APIFixed an issue where API keys were being incorrectly validated, which was causing 500 errors when making API requests through tools like Postman.
  • APIImproved authentication system to properly handle both JWT tokens and API keys, ensuring more reliable API access.
  • Yard ManagerFixed an issue where inactive yards were appearing in the yard selection list, which could cause 'Cannot assign mob to inactive yard' errors. Only active yards now appear when assigning mobs.
  • Yard ManagerImproved mob display throughout — category codes (like #4, #6, LAMBS) now show instead of long descriptions, making the yard grid easier to read at a glance.
  • Yard ManagerSpecies names now display in proper title case (e.g., 'Bovine' instead of 'bovine') in dropdowns and mob cards.
  • Yard ManagerCleaned up mob information cards — removed duplicate head count from the top line since it's already shown in the capacity line below.
  • Yard ManagerFixed real-time updates not working after page refreshes or when multiple tabs were open. The system now automatically reconnects if the connection is lost, and handles up to 10 simultaneous connections per user (up from 5).
  • SystemImproved real-time update connection management — stale connections are now cleaned up more aggressively (every minute instead of every 5 minutes), and connections timeout after 5 minutes instead of 30.
  • SystemAdded better logging for troubleshooting real-time update issues — server logs now clearly indicate when a user has reached their connection limit and why updates might not be working.
  • Yard ManagerFixed Add Mob and Edit Mob forms from accidentally closing when clicking outside the modal — you now must explicitly use Cancel or Submit buttons, preventing accidental data loss.
  • Yard ManagerAdded total animal count display showing the number of animals in the currently selected filters (site, yard type, and yard area).
  • Yard ManagerFixed capacity warnings to apply to all mobs, not just those in multiple yards.
  • Yard ManagerStandardised mob display to consistently show capacity information (head count/capacity • yard count) for both single and multi-yard assignments.
  • GeneralFixed the 30-minute logout issue. Users should now stay logged in for up to 5 days of inactivity (maximum 90 days) as intended.
  • GeneralAdded a public changelog page: https://labs.midfieldgroup.com/changelog
  • GeneralImproved sidebar navigation — work tools appear first when logged in, with a subtle divider separating them from public pages.
  • SecurityAdded password reset functionality — users can now reset forgotten passwords via email link.
  • AdminAdded ability to create new users directly from the admin panel with password validation.
  • Yard ManagerAdded Edit Mob button, allowing mob details to be updated without deletion or recreation.
  • Yard ManagerAdded validation so site and yard type must be selected before accessing unallocated mobs.
  • Yard ManagerSite dropdown now only shows sites that have yards, keeping the list clean and relevant.
  • Yard ManagerUnallocated mobs modal now correctly applies site, type, and area filters.
  • MobileFixed iOS Safari issue where the bottom address bar covered content by implementing dynamic viewport height (dvh).
  • MobileYard selection and other full-screen modals now fill the entire screen without white space or rounded corners, giving a more native app feel.
  • GeneralVarious bug fixes, security patches, and performance improvements.
  • Fixed console warnings and errors
  • Fixed Firefox scrolling bug after closing modals
  • Login page now preserves destination after wrong password
  • Yard ManagerAdded 'All Areas' option to view yards across multiple areas
  • Yard ManagerCan now split mobs across different yard areas