

# Release: AWS IoT Greengrass Core v2.6.0 software update on June 27, 2022
<a name="greengrass-release-2022-06-27"></a>

This release provides version 2.6.0 of the Greengrass nucleus component, new AWS-provided components, and updates to AWS-provided components.

**Release date:** June 27, 2022

**Release highlights**
+ **Wildcards in local publish/subscribe topics** – You can now use MQTT wildcards when you subscribe to local publish/subscribe topics. For more information, see [Publish/subscribe local messages](ipc-publish-subscribe.md) and [SubscribeToTopic](ipc-publish-subscribe.md#ipc-operation-subscribetotopic).
+ **Client device shadow support** – You can now interact with client device shadows in custom components and sync client device shadows with AWS IoT Core. For more information, see [Interact with and sync client device shadows](work-with-client-device-shadows.md).
+ **Local MQTT 5 support for client devices** – You can now deploy the EMQX MQTT 5 broker to use MQTT 5 features in communication between client devices and a core device. For more information, see [MQTT 5 broker (EMQX)](mqtt-broker-emqx-component.md) and [Connect client devices to core devices](connect-client-devices.md).
+ **Recipe variables in component configurations** – You can now use specific recipe variables in component configurations. You can use these recipe variables when you define a component's default configuration in a recipe or when you configure a component in a deployment. For more information, see [Recipe variables](component-recipe-reference.md#recipe-variables) and [Use recipe variables in merge updates](update-component-configurations.md#merge-configuration-update-recipe-variables).
+ **Wildcards in IPC authorization policies** – You can now use the `*` wildcard to match any combination of characters in interprocess communication (IPC) authorization policies. This wildcard enables you to allow access to multiple resources in a single authorization policy. For more information, see [Wildcards in authorization policies](interprocess-communication.md#ipc-authorization-policy-wildcards).
+ **IPC operations that manage local deployments and components** – You can now develop custom components that manage local deployments and view component details. For more information, see [IPC: Manage local deployments and components](ipc-local-deployments-components.md).
+ **IPC operations that authenticate and authorize client devices** – You can now use these operations to create a custom local broker component. For more information, see [IPC: Authenticate and authorize client devices](ipc-client-device-auth.md).

**Topics**
+ [Public component updates](#greengrass-2022-06-27-components)

## Public component updates
<a name="greengrass-2022-06-27-components"></a>

The following table lists AWS-provided components that include new and updated features.

**Important**  <a name="component-patch-update-note"></a>
<a name="component-patch-update"></a>When you deploy a component, AWS IoT Greengrass installs the latest supported versions of all of that component's dependencies. Because of this, new patch versions of AWS-provided public components might be automatically deployed to your core devices if you add new devices to a thing group, or you update the deployment that targets those devices. Some automatic updates, such as a nucleus update, can cause your devices to restart unexpectedly.   
<a name="component-version-pinning"></a>To prevent unintended updates for a component that is running on your device, we recommend that you directly include your preferred version of that component when you [create a deployment](create-deployments.md). For more information about update behavior for AWS IoT Greengrass Core software, see [Update the AWS IoT Greengrass Core software (OTA)](update-greengrass-core-v2.md).


| **Component** | **Details** | 
| --- | --- | 
| Greengrass nucleus | Version 2.6.0 of the [Greengrass nucleus](greengrass-nucleus-component.md) is available.<a name="changelog-nucleus-2.6.0"></a>**New features**<br />   Adds support for MQTT wildcards when you subscribe to local publish/subscribe topics. For more information, see [Publish/subscribe local messages](ipc-publish-subscribe.md) and [SubscribeToTopic](ipc-publish-subscribe.md#ipc-operation-subscribetotopic).   Adds support for recipe variables in component configurations, other than the `{{component_dependency_name}}:configuration:{{json_pointer}}` recipe variable. You can use these recipes variables when you define a component's `DefaultConfiguration` in a recipe or when you configure a component in a deployment. To enable this feature, set the [interpolateComponentConfiguration](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-interpolate-component-configuration) configuration option to `true`. For more information, see [Recipe variables](component-recipe-reference.md#recipe-variables) and [Use recipe variables in merge updates](update-component-configurations.md#merge-configuration-update-recipe-variables).   Adds full support for the `*` wildcard in interprocess communication (IPC) authorization policies. You can now specify the `*` character in a resource string to match any combination of characters. For more information, see [Wildcards in authorization policies](interprocess-communication.md#ipc-authorization-policy-wildcards).   Adds support for custom components to call IPC operations that the Greengrass CLI uses. You can use these IPC operations to manage local deployments, view component details, and generate a password that you can use to sign in to the [local debug console](local-debug-console-component.md). For more information, see [IPC: Manage local deployments and components](ipc-local-deployments-components.md).   <br />**Bug fixes and improvements**<br />   Fixes an issue where dependent components wouldn't react when their hard dependencies restart or change states in certain scenarios.   Improves error messages that the core device reports to the AWS IoT Greengrass cloud service when a deployment fails.   Fixes an issue where the Greengrass nucleus applied a thing deployment twice in certain scenarios when the nucleus restarts.   Additional minor fixes and improvements. For more information, see the [releases](https://github.com/aws-greengrass/aws-greengrass-nucleus/releases) on GitHub.    | 
| MQTT 5 broker (EMQX) | Version 1.0.0 of the new [EMQX MQTT 5 broker component](mqtt-broker-emqx-component.md) is available.**New features**<br />   Adds support for the local EMQX MQTT 5 broker. Client devices can connect to this MQTT broker to communicate with a core device using MQTT 5 features.    | 
| Shadow manager | Version 2.2.0 of the [shadow manager component](shadow-manager-component.md) is available.<a name="changelog-shadow-manager-2.2.0"></a>**New features**<br />   Adds support for the local shadow service over the local publish/subscribe interface. You can now communicate with the local publish/subscribe message broker on [shadow MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html#reserved-topics-shadow) to get, update, and delete shadows on the core device. This feature enables you to connect client devices to the local shadow service by using the MQTT bridge to relay messages on shadow topics between client devices and the local publish/subscribe interface. <br />This feature requires v2.6.0 or later of the [Greengrass nucleus component](greengrass-nucleus-component.md). To connect client devices to the local shadow service, you must also use v2.2.0 or later of the [MQTT bridge component](mqtt-bridge-component.md).   Adds the `direction` option that you can configure to customize the direction to sync shadows between the local shadow service and the AWS Cloud. You can configure this option to reduce bandwidth and connections to the AWS Cloud.    | 
| Client device auth | Version 2.2.0 of the [client device auth component](client-device-auth-component.md) is available.<a name="changelog-client-device-auth-2.2.0"></a>**New features**<br />   Adds support for custom components to call interprocess communication (IPC) operations to authenticate and authorize client devices. You can use these operations in a custom MQTT broker component, for example. For more information, see [IPC: Authenticate and authorize client devices](ipc-client-device-auth.md).   Adds the `maxActiveAuthTokens`, `cloudQueueSize`, and `threadPoolSize` options that you can configure to tune how this component performs.    | 
| MQTT bridge | Version 2.2.0 of the [MQTT bridge component](mqtt-bridge-component.md) is available.<a name="changelog-mqtt-bridge-2.2.0"></a>**New features**<br />   Adds support for MQTT topic wildcards (`#` and `+`) when you specify local publish/subscribe as the source message broker. <br />This feature requires v2.6.0 or later of the [Greengrass nucleus component](greengrass-nucleus-component.md).   Adds the `targetTopicPrefix` option, which you can specify to configure the MQTT bridge to add a prefix to the target topic when it relays a message.    | 
| Greengrass CLI | Version 2.6.0 of the [Greengrass CLI](greengrass-cli-component.md) is available.<a name="changelog-greengrass-cli-2.6.0"></a>**New features**<br />   Adds support for custom components to call interprocess communication (IPC) operations that the Greengrass CLI uses. You can use these IPC operations to manage local deployments, view component details, and generate a password that you can use to sign in to the [local debug console](local-debug-console-component.md). For more information, see [IPC: Manage local deployments and components](ipc-local-deployments-components.md).   <br />**Bug fixes and improvements**<br />   Additional minor fixes and improvements.    | 