original_string: public function askConfirmationIfMajorVersionUpdated($package)
      {
          $helper = $this->getHelper('question');
          $package_name = $package->name;
          $new_version = $package->available ?: $this->gpm->getLatestVersionOfPackage($package->slug);
          $old_version = $package->version;
  
          $major_version_changed = explode('.', $new_version)[0] !== explode('.', $old_version)[0];
  
          if ($major_version_changed) {
              if ($this->all_yes) {
                  $this->output->writeln("The package <cyan>{$package_name}</cyan> will be updated to a new major version <green>{$new_version}</green>, from <magenta>{$old_version}</magenta>");
                  return;
              }
  
              $question = new ConfirmationQuestion("The package <cyan>{$package_name}</cyan> will be updated to a new major version <green>{$new_version}</green>, from <magenta>{$old_version}</magenta>. Be sure to read what changed with the new major release. Continue? [y|N] ", false);
  
              if (!$helper->ask($this->input, $this->output, $question)) {
                  $this->output->writeln("<yellow>Package {$package_name} not updated</yellow>");
                  exit;
              }
          }
      }
code: public function askConfirmationIfMajorVersionUpdated($package)
      {
          $helper = $this->getHelper('question');
          $package_name = $package->name;
          $new_version = $package->available ?: $this->gpm->getLatestVersionOfPackage($package->slug);
          $old_version = $package->version;
  
          $major_version_changed = explode('.', $new_version)[0] !== explode('.', $old_version)[0];
  
          if ($major_version_changed) {
              if ($this->all_yes) {
                  $this->output->writeln("The package <cyan>{$package_name}</cyan> will be updated to a new major version <green>{$new_version}</green>, from <magenta>{$old_version}</magenta>");
                  return;
              }
  
              $question = new ConfirmationQuestion("The package <cyan>{$package_name}</cyan> will be updated to a new major version <green>{$new_version}</green>, from <magenta>{$old_version}</magenta>. Be sure to read what changed with the new major release. Continue? [y|N] ", false);
  
              if (!$helper->ask($this->input, $this->output, $question)) {
                  $this->output->writeln("<yellow>Package {$package_name} not updated</yellow>");
                  exit;
              }
          }
      }
code_tokens: public function askConfirmationIfMajorVersionUpdated ( $ package ) { $ helper = $ this -> getHelper ( 'question' ) ; $ package_name = $ package -> name ; $ new_version = $ package -> available ? : $ this -> gpm -> getLatestVersionOfPackage ( $ package -> slug ) ; $ old_version = $ package -> version ; $ major_version_changed = explode ( '.' , $ new_version ) [ 0 ] !== explode ( '.' , $ old_version ) [ 0 ] ; if ( $ major_version_changed ) { if ( $ this -> all_yes ) { $ this -> output -> writeln ( "The package <cyan>{$package_name}</cyan> will be updated to a new major version <green>{$new_version}</green>, from <magenta>{$old_version}</magenta>" ) ; return ; } $ question = new ConfirmationQuestion ( "The package <cyan>{$package_name}</cyan> will be updated to a new major version <green>{$new_version}</green>, from <magenta>{$old_version}</magenta>. Be sure to read what changed with the new major release. Continue? [y|N] " , false ) ; if ( ! $ helper -> ask ( $ this -> input , $ this -> output , $ question ) ) { $ this -> output -> writeln ( "<yellow>Package {$package_name} not updated</yellow>" ) ; exit ; } } }
docstring: If the package is updated from an older major release, show warning and ask confirmation
  
  @param Package $package
docstring_tokens: If the package is updated from an older major release show warning and ask confirmation