# 2024

{% updates format="full" %}
{% update date="2024-10-18" tags="feature,improvement,fix,changes,fixes" %}

## V2024.10

### PostgreSQL 17

> Fully compatible with the [latest PostgreSQL 17 release](https://www.postgresql.org/docs/17/index.html)

### Libraries

> The backend includes upgraded third-party libraries for better performance, security, and compatibility

### Agent v3.6.0

> Refer to the [Agent Release Notes](/manual/implementation/agent-usage/release-notes.md)

### :wrench: Fixes

* Tags are lost in memory (though still persisted on disk) when updating an agentless connection without specifying them.
  {% endupdate %}

{% update date="2024-04-10" tags="improvement,changes" %}

## V2024.04

#### Role Based Access

> Users can be assigned multiple roles, moving beyond the previous one-role limit.\
> This update offers increased flexibility and precision in access control, available both through the UI and [API](/manual/implementation/platform-usage/api-reference/user.md), enhancing both ease of use and security
>
> Please be aware that the `role` field in our [User API](/manual/implementation/platform-usage/api-reference/user.md) has been deprecated. We've introduced the new field `roles` as its replacement. `roles` is designed to accommodate multiple roles for a single user.

#### Agent v3.5.2

Refer to the [Agent Release Notes](/manual/implementation/agent-usage/release-notes.md)
{% endupdate %}

{% update date="2024-02-15" tags="fix,changes,fixes" %}

## V2024.02

#### Role-Based Access Control

> We've introduced an option to manage access for users created via LDAP integration.\
> By default, such users have access to all instances. With this update, you can choose to restrict user access until a specific role is assigned in their properties.\
> \
> This option is configurable through the **Global Settings** Dashboard, offering better control over permissions.

#### :wrench: Fixes

* Fixed a bug where the backend API failed to start if the PID in `/datasentinel/log/.pid_datasentinel_apis` was active but belonged to another process.
  {% endupdate %}

{% update date="2024-01-22" tags="feature,improvement,fix,fixes" %}

## V2024.01

#### I/O Insights

> PostgreSQL 16 introduces an exciting enhancement to database monitoring and performance tuning with the [pg\_stat\_io system view.](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW)
>
> This feature provides detailed insights into the I/O behavior of PostgreSQL servers. A new dashboard has been introduced, starting from version 16, to facilitate a deeper understanding of I/O insights.

{% @arcade/embed url="<https://app.arcade.software/share/UGcYRRKuwmiHRc65sTAX>" flowId="UGcYRRKuwmiHRc65sTAX" %}

#### Wait Event Descriptions

> Updated wait event descriptions to reflect the latest version's details.\
> Refer to our Documentation for guidance on displaying wait event descriptions effectively in your monitoring workflow.

{% content-ref url="/spaces/lcWi6G1jtNuyGT9C0pkc/pages/KMuh0LMOEe9V2DquHdFm" %}
[Wait Event Description](/manual/features/tips-and-hints/wait-event-description.md)
{% endcontent-ref %}

#### Chart Design

> Update colors in main [Session History](/manual/features/key-features/session-history.md) chart for more clarity.\
> [Real-time illustration ▶](https://demo.datasentinel.io/d/f_vKcZLik/db-workload?orgId=2\&from=now-1h\&to=now\&var-Filter=pg_instance%7C%3D%7Cpg-cluster-01@:9342)
>
> Transformed the [Top Queries](/manual/features/key-features/top-queries.md) chart into a staircase chart for enhanced data visualization\
> [Real-time illustration ▶](https://demo.datasentinel.io/d/znDzldLik/sql-stats?orgId=2\&from=now-1h\&to=now\&var-Filter=pg_instance%7C%3D%7Cpg-cluster-01@:9342)

#### Agentless Method

#### - Settings Dashboard

> Each monitored instance now displays its corresponding local agent Id. This makes it easier for users to identify specific instances, especially when managing a large number of databases.
>
> **Dynamic Filters for Enhanced Navigation**
>
> * **Monitoring Status Filter**\
>   Quickly filter instances by their monitoring status
> * **Connection State Filter**\
>   This filter allows users to view instances based on their connection state, enabling quick toggling between enabled or disabled states.
> * **Agent ID Filter**\
>   Efficiently locate instances using their local agent Id.

#### - Startup process

> We've enhanced our Agentless service startup, ensuring quicker launch times and improved performance, especially beneficial for large-instance environments during system boots or post-upgrade reboots.

#### - Error Logging

> Log any issues encountered during instance monitoring, such as initialization errors, directly into the platform. These issues are then displayed in the UI.
>
> [Real-time illustration ▶](https://demo.datasentinel.io/d/RRxuiGAVk/pg-instance-annotations?orgId=2\&from=now-1h\&to=now\&var-Filter=pg_instance%7C%3D%7Cpg-cluster-01@:9342)

{% content-ref url="/spaces/lcWi6G1jtNuyGT9C0pkc/pages/qnpku9OgUlxQYdp69B54" %}
[Agentless Monitoring](/manual/features/other-features/agentless-monitoring.md)
{% endcontent-ref %}

#### Registered Instances Dashboard

> Each registered instance now displays its monitoring status.<br>
>
> **Added Monitoring Status Filter**\
> Quickly filter instances by their monitoring status\
> [Real-time illustration ▶](https://demo.datasentinel.io/d/g33qQOYiz/registered-pg-instances?orgId=2\&from=now-1h\&to=now)

#### Tooling

> A new tool, **`dump_config.sh`**, has been incorporated into our suite of scripts, in order to dump defined roles, user settings, agentless connections, and alert rules.
>
> These are saved in multiple **`dump*.txt`** files in InfluxQL format, perfect for restoration or migration purposes on other platforms.

{% content-ref url="/spaces/lcWi6G1jtNuyGT9C0pkc/pages/BkZpXiZyJgmgaAbAbaho" %}
[Tooling](/manual/implementation/platform-usage/tooling.md)
{% endcontent-ref %}

#### LDAP Users

> The API now supports the creation of LDAP users.

{% content-ref url="/spaces/lcWi6G1jtNuyGT9C0pkc/pages/PEkFNsuq5YqVposp2CLG" %}
[User](/manual/implementation/platform-usage/api-reference/user.md)
{% endcontent-ref %}

#### Instance Display

{% content-ref url="/spaces/lcWi6G1jtNuyGT9C0pkc/pages/j8XejVrm6yYKFqfC6QiJ" %}
[Simplified pg\_instance Display](/manual/features/tips-and-hints/simplified-pg_instance-display.md)
{% endcontent-ref %}

#### **Contextual Documentation**

> Enhance your dashboard experience with two new buttons!

<figure><img src="/files/rDbGJ5YVyIeDkr5oId7o" alt=""><figcaption></figcaption></figure>

> The first button brings you a [**Tip of the Day**](/manual/features/tips-and-hints.md), offering daily insights to improve your usage and knowledge of Datasentinel.\
> \
> The second button instantly connects you to relevant documentation for your current dashboard context, making information access quick and effortless.

#### PostgreSQL

> The embedded PostgreSQL database is now in version 15.5 during a full installation

#### New Agent V3.5.0

> Fully compatible with the newest release, [PostgreSQL Version 16.](https://www.postgresql.org/docs/16/index.html)
>
> Updated third-party libraries.
>
> Send any issues encountered during instance monitoring directly to the platform.

{% content-ref url="/spaces/lcWi6G1jtNuyGT9C0pkc/pages/WrTjw0dvsJlV1mbMkIjO" %}
[Agent](/manual/implementation/upgrade/agent.md)
{% endcontent-ref %}

#### :wrench: Fixes

* In the blocked session panel, the database and users are reversed, displaying user information under database and vice versa.\
  [Real-time illustration ▶](https://demo.datasentinel.io/d/fxjIaMt4z/blocking-scenarios?orgId=2\&from=now-1h\&to=now\&var-Filter=pg_instance%7C%3D%7Cpg-cluster-01@:9342)
* The total size of the G**enerated WAL** displayed is inaccurate in the PostgreSQL Instance Information panel.\
  [Real-time illustration ▶](https://demo.datasentinel.io/d/5tm757Ymk/pg-instance-stats?orgId=2\&from=now-1h\&to=now\&var-Filter=pg_instance%7C%3D%7Cpg-cluster-01@:9342)
* Tooltip display issue in the charts on the homepage when using the Dark Theme.\
  [Real-time illustration ▶](https://demo.datasentinel.io/?orgId=2)
* When a user is configured with Role-Based Access, the Server Metrics fail to display.
  {% endupdate %}
  {% endupdates %}


---

# 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.datasentinel.io/manual/changelog/2024.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.
