- Feature - Adding EBS watcher implementation #3866
- Feature - Added the implementation for EBS volume discovery on Windows #49
- Enhancement - Update GetVolumeMetrics in the CSI client #3884
- Enhancement - Migrate Agent to use vpc-eni plugin for awsvpc mode instead of ecs-eni plugin on Linux #3873
- Enhancement - Move periodic timeout implementation to wsclient library #3883
- Enhancement - Redact ECR layer URLs from container pull errors #3885
- Enhancement - Update TACS model #3889
- Enhancement - Move ACS session to ecs-agent module and refactor #3887
- Enhancement - Model transformer: model reconciliation for agent upgrades #3878
- Ehhancement - Cosmetic improvements to ACS code #3890
- Enhancement - Tcs api modification #3893
- Enhancement - Skip Task resource accounting for Fargate 1.3.0 launch type #3896
- Enhancement - Update Read Me for the environment variable ECS_POLLING_METRICS_WAIT_DURATION #3863
- Enhancement - Update SSM GPG key for ECS anywhere installation #3875
- Enhancement - Update ECS anywhere installation script to use the SSM Agent GPG key and ECS Agent GPG key from amazon-ecs-agent repository #3869
- Enhancement - Upgrade Golang version to 1.20.7 #3864
- Enhancement - Use float64 for network rate stats #3865
- Bug - count gpu as list for task resource accounting #3852
- Enhancement - Add task stop verification ack to ecs-agent module #3820
- Enhancement - Increase test coverage of some ACS responders #3826
- Enhancement - Refactor ACS refresh credentials message handling #3830
- Enhancement - Move appnet client interface to ecs-agent #3827
- Enhancement - Add gpu-driver-version ECS attribute #3836
- Enhancement - Modify ResourceAttachment and integrate into Docker task state engine #3832
- Enhancement - Add negative integration tests for gmsa on Linux #3752
- Enhancement - Upgrade Golang version to 1.20.6 #3842
- Enhancement - Update amazon linux build spec to match current ecs agent golang version #3817
- Bug - Merge Feature/task-resource-accounting to dev #3819
- Code Quality Improvement - Add Snapshotter field to V4 Container Response #3818
- Code Quality Improvement - Add some unit tests for config parsers where coverage was missing #3809
- Enhancement - Update go version to 1.19.10 #3799
- Enhancement - Add EBS volume stats implementation in the csi driver daemon and add one makefile rule to build the tar file #3774
- Enhancement - Add daemon manager package with initial daemon task creation methods #3789
- Enhancement - Enable FSx capability by default for Windows #3780
- Enhancement - Update error prefix of v4 container stats endpoint for task lookup failure case #3794
- Enhancement - Update Agent to be more resilient in case of unauthenticated timeouts with IMDS #3795
- Bug - Always report service connect metrics when both health and task metrics are disabled #3786
- Bug - Allow variables to be set to empty string in envFiles #3797
- Code Quality Improvement - Move task protection handler to ecs-agent module #3779
- Code Quality Improvement - Move TMDS v4 container stats types to ecs-agent module #3785
- Code Quality Improvement - Move v4 TMDS container and task stats endpoint handlers to ecs-agent module #3791
- Code Quality Improvement - Integrate with tcsHandler in ecs-agent module #3743
- Code Quality Improvement - Update metrics interface to couple metric completion and publish #3803
- Code Quality Improvement - Add ACS attach resource responder to ecs-agent #3807 #3810
- Code Quality Improvement - Add THIRD_PARTY.md attribution file to ecs-agent #3808
- Fix - Revert task resource accounting to avoid tasks stuck in PENDING on oversubscribed instance. #3781
- Code Quality Improvement - Improve test coverage of v2, v3, and v4 container stats endpoints #3758
- Code Quality Improvement - Improve test coverage of v2, v3, and v4 task stats endpoints. #3761
- Code Quality Improvement - Move ECSTaskProtectionSDK interface to ecs-agent #3756
- Code Quality Improvement - Downgrade the docker version used in the ecs-agent/go.mod to v20.10.24 #3767
- Enhancement - Add the EBS volume metrics collector to ecs-agent. #3766
- Code Quality Improvement - Refactor ACS attach instance ENI message handling #3765
- Bug - Skip sending internal task events to ECS control plane #3772
- Code Quality Improvement - Move TMDS task protection types to ecs-agent (refactoring only). #3764
- Code Quality Improvement - Add missing copyright header to files #3777
- Feature - Task Resource Accounting - Adds host resource manager in docker task engine which keeps account of host resources for tasks started on the host. Removes task serialization and uses host resource manager to start tasks on the host as soon as resources become available for a task. #3684 #3706 #3700 #3723 #3741 #3747 #3750
- Enhancement - Update containernetworking/cni dependency to v1.1.2 and the vpc-cni plugin version #3702
- Code Quality Improvement - Refactor ACS attach task ENI message handling #3744
- Code Quality Improvement - Add "more than one ECS failure" case to Task Protection TMDS tests #3749
- Code Quality Improvement - Move eventstream to /ecs-agent and remove /agent/wsclient #3746
- Code Quality Improvement - Move TCS Client to ecs-agent module, and switch to use wsclient in ecs-agent module #3726
- Code Quality Improvement - Add tests for GetTaskProtection API and UpdateTaskProtection API to high-level TMDS tests 3739 #3740
- Code Quality Improvement - Refactor ACS heartbeat message handling #3724
- Code Quality Improvement - Move v4 task metadata handler to ecs-agent module with a more generic implementation #3733
- Fix - Make task not found error message for task protection endpoint consistent with Fargate #3748
- Feature - Add domainless gMSA support on windows/linux #3735
- Enhancement - Update golang.org/x/net to v0.8.0 #3730
- Enhancement - Change a log.Info message to log.Debug #3713
- Code Quality Improvement - Add more tests for v2, v3, and v4 container metadata handlers #3708
- Code Quality Improvement - Move utils/retry and api/errors to ecs-agent #3711
- Code Quality Improvement - Move v4 metadata models to ecs-agent module #3715
- Code Quality Improvement - Move ACS client to ecs-agent module and refactor #3710
- Code Quality Improvement - Move statsEngine initiation from tcs session initialization, and adding channels to statsEngine #3717
- Code Quality Improvement - Channel based docker stats engine implementation (DockerStatsEngine -> TCSClient) #3683
- Code Quality Improvement - Remove telemetry message logging to avoid polluting debug log #3725
- Code Quality Improvement - Add v4 container metadata handler to ecs-agent module #3720
- Code Quality Improvement - Add more v2, v3, and v4 task metadata tests #3722
- Code Quality Improvement - Consume v4 container metadata handler from ecs-agent module #3727
- Code Quality Improvement - Improve test coverage for taskWithTags endpoints #3729
- Fix - Update amazon-ecs-cni-plugins submodule #3732
- Improvement - Add structured logging for Task and Docker Image Manager #3677 #3696
- Enhancement - Update dependencies to include security patches reported by dependabot for agent #3632 #3691
- Code Quality Improvement - Refactor common ENI attachment functionality #3685
- Code Quality Improvement - Move handlers utils, v2 metadata models, v1 and v2 TMDS credentials endpoints to ecs-agent module #3698 #3701 #3705
- Code Quality Improvement - Add wsclient library to ecs-agent module #3690
- Fix - Support firelens for bridge mode ServiceConnect task #3693
- Fix - Support special characters in the password for FSx : windows #3669
- Enhancement - Add new release config file called agentVersionV2-.json to our release CodePipeline project #3680
- Enhancement - Update third party attribution files #3655
- Enhancement - Add metrics interface and corresponding no-ops to ecs-agent/ #3654
- Enhancement - Task state change logging refactor #3674
- Enhancement - Add default AES256 encryption and enable versioning to buckets #3673
- Code Quality Improvement - Move TMDS initialization and Audit Logger interface to ecs-agent module, and update agent module to consume them #3653 #3660 #3663 #3666
- Code Quality Improvement - Clean up ACS model, gogenerate, and tool dependencies #3659 #3670
- Code Quality Improvement - Move container instance health doctor to ecs-agent/ #3662
- Code Quality Improvement - Move agent logger to ecs-agent module #3681
- Enhancement - update docker client library to latest in ecs-init #3635
- Enhancement - Update vendor directory of agent package. #3645
- Enhancement - Add ecs-agent/ ACS model and cleanup gogenerate make #3643
- Enhancement - Integrate ecs-agent module with CI. Add make targets for ecs-agent module #3651
- Fix - Fix misleading error response codes for v4 metadata and stats endpoints for TMDE. The endpoints will now return a 404 Not Found error code when task/container is not found and a 500 Internal Server Error on unexpected failures. TMDE clients that branch logic based on error response status codes will behave differently. For example, clients that retry on 5XX errors but not on 4XX errors will no longer perform futile retries #3644
- Enhancement - Update README for generic-rpm-integrated #3631
- Fix - Add ISO partition for downloading agent appropriately #3630
- Fix - Change disable metrics default for Windows in the README to false #3615
- Fix - Skip testing memory swappiness for cgroupv2 #3638
- Enhancement - Update the description of ECS_DYNAMIC_HOST_PORT_RANGE #3609
- Enhancement - simplified ACS handler refactor #3225
- Fix - change code suite to code services in readme #3613
- Fix - Remove scripts/verify-agent-artifacts #3617
- Enhancement - logging cleanup for unnecessary warn/error messages #3621
- Enhancement - dependency updates #3458, #3606
- Enhancement - Update docker client library to latest #3598
- Enhancement - Provide imageDigest for images from all container repositories 3576
- Enhancement - Explicitly provide the network name override to nat when using bridge network mode 3564
- Enhancement - Support dynamic host port range assignment for singular ports. The dynamic host port range can be configured with ECS_DYNAMIC_HOST_PORT_RANGE in ecs.config; if there is no user-specified ECS_DYNAMIC_HOST_PORT_RANGE, ECS Agent will assign host ports within the default port range, based on platform and Docker API version, for containers that do not have user-specified host ports in task definitions. 3601
- Enhancement - Use T.TempDir to create temporary test directory #3159 and #3560
- Enhancement - remove set-output GitHub action command #3487
- Enhancement - periodically disconnect from ACS #3586
- Bug - Fixed a bug that incorrectly advertised the gMSA and fsx capability #3540
- Bug - Remove fallback to Docker for host port ranges assignment #3569
- Bug - fix ecs-init log message #3577
- Bug - Update CNI plugin versions, IMDS access works properly over IPv6 #3581
- Enhancement: Skip sending STSC events for internal tasks #3541 and #3559
- Enhancement: Update go version in module file, update most vendored build dependencies to latest library #3534 and #3551
- Enhancement - Refactor build and remove legacy packaging #3552
- Bug - Address envFile resource naming defect #3554
- Bug - Enumerate port ranges into the docker config #3558
- Bug - Revert CNI Plugin submodule update #3565
- Bug - Update ECS CNI and VPC plugins to fix instances with IMDSv1 disabled #3531
- Bug - Filter out metricCount=0 and its corresponding metricValue for service connect metric TargetResponseTime #3537
- Bug - Add ServiceConnect image to clean-up exclusion list #3521
- Enhancement: added new agent configuration to specify ephemeral host port range #3522
- Bug - Fix the generation of network bindings for Service Connect container #3513
- Bug - Prevent resetting valid agent state db when IMDS fails on startup #3509
- Bug - Read git hash from RELEASE_COMMIT file if possible #3508
- Bug - Don't log errors on instances not using GMSA #3489
- Enhancement - Update packaging Readme files with updated instructions to build init files #3490
- Bug - Fix unit tests for cgroup v2 #3491
- Enhancement - Update readme for ECS_SELINUX_CAPABLE to clarify Z-mode mount only and limited support #3496
- Bug - Fix agent short hash version bug #3497
- Bug - Use Ubuntu 20.04 for linux GH Unit tests #3501
- Feature - Container port range mapping #3506
- Bug - Add ecs-serviceconnect to CNI and Agent build scripts #3482
- Bug - add call to update-version.sh to dockerfree-agent-image #3484
- Feature - gMSA on Linux support #3464
- Enhancement - Restart AppNet Relay on failure [#3469](Restart AppNet Relay on failure)
- Enhancement - Add grpc vendor dependencies #3439
- Bug - Workaround git-secrets scan issue: awslabs/git-secrets#221 #3442
- Feature - ECS Agent changes to support task scale in protection feature. ECS Agent API Endpoint is also introduced with this feature. This feature allows a user to update and get task protection state of a task from a task container by calling ECS Agent API Endpoint, which protects the task from being terminated in a scale-in event #3427 Github feature request - #125
- Enhancement - Update service connect config validator to validate fields with a global standard, or consumed and proceeded by ECS Agent for service connect #3424
- Enhancement - ServiceConnect AppNet version handling; init bootstrap; CNI interface name update for service connect #3436
- Enhancement - Add file watcher for Appnet agent image update for service connect #3435
- Enhancement - Change method for retrieving Windows network statistics in case of awsvpc network mode for Windows #3425
- Bug - Fix minor unreachable code caused by t.Fatal #3372
- Feature - Add service connect feature. This feature enables ECS Service to be discoverable and ECS will leverage the container port mappings, service name and default application namespace associated with the cluster and the service to register your service for discovery and to enable discovery of dependencies through DNS lookup #3414
- Bugfix: Bump Go to 1.19.1 for CVE-2022-27664 #3398
- Feature - Add VPC ID to TMDE v4 Task Responses. #3288 #3385
- Feature - Add ServiceName to TMDE v4 Task Responses. #3362
- Enhancement - Add codeowners file and update token permission to read only for workflow. #3374
- Enhancement - Dependabot ecs-init fixes. #3388
- Feature - Add configurable default profile ECS_ALTERNATE_CREDENTIAL_PROFILE. #3365
- Enhancement - Update ECS_RESERVED_MEMORY description in README. #3363
- Enhancement - Update dependencies to include security patches reported by dependabot for agent #3367
- Enhancement - Update dependencies to include security patches reported by dependabot for ecs-init. #3277
- Enhancement - Reduce the flakiness of TestExecCommandAgent. #3355
- Bug - Add appmesh path to agent container image config. #3378
- Bug - Fix cgroupv2 mem usage calculation to match docker cli. #3370
- Bug - Fix json syntax in release-config. #3359
- Bug - Update validation script with more comprehensive set of files. #3358
- Bug - Update changelog generation to add missing spec file. #3356
- Bug - Fix format string for ecs-init. #3282
- Enhancement - Load ServiceName from ACS Task Payload. #3342
- Bug - Update healthcheck and ports in dockerfree build. #3343
- Bug - Fix an issue with cgroup mount #3324
- Enhancement - Build changes - Add GitShortSha to config, Add md5, json file creation #3327
- Enhancement - Update golang version to 1.18.3 #3301
- Enhancement - Update windows golang version to 1.18.3 #3317
- Bugfix - amazon-ecs-cni-plugins: Always run DeleteVeth on cleanup, fixes veth "exchange full" errors #3311
- Enhancement - Add command and error logging for FSx file mapping when calling out to PowerShell #3240
- Enhancement - Update README.md with missing environment variables #3244
- Enhancement - Integrate new/updated build targets and processes #3234
- Enhancement - Trimming task reason to a max of 1024 characters as per Back-end model #3229
- Enhancement - Add log message when receiving error during cached image inspection #3216
- Bug - Fix an issue where a task can be stuck in PENDING for ever when container dependencies can never be fulfilled #3218
- Enhancement - Remove hard-coded task CPU limit and advertise a new capability ecs.capability.increased-task-cpu-limit #3197
- Enhancement - Simplify api/task code #3176
- Enhancement - Remove unused .travis.yml file #3171
- Bug - Fix potential goroutine leaks #3170
- Bug - Fix credential rotation issue with ECS-A Windows #3184
- Bug - Fix Windows base image versions for integration tests #3179
- Enhancement - Support for unified cgroups and the systemd cgroup driver #3127
- Enhancement - Apply minimumCPUShare to both task and container CPU shares #3156
- Enhancement - Update cgroups library to the latest release #3126
- Enhancement - Improve log readability #3134
- Enhancement - Add Host IP to port response for v4 container response #3136
- Feature - prevent instances in EC2 Autoscaling warm pool from being registered with cluster #3123
- Enhancement - DiscoverPollEndpoint: lengthen cache ttl and improve resiliency #3109
- Enhancement - Update agent build go version to 1.17.5 #3105
- Enhancement - bumped pause container gcc build version #3108
- Enhancement - Remove unused TopContainer API #3079
- Enhancement - Add support for metrics when using awsvpc network mode on Windows #3087
- Enhancement - Update Agent build golang version to 1.17.3 #3097
- Enhancement - Lower task cleanup duration #3088
- Bug - Fix memory leak in task stats collector #3082
- Feature - Add instance health status feature. #3071
- Enhancement - Bumps github.com/containerd/containerd from 1.3.2 to 1.4.11. #3073
- Bug - Fixes #2865 caused by a memory leak in stats collector #3069
- Feature - Enabling ECS Exec for Windows workloads running on ECS EC2 #3053
- Enhancement - Added support for integration tests on Windows Server 2004, 20H2, and 2022 #3037
- Enhancement - Update Agent build golang version to 1.17.2 #3057
- Enhancement - GPU updates for ECS Anywhere #3040
- Enhancement - Windows OS Family attribute advertisement #3044
- Enhancement - Upgrade Windows builds to golang version v1.17 #3010
- Enhancement - Introduce a new environment variable ECS_EXCLUDE_IPV6_PORTBINDING. When enabled, this filters the IPv6 port bindings for default network mode tasks in DescribeTasks API call #3025
- Bug - Fix a issue that agent does not clean task execution credentials from credential manager when stopping a task #2993
- Enhancement - Add runtime-stats log file to periodically log agent's runtime stats such as used memory and CPU; also add new configuration setting to enable/disable pprof #3001
- Enhancement - Improvement of log message displayed when container instance registartion fails due to attribute validation errors #2999
- Enhancement - Upgrade to go 1.15.9 for Linux platforms #3002
- Feature - Support buffer limit option in FireLens #2958
- Enhancement - Introduce optional jitter for task cleanup wait duration, configurable via
ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION_JITTER
environment variable. In use case where there are large number of tasks being stopped at the same time, specifying this jitter can help avoid all the task cleanup happening at the same time (the latter could add pressure to the instance and as a result affect running tasks) #2969
- Enhancement - Get container's exit code from docker event in case we receive a container die event, but fail to inspect the container. Previously the container's exit code was left as null in this case. #2940
- Feature - ECS EC2 task networking for Windows tasks #2915
- Bug - Upgrading the amazon-vpc-cni plugins submodule to address a bug on Windows Server 2004 and Windows Server 20H2 platforms #2930
- Bug - Fix broken DataDir/Checkpoint file configuration #2897
- Enhancement - Update Docker Library to v19.03.11 #2905
- Bug - Revert change that registered Windows ECS Instances using specific OSFamilyType #2859 to address #2881
- Bug - Fix an edge case that could incorrectly mark a task as STOPPED when Docker crashes while stopping a container #2885
- Enhancement - validate agent config file path permission on Windows #2866
- Bug - fix potential goroutine leak when closing websocket connections #2854
- Bug - fixes a bug where a task can be stuck in RUNNING indefinitely when a container can't be stopped due to an unresolved docker bug (see also the open PR in moby to fix the bug).
- Enhancement - Register Windows ECS Instances using specific OSFamilyType #2859
- Enhancement - Add retries while retrieving instance-id using EC2 Instance metadata service api #2861
- Enhancement - Support for ECS EXTERNAL launch type (ECS Anywhere) #2849
- Enhancement - Add support for ECS agent to acknowledge server heartbeat messages #2837
- Enhancement - Add configurable agent healthcheck localhost ip env var. #2834
- Bug - Fix bug that could incorrectly clean up pause container before other containers. #2838
- Bug - Fix task's network stats by omitting pause container in the network metrics calculation. #2836
- Enhancement - Eliminate benign docker stats "context canceled" warning messages from logs #2813
- Bug - Fix bug where pause container was not always cleaned up #2824
- Bug - Fix potential deadlock due to seelog's string marshalling of task struct #2811
- Enhancement - Implementation of structured logs on top of seelog #2797
- Bug - Fixed a task status deadlock and pulled container state for cached images when ECS_PULL_DEPENDENT_CONTAINERS_UPFRONT is enabled #2800
- Feature - Allows ECS customers to execute interactive commands inside containers #2798
- Enhancement - Add error responses into TMDEv4 taskWithTags responses #2789
- Bug - Fixed the number of cpu units the Agent will reserve for the Linux container instances #2783
- Enhancement - Allow task metadata endpoint to return metadata for task when some of the container does not have network metadata #2747
- Enhancement - Improve error and info logging around credentials requests #2705
- Enhancement - Introduce new environment variable ECS_CONTAINER_CREATE_TIMEOUT to make Docker create timeout configurable. Minimum value is 1m. Default value is 4m. #2781
- Bug - Add missing error handling in getContainerStatsNotStreamed. #2757
- Bug - Fix an edge case that can cause container dependency deadlock #2734
- Bug - Revert the change that adds client token persistence #2708
- Enhancement - Docker stop timeout buffer increased from 30s to 2m #2697
- Enhancement - More informative ENI attachment logs #2703
- Enhancement - Introduce new environment variable ECS_PULL_DEPENDENT_CONTAINERS_UPFRONT to pull images of dependent containers even before dependsOn condition is satisfied. This feature is turned off by default #2731
- Enhancement - Add pulled containers metadata to Task Metadata Endpoint V4 #2731
- Bug - Fix a bug where agent persists RCI client token to avoid being registered as different container instance ARNs #2708
- Bug - Fix jumbled min & max for engine connection retry delays #2721
- Feature - Add support for FSxWindowsFileServerVolumeConfiguration in task definition #2690
- Bug - Fixed Makefile to use Go1.12 for Agent windows build #2688
- Bug - Initialize the logger from the agent’s main() #2644
- Enhancement - Use Go 1.15 for Linux platforms and Go 1.12 for Windows platforms #2653
- Bug - Currently, while polling docker stats, there is no timeout for the API call. So the call could be stuck until the container is stopped. Adding poll stats timeout #2656
- Feature - ECS metadata for AWS service lens and x-ray. We have added new fields to the TMDEv4 endpoint. Specfically, ContainerARN, LogDriver, LogOptions, and LaunchType #2623
- Feature - add IPv6 support for task networking #2646
- Enhancement - Propagate responses to the Amazon ECS Container Agent Log when an error occurs #2641
- Bug - Fix HTTP response code to TMDE requests when they fail for internal reasons. Previously we returned 400 Bad Request, and will now return 500 Internal Server Error #2643
- Bug - Fix a bug where the ECS Agent did not iterate through all the dependencies of a particular container #2615
- Bug - Fix a bug where the ECS Agent can lose track of containers if it's stopped by SIGKILL instead of SIGTERM #2609
- Bug - Fix a bug where the a Docker API call could be made with a blank string instead of a Docker ID #2608
- Bug - Fix a bug where the ECS Agent was expecting ECS_LOGFILE to be present as an environment variable #2598
- Bug - Revert Introspection API scope change #2605
- Bug - Fix a bug where ECS_LOGLEVEL stopped controlling logging level on instance #2597
- Bug - Fix Introspection API scope and bind to localhost #2588
- Enhancement - Make image pull timeout configurable #2565
- Bug - Fixes a bug where ENI is attached before Agent starts and there is a delay in acknowledgement of ENI attachment by Agent #2581
- Bug - Fixes a deadlock scenario when the agent restores the state from its data file and the tasks are using environment files feature #2580
- Bug - Fixed a bug that can cause stats endpoint to return empty response to container that just starts up #2578
- Bug - Fixed a bug where parsing logic from env var parsing was introducing error depending on the value #2573
- Feature - Add support for customers to configure the destination for the Agent container logs, by setting a Docker-supported logging driver in the Agent config file - #2548
- Enhancement - Agent's internal state management mechanism is changed from a custom json state file to boltdb. This change is made to reduce its resource consumption especially under high task density/mutation rate - #2562
- Feature - Collect network stats for awsvpc network mode and display network rate stats for bridge and awsvpc network mode through v4 metadata endpoint - #2545
- Feature - Support for sub second precision in FluentD #2538.
- Bug - Fixed a bug that caused configured values for ImageCleanupExclusionList to be ignored in some situations #2513
- Bug - Fixed a bug #2476 where HostPort is not present in ECS Task Metadata Endpoint response with bridge network type #2495
- Feature - Add inferentia support #2458
- Bug - fixes a bug where env file feature would not accept "=", which is the delimiter in the values of a env var #2487
- Enhancement - Agent's default stats gathering is changing from docker streaming stats to polling. This should not affect the metrics that customers ultimately see in cloudwatch, but it does affect how the agent gathers the underlying metrics from docker. This change was made for considerable performance gains. Customers with high CPU loads may see their cluster utilization increase; this is a good thing because it means the containers are utilizing more of the cluster, and agent/dockerd/containerd are utilizing less #2452
- Enhancement - Adds a jitter to this so that we don't query docker for every container's state all at the same time #2444
- Bug - Register custom logger before it gets used to ensure that the formatter is initiated before it is loaded #2438
- Feature - Add support for bulk loading env vars through environmentFiles field in task definition #2420
- Feature - Add v4 task metadata endpoint, which includes additional network information compared to v3 #2396
- Bug - Fixed an edge case that can cause task failed to start when using container ordering success condition #2404.
- Feature - add integration with EFS's access point and IAM authorization features; support EFS volume for task in awsvpc network mode
- Enhancement - adding Runtime ID of container to agent logs #2399
- Feature - additional parameters allowed when specifying secretsmanager secret #2358
- Bug - fixed a bug where Firelens container could not use config file from S3 bucket in us-east-1 #2356
- Bug - fix windows logfile writing #2347
- Bug - update sbin mount point to avoid conflict with Docker >= 19.03.5 #2345
- Bug - Fixed potential file descriptor leak with context logger #2337
- Feature - EFS Preview #2301
- Bug - Load pause container for use by PID/IPC even if task networking is disabled #2300
- Bug - Fixed a race condition that might cause the agent to crash during container creation #2299
- Feature - Add Windows gMSA (group Managed Service Account) support on ECS.
- Bug - Binding metadata directory in Z mode for selinux enabled docker, which enables read access to the metadata files from container processes. #2273
- Feature - Agent performs a sync between task state on the instance and on the backend everytime Agent establishes a connection with the backend. This ensures that task state is as expected on the instance after the instance reconnects with the instance after a disconnection #2191
- Enhancement - Update Docker LoadImage API timeout based on benchmarking test #2269
- Enhancement - Enable the detection of health status of ECS Agent using HEALTHCHECK directive #2260
- Enhancement - Add
NON_ECS_IMAGE_MINIMUM_CLEANUP_AGE
flag which when set allows the user to set the minimum time interval between when a non ECS image is created and when it can be considered for automated image cleanup #2251
- Enhancement - Add
ECS_ENABLE_MEMORY_UNBOUNDED_WINDOWS_WORKAROUND
flag which when set ignores the memory reservation parameter along with memory bounded tasks in windows @julienduchesne #2239 - Bug - Fixed a bug when config attribute in hostConfig is nil when starting a task #2249
- Bug - Fixed a bug where start container failed with EOF and container is started anyways #2245
- Bug - Fixed a bug where incorrect error type was detected when the
vpc-id
could not be detected on ec2-classic #2243 - Bug - Fixed a bug where Agent did not reopen Docker event stream when it gets EOF/UnexpectedEOF error #2240
- Feature - Add support for automatic spot instance draining #2205
- Bug - Fixed a bug where the agent might crash if it's restarted right after launching a task in awsvpc network mode #2219
- Feature - Add support for showing container's ImageDigest Pulled from ECR in ECS DescribeTasks #2201
- Enhancement - Add more functionalities to firelens (log router) feature: allow including external config from s3 and local file; add fluent logger support for bridge and awsvpc network mode; add health check support for aws-for-fluent-bit image
- Enhancement - Add support for Windows Named Pipes in volumes @ericdalling #2185
- Feature - Add log router support (beta)
- Feature - Add elastic inference support
- Feature - Add support for showing container's Docker ID in ECS DescribeTasks and StopTask APIs #2138
- Enhancement - Update task cleanup wait logic to clean task resources immediately instead of waiting 3 hours #2084
- Bug - Fixed Agent reporting incorrect capabilities on Windows #2070
- Bug - Fixed a bug where Agent fails to invoke IPAM DEL command when cleaning up AWSVPC task #2085
- Bug - Fixed a bug where task resource unmarshal error was ignored rather than returned #2098
- Bug - Update amazon-vpc-plugins that allows AWSVPCTrunking to work without ec2-net-utils #2093
- Enhancement - Non-ECS images cleanup: clean up dangling images with image ID #2023
- Bug - Pick up latest version of amazon-vpc-cni-plugins and amazon-ecs-cni-plugins to include recent bug fixes (f09fd7c, d90eebe, 06cbba2)
- Bug - Fixed error detection case when image that is being deleted does not exist @bendavies #2008
- Bug - Fixed a bug where docker volume deletion resulted in nullpointer #2059
- Feature - Introduce high density awsvpc tasks support
- Enhancement - Introduce
ECS_CGROUP_CPU_PERIOD
to make cgroup cpu period configurable @boynux #1941 - Enhancement - Add Private Host IPv4 address to container metadata @bencord0 #2000
- Enhancement - Set terminal reason for volume task resource #2004
- Bug - Fixed a bug where container health status is not updated when container status isn't changed #1972
- Bug - Fixed a bug where containers in 'dead' or 'created' status are not cleaned up by the agent #2015
- Feature - Add secret support for log drivers
- Enhancement - Set up pause container user the same as proxy container when App Mesh enabled and pause container not using default image
- Bug - Fixed a bug where network stats are not presented in container stats #1932
- Feature - Startup order can now be explicitly set via DependsOn field in the Task Definition #1904
- Feature - Containers in a task can now have individual start and stop timeouts #1904
- Feature - AWS App Mesh CNI plugin support #1898
- Enhancement - Containers with links and volumes defined will now shutdown in the correct order #1904
- Bug - Image cleanup errors fixed #1897
- Bug - Fixed a bug where agent no longer redirected malformed credentials or metadata http requests #1844
- Bug - Populate v3 metadata networks response for non-awsvpc tasks #1833
- Bug - Avoid image pull behavior type check for container namespaces pause image #1840
- Bug - Update pull image retry to longer interval to mitigate being throttled by ECR #1808
- Bug - Update ecr models for private link support
- Feature - Add Nvidia GPU support for p2 and p3 instances
- Feature - Introduce
ECS_DISABLE_DOCKER_HEALTH_CHECK
to make docker health check configurable #1624
- Feature - Configurable poll duration for container stats @jcbowman #1646
- Feature - Add support to remove containers and images that are not part of ECS tasks #1752
- Feature - Introduce prometheus support for agent metrics #1745
- Feature - Add Host EC2 instance Public IPv4 address to container metadata file #1730
- Enhancement - Docker SDK migration replacing go-dockerclient #1743
- Enhancement - Propagating Container Instance and Task Tags to Task Metadata endpoint #1720
- Feature - Add support for ECS Secrets integrating with AWS Secrets Manager #1713
- Enhancement - Add availability zone to task metadata endpoint #1674
- Enhancement - Add availability zone to ECS metadata file #1675
- Bug - Fixed a bug where agent can register container instance back to back and gets assigned two container instance ARNs #1711
- Bug - Fixed a bug where propagated
aws:
tags are passed through RegisterContainerInstance API call #1706
- Feature - Add support for ECS Secrets integrating with AWS Systems Manager Parameter Store
- Feature - Support for
--pid
,--ipc
Docker run flags. #1584 - Feature - Introduce two environment variables
ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM
andECS_CONTAINER_INSTANCE_TAGS
to support ECS tagging #1618
- Feature - Add v3 task metadata support for awsvpc, host and bridge network mode
- Enhancement - Update the
amazon-ecs-cni-plugins
to2018.10.0
#1610 - Enhancement - Configurable image pull inactivity timeout @wattdave #1566
- Bug - Fixed a bug where Windows drive volume couldn't be mounted #1571
- Bug - Fixed a bug where the Agent's Windows binaries didn't use consistent naming #1573
- Bug - Fixed a bug where a port used by WinRM service was not reserved by the Agent by default #1577
- Enhancement - Deprecate support for serial docker image pull #1569
- Enhancement - Update the
amazon-ecs-cni-plugins
to2018.08.0
- Enhancement - Added ECS config field
ECS_SHARED_VOLUME_MATCH_FULL_CONFIG
to make the volume labels and driver options comparison configurable for shared volume #1519 - Enhancement - Added Volumes metadata as part of v1 and v2 metadata endpoints #1531
- Bug - Fixed a bug where unrecognized task cannot be stopped #1467
- Bug - Fixed a bug where tasks with CPU windows unbounded field set are not honored
on restart due to non-persistence of
PlatformFields
in agent state file @julienduchesne #1480
- Bug - Fixed a bug where the agent couldn't be upgraded if there are tasks that use volumes in the task definition on the instance
- Bug - Fixed a bug where volumes driver may not work with mountpoint
- Feature - Add support for Docker volume drivers, third party drivers are only supported on linux
- Enhancement - Replace the empty container with Docker local volume
- Enhancement - Deprecate support for Docker version older than 1.9.0 #1477
- Bug - Fixed a bug where container marked as stopped comes back with a running status #1446
- Bug - Fixed a bug where responses of introspection API break backward compatibility #1473
- Feature - Private registry can be authenticated through task definition using AWS Secrets Manager #1427
- Feature - Configurable container image pull behavior #1348
- Bug - Fixed a bug where Docker Version() API never returns by adding a timeout #1363
- Bug - Fixed a bug where tasks could get stuck waiting for execution of CNI plugin #1358
- Bug - Fixed a bug where task cleanup could be blocked due to incorrect sentstatus #1383
- Enhancement - Distinct startContainerTimeouts for windows/linux, introduce a new environment variable
ECS_CONTAINER_START_TIMEOUT
to make it configurable #1321 - Enhancement - Add support for containers to inherit ENI private DNS hostnames for
awsvpc
tasks #1278 - Enhancement - Expose task definition family and task definition revision in container metadata file #1295
- Enhancement - Fail image pulls if there's inactivity during image pull progress #1290
- Enhancement - Parallelize the container transition in the same task #1305
- Bug - Fixed a bug where a stale websocket connection could linger #1310
- Enhancement - Update the
amazon-ecs-cni-plugins
to2018.02.0
#1272 - Enhancement - Add container port mapping and ENI information in introspection API #1271
- Bug - Fixed a bug that was causing a runtime panic by accessing negative index in the health check log slice #1239
- Bug - Workaround for an issue where CPU percent was set to 1 when CPU was not set or set to zero(unbounded) in Windows #1227
- Bug - Fixed a bug where steady state throttle limits for task metadata endpoints were too low for applications #1240
- Feature - Support a HTTP endpoint for
awsvpc
tasks to query metadata - Feature - Support Docker health check
- Bug - Fixed a bug where
-version
fails due to its dependency on docker client #1118 - Bug - Persist container exit code in agent state file #1125
- Bug - Fixed a bug where the agent could lose track of running containers when Docker APIs timeout #1217
- Bug - Task level memory.use_hierarchy was not being set and memory limits were not being enforced #1195
- Bug - Fixed a bug where CPU utilization wasn't correctly reported on Windows @bboerst #1219
- Bug - Fixed a bug where the ticker would submit empty container state change transitions when a task is STOPPED. #1178
- Bug - Fixed a bug where the agent could miss sending an ENI attachment to ECS because of address propagation delays. #1148
- Enhancement - Upgrade the
amazon-ecs-cni-plugins
to2017.10.1
. #1155
- Feature - Support pulling from Amazon ECR with specified IAM role in task definition
- Feature - Enable support for task level CPU and memory constraints.
- Feature - Enable the ECS agent to run as a Windows service. #1070
- Enhancement - Support CloudWatch metrics for Windows. #1077
- Enhancement - Enforce memory limits on Windows. #1069
- Enhancement - Enforce CPU limits on Windows. #1089
- Enhancement - Simplify task IAM credential host setup. #1105
- Bug - Fixed a bug where container state information wasn't reported. #1076
- Bug - Fixed a bug where container state information wasn't reported. #1067
- Bug - Fixed a bug where a task can be blocked in creating state. #1048
- Bug - Fixed dynamic HostPort in container metadata. #1052
- Bug - Fixed bug on Windows where container memory limits are not enforced. #1069
- Feature - Support for provisioning tasks with ENIs.
- Feature - Support for
--init
Docker run flag. #996 - Feature - Introduces container level metadata. #981
- Enhancement - Enable 'none' logging driver capability by default. #1041
- Bug - Fixed a bug where tasks that fail to pull containers can cause the agent to fail to restore properly after a restart. #1033
- Bug - Fixed default logging level issue. #1016
- Bug - Fixed a bug where unsupported Docker API client versions could be registered. #1014
- Bug - Fixed a bug where non-essential container state changes were sometimes not submitted. #1026
- Enhancement - Retry failed container image pull operations #975
- Enhancement - Set read and write timeouts for websocket connectons #993
- Enhancement - Add support for the SumoLogic Docker log driver plugin #992
- Bug - Fixed a memory leak issue when submitting the task state change #967
- Bug - Fixed a race condition where a container can be created twice when agent restarts. #939
- Bug - Fixed an issue where
microsoft/windowsservercore:latest
was not pulled on Windows under certain conditions. #990 - Bug - Fixed an issue where task IAM role credentials could be logged to disk. #998
- Enhancement - Batch container state change events. #867
- Enhancement - Improve the error message when reserved memory is larger than the available memory. #897
- Enhancement - Allow plain HTTP connections through wsclient. #899
- Enhancement - Support Logentries log driver by @opsline-radek. #870
- Enhancement - Allow instance attributes to be provided from config file by @ejholmes. #908
- Enhancement - Reduce the disconnection period to the backend for idle connections. #912
- Bug - Fixed data race where a pointer was returned in Getter. #889
- Bug - Reset agent state if the instance id changed on agent restart. #892
- Bug - Fixed a situation in which containers may be falsely reported as STOPPED in the case of a Docker "stop" API failure. #910
- Bug - Fixed typo in log string by @sharuzzaman. #930
- Bug - Fixed a deadlock that was caused by the ImageCleanup and Image Pull. #836
- Enhancement - Added introspection API for querying tasks by short docker ID, by @aaronwalker. #813
- Bug - Added checks for circular task dependencies. #796
- Bug - Fixed an issue with Docker auth configuration overrides. #751
- Bug - Fixed a race condition in the task clean up code path. #737
- Bug - Fixed an issue involving concurrent map writes. #743
- Enhancement - Log completion of image pulls. #715
- Enhancement - Increase start and create timeouts to improve reliability under some workloads. #696
- Bug - Fixed a bug where throttles on state change reporting could lead to corrupted state. #705
- Bug - Correct formatting of log messages from tcshandler. #693
- Bug - Fixed an issue where agent could crash. #692
- Feature - Support definition of custom attributes on agent registration.
- Feature - Support Docker on Windows Server 2016.
- Enhancement - Enable concurrent docker pull for docker version >= 1.11.1.
- Bug - Fixes a bug where a task could be prematurely marked as stopped.
- Bug - Fixes an issue where ECS Agent would keep reconnecting to ACS without any backoff.
- Bug - Fix memory metric to exclude cache value.
- Enhancement - Added cache for DiscoverPollEndPoint API.
- Enhancement - Expose port 51679 so docker tasks can fetch IAM credentials.
- Bug - fixed a bug that could lead to exhausting the open file limit.
- Bug - Fixed a bug where images were not deleted when using image cleanup.
- Bug - Fixed a bug where task status may be reported as pending while task is running.
- Bug - Fixed a bug where task may have a temporary "RUNNING" state when task failed to start.
- Bug - Fixed a bug where CPU metrics would be reported incorrectly for kernel >= 4.7.0.
- Bug - Fixed a bug that may cause agent not report metrics.
- Feature - Implemented automated image cleanup.
- Enhancement - Add credential caching for ECR.
- Enhancement - Add support for security-opt=no-new-privileges.
- Bug - Fixed a potential deadlock in dockerstate.
- Bug - Fixed a bug where agent keeps fetching stats of stopped containers.
- Bug - Fixed a bug where agent keeps fetching stats of stopped containers.
- Bug - Fixed a bug that could lead to exhausting the open file limit.
- Bug - Fixed a bug where the introspection API could return the wrong response code.
- Enhancement - Support Task IAM Role for containers launched with 'host' network mode.
- Bug - Fixed a bug where telemetry data would fail to serialize properly.
- Bug - Addressed an issue where telemetry would be reported after the container instance was deregistered.
- Feature - Support IAM roles for tasks.
- Feature - Add support for the Splunk logging driver.
- Enhancement - Reduced pull status verbosity in debug mode.
- Enhancement - Add a Docker label for ECS cluster.
- Bug - Fixed a bug that could cause a container to be marked as STOPPED while still running on the instance.
- Bug - Fixed a potential race condition in metrics collection.
- Bug - Resolved a bug where some state could be retained across different container instances when launching from a snapshotted AMI.
- Feature - Make the
docker stop
timeout configurable. - Enhancement - Use
docker stats
as the data source for CloudWatch metrics. - Bug - Fixed an issue where update requests would not be properly acknowledged when updates were disabled.
- Feature - Add Amazon CloudWatch Logs logging driver.
- Bug - Fixed ACS handler when acking blank message ids.
- Bug - Fixed an issue where CPU utilization could be reported incorrectly.
- Bug - Resolved a bug where containers would not get cleaned up in some cases.
- Bug - Fixed an issue where
exec_create
andexec_start
events were not correctly ignored with some Docker versions. - Bug - Fixed memory utilization computation.
- Bug - Resolved a bug where sending a signal to a container caused the agent to treat the container as dead.
- Bug - Fixed a potential deadlock in docker_task_engine.
- Feature - Task cleanup wait time is now configurable.
- Enhancement - Improved testing for HTTP handler tests.
- Enhancement - Updated AWS SDK to v.1.0.11.
- Bug - Fixed a race condition in a docker-task-engine test.
- Bug - Fixed an issue where dockerID was not persisted in the case of an error.
- Enhancement - Increase
docker inspect
timeout to improve reliability under some workloads. - Enhancement - Increase connect timeout for websockets to improve reliability under some workloads.
- Bug - Fixed memory leak in telemetry ticker loop.
- Feature - Add support for pulling from Amazon EC2 Container Registry.
- Bug - Resolved an issue where containers could be incorrectly assumed stopped when an OOM event was emitted by Docker.
- Bug - Fixed an issue where a crash could cause recently-created containers to become untracked.
- Feature - Add experimental HTTP proxy support.
- Enhancement - No longer erroneously store an archive of all logs in the container, greatly decreasing memory and CPU usage when rotating at the hour.
- Enhancement - Increase
docker create
timeout to improve reliability under some workloads. - Bug - Resolved an issue where private repositories required a schema in
AuthData
to work. - Bug - Fixed issue whereby metric submission could fail and never retry.
- Feature - Add support for additional Docker features.
- Feature - Detect and register capabilities.
- Feature - Add -license flag and /license handler.
- Enhancement - Properly handle throttling.
- Enhancement - Make it harder to accidentally expose sensitive data.
- Enhancement - Increased reliability in functional tests.
- Bug - Fixed potential divide-by-zero error with metrics.
- Feature - Telemetry reporting for Services and Clusters.
- Bug - Fixed an issue where some network errors would cause a panic.
- Feature - Add debug handler for SIGUSR1.
- Enhancement - Trim untrusted cert from CA bundle.
- Enhancement - Add retries to EC2 Metadata fetches.
- Enhancement - Logging improvements.
- Bug - Resolved an issue with ACS heartbeats.
- Bug - Fixed memory leak in ACS payload handler.
- Bug - Fixed multiple deadlocks.
- Feature - Add support for re-registering a container instance.
- Security issue - Avoid logging configured AuthData at the debug level on startup
- Feature - Add configuration option for reserving memory from the ECS Agent
- Feature - UDP support for port bindings.
- Feature - Set labels on launched containers with
task-arn
,container-name
,task-definition-family
, andtask-definition-revision
. - Enhancement - Logging improvements.
- Bug - Improved the behavior when CPU shares in a
Container Definition
are set to 0. - Bug - Fixed an issue where
BindIP
could be reported incorrectly. - Bug - Resolved an issue computing API endpoint when region is provided.
- Bug - Fixed an issue where not specifiying a tag would pull all image tags.
- Bug - Resolved an issue where some logs would not flush on exit.
- Bug - Resolved an issue where some instance identity documents would fail to parse.
- Feature - Logs rotate hourly and log file names are suffixed with timestamp.
- Enhancement - Improve error messages for containers (visible as 'reason' in describe calls).
- Enhancement - Be more permissive in configuration regarding whitespace.
- Enhancement - Docker 1.6 support.
- Bug - Resolve an issue where data-volume containers could result in containers stuck in PENDING.
- Bug - Fixed an issue where unknown images resulted in containers stuck in PENDING.
- Bug - Correctly sequence task changes to avoid resource contention. For example, stopping and starting a container using a host port should work reliably now.
- Feature - Added the ability to update via ACS when running under amazon-ecs-init.
- Feature - Added version information (available via the version flag or the introspection API).
- Enhancement - Clarified reporting of task state in introspection API.
- Bug - Fix a lock scoping issue that could cause an invalid checkpoint file to be written.
- Bug - Correctly recognize various fatal messages from ACS to error out more cleanly.
- Feature - Volume support for 'host' and 'empty' volumes.
- Feature - Support for specifying 'VolumesFrom' other containers within a task.
- Feature - Checkpoint state, including ContainerInstance and running tasks, to disk so that agent restarts do not leave dangling containers.
- Feature - Add a "/tasks" endpoint to the introspection API.
- Feature - Add basic support for DockerAuth.
- Feature - Remove stopped ECS containers after a few hours.
- Feature - Send a "reason" string for some of the errors that might occur while running a container.
- Bug - Resolve several issues where a container would remain stuck in PENDING.
- Bug - Correctly set 'EntryPoint' for containers when configured.
- Bug - Fix an issue where exit codes would not be sent properly.
- Bug - Fix an issue where containers with multiple ports EXPOSEd, but not all forwarded, would not start.
- Bug - Worked around an issue preventing some tasks to start due to devicemapper issues.