precice 2.5.0

Rust bindinds for precice
<?xml version="1.0" encoding="UTF-8" ?>
<precice-configuration>
  <log>
    <sink
      type="stream"
      output="stdout"
      filter="%Severity% > debug"
      format="preCICE:%ColorizedSeverity% %Message%"
      enabled="true" />
  </log>

  <solver-interface dimensions="3">
    <data:vector name="dataOne" />
    <data:vector name="dataTwo" />

    <mesh name="MeshOne">
      <use-data name="dataOne" />
      <use-data name="dataTwo" />
    </mesh>

    <mesh name="MeshTwo">
      <use-data name="dataOne" />
      <use-data name="dataTwo" />
    </mesh>

    <participant name="SolverOne">
      <use-mesh name="MeshOne" provide="yes" />
      <write-data name="dataOne" mesh="MeshOne" />
      <read-data name="dataTwo" mesh="MeshOne" />
    </participant>

    <participant name="SolverTwo">
      <use-mesh name="MeshOne" from="SolverOne" />
      <use-mesh name="MeshTwo" provide="yes" />
      <mapping:nearest-neighbor
        direction="write"
        from="MeshTwo"
        to="MeshOne"
        constraint="conservative" />
      <mapping:nearest-neighbor
        direction="read"
        from="MeshOne"
        to="MeshTwo"
        constraint="consistent" />
      <write-data name="dataTwo" mesh="MeshTwo" />
      <read-data name="dataOne" mesh="MeshTwo" />
    </participant>

    <m2n:sockets from="SolverOne" to="SolverTwo" />

    <coupling-scheme:serial-implicit>
      <participants first="SolverOne" second="SolverTwo" />
      <max-time-windows value="2" />
      <time-window-size value="1.0" />
      <max-iterations value="2" />
      <min-iteration-convergence-measure min-iterations="5" data="dataOne" mesh="MeshOne" />
      <exchange data="dataOne" mesh="MeshOne" from="SolverOne" to="SolverTwo" />
      <exchange data="dataTwo" mesh="MeshOne" from="SolverTwo" to="SolverOne" />
    </coupling-scheme:serial-implicit>
  </solver-interface>
</precice-configuration>