Skip to content

Releases: aws/copilot-cli

copilot-cli: Release v0.7.0

16 Nov 21:02
36f9337
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fix regression introduced in v0.6.0 where new applications that use the --domain flag could not initialize environments (#1662)
  • Show the option of using an existing image name if there are no Dockerfiles in the repository (#1659)
  • User experience improvements (#1670, #1672)

💥 Features and enhancements

  • Add new auto scaling fields for Load Balanced Web Services: requests and response_time to scale your services on the number of requests handled per task and service average response time respectively.

❤️ Contributions

Thank you all for the contributions!

copilot-cli: Release v0.6.0

10 Nov 00:19
8c9bf01
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Using existing images with the image.location field now works for Scheduled Jobs (#1571)
  • The user experience on Windows for environment creation and deployments now matches other platforms (#1590)
  • Documentation typo fixes (#1570, #1634)

💥 Features and enhancements

  • The image.build field now supports target and cache_from fields (#1555)
    You can specify a specific build target or cache_from to use a build cache.

    image:
      build:
        target: build-stage
        cache_from:
        - alpine:latest
  • Add new command pipeline ls to list existing pipelines in your application (#1529)

  • Add additional health checks configuration for Load Balanced Web Services (#1592)
    Previously, Copilot only allowed you to specify the health check path and set defaults for other settings:

    healthcheck: '/_healthcheck'

    Now, you can now configure the number of consecutive health checks successes required before considering an unhealthy target healthy, the number of health check failures required before considering a target unhealthy, the interval between health checks, and timeout duration:

      healthcheck:
         path: '/_healthcheck'
         healthy_threshold: 3      # Default is 2.
         unhealthy_threshold: 4    # Default is 2.
         interval: 7s              # Default is 10s.
         timeout: 30s              # Default is 5s.
  • We no longer create Application Load Balancers by default in your environments! (#1508)
    With this change, if your application consists of only Backend Services you won't be paying for an unused ALB.
    Instead, the ALB creation happens in your environment only if you deploy a Load Balanced Web Service.

  • The http field for Load Balanced Web Services now supports allowed_source_ips to limit the IP addresses that can access your service. (#1643)

❤️ Contributions

Thank you all so much for the contributions!

copilot-cli: Release v0.5.0

23 Oct 18:35
05db3dc
Compare
Choose a tag to compare

Bug fixes

  • Secret and variable environment overrides now work for pipelines (#1539)

    Please re-run copilot pipeline init && copilot pipeline update to generate the fixed buildspec and push it so that the build stage unblocks.

  • The autoscaling field is now assigned a default value if environment overrides are provided (#1469)
  • The --command flag for task run no longer splits quoted elements (#1467)
  • Dockerfiles no longer need to be under your workspace (#1446, #1448)
  • The --app flag is now prioritized over the application associated with your workspace (#1399)

Features and enhancements

  • New command family, $ copilot job , to manage scheduled tasks (#1531)
    You can now use job init to create a manifest for a task that's invoked at a fixed schedule or periodically. Scheduled jobs can have timeouts and retries.
    Just like for services, there are also few other commands available: job ls, job package, job deploy, job delete.

    ⚠️ Breaking change: The --svc flag is renamed to --name and --svc-type to --type for the copilot init command to accommodate for new workload types.

  • Support using an image instead of a Dockerfile (#1473)
    Instead of building from a Dockerfile, you can now leverage the location field for using an existing image.

    image:
      location: nginx # or account-id.dkr.ecr.region.amazonaws.com/my-app/my-svc:tag for pulling from ECR
  • Backend Services no longer need an exposed port (#1478)

  • AWS named profiles are no longer needed on app and environment deletions (#1510)

    ⚠️ Breaking change: The --profile flag is no longer needed for the env delete command and was removed .
    Similarly, the --env-profiles flag is no longer needed for the app delete command and was removed.

Contributions

Thank you so much for the contributions 🙏 ❤️
@mRoca (#1469)

copilot-cli: Release v0.4.0

21 Sep 20:37
d868cff
Compare
Choose a tag to compare

Bug fixes

  • Environment variable strings in the manifests are now escaped (#1322)
  • Test command values in the pipeline manifests are now escaped (#1327)
  • The svc logs command does not skip log events anymore when you have multiple tasks running (#1328)
  • GitHub URL input for pipeline init now works on Windows (#1326)
  • Color only error strings for svc logs (#1350)

Features and enhancements

  • Support manual approvals in pipeline manifests (#1273)
    You can now add requires_approval: true to pipeline.yml to add a manual approval button to your pipeline stage.

  • Enable filtering service logs on particular task IDs (#1334)
    The svc logs command now supports a --tasks flag to filter on task IDs.

  • Support autoscaling for services (#1355)
    Add a new option to service manifests to do automatic scaling of your services with target scaling policies.
    You can now update the count field in service manifests from a number to the following map to enable autoscaling.

    count:
      range: 1-10  # Specify a range for how many tasks you'd like to run in your service.
      cpu_percentage: 70     # To scale on average CPU.
      memory_percentage: 80  # Or, to scale on average Memory.

    During deployments, Copilot maintains your desired count while autoscaling is active.

  • Display autoscaling alarms when running svc status (#1384)

  • Prompt for Dockerfile path if we cannot detect it in your git repository (#1341)

  • Support sticky sessions for load balanced web services (#1378)
    Add a new stickiness: true option under the http field for load balanced web services to enable sticky sessions.

Contributions

Thank you so much for the contributions 🙏 ❤️
@git823 (#1273, #1305, #1344, #1378)
@efimenkop (#1326)
@corykitchens (#1350)

copilot-cli: Release v0.3.0

13 Aug 22:10
27ecf7c
Compare
Choose a tag to compare

Bug fixes

  • The CLI now reads the ~/.aws/config file as expected while initializing an environment (#1205)
  • Fix flaky KMS errors while initializing an application by adding UntagResource KMS permissions (#1206)
  • Accept Git repository URIs that end with ".git" while initializing a pipeline (#1215)
  • Use your default credential chain instead of the "default" profile while initializing an environment with copilot init (#1242)

Features and enhancements

  • Enable specifying a context and build args for your container image in the manifest (#1059) (docs)
    • 🚨 To leverage this feature with an existing pipeline, please generate the buildspec.yml again with pipeline init.
  • New command task run allows you to run one off Amazon ECS tasks in an environment or default cluster. (#702) (docs)
    • 🚨 Task run will only work with environments created with v0.3.0 and later.
  • Enable using an existing VPC and subnets or overriding CIDR ranges while initializing an environment (#740) (docs)
  • Enable using temporary credentials while initializing an environment with env init (#1228) (docs)
  • Support ARM64 build target for Linux (#1208)

Contributions

Thank you so much for the contributions 🙏 ❤️

copilot-cli: Release v0.2.0

21 Jul 01:28
5f61174
Compare
Choose a tag to compare

Bug fixes

  • Addon templates no longer require an IAM ManagedPolicy to render (#1075)
  • HEALTHCHECK instructions from a Dockerfile are now parsed as an array for a backend service (#1082)
  • Stop deleting the ECR repository and SSM parameter when removing a service from an environment (#1127)
  • The svc package command uses the application's domain name if provided (#1150)
  • Providing the domain name is only required once while initializing an application (#1156)
  • The example for pipeline init now uses the correct flag name (#1114)

Features and enhancements

  • Add new command storage init to add an S3 bucket or DynamoDB table to your service (#1141)
  • pipeline status, pipeline show, and env show are now visible commands (#1132, #1160)
  • Display pipeline stages in a tree format and with colors when running pipeline status (#1070, #1078)

Contributions

Thank you so much for the contributions 🙏
@carlosafonso (#1114)
@chenrui333 (#1163, #1164)
@trashhalo (#1165)

copilot-cli: Release v0.1.0

25 Jun 22:41
Compare
Choose a tag to compare

We're excited to announce the release of v0.1.0 of the AWS Copilot CLI (beta) 🥳🥂🍾! With the beta releases, you can expect our command names to be stable as well as the shape of our infrastructure patterns.

We want to thank all of customers that tested and helped shape the product from its alpha version, ecs-preview, to the copilot CLI 👩‍✈️.

We're super excited to have you start building modern containerized applications with copilot and hearing your feedback!

Breaking changes

  • Rename the binary from ecs-preview to copilot (#951).
  • Rename the ecs-preview app [cmd] commands to copilot svc [cmd] (#951).
  • Rename the ecs-preview project [cmd] commands to copilot app [cmd] (#951).
  • Rename the ecs-preview wiki command to copilot docs (#955).

To migrate your previous ecs-preview project to a copilot application, we recommend running the following commands from your workspace:

$ ecs-preview project delete && copilot init

⚠️ Please note that this will lead to downtime in between the commands.

Bug fixes

  • Environment overrides render the CloudFormation stack as expected (#965).
  • Accept any file name for your service's Dockerfile (#980).
  • List environments outside of a copilot workspace (#1021).
  • Deletion commands do not remove your service and pipeline manifests (#1034).

Features and enhancements

  • Add test_commands field in your pipeline manifests to run tests once your services are deployed (#1033).
  • Enable sidecar support in the manifest (#875).
  • Enable custom log destinations with Firelens and the logging field in the manifest (#992).
  • Addon templates can now be complete CloudFormation templates (#994).
  • Parse the HEALTHCHECK instruction from your Dockerfile to your service's manifest (#971).
  • Add new command copilot pipeline status that displays the execution history of your pipeline (#972).
  • Add new command copilot pipeline show to displays the configuration of your pipeline (#799).
  • Improved user experience while prompting for input and logging messages (#976, #974).

amazon-ecs-cli-v2: Release v0.0.9

07 May 20:27
f87b156
Compare
Choose a tag to compare
Pre-release

🎉 Features, enhancements, and bug fixes

  • fix(#893): the CodePipeline build step now works if your application's Dockerfile is not at the root of the repository.
  • fix(#894): app status's --name prompt now displays the appropriate message while asking for an application name.
  • fix(#892): env init now works with a project initialized with a domain name.

amazon-ecs-cli-v2: Release v0.0.8

04 May 20:33
d42a55d
Compare
Choose a tag to compare
Pre-release

🎉 Features, enhancements, and bug fixes

  • feature(#816): New application type Backend App is now supported with app init. You can now create services that are not accessible from the internet.
  • feature(#746): New command app status displays the running status of your application.
  • feature(#776): New command wiki opens the CLI documentation in your browser.
  • feature(#782): app deploy now accepts --resource-tags flag to add your custom tags while deploying an application.
  • feature(#772): project init now accepts --resource-tags flag to add your custom tags to all project resources.
  • enhancement(#718): init and app init now parses your Dockerfile to detect if there is an exposed port number.
  • enhancement(#824): app init --help shows a more user-friendly help menu.
  • fix(#831): app logs --follow displays logs from new tasks as you scale your service.
  • fix(#766): Running project init in a workspace registered to a different project will now error as expected.
  • fix(#552, #763, #801, #836): app init, env init, pipeline init, project delete is now idempotent.

🚨 Backwards incompatible changes

  • feature(#789): Tags are now propagated to your application's ECS tasks.
  • fix(#854): The pipeline stack generated with pipeline update now is set to the name in your pipeline manifest.
  • fix(#770): app show now uses the flag--name instead of --app to display an application's details.
  • fix(#771): project show now uses the flag --name instead of --project to display a project's details.

amazon-ecs-cli-v2: Release v0.0.7

18 Mar 20:41
Compare
Choose a tag to compare
Pre-release

🎉 Features and bug fixes

  • #644: Enable custom AWS resources by writing AWS CloudFormation templates under the "addons/" directory. See the wiki for more details.
  • #597: Override the default health check path "/" by modifying thehealthcheck field in the application manifest.
  • #733: app show now displays the protocol of the application's URL.
  • #729: Add ecs-preview deploy command that's an alias of ecs-preview app deploy.

🚨 Backwards incompatible changes

  • #748: The first application that you create with ecs-preview init will now listen to the default path "/" and all subsequent applications will listen to "/{appName}"
  • #726: Support service discovery.

🙏 Contributions

  • #728: ignore empty change set during DNS delegation (thank you @sandyleo26 !)