Product Updates
See what’s new, what’s improved, and what we’ve fixed.
Manufacturer Plan — 7-Day Free Trial & Stripe Trial Integration
The Manufacturer subscription plan now includes a 7-day free trial. Customers are required to enter card details at signup but will not be charged until day 8. The trial is handled automatically via Stripe and requires no manual intervention. Pricing and detail pages updated to clearly communicate trial terms.
Stripe Trial Integration
- Added 7-day free trial to the Manufacturer plan checkout session via
TrialPeriodDays = 7inStripeController.CreateCheckoutSession. - Trial applies only to the Manufacturer tier — all other plans (Free, Starter, Teams, Enterprise, Agent) are unchanged.
- Added
PaymentMethodCollection = "always"— card is collected at signup to ensure automatic charge fires on day 8. - If customer cancels before day 7 — £0 is charged. Stripe handles this automatically.
- Added
MissingPaymentMethod = "cancel"— subscription cancelled automatically if no valid card is present at trial end. - Existing webhook handling already supports
trialingsubscription status — no webhook changes required.
Pricing Page Updates
- Added full-width green trial banner to Manufacturer card on
/product-pricing— shows "7-Day Free Trial Included" with pill badges. - Added trial summary box under the price — clearly shows free period, charge date, and cancellation terms.
- Updated Manufacturer CTA button from "Learn more" to "Start Free Trial — 7 Days Free".
- Added fine print under CTA — "Card required · No charge for 7 days · Cancel anytime · £150/month after trial".
Manufacturer Detail Page Updates (/pricing/manufacturer)
- Added green trial banner below page heading with three key trust signals.
- Added day-by-day trial breakdown inside pricing card — Today / Days 1–7 / Day 8 / Cancel before day 7.
- Updated CTA button to "Start Free Trial — 7 Days Free" with rocket icon.
- Added Stripe product description — visible at checkout and in customer billing portal.
Registration Page
- Added "7-day free trial" green badge to Manufacturer tier card.
- Added contextual green notice when Manufacturer is selected — confirms no charge today and trial terms.
Booking System, Brochure Download & Home Page UI Enhancements
This release introduces a live demo booking system via Google Calendar, a full brochure download flow with role-based PDF delivery, admin management pages for brochure types and requests, and significant visual improvements to the Home page including an improved How It Works section and feature grid.
Demo Booking System
- Added Google Calendar Appointment Scheduling for demo bookings.
- Integrated Google Meet — unique meeting link generated automatically per booking.
- Configured availability windows, buffer times, and 48-hour minimum notice.
- Created dedicated /demo page with value proposition, "What to expect" cards, and booking CTA.
- Updated navbar and hero "Book demo" button to route to new /demo page.
Brochure Download System
- Added new BrochureTypes, BrochureAssets, and BrochureDownloads database tables.
- Built fully dynamic brochure system — new business types can be added from admin without any code changes.
- Role-specific PDF assigned per business type (Manufacturer, Producer, Importer, Auditor etc.).
- PDFs uploaded directly from admin to Azure Blob Storage under
showcase/marketing/brochures/. - Public /brochure page with full name, business email, business type dropdown, and math CAPTCHA security check.
- Personal email addresses (Gmail, Hotmail etc.) blocked at validation — business email required.
- PDF download link delivered instantly to user's inbox via EmailService.
- All requests logged to DB with IP address, sent status, timestamp, and error tracking.
- Added /admin/brochure-requests page with stats dashboard (total requests, emails sent, failed, unique emails, downloads per type).
- Added /admin/brochure-types page — add new types, toggle active/inactive, upload PDF per type.
- Added brochure teaser section to Home page with glassmorphism CTA card and brochure thumbnail preview.
Home Page UI Enhancements
- Redesigned How It Works section — numbered gradient badges, enriched step descriptions with concrete examples, and FA6 icon tag lines per card.
- Improved Feature Grid — icons moved into dedicated pill containers above titles, hover effects added, EU 2027 deadline badge added to legislation card.
- Fixed typo in QR Labels section ("ton our" → "on our").
Bug Fixes
- Fixed Send Invite button on Manufacturer Users page not firing — Blazor disabled attribute binding corrected from
"@busy"to"@(busy)". - Fixed xproduct.eu domain — removed GoDaddy WebsiteBuilder placeholder DNS record, domain now resolves correctly to Azure App Service with 301 redirect to xproduct.co.uk.
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.
