Product Updates
See what’s new, what’s improved, and what we’ve fixed.
Manufacturer Lifecycle Improvements, Blog Integration & UI Enhancements
This release introduces major improvements to the Manufacturer Batch Detail page, enhanced Lifecycle Event rendering, refined UI consistency, and a new Blog section on the Home page displaying the latest posts. Several data model alignments and visual improvements were completed to stabilise lifecycle tracking and improve usability.
Manufacturer & Lifecycle Improvements
- Rebuilt Manufacturer Batch Detail page lifecycle section to use the new LifecycleEvent model structure.
- Resolved data loading issues for lifecycle events (Category, Action, Outcome, Partner).
- Improved lifecycle table rendering with proper fallback values when related entities are missing.
- Removed legacy DisplayOrder / BatchId references from LifecycleEvent logic.
- Aligned lifecycle queries with updated EF model relationships.
- Fixed multiple compile-time errors caused by outdated property references.
- Stabilised Add Lifecycle Event flow for correct database insertion.
Manufacturing Timeline
- Maintained dedicated Production Timeline for manufacturing steps.
- Separated non-manufacturing lifecycle events from manufacturing progress steps.
- Improved visual consistency between timeline and lifecycle tables.
Blog System Enhancements
- Added "From the Blog" section to Home page.
- Displays latest two published blog posts dynamically.
- Integrated "Read Post" call-to-action buttons.
- Improved card layout and removed unnecessary keyword text near CTA buttons.
- Ensured Blog Index page filtering and pagination continue to function correctly.
UI & UX Refinements
- Improved gradient buttons and consistent card styling.
- Better spacing and alignment across lifecycle and blog sections.
- Cleaned up visual inconsistencies in tables and action buttons.
Technical Stability
- EF Core model configuration updates for Lifecycle entities.
- Improved null handling for navigation properties.
- Safer fallback display values for missing related data.
- Code cleanup and removal of legacy property references.
Result: Improved lifecycle transparency, more reliable data rendering, and enhanced public-facing content visibility via integrated blog previews.
Advanced Blog System, SEO Automation & Search Engine Integration
Implemented a fully SEO-optimized blog infrastructure including dynamic sitemaps, RSS feed generation, automatic Google & Bing ping on publish, thumbnail support, improved content formatting, and enhanced filtering with pagination. This update significantly strengthens organic search visibility and content scalability for xProduct.
Advanced Blog & SEO Infrastructure Upgrade
This release introduces a comprehensive blog system upgrade focused on SEO performance, content scalability, and search engine automation.
📰 Blog System Enhancements
- Implemented full blog management system with draft, publish, unpublish, and delete functionality
- Added thumbnail image support for blog cards (separate from featured image)
- Improved content rendering with structured Markdown formatting
- Enhanced blog card layout and filtering UI
- Added pagination support for scalable blog growth
🔍 SEO Improvements
- Dynamic blog sitemap (
/sitemap-blog.xml) - Static sitemap separation (
/sitemap-static.xml) - Sitemap index file (
/sitemap.xml) referencing both sitemaps - Automatic
<lastmod>handling for blog posts - Meta Title, Meta Description, Canonical URL, Robots directives support
- OpenGraph & Twitter Card metadata support
- Structured JSON-LD override support
🔔 Search Engine Automation
- Automatic Google sitemap ping on blog publish
- Automatic Bing sitemap ping on blog publish
- Improved indexing speed for newly published content
📰 RSS Feed
- Added RSS feed at
/rss.xml - Includes latest published blog posts
- Proper RFC1123 publication dates
- SEO-ready feed structure for aggregators
🎨 UI & Formatting Improvements
- Improved blog content typography styling
- Better spacing for headings, paragraphs, lists, and dividers
- Improved filter layout alignment and responsiveness
📈 Business Impact
This upgrade significantly improves organic search discoverability for Digital Product Passport (DPP), circular economy, sustainability, and EU compliance-related keywords. The system now provides a scalable foundation for long-term content marketing growth.
Status: Production Ready
Deployment: Azure
Impact: SEO, Marketing, Content Infrastructure
New Feature: SEO-Optimised Blog System with Thumbnails, Filters & Pagination
We’ve launched a fully SEO-optimised blog system for xProduct, including thumbnail support, markdown formatting, pagination, filters, OpenGraph tags, JSON-LD schema, and Azure Blob image storage.
New Feature: SEO-Optimised Blog System
We’ve successfully implemented a fully featured, SEO-ready blog system inside the xProduct platform. This release introduces content management, image handling, structured metadata, filtering, pagination, and Azure Blob integration — designed for performance, scalability, and search visibility.
Core Blog Capabilities
- Create, edit, publish and unpublish blog posts
- Markdown-based content editing using Markdig
- SEO fields: Meta Title, Description, Canonical URL, Robots
- OpenGraph + Twitter Card support
- Optional JSON-LD override for structured data
Image Management (Azure Blob Storage)
All blog images are securely stored in Azure Blob Storage and served via CDN when available.
- Featured Image – displayed at the top of the blog post
- Inline Content Images – inserted directly into markdown
- Thumbnail Image – separate square image for blog cards
Thumbnail support allows better visual control for listing cards without affecting the main featured image.
Thumbnail Implementation
New fields added to BlogPost model:
- ThumbnailImageUrl
- ThumbnailImageAlt
Database configuration was updated and BlogService.UpdateAsync was extended to persist thumbnail changes.
Pagination & Filtering
The public blog page now includes:
- Server-side pagination
- Search (title + excerpt)
- Tag filtering (based on Keywords field)
- Clean UI alignment and improved layout
Pagination prevents performance issues when scaling to large numbers of posts.
Markdown Styling & CSS Improvements
Custom styling for blog content was implemented via .blog-content class:
- Proper spacing for headings (H1–H3)
- Improved paragraph margins
- Styled horizontal rules
- Enhanced list formatting
- Blockquote design improvements
This ensures clean typography and consistent formatting for long-form content.
SEO Enhancements
Each blog post now automatically supports:
- <title> override
- <meta name="description">
- <meta name="keywords">
- Canonical URLs
- Robots control (index, follow, etc.)
- OpenGraph tags
- Twitter Card metadata
- Article JSON-LD schema generation
This significantly improves search engine visibility and social sharing previews.
Technical Notes
- Markdig NuGet package installed
- BlobStorageService extended for blog uploads
- BlogService updated to persist new fields
- ApplicationDbContext model configuration updated
- UI alignment improvements for filter section
- Editor stability fixes (null checks + state handling)
Result
The xProduct platform now includes a production-ready blog system that supports:
- Scalable content publishing
- Structured SEO optimisation
- Azure-native storage architecture
- Professional UI presentation
This lays the foundation for content marketing, compliance updates, industry guidance, and Digital Product Passport thought leadership.
Governance & Manufacturer Platform Stabilization Release
This release introduces governance improvements for Manufacturer accounts, stabilizes session handling across InteractiveServer pages, and enhances role-based access control. Manufacturers can now manage tenants more effectively, while Auditor functionality has been properly structured for secure read-only oversight.
Governance & Manufacturer Platform Stabilization Release
This release delivers major architectural stabilization and governance enhancements for Manufacturer environments. The platform now provides improved role-based access control, clean session handling across Interactive Server pages, and structured Auditor oversight.
🔐 Role & Access Improvements
- Stabilized role-based authorization flow across all secured pages.
- Resolved session timing issues related to prerendering and InteractiveServer lifecycle.
- Improved ManufacturerOwner, ManufacturerAdmin, and ManufacturerAuditor separation.
- Ensured consistent access enforcement for tenant, tier, and role combinations.
- Standardized dependency injection using service interfaces for improved reliability.
🏭 Manufacturer Enhancements
- Manufacturers can now properly manage and operate within tenant scope.
- Improved tenant-aware session handling.
- Stabilized Manufacturer-specific dashboards and settings pages.
- Improved security around user management and lifecycle access.
🛡 Auditor Governance Dashboard
- Dedicated Auditor dashboard with lifecycle oversight metrics.
- Read-only governance view of recycle, repair, and return events.
- Risk-based monitoring of lifecycle activities.
- Improved recovery metrics and hazardous material visibility.
⚙ Platform Stability
- Resolved JavaScript interop timing issues during prerender.
- Improved session loading reliability using proper lifecycle handling.
- Eliminated duplicate service registrations and dependency conflicts.
- Strengthened ProtectedSessionStorage handling and retry logic.
This release significantly improves platform stability, governance transparency, and role clarity across Manufacturer environments.
Version: v2.1.0
Manufacturer Navigation + User Invitations + Transfer Quantity groundwork
Fixed Manufacturer user invitation flow. Added clear UI feedback for invites. Introduced Quantity support on OwnershipTransfer. Fixed Manufacturer role visibility issues in navigation by adding robust role normalization in UserSessionDto. Confirmed Manufacturer Auditor can be created, logged in, and role badge displays correctly
Product Update: Manufacturer Navigation + User Invitations + Transfer Quantity groundwork
- User invitations fixed (Manufacturer tenant): Resolved EF Core query translation error caused by calling a custom role-normalization method inside LINQ-to-Entities. Roles are now matched safely after loading role records, allowing invites to complete successfully.
- Invite UX improved: Added/verified busy state behavior and UI messaging so users get immediate feedback while invites are processing, and the table updates after completion.
-
Transfers: Quantity groundwork:
Added
QuantitytoOwnershipTransfer(default 1) and prepared payload support so ledger health events can include the number of units transferred. -
Navigation roles fixed:
Implemented robust role normalization in
UserSessionDtoso values likeManufacturerAuditorcorrectly map toAuditor, and spacing/format variants (e.g. “Lifecycle Manager”) are handled consistently. This makes the role-based navigation matrix functional. - Verification: Confirmed Manufacturer Auditor can be created and sign in, and role label displays correctly on the dashboard. Navigation visibility now follows the configured role flags.
Manufacturer & Auditor Suite: Lifecycle Dashboards + Recycle Oversight
Delivered new lifecycle dashboards and audit views, including recycle metrics oversight sourced from SQL JSON, plus search and improved activity panels for governance visibility.
🚀 Manufacturer & Auditor Release: Lifecycle Dashboards + Recycle Oversight
Today we expanded the Manufacturer lifecycle experience and introduced a read-only Auditor dashboard view. We focused on making lifecycle and recycling activity easier to monitor without querying the ledger (SQL remains the UI source of truth; ledger is immutable audit proof).
🧭 Lifecycle Manager (Manufacturer)
- Added a new Recent Activity panel to show the latest lifecycle actions (top rows) with a View all link into Governance.
- Aligned the UI direction so Manufacturers review partner lifecycle events via
/manufacturer/governance. - Confirmed recycle metrics are stored in SQL (not ledger parsing) and can be displayed directly.
♻️ Recycling Metrics Visibility
- Verified recycling inputs are captured per event (Input weight, Recovered weight, Recovery %, Method, Energy recovery %, Hazardous handled, Material breakdown).
- Recycle metrics are stored as JSON in SQL (e.g.
LifecycleEventRecycleMetric.MetricsJsonand/orLifecycleEvent.RecycleMetricsJson). - Implemented parsing that supports both JSON shapes:
- Top-level fields (e.g.
inputWeightKg), and - Nested payloads (e.g.
{ recycle: { inputWeightKg: ... } }).
- Top-level fields (e.g.
- Recycle Oversight now loads using SQL-first lookup (table metrics preferred; event JSON as fallback).
🕵️ Auditor Dashboard (Read-only)
- Created an Auditor Dashboard concept for read-only oversight: integrity, compliance and audit readiness.
- Added KPI cards: Lifecycle events (30d), End-of-life events (30d), Pending reviews, Latest event.
- Added Attention Required table (Pending/Rejected/Corrected) with a direct navigation to Governance.
- Added Recycle Oversight table showing latest recycle metrics per event (Input/Recovered/Recovery%/Hazardous).
- Added a Search box that filters both Attention Required + Recycle Oversight tables.
✅ Governance & Review Flow Confirmed
- Partner submits lifecycle events (including recycle metrics).
- Manufacturer reviews and approves/rejects via Governance workflow.
- Approved events are visible in product event details and in the product ledger timeline.
Note: UI queries use SQL tables for performance and correctness. Ledger is retained as immutable audit evidence.
🚀 Major Manufacturer Release: Full Lifecycle, Governance & Operations
A major release delivering a complete Manufacturer workspace — covering product creation, teams, certifications, governance, production batches, transfers, and lifecycle controls in one unified system.
🚀 Major Manufacturer Release: End-to-End Lifecycle & Governance
This release introduces the full Manufacturer workspace — a comprehensive system for managing products, teams, certifications, governance, and operational lifecycle events from creation through production, transfer, and recovery.
📦 Product Management
- Product creation flow for registering new products.
- Product list with centralized browsing and management.
- Ledger Health view for visibility into product event integrity and lifecycle history.
📜 Certifications
- Dedicated Certifications page combining upload and management.
- Structured certification library with table view of existing records.
- Foundation for future verification, expiry tracking, and compliance workflows.
🏢 Company Settings & Team Management
- Company settings for managing manufacturer address and core details.
- Team member invitations directly from the settings area.
- User & invitation management restricted to Manufacturer Owner for full control.
🏭 Manufacturer Master Data
Configurable operational building blocks that power batches, transfers, and governance:
- Factories with quick-add modal.
- Batch statuses to model production progress.
- Batch steps defining structured manufacturing workflows.
- Transfer types for standardized movement classification.
- Recipient entities representing downstream partners.
- Partners directory with add-new flow.
🛡️ Lifecycle Governance
- Lifecycle Governance overview for policy and oversight.
- Governance Actions for structured Return, Repair, and Recycle operations.
⚙️ Manufacturing Operations
- Production Batches for tracking manufacturing runs.
- Transfers to record product movement between entities.
🔒 Platform Foundations
- Consistent manufacturer-level permissions and access control.
- Strong data separation between configuration, operations, and governance.
- Designed to support future auditability, compliance, and regulatory reporting.
🔮 What This Enables Next
- Batch-level lifecycle event logging.
- Public-facing transparency views for verified manufacturers.
- Deeper governance enforcement across transfers and recovery flows.
- Regulatory-ready Digital Product Passport lifecycle expansion.
This release establishes the Manufacturer backbone of xProduct — unifying products, people, governance, and operations into a single, scalable lifecycle platform.
Blockchain-Verified Product Ledger & Certifications
We’ve launched the Product Ledger with blockchain-verified audit trails and certification anchoring — bringing tamper-proof product history, integrity checks, and verified sustainability credentials to xProduct.
🚀 Major Feature Release: Product Ledger & Blockchain Verification
This release introduces a powerful new trust layer to xProduct with a full blockchain-style audit ledger, certification verification, and integrity checking across the product lifecycle.
🔐 Product Ledger & Integrity Verification
- New Product Ledger page with a complete audit timeline of product activity.
- Append-only ledger architecture (tamper-resistant, verification-ready).
- One-click “Verify integrity” to detect any modified or removed ledger entries.
- Automatic hash chaining between ledger events for full historical traceability.
📜 Lifecycle Events Now Tracked
The ledger now records key product lifecycle actions, including:
- ProductCreated
- QrCodeGenerated
- TemplatesSelected
- TemplateUpdated (per template key)
- ProductImageUpdated
Each event is hashed, chained, timestamped, and verifiable.
⛓️ Blockchain Certification Anchoring
- Certifications can now be anchored on-chain with cryptographic proof.
- On-chain status tracking: Pending / Confirmed / Failed / Revoked.
- Transaction hash & block number stored and displayed in the UI.
- Direct links to Polygon (Amoy) block explorer for independent verification.
- Confirmed certifications automatically remain trusted when assigned to multiple products.
🧾 Certification Management Improvements
- Dedicated Certification Library with assign/remove per product.
- Expiry status handling: Valid / Expiring soon / Expired / No expiry.
- Support for annual recertification workflows.
- New Bulk Replace tool to swap expired certifications across many products in one action.
🖥️ New User Interfaces
- Product Ledger timeline UI with payload inspection.
- Ledger access directly from Product & Template pages.
- Verified badge when ledger integrity is intact.
- Certification anchoring controls directly on assigned products.
🛡️ Platform Hardening
- Append-only ledger design (no silent edits or deletions).
- Hash-chained events protect full product history.
- Prepared for future SQL triggers to fully block UPDATE / DELETE at database level.
🔮 What This Enables Next
- Manufacturer accounts with verifiable production history.
- Public trust view of certified & verified products.
- Regulatory-grade Digital Product Passport audit trails.
- Future expansion to supply-chain and batch-level blockchain anchoring.
This release establishes xProduct’s core trust infrastructure — a tamper-proof foundation for compliance, sustainability, and verified product transparency.
Improved Navigation, SEO Pages & Layout Fixes
We’ve just rolled out a new update focused on discoverability, usability, and layout stability across the xProduct platform. This release improves how visitors explore xProduct publicly, while also fixing important navigation issues for logged-in users.
What’s New
🔎 New SEO-Optimised Product Pages
We’ve added a new set of public-facing pages explaining what xProduct is and how it works, designed for both search engines and first-time visitors.
- Digital Product Passports
- Public Product Pages
- QR Codes & Labels
- Sustainability & Compliance
- Integrations (Shopify, WooCommerce, eBay)
These pages clearly explain xProduct’s value for brands, retailers, and future EU compliance — helping customers understand the platform before signing up.
🧭 New Top Navigation Menu
We’ve introduced a new top navigation bar for public users, making it easier to explore:
- Product features
- Industry use cases
- Solutions
- Resources
- Pricing
The navigation is now clearer, faster, and works consistently across desktop and mobile devices.
🛠 Sidebar & Layout Fixes (Logged-in Users)
We’ve fixed an issue where the left sidebar navigation could overlap or clash with page content and dropdown menus.
- Correct stacking and positioning of the sidebar
- No more overlap with top navigation or content cards
- Cleaner layout across dashboards and editor pages
This makes working inside the app smoother and more predictable — especially on complex pages.
Battery template patch
Fixed minor rendering and save consistency issues in the Battery template editor/preview.
- Improved preview refresh reliability after edits.
- Fixed edge cases where empty values could prevent save or display incorrectly.
- General cleanup for better stability across templates.
