# Release Notes

## ESS 2.7.0 (Released 2026-01-13)

### Data Views API

A new Data Views API has been introduced to enable fine-grained access control over JSON resources through GraphQL-based filtering. Data subjects can now create filtered "view resources" that expose only specific fields from their source data, allowing selective sharing without exposing sensitive information.

The Data Views API enables:

* **Reusable View Definitions**: Create GraphQL-based filters that define what data to expose
* **Automatic Synchronization**: View resources automatically update when source data changes
* **Flexible Filtering**: Support for field selection, nested objects, numeric comparisons, date ranges, and array membership
* **Two Binding Types**: Filter individual resources (VIEW\_RESOURCE) or entire containers (VIEW\_CONTAINER)
* **Privacy Protection**: Source resources are protected from deletion while view bindings exist

For more information, see [Data Views API](https://docs.inrupt.com/ess/latest/services/service-pod-management/data-views-api).

### Prune Improvements

Enhanced pruning capabilities with improved performance and scalability through batch iteration processing. The pruning process now operates in multiple configurable iterations with smaller batch sizes, reducing peak system load and memory consumption.

Key improvements include:

* **Batch Iteration Processing**: Prune jobs now process resources in smaller batches across multiple iterations, reducing resource consumption per cycle
* **Configurable Iteration Control**: New `MAX_ITERATIONS` parameter (default: 100, Kubernetes deployment: 1000) controls total processing time per job run
* **Data Views Support**: Soft-deleted View Definitions and View Bindings are now included in the pruning process
* **Fine-tuned Performance**: New `ITERATION_DELAY_MS` parameter allows configurable delays between iterations to further reduce system load

For more information, see [Pruning Configuration](https://docs.inrupt.com/ess/latest/administration/resource-deletions).

### Access Grant Metrics

New Access Grant Metrics feature for monitoring Access Request and Access Grant lifecycle. Prometheus metrics are now exposed for tracking requests by status (pending, granted, denied, canceled, expired) and grants by status (active, expired, revoked).

For more information, see [Access Grant Metrics](https://docs.inrupt.com/ess/administration/ess-metrics#access-grant-metrics).

### Security Enhancements

* **Database SSL/TLS Support**: New kustomizer component for providing database CA bundles to services, enabling SSL/TLS enforcement on database connections. See [Database SSL/TLS Configuration](https://docs.inrupt.com/ess/latest/installation/customize-configurations/customization-security/configure-database-ssl).
* **Kafka SSL Support**: New kustomizer component for configuring Kafka clients to enforce SSL on broker connections. See [Kafka SSL Configuration](https://docs.inrupt.com/ess/latest/installation/customize-configurations/customization-security/kafka-ssl).

## Changelogs

For changelogs, see [2.7 Changelogs](https://docs.inrupt.com/ess/latest/releases/changelog).


---

# Agent Instructions: 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:

```
GET https://docs.inrupt.com/ess/latest/releases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
