using System.Reflection;
using System.Runtime.CompilerServices;

namespace Grpc.Core
{
    public static class VersionInfo
    {
        /// <summary>
        /// Current version of gRPC
        /// </summary>
        public const string CurrentVersion = "0.6.0";
    }
}
