`gcloud app deploy` vs. `appcfg.py`
<p>I've been a long time user of <strong>appcfg.py</strong> and I even build some bash scripts on top of it.</p>

<ol>
<li><p>Should we switch to <strong>gcloud app deploy</strong>? Will <strong>appcfg.py</strong> be deprecated? If yes what is the timeline?</p></li>
<li><p>Why isn't there a grace period for backward compatibility of the yaml file? Switching to <strong>gcloud app deploy</strong> I get:</p></li>
</ol>

<blockquote>
  <p>The [application] field is specified in file [.../app.yaml]. This
  field is not used by gcloud and must be removed. Project name should
  instead be specified either by <code>gcloud config set project MY_PROJECT</code>
  or by setting the <code>--project</code> flag on individual command executions.</p>
</blockquote>

<p>and</p>

<blockquote>
  <p>ERROR: The [version] field is specified in file [.../app.yaml]. This
  field is not used by gcloud and must be removed. Versions are
  generated automatically by default but can also be manually specified
  by setting the <code>--version</code> flag on individual command executions.</p>
</blockquote>

<p>I am saying this as this was possible w/ the module/service field:</p>

<blockquote>
  <p>WARNING: The "module" parameter in application .yaml files is
  deprecated. Please use the "service" parameter instead.</p>
</blockquote>

<ol start="3">
<li><p>How do you upload <strong>queue.yaml</strong>, <strong>dispatch.yaml</strong> and <strong>cron.yaml</strong> with <strong>gcloud app deploy</strong>?</p></li>
<li><p>What are the differences between the 2 ways of deploying an app?</p>

<p>I'm interested in caveats &amp; things to watch for like:</p></li>
</ol>

<blockquote>
  <p>FLAGS --promote Promote the deployed version to receive all traffic. True by default.</p>
</blockquote>

<p>That means w/ <strong>gcloud app deploy</strong> the app will be deployed and the new version will be set as the active one... this is exactly the reverse way <strong>appcfg.py</strong> did things as there you would have to call <strong>set_default_version</strong> to mark a version as active.</p>

<p>This raises my last question: if I opt to NOT make it active by using either </p>

<blockquote>
  <p>$ gcloud config set app/promote_by_default false</p>
</blockquote>

<p>or</p>

<blockquote>
  <p>Use --no-promote to disable.</p>
</blockquote>

<p>will I have to redeploy w/ default value so I can make it active?</p>