What's the prupose of the version property of a theme library? Reading the 2 articles below, I'm creating a new theme.


Defining a theme with an .info.yml file
Adding stylesheets (CSS) and JavaScript (JS) to a Drupal 8 theme


In the example below, I don't understand what is the purpose of the version property of the global-styling library :

global-styling:
  version: 1.x
  css:
    theme:
      css/layout.css: {}
      css/style.css: {}
      css/colors.css: {}
      css/print.css: { media: print }


Is it a reference to the site version with which this library is compatible ? 

Is it the version of the library itself ? And in this case, when will it be used and for what ?
For Javascript files, version would allow modules that implement hook_library_info_alter() to check if the version of the JavaScript file is older than the one the module is trying to add, for example with code similar to the following. (It's the same code the documentation page reports as example.)

  // Update Farbtastic to version 2.0.
  if ($extension == 'core' &amp;&amp; isset($libraries['jquery.farbtastic'])) {
    // Verify existing version is older than the one we are updating to.
    if (version_compare($libraries['jquery.farbtastic']['version'], '2.0', '&lt;')) {
      // Update the existing Farbtastic to version 2.0.
      $libraries['jquery.farbtastic']['version'] = '2.0';
      // To accurately replace library files, the order of files and the options
      // of each file have to be retained; e.g., like this:
      $old_path = 'assets/vendor/farbtastic';
      // Since the replaced library files are no longer located in a directory
      // relative to the original extension, specify an absolute path (relative
      // to DRUPAL_ROOT / base_path()) to the new location.
      $new_path = '/' . drupal_get_path('module', 'farbtastic_update') . '/js';
      $new_js = [];
      $replacements = [
        $old_path . '/farbtastic.js' =&gt; $new_path . '/farbtastic-2.0.js',
      ];
      foreach ($libraries['jquery.farbtastic']['js'] as $source =&gt; $options) {
        if (isset($replacements[$source])) {
          $new_js[$replacements[$source]] = $options;
        }
        else {
          $new_js[$source] = $options;
        }
      }
      $libraries['jquery.farbtastic']['js'] = $new_js;
    }
  }


Technically, the same type of code could be used to check which CSS file version is being used, before replacing it with a different one. I can imagine doing that for an external CSS file, for example when a specific version used from a library causes problem with other libraries. I haven't seen a module using similar code, though.

Otherwise, version has only identification purposes, much more helpful when a module implements hook_library_info_build() to dynamically load different versions of a CSS file.