> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 2.2.1

> Released July 20, 2026

## New Features

### IP-Based Login Blocking (On-Premise)

Block users from logging in when they attempt to authenticate from multiple IP addresses within a configured threshold. Super admins can enable this security control to detect and prevent credential-sharing or suspicious login patterns across different network locations.

### Global Announcements (On-Premise)

Super admins can now publish platform-wide announcements with rich formatting, images, and targeted delivery by team or email. Announcements appear in the notification bell and support HTML content with hosted media.

### Configurable PII Masking Entity Types (On-Premise)

Super-admins can now configure which entity types are masked by the PII detection engine. This allows organizations to adjust masking behavior when underlying detection libraries change — for example, excluding date fields from masking if they're not considered sensitive in your context.

### Widget Visitor Identity from Client Okta Tenants

The chat widget now resolves visitor identity directly from your organization's Okta tenant when configured, automatically associating conversations with authenticated users. Identity information is cached per session and forwarded to agents for context.

### Custom Project Roles in Team Auto-Assignment (On-Premise)

Super-admins can now assign custom project roles when configuring team auto-assignment rules. The role selector in automated management settings now includes all custom roles defined in your projects, not just the default Admin, Editor, and Viewer roles.

### PKCE Support for MCP OAuth Manual Flow

The MCP OAuth manual flow now supports PKCE (Proof Key for Code Exchange), improving security for OAuth integrations that require it. Enable PKCE by setting the `use_pkce` field in the manual OAuth request, or toggle it directly in the OAuth configuration form when setting up MCP servers.

## Improvements

### Project-Based Team Attribution in Analytics

Analytics now track which team owns each project, making it easier to measure usage and activity by team. Historical data has been backfilled to ensure consistent reporting across all existing projects.

### Bulk Column Computation in Smart Tables

Smart Tables can now compute column values for multiple selected rows at once, instead of processing one row at a time. Select the rows you want to update, and the computation runs across all of them in a single operation.

### Confluence Space Browser and Whole-Space Sync

Browse Confluence spaces, folders, and pages directly in Knowledge Base and sync any selection — including an entire space — in one step. The new picker uses cursor-based pagination for large instances and works with both Confluence Cloud and on-premises installations (Server and Data Center). Subpage sync now correctly retrieves all descendant pages using proper pagination, resolving an issue where children beyond the first 25 were silently dropped.

### Configurable SQL Result String Limit

SQL tool steps now support a configurable character limit for result strings, letting you control how much data is returned from queries. Set the limit in tool settings or agent configuration to balance detail and performance; longer strings are truncated with an indicator in the result.

### Unicode Character Preservation in Agent Responses

Agent responses now preserve Unicode characters (Japanese, Korean, Chinese, etc.) in all streaming and API endpoints. Previously, some paths converted non-ASCII characters to escape sequences; all agent output now returns characters in their original form.

### Tooltips in Knowledge Base and Chat

Hover over UI elements in Knowledge Base and Chat to see contextual tooltips that appear after a short delay, reducing visual noise while keeping help text accessible. Tooltips include translations for English and Japanese.

### Dormant Account Auto-Disable Policy (On-Premise)

Super admins can now configure an inactivity threshold (15, 30, 90, or 180 days) that automatically disables user accounts when they haven't logged in within the period. Disabled accounts require admin intervention to re-enable, helping organizations enforce security policies and maintain compliance with access-control requirements. The policy applies to all user accounts and runs daily to check for dormant users.

## Resolved Issues

* WebChat now correctly seeds a default agent on first load and persists the selection across sessions — the default agent is scoped per project and won't overwrite other project agents, since the system verifies ID matches before saving to prevent accidental conflicts
* Knowledge Base sync and upload operations now include automatic retry logic for transient storage and failures
* SmartTable review filters and column layout now persist correctly across page reloads and navigation
* Workflows no longer crash when PDF inputs cannot be resolved
* Progress indicators during recompute path operations now reflect the actual database count, resolving inaccurate completion percentages
* Files with Japanese names in Knowledge Base now download with their original filename instead of being converted to ASCII
* Logout now terminates only the local session instead of invalidating all refresh tokens, preventing cascading logouts across browser tabs and devices
* Users accepting invitations to multiple teams now have their home team set correctly — the system no longer assigns the wrong default team when a user belongs to more than one team
* The ServiceNow toolkit now preserves all table-specific fields when normalizing records — previously, custom fields outside the base incident schema were silently dropped
* Search queries against timestamp columns now use standard SQL extraction instead of PostgreSQL-specific casting, resolving compatibility issues on certain PostgreSQL configurations
