Skip to main content
Keeping this page current

This page is manually maintained. When deploying a new extension version to Production, add an entry here with the version, date, and key changes (pulled from the extension's CHANGELOG). Entries should be added at the top of the current month's section.

Recent Changes

A consolidated view of recent changes across all Business Central extensions, sorted by date (newest first). Each entry links to the detailed change document where available. For the full history of any extension, see its changelog in the Extension Directory.

March 2026

PO Email Notification v1.2.0.0 -- 2026-03-20

Detailed change document

  • Security: Migrated field ID 50119 to 80100 on Purchase Header, Warehouse Receipt Header, and Posted Whse. Receipt Header to avoid collision with BestwayUSA extension's reserved ID range
  • Security: Migrated Email Scenario enum value 50149 to 80100 for the same reason
  • Fixed: OnLookup concatenation bug -- selecting an email from the address lookup when the field already had a value would embed the search text in the recipient list instead of appending to the existing value (CRITICAL)
  • Fixed: Unguarded Get() in EmailFieldTransferSubscribers would throw a runtime error and block warehouse receipt creation if the source Purchase Order record was missing
  • Changed: Added SetLoadFields to the PurchHeader.Get() call inside the warehouse receipt subscriber loop, reducing SQL projection from 200+ fields to 4
  • Removed: Deleted PO Email Dispatcher codeunit (80102) -- dead code with no callers
  • Migration Notes: Cannot be installed as an in-place upgrade. Uninstall current version first, then install v1.2.0.0 fresh due to field ID schema change.

Service Order Lockout v1.1.1.0 -- 2026-03-20

Detailed change document

  • Changed: Page gate now checks BW-ASSIGNSVCORD instead of BW-CS-SERVICE -- eliminates manual permission assignment at deployment since all 33 CS users already have this role
  • Changed: Release Lock action now permits BW-CS-MANAGERS (21 CS supervisors) in addition to SUPER -- supervisors can release stuck locks without escalating to IT
  • Added: Upgrade codeunit auto-assigns BW-CS-SERVICE to all users with BW-ASSIGNSVCORD for table-level permissions
  • Migration Notes: No manual permission assignment required -- this is the key improvement over v1.1.0.0.

PO Email Notification v1.1.1.0 -- 2026-03-16

Detailed change document

  • Changed: Eliminated one redundant database query per purchase receipt posting -- line count derived in a single pass rather than a separate pre-scan
  • Changed: Added three missing filter fields to SetLoadFields declarations

PO Email Notification v1.1.0.0 -- 2026-03-16

Detailed change document

  • Security: Removed hardcoded Azure AD client credentials from source code -- credentials now stored in BC Isolated Storage via a new setup page
  • Security: Changed GetAccessToken return type from Text to SecretText so the bearer token is never held in a plain-text variable
  • Added: PO Email Setup page for configuring Graph API credentials
  • Added: Comprehensive telemetry -- 28 structured App Insights events covering the full notification lifecycle
  • Changed: Email sending switched from Email.Send (blocking) to Email.Enqueue via [TryFunction] -- email failures no longer roll back purchase posting transactions
  • Fixed: TempEmailResults was missing TableType = Temporary -- BC would attempt to write search results to the database

Service Order Lockout v1.1.0.1 -- 2026-03-16

Detailed change document

  • Added: API pages 52403 and 52404 -- OData v4 endpoints exposing lock state and setup for automated test infrastructure
  • Added: Python functional test suite -- 12 test areas, ~40 test cases via pytest + Playwright
  • Fixed: InsertAllowed = false; DeleteAllowed = false on API pages to prevent unintended record creation or deletion

BC Dialing Application v2.4.0.0 -- 2026-03-11

Detailed change document

  • Fixed: Widened AssetType (Text[20] to Text[100]), PhoneNumber (Text[20] to Text[50]), EmailAddress (Text[20] to Text[250]), and error log fields -- string length constraint errors were blocking recording and transcript sync
  • Fixed: Migrated UseReadySAS from deprecated Text to SecretText parameter type -- eliminates compiler warnings and prevents SAS token from appearing in runtime logs
  • Fixed: Eliminated double Get() + Modify(true) on the success path -- saves 100 DB operations per 50-record batch
  • Added: Configurable batch cap for Job Queue processing (Max Phone Logs Per Run, Max Email Logs Per Run, default 50) -- prevents unbounded processing runs and cascading failures during backlog drain
  • Added: Immediate abandonment for permanent failures -- "Customer Not found" errors set Attempts = 3 immediately instead of burning through 3 retries

BC Dialing Application v2.3.5.0 / v2.3.6.0 -- 2026-03-09

Detailed change documents | v2.3.6.0

  • Fixed: Added Dimension table (BC table 348) to inline Permissions -- final missing permission causing 100% HTTP 403 on new customer creation (CRITICAL -- ISSUE-12 final fix)
  • Added: TryInsertCustomer diagnostic wrapper for remaining permission-related 403 failures

BC Dialing Application v2.3.0.0 through v2.3.4.0 -- 2026-03-06 to 2026-03-09

Detailed change document

  • Fixed: Restructured CU-60003 to complete all HTTP I/O before database writes -- interleaved writes held Customer table locks for 15-40 seconds, causing lock timeouts and "page out of date" errors for CS agents (CRITICAL)
  • Fixed: Eliminated 4 redundant Customer lookups and 4 redundant Modify calls per phone log record
  • Added: Upgrade codeunit (CU-60005) auto-populates NextivaConfig during deployment
  • Changed: All credentials now read from NextivaConfig table instead of hardcoded values (CRITICAL -- Security)
  • Changed: Added 33 inline table permissions across multiple rapid-fix versions (v2.3.1.0 through v2.3.4.0) to resolve HTTP 403 failures on the Nextiva API surface

CSM API Toolkit v1.2.0.0 -- 2026-03-05

Detailed change document

  • Added: Posted Svc. Invoice Header API (Page 56123) for Failed CSM Submissions Resolver workflow
  • Added: itemNo and salesDate computed fields on Posted Svc. Invoice Line API
  • Added: fileUrls computed field (JSON array of Record Link URLs) on Posted Svc. Invoice Header API
  • Added: Test codeunit with 6 automated tests covering the new API surface
  • Changed: GetRecordLinkUrlsJson accepts RecordId directly, eliminating a redundant full-table Get per row

BC Dialing Application v2.2.0.0 / v2.2.1.0 -- 2026-03-04 to 2026-03-05

Detailed change documents | v2.2.1.0

  • Fixed: Removed LockTable() on Customer table -- exclusive table lock from every incoming call caused "page out of date" errors for CS agents (CRITICAL)
  • Fixed: Changed Insert() to Insert(true) on new Customer records -- skipped OnInsert trigger was bypassing standard BC setup
  • Added: Secondary keys on CustomerPhoneLog, CustomerEmailLog, and Customer table for efficient lookups
  • Added: SetLoadFields optimizations across all pages and codeunits

CSM API Toolkit v1.1.0.0 -- 2026-03-02

Detailed change document

  • Added: 6 new API pages (Fault Area, Symptom Code, Fault Code, Resolution Code, Fault Resol. Relation, FA Symptom Relation) for FAQ sync validation
  • Added: Posted Svc. Invoice Line API and Posted Svc. Shipment Line API for data safety testing
  • Added: Extension-level telemetry via Application Insights

February 2026

Service Order Lockout v1.1.0.0 -- 2026-02-27

Detailed change document

  • Fixed: Inverted permission check blocked all CS users with BW-CS-SERVICE role (CRITICAL)
  • Fixed: BW-CS-SERVICE permission set referenced but never defined in the extension (CRITICAL)
  • Fixed: Open By User ID field truncated usernames longer than 30 characters, causing permanent lock-ups
  • Fixed: 10 additional bugs including infinite render loop, dead code, stale lock state, and concurrent initialization race condition
  • Added: Stale lock auto-release after configurable timeout (default: 4 hours)
  • Added: Release Lock action for SUPER users
  • Added: Service Order Lockout Setup page

BC Dialing Application v2.1.0.0 -- 2026-02-26

Detailed change document

  • Fixed: Broke single long-running transaction in CU-60003 into per-record micro-transactions to eliminate Customer table lock contention during Job Queue processing (CRITICAL)
  • Added: Error isolation (TryFunction wrappers) so one failed record does not abort the entire sync batch
  • Added: Extension-level telemetry via Application Insights