kenaflow Change Log

All notable changes to kenaflow will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[4.0.36] - 2024-04-09

added

  • Configure SMTP server settings on workflow level in _wfconfig.ps1

[4.0.35] - 2024-02-02

Changed

added

[4.0.34] - 2023-11-29

Changed

  • New Exchange WebService assembly for new Exchange versions

added

  • Deliver "Inline" attachments to workflow scripts for Exchange mail workflows

[4.0.33] - 2023-04-26

Changed

  • VS Code Update v 1.77.3

Fixed

  • With QuickFix 5 we publish a bug fix for "RER" parallel execution: PowerShell session management has had an error.
  • With QuickFix 6 we publish an improved handling for parallel RER execution.
  • When kenaflow is stopped during update a flag file is created on disk that should be removed automatically. Sometimes the file is not removed. This fix removes the file afterwards.

[4.0.32] - 2023-03-15

Changed

  • VS Code Update v 1.74.0

Fixed

  • Integration of M365 modules fixed.
  • Remove .net assmebly bindings from all files *.dll.config and *.exe.config during update
  • Bugfix: Parameter -ItemID of cmdlet Invoke-Kenaflow was not used with State Machine WF.

[4.0.31] - 2022-09-02

Changed

  • Write workflow config file full path to log in case of reading/parsing errors

Fixed

  • kenaflow does restart after global config change (--editconfig) when running as Windows service

[4.0.30] - 2022-08-11

Added

  • Overwrite email subject prefix and suffix by workflow config, if allowed by admin via global config (customer requested feature)

[4.0.29] - 2022-07-26

Added

  • Integrate M365 related PowerShell modules... AzureAD, MS Teams, Exchange Online, SharePoint Online, PnP PowerShell. See cmdlet "Import-KFModule" (customer requested feature)

[4.0.28] - 2022-07-12

Fixed

  • Bug fix in feature "Hash based flood protection for error mails."

Added

  • Run kenaflow as Windows service instead as scheduled task.

[4.0.28] - 2022-06-21

Fixed

  • Bug fix in feature "Hash based flood protection for error mails."

[4.0.27] - 2022-06-15

Added

  • "Main Mode Monitor": Can be enabled by global config. The main mode (--run) will provide an http(s) endpoint with some basic information that can be monitored.

[4.0.26] - 2022-05-31

Added

  • New SMTP client: we use open source library MailKit that supports STARTTLS. It's not activated by default but can be activated in global configuration: set parameter useLegacySmtpSender to false.
  • New program mode --installcleanuperrorlisttask to install a Windows Scheduled Task for cleaning up workflow error lists.
  • New settings OrderedStates and RepeatStates for SharePoint State Machine workflows
  • For Send-KFMail there is a new switch parameter: If not 1 recipient for TO and/or CC and/or BCC was specified you normally get an terminating error. With the new switch you only will get a warning.

Changed

  • We fixed a nasty typo in global configuration where all SMTP related parameters were started smpt. Starting with version 4.0.26 we rename the parameters and move the values from the old parameters during update. The old parameters are removed.
  • We changed the content of the template files for new workflows to contain less technical names, like Workflow Config (new) instead WFconfig (old)
  • Also in the template files for new workflows we added default names for the SharePoint permission sets, like kenaflow Create.
  • kenaflow is normally started by Windows Task Scheduler. It's a long running task with a single instance. It's not started twice. But the Task Scheduler checks every x minutes that kenaflow runs. We changed the check time from 5 minutes to 1 minute. This is not an impact to the performance of the machine!
  • Because Exchange Online Basic Authentication is deprecated we changed the authentication to "app-only" credentials using ClientID and ClientSecret.

Fixed

  • Bug fix in Send-KFMail
  • Bug fix for Set-KFFinalCheckin

[4.0.25] - 2022-03-11

Added

  • new parameters for ConvertTo-KFCaml
  • new parameters for Send-KFMail

[4.0.24] - 2022-01-25

Added

  • disable a single workflow by creating a file named ".disabled" in the workflow folder
  • cleanup saved e-mails after 30 days. (It's belongs to the debug feature that stores send by Send-KFMail mails in a folder instead really sending them...)

[4.0.23] - 2021-11-07

Added

  • Hash based flood protection for error mails.
  • Basic implementation for Serilog as alternative logging. This is disabled by default.

[4.0.22] - 2021-11-04

Added

  • Export Barcodes as SVG with New-KFBarcode
  • Inject pre-defined variables in workflow scripts
  • Add global configuration setting: instanceName

[4.0.21] - 2021-10-21

Changed

  • Update PnP-Core to 1.4
  • Update PnP-Framework to 1.7
  • Update PnP-Powershell to 1.8
  • Update VSCode to 1.16.0

[4.0.20] - 2021-10-08

Fixed

  • Fixed bug in global config reader/parser

[4.0.19] - 2021-06-09

Fixed

  • Fixed bug that occured when debugging a "ustructured data" remote event in a SharePoint workflow.

[4.0.18] - 2021-05-24

Fixed

  • Fixed bug in CRON based execution

[4.0.17] - 2021-04-12

Fixed

  • Bug in cmdlet Start-KFSharePointModule fixed
  • In some cases the registration of HTTP endpoints fail without any plausible reason. We have implemented a workaround for this anyway.

[4.0.16] - 2021-03-05

Added

  • Error reporting web hook (global configuriation / Monitoring)
  • Free disk space monitoring (global configuriation / Monitoring)

Changed

  • In cmdlet Send-KFMail duplicate mail addresses in TO and CC are filtered. But TO and CC are handled separately!

[4.0.15] - 2021-03-03

Fixed

  • Bug fix in PDF creation

[4.0.14] - 2021-02-27

Fixed

  • Fixed another memory leak bug.

[4.0.13] - 2021-02-01

Fixed

  • Memory bug fixed

[4.0.12] - 2021-01-11

Added

[4.0.11] - 2020-12-24

Added

  • New Cmdlets Update-KFExcelFile and Import-KFExcelFile
  • New cmdlets Set-KFObject, Get-KFObject and Remove-KFObject
  • New workflow option PreProcessingScript and PostProcessingScript

[4.0.10] - 2020-12-18

Added

  • New Cmdlet New-KFExcelFile

[4.0.9] - 2020-11-10

Added

  • New option for "additional config file" in _wfconfig.ps1 for serialization control

[4.0.8] - 2020-11-09

Fixed

  • Bugfix in licensing component. License root cert check failed with this previsous installer because the root cert was not installed correctly.

Changed

  • VSCode: 1.5.1.0
  • PnP: 3.26.2010.0 October 2020

[4.0.7] - 2020-09-28

Changed

  • Now a runtime culture can be set in global configuration ("culture"). This culture is by default "en-US" (LCID: 1033). Is is used in debug mode and automatic mode. Before the users culture could be different to the service accounts culture.

Added

  • Pipeline output can know be written to the log using global configuration setting "logOutput". Default: false

[4.0.6] - 2020-09-14

Fixed

  • Fixed bug in storage: wrong passphrase used if additional passphrase is specified.

Added

  • New build branch for diagnostics introduced

[4.0.5] - 2020-07-29

Changed

  • PnP PowerShell update: now version 3.22.2006.2 is included (embedded)
  • Embedded VSCode updated to version 1.47.2
  • New command line parser for performance improvements
  • New native data serializers for performance improvementsj

Fixed

  • Meaningful error message if there are duplicate entries in the State List for State Machine Workflows

[4.0.4] - 2020-01-31

Changed

  • VSCode updated to version 1.43.2
  • PNP updated to 3.19.2003 (March 2020)

[4.0.0] - 2020-01-31

NEW MAJOR VERSION.

Changed

  • As a new prerequisite kenaflow 4.0 now requires .NET Framework 4.8.
  • kenaflow now supports "Agents" for remote PowerShell execution in a highly secure fassion from within workflows

Added

  • kenaflow Agent - See doc.

[3.0.17] - 2019-12-12

Added

  • Now there is a new remote event receiver checker in the main mode. This is enabled by default but can be disabled in the global configuration.

[3.0.16] - 2019-12-11

Fixed

  • There was a (newly introduced) bug in the global remote event receiver program mode.

[3.0.15] - 2019-11-26

Fixed

  • The was a bug when debugging a state machine workflow. When trying to debug a script that was not correctly registered as a state script this causes an execution of all correctly registered state scripts.

[3.0.14] - 2019-09-17

Changed

  • Before this version workflows and (SharePoint state machine workflow) states have been enabled/disabled by using config property Ignore. This was replaced by property Enabled. It is more handy. Ignore will work also but you get a warning in the log.
  • program switch --registersslcertforrer was renamed to --confighttp. The old one will work too.
  • with --confighttp it's now possible to bind the SSL certificate to an IP/port or hostname/port endpoint.
  • In global configuration you can control the RER endpoint much better. you can specify a hostname with rerHost or an IP address with rerHostIp. If nothing is specified the http endpoints are bound to all IP addresses for the given port. If a host is specified with rerHost the http endpoint is bound to this host name with server name indication feature of Windows >= 8 / Windows Server >= 2012. SNI is not available on Windows < 8 / Windows Server < 2012. Currently the OS version is not checked by the engine.

[3.0.13] - 2019-09-17

Added

This version is kind of a major release...

Changed

  • Massive performance improvements. We refactored some thread handling and synchronization code.
  • We included Cronos library (https://github.com/HangfireIO/Cronos/blob/master/LICENSE) for CRON handling and remove our own CRON parser.
  • Package update for several embedded Open Source libraries.
  • Embedded Visual Code update to 1.38

[3.0.12] - 2019-09-08

Changed

  • Now there can be multiple "custom libraries" in _wfconfig.ps1.

[3.0.11] - 2019-08-20

Fixed

  • Bug fix in permission cmdlets: error occurred while resolving user objects to principal objects that are invalid in SharePoint

[3.0.10] - 2019-07-29

Fixed

  • Bug fix in new ClientConnection wrapper (introducted in v3.0.8).

[3.0.9] - 2019-07-26

Fixed

  • Bug fix in email workflow configuration: if an email workflow is not connected to PowerShell it will throw an error during _wfconfig.ps1 analyzation. This bug was introduced with an improvement in v3.0.6

Changed

  • Item recheck for SharePoint list and state machine workflows has been changed. After the configured amount of time the ids of the list items matching the workflow query are reloaded, instead of checking each item before processing it (old machanism).

[3.0.8] - 2019-07-25

Fixed

  • We noticed a strange behaviour of Microsoft.SharePoint.Client.dll - the official client library for .NET for SharePoint. In case of timeouts it's not possible to execute the query again because after the exception the query is empty. Calling ClientContext.Execute() a second time after an exception is not working. So created a wrapper class arount ClientContext to handle this "bug" - as we call it.

Changed

[3.0.7] - 2019-07-24

Fixed

  • During email send it can happen that an exception of type "PropertyOrFieldNotInitializedException" is thrown when evaluating accounts. This has been fixed. But sometimes it can occure if an SharePoint account is damaged.

Changed

  • If a workflow fails to connect to SharePoint multiple times the workflow will stop know.
  • NuGet package updates

Added

  • program switch --ulsviewer to start the ULSViewer with kenaflow live logs from the correct log file location.### Added

[3.0.6] - 2019-07-18

Changed

  • for performance improvements we have changed the way we deliver necessary resources. they are embedded in kenaflow.data.dll. Before we compressed them but thats not so fast and we decided to store resources uncompressed. After some testing it feels good!

[3.0.5] - 2019-07-17

Changed

  • In a SharePoint workflow of type list or state machine with the operation mode "last modified" the kenaflow field is used to persist some information the processing of the current item. In case of an error in the workflow script it could happen that this item is not processed again because the engine saves the processing state in the kenaflow field and skips the item next time. Beginning with kenaflow 3.0.5 we do not update the kenaflow field value in this cases:
    • An script error occured
    • An error was not handled by an error handling script or was re-thrown by the error handling script
    • The item processing was stopped during debug in a PowerShell debugger

Added

  • For performance improvements kenaflow now saves a serialized version of the global configuration file - kenaflow.conf. This file is named kenaflow.ser.conf. It getting updated by the engine if necessary.

[3.0.4] - 2019-07-08

Added

  • New feature for _wfconfig.ps1: With setting RunCondition it is possible to stop a workflow in an early state of processing using the config list. (General Workflow Settings)

Changed

  • for SharePoint state machine workflow there is no longer a need to have a script file for ignored states
  • for SharePoint state machine workflows an error is thrown if a (not ignored) state in the _wfconfig.ps1 file has no entry in the SharePoint state list.
  • for SharePoint state machine now there is a check for invalid characters in the state key, because they state keys are used for file names. If such a character is found - e.g. \ the _wfconfig.ps1 is invalid and the workflow will not execute.

Fixed

  • Bug fix in error handling during debug related to Stop-KFScript.

[3.0.3] - 2019-06-26

Added

  • New feature for Send-KFMail: Parameter -RedirectMailMessage was added to allow you to redirect processed mails in an email workflow. You can overwrite the mail properties by specifying the cmdlet parameters, e.g. -To -Subject -Body -IsHtmlMail -From -CC. If they are not specified in the cmdlet call they are taken from the redirected email.

[3.0.2] - 2019-06-25

Changed

  • Email data in Mail workflows now are System.Net.Mail.MailAddress with DisplayName and Address

Added

  • Email data in mail workflows new contain "Recipients" and "Mail Headers".

Fixed

  • Bug fix in error handling: Errors that occured in the debugger were not visible in the console output window

[3.0.1] - 2019-06-24

Changed

  • In all workflows the config list default values from _wfconfig.ps1 are loaded before the SharEPoint list - if specified - is loaded. The default values are overwritten by the values loaded from the config list.

[3.0.0] - 2019-06-03

Added

  • Remote Event debugging
  • Return data from unstructured remote events
  • Return message from link remote event

Changed

  • Remove some RER settings from _wfconfig.ps1 because they cannot be configured at workflow level (RER Host, RER Use SSL, RER Port)
  • Objects that are written to the PowerShell pipeline that reach kenaflow as last recipient are not written to the file log. This is for performance reasons.
  • Removed "ClientContext" parameter from cmdlets Add-KFPermission, Set-KFPermission, Remove-KFPermission and Update-KFPermission. If an list item is specified using parameter "Item" it's client context is used.
  • Refactored error handling

Fixed

  • Unknown placeholder could lead to long-running workflow scripts.

[3.0.0] - 2018-05-01

Start of implementation of kenaflow 3.0