# Command to find version

**URL:** <https://forums.foundationdb.org/t/command-to-find-version/2691>\
**Category:** Using FoundationDB\
**Created:** [May 7, 2021, 12:11am UTC](https://forums.foundationdb.org/t/command-to-find-version/2691 "2021-05-07T00:11:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rmanoj](https://avatars.discourse-cdn.com/v4/letter/r/c5a1d2/32.png) [@rmanoj](https://forums.foundationdb.org/u/rmanoj)\
**Post date:** [May 7, 2021, 12:11am UTC](https://forums.foundationdb.org/t/command-to-find-version/2691/1 "2021-05-07T00:11:25Z")

</div>

Is there a command to find the installed server, client lib and server lib versions? Like I want to find this [multi-thread-client: Add test for Java bindings by vishesh · Pull Request #4339 · apple/foundationdb · GitHub](https://github.com/apple/foundationdb/pull/4339#issuecomment-832291416)

---

<div class="post-metadata">

**Author:** ![ajbeamon](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/ajbeamon/32/13_2.png) [@ajbeamon](https://forums.foundationdb.org/u/ajbeamon)\
**Post date:** [May 7, 2021, 9:55pm UTC](https://forums.foundationdb.org/t/command-to-find-version/2691/2 "2021-05-07T21:55:42Z")

</div>

You can determine the versions of the executables (e.g. `fdbserver` and `fdbcli`) with the `-v` flag:

```auto
$ fdbcli -v
FoundationDB CLI 6.2 (v6.2.27)
source version 87cdf2b331bfe91d0a4d0e0ac09f1adbe1f2e012
protocol fdb00b062010001

```

It should be noted that if you have any process that connects to the cluster and interacts with it (e.g. `fdbcli`), then you can know the major/minor release version and the protocol version because of the fact that different versions are incompatible with each other. So for example, if I use the above `fdbcli` to read a key from the database successfully, then I know that the cluster is version 6.2.x and has protocol version `fdb00b062010001`.

If you are connected to the cluster, then you can also use that to determine the specific patch version of all server processes that are connected to the cluster by reading the `status json` output in `fdbcli`. This data is reported at `cluster.processes[$ID].version`. Client versions are also reported in status, though this data is aggregated and it’s not always possible to tell the version of a specific client this way. You can see this data in `cluster.clients.supported_versions`, which is a list of objects with various data in it. See the full schema [here](https://apple.github.io/foundationdb/mr-status.html).

Finally, you can determine the version of client library using a tool that is available in the GitHub repository: [foundationdb/fdb\_c\_version.py at master · apple/foundationdb · GitHub](https://github.com/apple/foundationdb/blob/master/contrib/monitoring/fdb_c_version.py). If you run this script and pass in the path to your library, it will print out version information about it. For example:

```auto
$ contrib/monitoring/fdb_c_version.py /usr/local/lib/libfdb_c.dylib
FoundationDB Client 6.2 (v6.2.27)
source version 87cdf2b331bfe91d0a4d0e0ac09f1adbe1f2e012
protocol fdb00b062010001

```
