> For the complete documentation index, see [llms.txt](https://nso-docs.cisco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nso-docs.cisco.com/guides/nso-6.4/readme.md).

# What's New

Latest features and enhancements added in this release.

{% hint style="info" %}
Only significant new updates are listed here. To see the complete list of changes, refer to the [NSO Changelog Explorer](https://developer.cisco.com/docs/nso/changelog-explorer/?from=6.3\&to=6.4).
{% endhint %}

## Release Highlights

This release includes major enhancements in the following areas:

<details>

<summary>Restructured Documentation</summary>

NSO product documentation has undergone a major restructuring with the goal of improving the overall experience.

</details>

<details>

<summary>New CDB On-Demand Mode</summary>

NSO can now use a new CDB backend that uses RAM in a more traditional, cache-like manner instead of being a pure in-memory database. This mode better supports use cases with huge amounts of data in CDB, where CDB size exceeds available system memory, or instances where performance gains with in-memory mode are small enough to not justify longer initial startup time.

The additional benefit of this new persistence mode is greatly simplified operation, including an improved compaction process that runs entirely in the background without impacting ongoing requests.

Documentation Updates:

* Added a new section [CDB Persistence](/guides/nso-6.4/administration/advanced-topics/cdb-persistence.md).
* Added a new example in [examples.ncs/scaling-performance/cdb-on-demand](https://github.com/NSO-developer/nso-examples/tree/6.4/scaling-performance/cdb-on-demand) to showcase this functionality.

</details>

<details>

<summary>IPC Authentication</summary>

NSO 6.4 introduces a more secure way for local Inter-Process Communication (IPC) between NSO system components based on Unix domain sockets. The main benefit of the new mechanism is the ability for the main server process to authenticate the clients. The authentication is based on the UID of the other end of the socket connection. In other words, it is now much easier to limit IPC access to specific host OS users.

Documentation Updates:

* Added a new section [UID-based Authentication for Unix Sockets](/guides/nso-6.4/administration/management/aaa-infrastructure.md#uid-based-authentication-for-unix-sockets).
* Added a new example in [examples.ncs/aaa/ipc](https://github.com/NSO-developer/nso-examples/tree/6.4/aaa/ipc) to showcase this functionality.

</details>

<details>

<summary>Improved Out-of-band Changes Handling</summary>

The `commit no-overwrite` functionality has been extended to include verifying device values that are required to compute the end result (the values from the transaction read-set) have not changed. This means `commit no-overwrite` now provides much stronger guarantees about correctness in the face of device changes that were not made through NSO. In many cases, it translates into making provisioning pre-checks unnecessary and simplifying operations (operator no longer needs to issue a `check-sync` or `sync-from` operation beforehand).

</details>

<details>

<summary>Package Template Structure</summary>

NSO now supports structuring the package `templates` directory with subdirectories. The XML templates contained in the subdirectories can be referenced by prepending the subdirectory path and, optionally, by the package name and a colon.

This allows for unique identification of templates, which can now have duplicated names across NSO packages.

Documentation Updates:

* Updated the section on [Templates](/guides/nso-6.4/development/core-concepts/templates.md).

</details>

<details>

<summary>Web UI Updates</summary>

The Web UI functionality has been extended to include new feature updates in device/SNMP Authgroups, service manager, and compliance reporting. The UI’s look-and-feel has also been enhanced further for a continued streamlined experience.

Documentation Updates:

* Added a new section [Authgroups](/guides/nso-6.4/operation-and-usage/webui/devices.md#authgroups) in Devices.
* Improved and aligned the [Services](/guides/nso-6.4/operation-and-usage/webui/services.md) section in accordance with the new Service Manager.
* Expanded the [Web UI](/guides/nso-6.4/operation-and-usage/webui.md) and [Compliance Reporting](https://nso-docs.cisco.com/guides/nso-6.4/pages/bp5G9eUQSTa8IV86eAA4#sec.webui_compliance) sections to add new details.

</details>

<details>

<summary>Java API Improvement and Cleanup</summary>

The NSO Java API has seen significant changes, such as introduction of SocketAddress-based methods, deprecating a number of older functions, and removal of previously deprecated functionality. For a full list, consult the release CHANGES file ([online version](https://developer.cisco.com/docs/nso/changelog-explorer/?from=6.3\&to=6.4\&component=java-api)).

</details>

<details>

<summary>NSO Installer systemd Script Creation for System Install</summary>

The NSO installer has been updated to, by default, provision a `systemd` system service when performing the initial NSO installation with the `--system-install` option.

Documentation Updates:

* Added `systemd` information to the [System Install](/guides/nso-6.4/administration/installation-and-deployment/system-install.md#default-directories-and-scripts) section.

</details>

<details>

<summary>Kubernetes Best Practices Guidelines</summary>

A new [document](https://nso-docs.cisco.com/resources/best-practices/nso-on-kubernetes) covering best practices for Kubernetes has been added to the documentation set.

</details>

<details>

<summary>Restructured Example Collection Linked from the Documentation</summary>

The example collection was restructured, and references to examples are now linked to a copy of the collection stored in the <https://github.com/NSO-developer/nso-examples> repository.

</details>

<details>

<summary>Rotating Cryptographic Keys</summary>

The action `/key-rotation/apply-new-keys` has been added and, when executed, supports re-encrypting all encrypted values in the system.

Documentation Updates:

* Added a new [Cryptographic Keys](/guides/nso-6.4/administration/advanced-topics/cryptographic-keys.md) section.
* Improved and aligned the [Encrypted Strings](/guides/nso-6.4/development/connected-topics/encryption-keys.md) section in accordance with the new key rotation functionality.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://nso-docs.cisco.com/guides/nso-6.4/readme.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
