You're viewing **Apigee Edge** documentation.  
[Go to the
**Apigee X** documentation](http://cloud.google.com/apigee/docs). info


On the following dates, we began releasing component updates to Apigee Edge for Public Cloud:

- Router: Monday, May 31, 2021
- Management Server: Tuesday, June 15, 2021
- Message Processor: Wednesday, June 30, 2021
- Message Processor: Tuesday, October 19, 2021

#### Help \& notifications

**Private Cloud customers** : Is this cloud release included in your Private Cloud
version? See your version's release notes to see which cloud releases it contains. Also, see
[About release numbering](https://docs.apigee.com/release/apigee-edge-release-process#aboutreleasenumbering)
to understand how you can figure it out by comparing release numbers.

**Questions or issues?**
[Get help here](https://docs.apigee.com/api-platform/troubleshoot/support).

**Release notifications** : Subscribe to the
[Apigee Edge for
Public Cloud](https://docs.cloud.google.com/apigee/docs/edge-public-cloud/release-notes) or
[Apigee Edge for
Private Cloud](https://docs.cloud.google.com/apigee/docs/edge-private-cloud/release-notes) release notes feed on Google Cloud. For the feed URLs and subscription steps, see
[Get Apigee Edge release notifications](https://docs.apigee.com/release/get-release-notifications).

**Incidents and service disruptions** :
[Google Cloud Service Health](https://status.cloud.google.com/summary).

[Release notes home page](https://docs.apigee.com/release/notes/apigee-release-notes)

## New features and updates

Following are the new features and updates in this release.

### New org-level flag to restrict user permissions for Audits resource


A new org-level flag was added: `features.isAuditEnabledOnlyForOrgAdmin`. If this flag
is set to `true` for a specific org, then only OrgAdmin users can access
the Audits resource. This feature allows customers to turn off audits for all user roles
except OrgAdmin. Default is the existing behavior.

### The `identity` transfer encoding is no longer supported


Requests with
`Transfer-Encoding: identity` will now receive an HTTP 501 response.

### New property for Message Processor


We have introduced a new property for Message Processor that you can use to configure
proxy forwarding to a backend server:
`conf_http_HTTPClient.use.proxy.host.header.with.target.uri`. The property sets
the target host and port as a HOST header.

### Health Check ID Header


When using a HealthMonitor, and specifically an HTTP Monitor, it is now possible to
configure the health check requests to include an HTTP Header with a well-known name,
which gets a unique, dynamically assigned value for each health check request.

### Support for property sets in Apigee Edge


Property sets are now supported in Apigee Edge. See
[Using property
sets](https://cloud.google.com/apigee/docs/api-platform/cache/property-sets).

## Bugs fixed

The following bugs are fixed in this release. This list is primarily for users checking
to see if their support tickets have been fixed. It's not designed to provide detailed
information for all users.

| Issue ID | Component Name | Description |
|---|---|---|
| 151688733 | Management Server | An issue was fixed where a 409 HTTP status was returned in some cases when trying to fetch audit logs. |
| 161767761 | Management Server | An issue was fixed where the request body was not logged correctly for some requests in audit logs. |
| 162300761 | Management Server | An issue was fixed where if an OpenAPI definition did not return valid JSON or YAML, an exception was thrown that exposed parts of the target response. |
| 172081319 | Management Server | An issue was fixed where users were able to assign user roles to their accounts, allowing access to orgs they did not own. With this fix, such operations are not allowed. |
| 174925913 | Management Server | An issue was fixed where users could not update existing KVM entries whose names started with '/'. This change allows such updates. |
| 180874323 | Management Server | An issue was fixed where it was possible for the revision numbers of removed proxy revisions to be persisted. This fix allows users to forcibly remove those dangling revision numbers. |
| 67780911 | Message Processor | An issue was fixed where the flow variable `responsecache.cachesource` was set as L2 even if there was a cache miss. |
| 184967588 | Message Processor | An issue was fixed where the Quota policy's `rollingwindow` type reset prematurely if the `<Distributed>` element was set to `true` and the `<Synchronous>` element to `false`. (In 10/19/21 patch release.) |
| 77021457 | Message Processor | An issue was fixed where setting `override` to `false` in the Put operation would only work properly if the entry was in the cache. Now, if the `override` attribute is `false`, the entry will not be overridden, regardless of whether it is in the cache or not. |
| 119911660 | Message Processor | A Service Callout policy issue was fixed so that when `clearPayload` is `true`, the request message will be removed from the message context. |
| 120421482 | Message Processor | Additional checks were added during KVM creation to validate if the specified environment exists. |
| 140911291 | Message Processor | An issue was fixed where messages containing newlines logged over `syslog` by the MessageLogging policy were not broken into multiple lines when TCP was used. Now, newlines are treated as expected. |
| 143086035 | Message Processor | An issue was fixed where the Health Monitor ignored the value of `<HttpMonitor>.<Request>.<isSSL>` and where the target server determined whether health checks were HTTP or HTTPS. Now the value of `<HttpMonitor>.<Request>.<isSSL>` will enable or disable mTLS in health checks independent of whether it is enabled in the target server. |
| 144017075 | Message Processor | **Prevent accidental modification of an object in the L1 cache.** When an object is placed or retrieved to or from the L1 cache, a copy is placed or retrieved instead. |
| 150594487 | Message Processor | An issue was fixed that caused the entire Message Processor bootstrap to fail when trying to load a corrupt jar file. |
| 157468872 | Message Processor | **Stale value in KVM after expiry is decreased.** An issue was fixed where `ExpiryTimeInSecs` in KeyValueMapOperations was changed to a smaller value while the old expiry was retained and a stale KVM value was returned. |
| 160648174 | Message Processor | **RaiseFault validates the Name in any AssignVariable** When the RaiseFault policy includes an AssignVariable element, the policy now validates that the Name is non-empty. |
| 161390503 | Message Processor | **Correct `ref` handling in HMAC Message** The HMAC policy now correctly handles the case when the referenced variable for the Message element is unset: it throws a Fault with a message indicating that a referenced variable cannot be resolved. |
| 162320407 | Message Processor | An issue was fixed where client certificates were not sent, even though `clientauthenabled` was set in the target server. |
| 164466716 | Message Processor | The `SetVariableFailed` exception behavior was fixed for the KeyValueMapOperations policy. Previously, the `SetVariableFailed` exception would not occur if the encrypted entry was still in the cache. This behavior has been fixed. Now, the exception occurs if the encrypted entry is accessed without a `private` prefix, regardless of whether it's in the cache or not. |
| 165421271 | Message Processor | An issue was fixed where non-string JSON values in payloads were converted to strings in the Debug tool. |
| 168082009 | Message Processor | **The flow variable `developer.app.id` was added for the GetAuthV2Info policy** The flow variable `developer.app.id` was not accessible while using GetAuthV2Info. It has now been added to the set of runtime flow variables for this policy. |
| 173003882 | Message Processor | An issue was fixed where a proxy with the AssignMessage policy failed to deploy when a name was not specified for headers and other elements. |
| 177676554 | Message Processor | **Prevent two policies from executing in parallel.** In some limited cases, if the Message Processor encountered an error in the target response, it could allow two or more policies to execute in parallel. This would appear in the Debug tool as policies executing out of order or in the wrong flow. |