Hello Everyone — We have launched a minor release of LocalStack with v1.3. Some significant deprecations are coming up, and we would like to use this issue to keep you updated.

## What's changed?

With our preparation for the v2.0 release, the v1.3 release will feature the following deprecations across our AWS & LocalStack-specific features. We also recommend you migrate your LocalStack setup before the next major release to make your update as seamless as possible!

We will merge the below changes into the master on the 30th of November. At this point, the changes will end up in the latest tag of the image. The tagged release will be created on the 1st of December. We recommend you to follow up with our release PR to check all of the changes coming with this release: [https://github.com/localstack/localstack/pull/7197](https://github.com/localstack/localstack/pull/7197)

### Deprecating Light & Full image

We have decided to deprecate Light, Full & Big-Data images. From now on, we will have only two images:

- Community users will use `localstack` image
- Pro users will use `localstack-pro` image

The current `localstack-light` and `localstack-full` images will be deprecated, and LocalStack will show a deprecation warning if either of the images is being used. We also intend to move away from the BigData image with the v2.0 release, and we would currently feature an opt-in BigData Mono Container which is not yet the default (more on our official v1.3 release notes!).

### Removal of legacy SQS provider

The legacy SQS provider has been deprecated and is not the default anymore with the v1.0 release. The old SQS provider has been removed, and if you are using `PROVIDER_OVERRIDE_SQS=”legacy”` or `“legacy_pro”` environment variable, your LocalStack setup will break. We recommend you migrate to the new SQS provider.

### Removal of Legacy API Gateway Provider

The legacy API Gateway provider has been deprecated and is not the default anymore with the v1.0 release. The old API Gateway and API Gateway v2 provider has been removed, and if you are using the following environment variables, your LocalStack setup will break:

- `PROVIDER_OVERRIDE_APIGATEWAY="legacy"` or `"legacy_pro"`
- `PROVIDER_OVERRIDE_APIGATWAYV2="legacy"` or `"legacy_pro"`

We recommend you migrate to the new API Gateway provider.

### Removal of Legacy Kinesis Provider

The legacy Kinesis provider has been deprecated and is not the default anymore with the v1.0 release. The old Kinesis provider has been removed, and if you use `PROVIDER_OVERRIDE_KINESIS="legacy"` or `"legacy_pro"` environment variables, your LocalStack setup will break. Using `KINESIS_PROVIDER="kinesalite"` will not have any effect. We recommend you migrate to the new Kinesis provider.

### Deprecating Legacy IAM Enforcement

The old IAM provider has been deprecated with 1.3. Due to this, the `LEGACY_IAM_ENFORCEMENT` environment variable is deprecated and will be removed in the v2.0 release. This deprecation only affects Pro users!

### Deprecating `SYNCHRONOUS_*_EVENTS`

The following `SYNCHRONOUS_*_EVENTS` configuration variables will be deprecated:

```
SYNCHRONOUS_SNS_EVENTS
SYNCHRONOUS_SQS_EVENTS
SYNCHRONOUS_API_GATEWAY_EVENTS
SYNCHRONOUS_KINESIS_EVENTS
SYNCHRONOUS_DYNAMODB_EVENTS
```

We will remove them in the v2.0 release; hence, it's not recommended to use them anymore!

## Deprecating `USE_SINGLE_REGION` and `DEFAULT_REGION`

The `USE_SINGLE_REGION` and `DEFAULT_REGION` configuration variables have been deprecated. We will remove them in the v2.0 release; hence it's not recommended to use them anymore!

## Deprecating `MOCK_UNIMPLEMENTED`

The `MOCK_UNIMPLEMENTED` configuration variables have been deprecated, previously being used to return some mock responses for unimplemented operations. We will remove them in the v2.0 release; hence it's not recommended to use them anymore!

## Deprecating `SKIP_INFRA_DOWNLOADS`

The `SKIP_INFRA_DOWNLOADS` configuration variables have been deprecated, previously used to disable some on-demand downloads of additional infrastructure. We will remove them in the v2.0 release; hence it's not recommended to use them anymore!

## Deprecating legacy Init scripts

The `/docker-entrypoint-initaws.d` directory usage has now been deprecated. The Pluggable initialization hooks in `/etc/localstack/init/<stage>.d` have replaced the legacy Init scripts, and the former will be removed entirely in the 2.0 release.

## Deprecating root level non-AWS endpoints

We have deprecated root-level non-AWS endpoints, which we will remove entirely in the v2.0 release. These endpoints are not AWS specific but LocalStack internal endpoints (such as `health`). The deprecated endpoints and the new endpoints are:

| Deprecated endpoints      | New endpoints                  |
| ------------------------- | ------------------------------ |
| `/health`                 | `/_localstack/health`          |
| `/cloudwatch/metrics/raw` | `/_aws/cloudwatch/metrics/raw` |

The prefixed endpoints need to be used, while the deprecated endpoints will be removed entirely in the v2.0 release.

## Miscellaneous

In the previous release, we noted the deprecation of the old filesystem and persistence. Due to its continued usage, the warnings (previously displayed if used) will change to an error. If you start LocalStack with a volume on `/tmp/localstack` (indicating that you are using the old filesystem), it will not start if it’s not explicitly enabled. We will remove it entirely with the v2.0 release.
self,
        s3_client,
        s3_bucket,
        snapshot,
        signature_version,
        patch_s3_skip_signature_validation_false,
    ):
        snapshot.add_transformer(self._get_presigned_snapshot_transformers(snapshot))
        _key = "test-presigned-missing-signature"
        presigned_client = _s3_client_custom_config(
            Config(signature_version=signature_version),
            endpoint_url=_endpoint_url(),
        )
        presigned_request = presigned_client.generate_presigned_post(
            Bucket=s3_bucket, Key=_key, ExpiresIn=60
        )
        # remo
        signature_field = "signature" if signature_version == "s3" else "x-amz-signature"
        presigned_request["fields"].pop(signature_field)
        response = .post(
            presigned_request["url"],
            data=presigned_request["fields"],
            files={"file": "file content"},
            verify=False,