# v1.0.1

## Overview

Several bug fixes have been applied to version 1.0.

## Main Updates

* Enhanced stability of the Dive module
* Minor bug fixes

### Server

#### Core

* Changed timing for new connections
* Deprecated `util.Async` and added `util.Pause`
* Reduced noisy logs

#### **Direct Message**

* Set TTL for DM user addresses in keepAlive

#### **Dive**

* Fixed an issue where Dive nodes sometimes did not participate in the nodemap
* Fixed an issue where parallel processing of Dive migrations sometimes failed to complete

#### Field

* Removed unused structures
* Performance improvements

#### **MatchMaker**

* Fixed an issue where team matches did not work properly when there were multiple units.

**Mesh**

* Fixed error logs that could not be read correctly

**Room**

* Fixed a bug where a check was missing to ensure users were certainly present in `GetMemberSIDs`.

### Client

* Diarkis Runtime
  * General
    * Fixed a bug where events might execute after a Diarkis module instance is destroyed in Diarkis runtime event handling, potentially referencing an invalid pointer
  * UDP
    * Changed to enable socket recreation and reconnection by default on socket errors
      * Automatically retries connection when socket errors occur, such as switching from IPv4 to IPv6 (NAT64) lines.
      * The Diarkis runtime will not treat ongoing connection retries as errors, so if you need to immediately detect errors, disable it with `IDiarkisUdp::SetEnableRecreateSocketOnError`.
    * Updated socket connection processing to attempt connections to all addresses obtained from DNS `A` and `AAAA` records.
      * Previously, it attempted either IPv4 or IPv6 connection, ending in error if it failed; now it tries connecting to all possible addresses.
  * P2P
    * Fixed a bug where the P2P disconnection event did not occur upon disconnection
    * Fixed bugs in hole punching in environments using NAT64/DNS64 and IPv6 sockets
    * Fixed an issue where hole-punching error led to runtime termination in environments using NAT64/DNS64 and IPv6 sockets
    * Fixed a bug in unordered RUDP communication where multiple packets with the same sequence number were processed when the sequence number reached its maximum.
    * Fixed a crash that occurred when deleting a P2P instance immediately after calling `IDiarkisP2P::Disconnect`
* Diarkis Module
  * Fixed a bug in httplib where IPv6 addresses were not parsed correctly
