5.0 Release Notes - 25th June 2018

OAuth token support for API endpoints

FRENDS now supports OAuth bearer token authentication for API processes. This means that you can register the identity management (IDM) solution you are already using for managing and authorizing users, e.g. Azure AD, with FRENDS. After this, developers only need to register their applications with the IDM and get access tokens from there. These tokens can then be used in FRENDS API calls as bearer authentication headers, allowing easy access to them without managing the clients or keys in FRENDS.

You manage what APIs a token can be used to call with API access policies. The policies are applied per API and environment, and allow you to easily define rules for e.g. defining that only users in specific roles in your IDM can call an API.

FRENDS Identity Server (discontinued)

In some situations, you may not have a ready IDM solution or the client management features of the IDM may be difficult to use. For these cases, FRENDS also comes with a separate FRENDS Identity Server component. It is essentially a separate web site that you can use for managing users, OAuth client registrations, API scopes etc. You can also integrate it with your existing OpenID provider to reuse the same users.
Note: This feature has since been discontinued and is not available

New environment variable editor

The environment variable editor has now been rewritten to be more performant and easier to use, especially if you have hundreds of variables.

You can now see the values for a specific variable across all environments at a glance. The new editor now also shows if a variable is actually being used, and can show links to the processes in different environments using the variable.

Runs on .NET framework 4.7.1

FRENDS now targets the latest .NET framework version 4.7.1. This update means that FRENDS now supports many important features, like TLS 1.2 or .NET Standard 2.0 class libraries.

Support for .NET Standard 2.0 tasks

FRENDS now supports Tasks from .NET Standard 2.0 class libraries. This means you can use the latest .NET features, and the Task libraries will be reusable also with .NET Core and run on non-Windows hosts as well. 

This change has no effect on processes: they will be compiled and executed on the full .NET Framework 4.7.1, and old Task libraries targeting .NET 4.5.2 can be used alongside Task libraries targeting .NET standard 2.0. 

The change is mostly for future-proofing: FRENDS will also support .NET Core in the near future. Then you will be able to choose to run an Agent either on the full .NET framework or .NET Core. The .NET Core Agent could be used especially for more advanced deployment scenarios, e.g. deploying Agents in Docker containers.

However, the .NET Core Agent will only be able to use Task libraries targeting .NET Standard 2.0. Therefore Task libraries should start targeting .NET Standard 2.0, if possible. Then they can run on both the .NET Framework Agent as well as the .NET Core version.

Still, Task libraries targeting the full .NET Framework will be supported: they can run on the full .NET Framework Agent also in the future.

Other improvements

There are also many other improvements for making developing and managing FRENDS easier, for instance:

  • You can test individual tasks separately right in the process editor to see how they would work with given parameters

  • You can now download a smaller, pre-configured agent installer package without the bundled LocalDB for advanced deployment scenarios

  • You can configure a task (or any other shape) to skip all result and parameter logging to make sure no sensitive information will ever be logged

  • Added two validations for interacting with Subprocesses:

  • You can not delete a Subprocess that is being used by another Process.

  • You can not deploy a Process before all Subprocesses used by that Process are deployed to the target Environment.

Upgrade notes 

  • As FRENDS now requires .NET Framework 4.7.1, you may need to install that separately before upgrade.

  • During the upgrade from 4.x, all environment variable data will be migrated to the new format used by the new editor. If you have a lot of environment variables, upgrading the data may take several minutes.

  • Task NuGet library version handling has been changed to be more strict from 5.0 onwards: now exact versions of referenced libraries are required when running Processes. This could block some existing Processes from being deployed after the update if the exact library versions are not found. For hosted environments, we check and fix the issues during upgrade.
    For on-premise installations, the upgrade process should also check and fix these missing references automatically. However, if you have a lot of Processes, the check may take a while and block the installation, so for on-premise installations, you may want to run the check before the actual update, to make sure it will go smoothly. To do this, run the Frends.AvailableTaskDeployer.exe (in the folder by the same name) with the check parameter and follow the instructions.

5.0.1 - 26th June 2018

Fixes for UI issues, especially fix for the validation error when trying to save an API key

5.0.2 - 22nd August 2018

UI fixes and improvements, such as word wrapping and search in input editors. Now you can also add an API trigger to an existing Process, and filter the dashboard widgets by Process tags.

5.0.3 - 29th August 2018

UI fixes, especially Subprocess creation works again. Now you can also rebuild a Process right from the Process list, e.g. after a FRENDS update with a bugfix to the internal libraries, and you want to switch the Processes to use the latest versions of the libraries.

5.0.4 - 24th September 2018

Fixed validation of environment variable groups on deployment to allow using only the group name, so if you use references like #env.group1["key"], you can again deploy the process (as long as environment variable "group1" exists). Also fixed:

  • import to consider required subprocesses and environment variables correctly

  • initializing existing HTTP triggers with CORS options

  • many more UI issues, e.g. new environment variables types are now set correctly

In addition, you can now also import Processes as drafts if they cannot be directly imported, e.g. due to missing environment variables or task versions. This allows you to fix the Process in draft mode.

Did this answer your question?