go.uber.org/cadence@v1.2.9/internal/version.go (about)

     1  // Copyright (c) 2017 Uber Technologies, Inc.
     2  //
     3  // Permission is hereby granted, free of charge, to any person obtaining a copy
     4  // of this software and associated documentation files (the "Software"), to deal
     5  // in the Software without restriction, including without limitation the rights
     6  // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     7  // copies of the Software, and to permit persons to whom the Software is
     8  // furnished to do so, subject to the following conditions:
     9  //
    10  // The above copyright notice and this permission notice shall be included in
    11  // all copies or substantial portions of the Software.
    12  //
    13  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    14  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    15  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    16  // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    17  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    18  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    19  // THE SOFTWARE.
    20  
    21  package internal
    22  
    23  // below are the metadata which will be embedded as part
    24  // of headers in every rpc call made by this client to
    25  // cadence server.
    26  
    27  // Update to the metadata below is typically done
    28  // by the cadence team as part of a major feature or
    29  // behavior change
    30  
    31  // LibraryVersion is a historical way to report the "library release" version,
    32  // prior to go modules providing a far more consistent way to do so.
    33  // It is sent in a header on every request.
    34  //
    35  // deprecated: This cannot accurately report pre-release version information,
    36  // and it is easy for it to drift from the release version (especially if an old
    37  // commit is tagged, to avoid branching, as this behaves poorly with go modules).
    38  //
    39  // Ideally it would be replaced by runtime/debug.ReadBuildInfo()... but that is
    40  // not guaranteed to exist, and even if this is a fallback it still needs to be
    41  // maintained and may be inherently out of date at any time.
    42  //
    43  // Due to all of this unreliability, this should be used as strictly informational
    44  // metadata, e.g. for caller version monitoring, never behavioral (use
    45  // FeatureVersion or feature flags instead).
    46  const LibraryVersion = "1.2.8"
    47  
    48  // FeatureVersion is a semver that informs the server of what high-level behaviors
    49  // this client supports.
    50  // This is sent in a header on every request.
    51  //
    52  // If you wish to tie new behavior to a client release, rather than a feature
    53  // flag, increment the major/minor/patch as seems appropriate here.
    54  //
    55  // It can in principle be inferred from the release version in nearly all
    56  // "normal" scenarios, but release versions are not always available
    57  // (debug.BuildInfo is not guaranteed) and non-released versions do not have any
    58  // way to safely infer behavior.  So it is a hard-coded string instead.
    59  const FeatureVersion = "1.7.0"