The current process for versioning the client libraries for a new release is as follows. This will be required until the process is automated as outlined in
| Language | Automated | File(s) containing version info |
| thrift-compiler | yes | configure.ac |
| as3 | no | based on java lib build.properties |
| cocoa | no | |
| cpp | yes | |
| csharp | no | lib/csharp/src/Properties/AssemblyInfo.cs |
| lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs | ||
| delphi | no | /lib/delphi/src/Thrift.pas |
| erl | yes | lib/erl/src/thrift.app.src |
| go | no | |
| hs | no | lib/hs/Thrift.cabal |
| java | no | lib/java/build.properties |
| javame | no | |
| js | no | lib/js/thrift.js |
| node.js | no | lib/nodejs/package.json |
| ocaml | no | |
| perl | no | lib/perl/lib/Thrift.pm |
| lib/perl/Makefile.PL | ||
| php | no | |
| py | no | lib/py/setup.py |
| rb | no | lib/rb/Rakefile |
| st | no | |
| Debian Packages | no | contrib/debian/changelog |
These values should be used for all new client libraries and are the same values across all libraries:
The versioning scheme used for any clients is based on the Semantic Versioning Specification