Changelog

Latest updates, improvements, and fixes for ExecutESG VSME Preview 6788.

v2.9.3 LATEST

2026-09-09

v2.9.3: Fix Registration Lead Alert & Auto-Provisioning Single Dispatch

  • Registration Alert & Provisioning Deduplication**:
  • Removed duplicate event listeners for `NotifyAdminsOfNewRegistration` and `ProvisionEsgClickOrganization` in `AppServiceProvider` that were already discovered via Laravel Event Discovery.
  • Eliminated duplicate lead alert emails sent to commercial leadership (Jyrki, Mahdi, Jussi) upon new user registration.
  • Added strict single-dispatch test assertions in `NewUserRegistrationNotificationTest` (`Mail::assertSent(..., 1)`) and `EsgClickSyncServiceTest` (`Http::assertSentCount(1)`).

v2.9.0

2026-09-09

v2.9.0: Supplier Invoice Upload Bridge with Persistent Audit Trail

  • Supplier Invoice Upload Bridge with Persistent Audit Trail (#175, #171, #284)**:
  • Drag-and-drop supplier invoice upload supporting PDF, Excel (`.xlsx`, `.xls`, `.csv`), Word (`.docx`, `.doc`), and text files directly in the GHG Emissions Calculator.
  • Automatic emissions classification and factor matching for Scope 1 (fuels, stationary and mobile combustion) and Scope 2 (purchased grid electricity and district heating) with unit normalization.
  • Dedicated persistent audit trail architecture (`document_uploads` and `document_extractions` tables) with secure company-isolated file storage (`storage/app/documents/...`).
  • Cross-module business partner extraction for VSME Module B1 (`b1.q1.business_partners`) linking identified suppliers (e.g. St1 Oy, Helen Oy, Neste).
  • Robust multilingual and European number format parsing supporting both comma decimals and thousand separators.

v2.8.1

2026-09-08

v2.8.1: AuraWorkWell Diagnostic PDF, Token Sharing & Benchmarks Fix

  • AuraWorkWell™ Executive PDF Diagnostic Report (#283)**:
  • Formatted 5-page A4 print-ready diagnostic PDF template.
  • Implemented WorkwellShowcasePdfService using Spatie LaravelPdf and Browsershot.
  • Registered download endpoint GET /workwell-showcase/pdf with one-click download buttons.
  • AuraWorkWell™ Dynamic Diagnostic Report Engine & Token Sharing (#282)**:
  • Added standalone WorkwellReport component supporting public unlisted tokens and authenticated company admin access.
  • Added additive migrations for workwell_gap_scores and workwell_assessments.
  • Implemented exact 2D scatter coordinate system matching the CEO Excel model.
  • Peer Benchmarks Dashboard 500 Error (#220)**: Resolved Undefined variable $peerWidth 500 error on /panel/benchmarks.
  • AuraWorkWell™ Gap Map Alignment (#271)**: Positioned 4-quadrant labels cleanly above and below canvas.

v2.8.0

2026-09-08

Release v2.8.0: Heidi QA Report Enhancements, Dynamic GHG Calculator, Scope 2 Market Factors, and AuraWorkWell Debrief

  • #279 Dynamic Livewire Updates**: Real-time invalidation of memoized computed properties in Livewire 3 ensures newly added, edited, or deleted emissions entries immediately update KPI summary cards without requiring a page refresh.
  • #280 Custom & District Heating Factors**:
  • Added company-scoped custom emission factors so users can input supplier-verified invoice figures.
  • Seeded Scope 2 district heating market-based factors (100% renewable bio-heat, waste heat recovery, residual mixes).
  • Added Finnish district heating guidance tip for Helen, Fortum, Alva, Turku Energia invoices.
  • #281 Scope 2 Renewable Electricity Factors & 1-Click Action**:
  • Seeded official Scope 2 market-based electricity factors: 100% Renewable Electricity (Guarantees of Origin / PPA), 100% Wind, 100% Solar, 100% Hydro, 100% Nuclear, Finland Residual Mix (Energiavirasto), and EU Average Residual Mix.
  • Added 1-click '+ Select 100% Renewable' quick action button that sets contractual market emissions to 0 tCO2e while retaining the physical Finnish grid factor for location-based disclosure.
  • Live instant preview renders side-by-side comparison of Location-Based (Grid) and Market-Based (Contract) with a green 'Net Zero' badge.
  • #272 Energy & Emissions**: Fixed B3-Q1 fuels/electricity mappings, Executive Summary Scope 1+2 calculation, and GHG intensity ratio presentation.
  • #273 Workforce Health & Safety**: Corrected data mapping keys for accidents count, LTIFR rate, and work-related fatalities.
  • #274 Remuneration & Training**: Fixed key mismatch in B10 to populate collective bargaining, minimum wage, gender pay gap, and training metrics.
  • #275 Layout**: Prevented contact info text overlap on the back page.
  • #276 Pagination**: Single-page layout preservation for Environment, Social, and Governance section dividers.
  • #277 Formatting**: Enforced space thousands separators across Finnish/Nordic reports (e.g., '12 500 MWh' instead of comma separators).
  • #278 Key Figures**: Company-level fallback resolution ensures completed DMA material topic counts display accurately.
  • Standardized terminology across the executive showcase: 100% English copy, Theme taxonomy, rotated Y-axis Gap Map, and singular 'Accepted Weakness' classification.
  • Local Tests**: 683 automated tests passed (3,624 assertions).
  • Staging Preflight**: Live E2E test suite verified on https://vsmetest.pomegroup.studio.
  • Production Status**: Successfully deployed to https://executesg.com with health status 200 OK.

v2.7.1

2026-09-07

v2.7.1: Questionnaire Wizard State Retention & Radio-Cards Hotfix

  • Questionnaire Wizard State Retention (#263)**:
  • Fixed an issue where selecting 'Yes' and typing into inner input fields in radio-cards (such as B1.Q5 Sustainability Certificates & Labels) would lose input state on clicking Next.
  • Resolved DOM scraping quote parsing conflict in Alpine x-data on the wizard actions bar.
  • Made Wizard::next() merge partial input updates rather than destructively overwriting the answers array.
  • Added regression test suite covering B1.Q5 state retention and Next navigation.

v2.7.0

2026-09-07

v2.7.0: Native CRM Pipeline, Inbound Lead Alerts & SEO Architecture

  • Native CRM Lead Pipeline (/core/users)**: Integrated commercial lead tracking tabs, interaction notes, activity logs, and assignee delegation.
  • Inbound Lead Alerts**: Automated transactional email alerts to commercial leadership on new user registrations.
  • Dedicated Sustainability Reporting Tool Pillar**: Added dedicated landing page and navigation entries for /sustainability-reporting-tool.
  • SEO Canonical URL Optimization**: Converted legacy duplicate route aliases to canonical 301 redirects; expanded sitemap.xml.
  • Performance**: Eager loaded company reports and answers in admin user listings with defensive relation guards.

v2.6.1

2026-09-04

Security Hardening, Threat Defense & Cross-Tenant Isolation

  • Security: Enforced global user account suspension via CheckSuspended middleware, terminating active sessions and revoking Sanctum API tokens immediately.
  • Security: Locked down GET /api/newsletter-subscribers behind admin auth / sync secrets to eliminate user PII leakage.
  • Security: Restricted POST /api/test-email-trigger to local development and authenticated admins to eliminate email relay spam vector.
  • Security: Added comprehensive cross-tenant isolation and IDOR checks across Report Viewer, XBRL/Excel export, WorkWell Studio, and Compare Arenas.
  • Security: Added NotDisposableEmail validation rule and IP-based rate limiting on registration to block disposable email bot accounts.
  • Security: Added API rate limiting on login and webhook endpoints with secret token verification.

v2.6.0

2026-09-01

v2.6.0

v2.5.0

2026-08-28

Free Readiness Assessment Engine, Super Admin Lead Manager & Integrated Strategy Positioning

  • Assessments: Added free interactive ESG Readiness Diagnostic survey (/readiness) and central Assessment Hub (/assessments) with real-time scoring, module breakdowns, and ROI estimates.
  • Admin: Built Super Admin Assessment Submissions manager (/core/assessments) with KPI cards, tier/industry filtering, CSV export, and detailed response inspection drawer.
  • Marketing: Repositioned homepage Hero to "Sustainability & Strategy. Integrated in One Platform" with direct CTAs for free VS (VSME) onboarding and meeting bookings.
  • Localization: Added complete Finnish translations for hero positioning copy and assessment flows.
  • Act Module: Added strategic elements, multi-tier hierarchy progress rollups, and interactive project cards.

v2.4.7

2026-08-22

v2.4.7 - High-Impact Marketing Localization

  • Marketing Localization (Issue #227)**: Fully translated core marketing pages and shared navigation into Finnish and English.
  • Navbar & Footer**: Dynamic navigation menus, mega-menu descriptions, and footer links.
  • Pricing**: Localized headings, pricing cards, billing toggles, add-on consolidation banner, and FAQs.
  • Contact**: Localized headlines, office address, contact person, and Livewire contact form.
  • About**: Localized mission, Self-Determination Theory philosophy pillars, and leadership team bios.
  • Testing**: Added automated feature tests in MarketingLocalizationTest.

v2.4.6

2026-08-22

Marketing Language Switcher

  • Navbar: Added desktop and mobile Language Switcher (English / Suomi) to the public marketing navbar.

v2.4.5

2026-08-22

v2.4.5 - Smart Report Resolution, Review & Submit Step, and Draft Deletion

  • Dedicated Review & Submit Step**: Replaced abrupt auto-submission on the last question with an interactive summary step displaying completion percentage, counts, and 1-click jump links to any incomplete disclosures before final submission (#226).
  • Draft Report Deletion**: Added a delete action with confirmation prompt for draft reports in the Reports dashboard (/panel/report), allowing users to easily clean up accidental empty drafts.
  • E2E Automation**: Added automated Playwright test suite for report resolution, review & submit step, and draft deletion.
  • Smart Report Resolution**: Prevented silent auto-creation of duplicate draft reports when opening the questionnaire from the sidebar. The wizard now reliably reuses the company's active report.
  • Question Completion Check**: Fixed false positive completion check on table questions (B3-Q1) by ignoring derived 0 totals and evaluating only user-provided source inputs.
  • GHG Calculator Links**: Added target="_blank" and rel="noopener noreferrer" to external GHG calculator entry points to preserve active wizard position.

v2.4.4

2026-08-22

VSME Wizard B3-Q1 Energy Table Fix, Fast Sync & Fennoa Integration

  • Wizard: Fixed 500 PALVELINVIRHE error on Question 18 (B3-Q1 Energy Table) by eliminating concurrent $wire.set calls in Alpine x-effect and auto-computing derived totals on server (Issue #225).
  • Wizard: Migrated all questionnaire inputs to wire:model.live.debounce.300ms to eliminate answer loss and validation race conditions on Next click.
  • Integration: Added Fennoa accounting integration with settings UI, normalizer service, and background synchronization.
  • Act: Fixed Kanban board blade null checks and progress rollup calculations.
  • API: Added token-authenticated /api/newsletter-subscribers endpoint and 1-click test email review trigger.
  • Security: Updated composer dependencies to address security audit advisories.
  • Testing: Added Playwright E2E automation suite for B3-Q1 Energy Table calculations and rapid navigation.

v2.4.3

2026-07-21

About Page Team Update & LinkedIn Profiles

  • Team: Replaced Pasi Papunen with Jyrki Taiminen (Business Director) on the About page with updated bio.
  • Team: Updated team portrait imagery with Jyrki Taiminen's official photo.
  • Team: Added direct LinkedIn profile links for all ExecutESG team members.

v2.4.2

2026-07-18

Super Admin Dashboard Redesign & Database Cleanup

  • Admin: Redesigned the Super Admin Dashboard with KPI stats, signup growth & plan distribution charts, conversion pipeline funnel, activity feed, and alerts/quick actions.
  • Admin: Added db:cleanup-production command to safely remove sandbox, test, or development data while preserving primary customer records.
  • Fix: Resolved lazy loading violation in the dashboard by eager-loading user subscriptions.
  • Fix: Fixed flakiness in AdminReportViewerTest by using explicit names for test users.

v2.4.1

2026-07-13

Blog Links Hotfix

  • feat(api): add guided next-question endpoint + robust required detection by @bemehrbani in https://github.com/ExecutESG/vsme/pull/213
  • fix(api): unblock consolidated reports + detect object-form required … by @mojbala in https://github.com/ExecutESG/vsme/pull/214

v2.4.0

2026-07-01

Netvisor Integration, External API, Glossary, Analytics & Production QA Hardening

  • feat: Visma Netvisor API integration for automated GHG baselining by @bemehrbani in https://github.com/ExecutESG/vsme/pull/205
  • feat: implement external integration API for VSME platform (#206) by @bemehrbani in https://github.com/ExecutESG/vsme/pull/207

v2.3.1

2026-06-09

SEO Redirects & Code Quality Polish

  • fix(deploy): update blog:sync paths to match renamed content files and add guide sync by @bemehrbani in https://github.com/ExecutESG/vsme/pull/200
  • fix(content): replace irrelevant featured image for best-vsme-reporting-software by @bemehrbani in https://github.com/ExecutESG/vsme/pull/201

v2.3.0

2026-05-22

Sustainability Directory, Peer Benchmarks & Onboarding Improvements

  • Directory: Public sustainability directory with searchable company profiles and dynamic badge tiers.
  • Benchmarks: Peer comparison module with AI-digested ESG data from real sustainability reports.
  • Onboarding: Added Company Name and Registration Number capture during user registration.
  • Analytics: GTM dataLayer user identification for GA4 attribution on authenticated pages.
  • Content: Blog sync paths updated to match renamed content files; added guide syncing support.
  • Content: FAQ JSON-LD schema extraction to prevent raw text display on blog pages.
  • UX: Human-readable NACE sector display in directory and company profiles.
  • UX: Fixed geolocation input editing and conditional textarea disabled state.
  • Security: Patched 4 CVEs in Laravel/Symfony dependencies (laravel/framework v12.61.1).

v2.2.2

2026-05-20

Premium Featured Blog Images Enrichment

  • Blog: Selected and integrated 3 premium, contextually matching Unsplash photo cover assets for the latest blog articles (EU Taxonomy, SFDR, and Scope 1-3 Emissions) resolving visual index inconsistency.

v2.2.1

2026-05-20

Branding Refinement & Core Fixes Deployment

  • Brand: Updated top-left header logo text from ExecutESG VSME to ExecutESG OS.
  • Brand: Updated default app layout metadata titles to ExecutESG OS for full platform consistency.
  • Fixes: Deployed full resolved suite including blog links, signup email verification signatures, and trial account gating.

v2.2.0

2026-05-20

SEO Academy Guides & Seeding Automation

  • SEO Academy: Fully dynamic resources guides system serving curated SEO-optimized guides at /resources/guides.
  • Content: Seeded SEO-optimized guides including VSME Data Collection Checklist via MarketingContentSeeder.
  • DevOps: Automated seeder execution (MarketingContentSeeder) inside deployment pipeline scripts/deploy.sh.
  • CI/CD: Made database migrations and Guides test suite compatible with SQLite in-memory databases for seamless CI execution.

v2.1.0

2026-05-19

Organization Member Roles & Invitation Flow Simplification

  • Roles: Simplified organization member roles to Owner and Member exclusively.
  • Auth: Fixed 403 Unauthorized error for newly invited organization members by correctly assigning default base role.
  • UX: Replaced generic password reset email with a branded VSME organization invitation email.
  • Auth: Newly invited users are automatically email-verified to prevent unnecessary friction after first login.

v2.0.0

2026-05-19

VSME 2.0: Marketing Engine & Brand Polish

  • Marketing: High-conversion VSME Reporting Template landing page with hero, value matrix, and FAQ accordion.
  • Content: 4 SEO-optimized pillar blog articles seeded via MarketingContentSeeder (VSME Standard, Free vs Paid, Pricing Benchmark, Tutorial).
  • SEO: Conditional FAQPage and HowTo JSON-LD schema injection for Google Rich Results eligibility.
  • SEO: Responsive CSS overrides for embedded comparison tables on mobile viewports.
  • SEO: Environment-aware robots meta tags — staging/dev set to noindex/nofollow automatically.
  • Analytics: Verified GTM/GA4 global instrumentation across all marketing pages with data-track-event attribution.
  • Brand: Replaced favicon with official ExecutESG Tunnus-Nega symbol (SVG, PNG, ICO) with square aspect ratio.
  • Navigation: Added Free Tools section to footer with link to VSME Reporting Template.
  • Infra: MarketingContentSeeder integrated into production deploy pipeline for automated content provisioning.

v1.10.1

2026-05-17

Analytics Funnel Instrumentation & Tracking

  • feat: add GTM analytics for signup and aha moment tracking by @bemehrbani in https://github.com/ExecutESG/vsme/pull/152

v1.10.0

2026-05-08

Sustainability Weekly Newsletter & Blog Enhancements

  • Blog: Integrated Sustainability Weekly newsletter with 7 backfilled editions from LinkedIn.
  • Blog: Rich author card with LinkedIn profile link and initials avatar for guest contributors.
  • Blog: Newsletter footer CTA with Subscribe on LinkedIn and Explore VSME buttons.
  • Blog: Featured Sustainability Weekly banner on blog index page.
  • SEO: RSS feed at /feed with autodiscovery link tag and branded OG images.
  • Admin: Added author_url and source_url fields to ContentEditor for streamlined publishing.
  • Fix: Category filter labels now visible when selected (brand-primary → brand-navy).
  • Security: Updated phpseclib to fix CVE-2026-44167 (ASN1 DoS vulnerability).

v1.9.1

2026-05-04

Dashboard 3-Pillar Redesign & Admin Enhancements

  • feat: Dashboard 3-pillar redesign and Admin enhancements by @bemehrbani in https://github.com/ExecutESG/vsme/pull/148
  • Release v1.9.1: Dashboard Redesign & Admin Enhancements by @bemehrbani in https://github.com/ExecutESG/vsme/pull/149

v1.9.0

2026-05-04

Major Platform Expansion: Act Module, CMS & Marketing, and Subscription Gating

  • v2.0.0 Marketing Launch: Act Module MVP & Critical Fixes by @bemehrbani in https://github.com/ExecutESG/vsme/pull/134

v-pre-marketing-migration

2026-07-21

v-pre-marketing-migration

  • v2.0.0 Marketing Launch: Act Module MVP & Critical Fixes by @bemehrbani in https://github.com/ExecutESG/vsme/pull/134

v1.8.0

2026-04-09

GDPR Compliance, UI Optimizations & QA Stabilization

  • Added comprehensive GDPR Trust Center with links from the footer.
  • Implemented strict GDPR cookie consent modal.
  • Added User Data Export endpoint for DSAR compliance.
  • Added user hard delete/anonymization capabilities for right-to-be-forgotten.
  • Fixed issues with parsing commas and saving decimal data in wizard numeric fields (Issue #58).
  • Optimized Livewire state syncing for reduced server load resulting in smoother UI generation.
  • Fixed sign-in redirect loops for authenticated users and added profile settings links.
  • Stabilized automated end-to-end testing for all reporting paths, including new C3/C4 taxonomy questions.

🍪 Your Privacy Options

We use strictly necessary cookies to keep you signed in and protect your session. With your explicit consent, we also use analytics cookies (Google Analytics GA4) to improve our service. You can choose to accept all cookies or only allow essential ones. Read our Privacy Policy.