Release Notes
This page documents the major versions of BCCL and the features introduced in each release. Use this information to understand what is available in your version and to plan upgrades.
Client Builds
The client executable (BCCL.EXE) is released more often than the BC app, and a newer client can be used against an older BC app. The client and the app do not have to be on identical version numbers; the extension only enforces a minimum client build. Adopting a client-only build means replacing the downloaded executable, with no BC-side app update or re-deployment.
| Build | Change |
|---|---|
| 3.23.0.374 | Verbose mode (-v) now shows the actual generated SQL statement in the error message when a SQL update or insert fails (for example Incorrect syntax near '='), which identifies the offending column or field. Earlier builds show only the SQL Server message and the parameter list. Client-only change: the BC app may remain at 3.23.0.373. |
| 3.23.0.373 | Published on the on-premises download page on request. |
Client builds are published at https://www.hougaard.com/on-premises/BCCL. If the build you need is not on the page yet, open a support ticket and ask for it to be uploaded. See Client Versions and Updates.
Version 3.0 (Current)
Version 3.0 is a major release that transforms BCCL from a command-line-only tool into a complete integration platform. It introduces server-side task management, service mode operation, and expanded authentication and storage options.
Fixes in the 3.0 Client
Besides the new features, the 3.0 client fixes data-type handling for BigInteger/Int64 field values. In 2.x clients, values outside the Int32 range caused an unhandled System.OverflowException ("Value was either too large or too small for an Int32") when exporting to SQL, typically on tables extended by the Shopify Connector. Because the 3.0 client is backward compatible with the 2.x BC extension, you can upgrade the client on its own to obtain this fix without touching the BC extension. See the overflow entry in Common Issues.
Service Tasks
You can now configure and manage BCCL operations entirely from within Business Central. Service Tasks are stored in BC and include:
- Task configuration: All BCCL parameters are set through BC pages rather than command-line arguments.
- Task execution: An Agent picks up the task and runs it.
- Status tracking: Monitor task progress, completion, and errors from within BC.
- Logging: Detailed execution logs are stored in BC for review and auditing.
Service Tasks make BCCL accessible to BC users who do not have command-line access or expertise.
Automation and Cloning
Automations are reusable Service Task templates. Instead of creating a new task each time you need to run an operation, you define an Automation once and run it as many times as needed.
- Automation classification: Organize Automations by type and purpose.
- Cloning: Each execution creates a Clone of the Automation, preserving the original template.
- Clone tracking: Every Clone records its execution status, start time, end time, and results.
This pattern separates the task definition from its execution history, making it easy to manage recurring operations.
SQL Bundle Builder
The SQL Bundle Builder is a report in the BCCL extension that generates complete SQL replication packages. When you run it, you get:
- SQL Server table creation scripts that match the structure of selected BC tables.
- Mapping files for each table.
- BCCL export commands preconfigured to stream data from BC into the SQL tables, as
FirstRunBCCL.cmd(full load) andRunBCCL.cmd(incremental sync).
The SQL Bundle Builder provides a turnkey solution for replicating Business Central data into SQL Server for reporting, analytics, or integration with other systems.
Service-to-Service (S2S) Authentication
Version 3.0 adds S2S authentication using Azure AD client credentials. This enables fully unattended operation without user interaction:
- No browser required: S2S uses a client ID and client secret to obtain tokens programmatically.
- Ideal for automation: Scheduled tasks, CI/CD pipelines, and Windows services can authenticate without human intervention.
- Token management: BCCL handles token acquisition and refresh automatically. If an operation runs long enough that a token approaches expiration, BCCL refreshes it transparently.
S2S complements the existing Basic and OAuth authentication methods, giving you the right tool for every scenario.
Windows Service Mode
BCCL can now run as a Windows service, operating as an Agent that connects to Business Central and listens for Service Tasks:
- Agent registration: The service registers as an Agent in BC and appears in the Available Agents factbox.
- Task polling: The Agent periodically checks BC for pending tasks assigned to it.
- Automatic execution: When a task is found, the Agent executes it and reports results back to BC.
- Event logging: Service mode logs to the Windows Event Viewer under the Application log with source "BCCL."
- Configuration: Service settings are stored in
bccl_service.json.
Service mode is designed for always-on integration scenarios where BCCL runs continuously on a server.
Available Agents Factbox
The BCCL page in Business Central includes a new Available Agents factbox that shows:
- All registered Agents and their current status (online, offline).
- The last time each Agent checked in.
- The Agent ID for identification and troubleshooting.
This gives you visibility into your BCCL infrastructure directly from within BC.
FTP/SFTP/FTPS File Storage
Version 3.0 supports remote file storage for import and export operations:
| Storage Type | Description |
|---|---|
| LocalFile | The default. Reads from and writes to the local file system. |
| FTP | Unencrypted File Transfer Protocol. |
| SFTP | SSH File Transfer Protocol (encrypted). |
| FTPS | FTP over TLS/SSL (encrypted). |
Remote file storage is configured with the --filestorage and --filestoragesettings parameters. This is useful when BCCL needs to exchange files with external systems that provide FTP/SFTP access.
Enhanced Request Builder
The Request Builder in version 3.0 has been significantly enhanced:
- Script generation: Download complete script bundles (ZIP) containing batch, PowerShell, and Bash scripts.
- Credential setup: Generated scripts include authentication setup commands.
- Mapping integration: The Mapping Builder is fully integrated and the mapping file is included in the ZIP bundle.
- Command preview: Real-time preview of the generated command line as you configure options.
Cross-Platform Support
BCCL 3.0 runs on:
- Windows (x64) -- full support including Windows service mode.
- macOS (x64 and ARM) -- command-line operation.
- Linux (x64) -- command-line operation.
The BC extension generates scripts for all three platforms in every script bundle.
Upgrading from 2.x to 3.0
Compatibility
BCCL 3.0 is designed for a smooth upgrade:
- The 3.0 client executable is backward-compatible with the 2.x BC extension. You can upgrade the client first and continue using the 2.x extension without disruption.
- The 3.0 BC extension requires the 3.0 client executable for new features such as Service Tasks and S2S authentication. The 2.x client will not work with the 3.0 extension's new features.
Recommended Upgrade Path
To minimize risk and avoid service interruption, follow this two-step approach:
Step 1: Upgrade the Client Executable
- Download the BCCL 3.0 client from
https://www.hougaard.com/on-premises/BCCL. - Replace the existing BCCL 2.x executable with the 3.0 version on every machine, server, and scheduled job that runs the client.
- Run your existing scripts and verify that all operations continue to work correctly.
At this point, you are running the 3.0 client with the 2.x BC extension. All existing functionality works as before. This step alone also resolves the System.OverflowException on BigInteger/Int64 fields seen with 2.x clients exporting to SQL.
Step 2: Upgrade the BC Extension
- Install the BCCL 3.0 extension in Business Central (from AppSource or a direct install).
- The extension upgrade should preserve your existing configuration.
- Verify that existing operations still work.
- Begin using new 3.0 features: Service Tasks, SQL Bundle Builder, S2S authentication, and service mode.
What Changes
| Area | 2.x Behavior | 3.0 Behavior |
|---|---|---|
| Task management | Command-line only | Command-line or Service Tasks in BC |
| Authentication | Basic, OAuth | Basic, OAuth, S2S |
| File storage | Local files only | Local, FTP, SFTP, FTPS |
| Script generation | Not available | Request Builder generates ZIP bundles |
| Service mode | Not available | Windows service with Agent support |
| SQL replication | Manual setup | SQL Bundle Builder automates setup |
| Platform support | Windows only | Windows, macOS, Linux |
Breaking Changes
There are no breaking changes in the upgrade from 2.x to 3.0. All existing command-line parameters, mapping files, and scripts continue to work without modification.
Version 2.x
Version 2.x was the original release of BCCL, establishing the core data operations and command-line interface.
Core Data Operations
| Task | Description |
|---|---|
| GETDATA | Export records from a BC table to a file. |
| PUTDATA | Import records from a file into a BC table (upsert). |
| DELETEDATA | Delete specific records by primary key. |
| DELETEALL | Bulk-delete records matching a filter. |
Data Formats
Version 2.x supported the following data formats:
- JSON -- arrays of objects.
- CSV -- with configurable delimiter, quote character, and headers.
- XML -- with configurable record element path.
Field Mapping
The mapping file system was introduced in 2.x:
- Field selection (include/exclude).
- Column renaming via MappedName.
- Validation flags for import.
- Format strings for dates and numbers.
- DimensionFromSet() function for dimension extraction.
Authentication
Version 2.x supported two authentication methods:
- Basic authentication with username and password (or Web Service Access Key).
- OAuth device code flow with Azure AD App Registration.
Command-Line Operation
Version 2.x was a command-line-only tool. All operations were initiated from a terminal or script. There was no service mode, no Service Tasks, and no script generation.
Request Builder (2.x)
The Request Builder was available in 2.x as a graphical command builder within BC, but without the script generation and enhanced credential handling added in 3.0.
Version History Summary
| Version | Key Additions |
|---|---|
| 3.0 | Service Tasks, SQL Bundle Builder, S2S auth, Windows service mode, FTP/SFTP/FTPS, script generation, cross-platform |
| 2.x | Core tasks (GETDATA, PUTDATA, DELETEDATA, DELETEALL), mapping files, JSON/CSV/XML, Basic and OAuth auth |
Checking Your Version
To determine which version of BCCL you are running, execute BCCL without any arguments:
BCCL.EXE
The output displays the version number. Include this information when reporting issues or checking compatibility with the BC extension.
For the BC extension version, check in Business Central under Extension Management and look for the BCCL extension.
Staying Up to Date
- Client updates are available from
https://www.hougaard.com/on-premises/BCCL(beta builds under/beta/). Download and replace the executable. The client does not update itself. - Extension updates are distributed through Microsoft AppSource or direct installation. Whenever the BC extension is updated, re-download and update
BCCL.EXEas well so that the client and the extension stay in sync; otherwise operations fail with a "Version mismatch" error. - While your license is valid, all upgrades are included at no additional cost.
- Check the hougaard.com website periodically for release announcements and update instructions.