Skip to content

Changelog

All versions of mare_aws_common_lib (setup.cfg), derived directly from the git history of that file's version field — one entry per commit that changed it, newest first.

Entries from 1.0.0 onward describe the actual code introduced in that version (the range between the previous and current version-bump commits) — concrete features, fields, fixes, and behavior changes, read directly from the diff. Entries below 1.0.0 are the raw commit message for that version-bump commit, not a curated release note; some of those are terse or generic ("increasing version") because that's what the commit actually said.

1.0.22 — 2026-10-01

Restrict who can read RDS database passwords. The DevOps account no longer has access to them, and within the environment's account they can now only be read by DB administrators, the deployment pipeline (and manual CDK deploys), the Foundation user-management process, automatic password rotation, and the application's own ECS containers.

1.0.21 — 2026-09-16

Wires this changelog into the published docs site: adds a Changelog nav entry to documentation/mkdocs.yml, a build-time copy step in pipeline/buildspec.yml (CHANGELOG.md → documentation/docs/changelog.md, regenerated fresh before every mike deploy), and gitignores the generated copy so it can't go stale in version control. (7c8e934)

1.0.20 — 2026-09-15

Removes a redundant cross-account IAM grant in RdsDatabaseBuilder: it looked up the shared "MareDevops" role and explicitly grant_read'd it on the RDS secret, even though that role already has the necessary access by default. (f343db6)

1.0.19 — 2026-06-16

Adds a utc_maintenance_window field to RDS configuration with a strict validator enforcing AWS's ddd:hh24:mi-ddd:hh24:mi format, valid weekday tokens, a minimum 30-minute window, and correct handling of windows that cross midnight/week boundaries — wired into RdsDatabaseBuilder via preferred_maintenance_window. Also switches the QA/build-assess pipeline's trigger from a per-commit EventBridge rule to a new _create_event_rule_for_schedule cron rule that fires once a week (Monday 07:00 UTC+2). (e947c80)

1.0.18 — 2026-06-03

Removes leftover print() debug statements that were logging every pipeline stage/action on each synth, and hardens cdk_helpers.tag_all() to use dict.get() with defaults instead of direct key access — avoiding a KeyError when repository or govis are missing from cdk.json entirely (previously only the falsy case was handled). (3fc8091)

1.0.17 — 2026-06-02

Re-enables the build stage in the QA/build-assess pipeline (previously disabled, leaving only the assess stage running); relocates the pipeline debug prints around stage/action creation (still present at this point, removed next version); adds Usage.SONARQUBE and Usage.PROWLER enum values with no consuming logic yet. Reworks cdk_postgres_engine_version with explicit pattern matching to correctly resolve both major-only version strings (VER_17) and major.minor strings (VER_15_3), rather than assuming every version has a minor component. (c49767e)

1.0.16 — 2026-05-26

Completes the QA pipeline: adds _create_assess_stage and a StageType.ASSESSMENT/assessment stage config, and loosens the "control stage is BUILD_RELEASE-only" validation to also allow Usage.BUILD_ASSESS. The pipeline's build step is disabled here so only source→assess runs (build returns next version). Adds get_all_accounts() to ApplicationHelper, reverts the Usage.SYNC↔SYNTH enum swap from the previous version, and introduces two temporary debug print() statements. (f90881b)

1.0.15 — 2026-04-28

Adds several new resource tags to cdk_helpers.tag_all() — Repository, ec.GovIS2SeqNum/ec.GovIS2Name (per the EC DIGIT tagging policy), ec.Application.Name, ec.CreatedBy, ec.EnvironmentType. Starts a new QA/build-assess pipeline type (Usage.BUILD_ASSESS, PipelineType.QA) with a create_build_assess_pipeline orchestrator method, though the assess stage itself is still commented out and the self-mutate stage disabled. Also silently renames the Usage.SYNC enum value to SYNTH (reverted next version). (ba4e75c)

1.0.14 — 2026-04-10

Removes a duplicate port mapping in ECS: the application port was being registered twice, once via the port_mappings= list passed into add_container() and once via a separate add_port_mappings() call — the latter is now commented out. Also removes a leftover dead comment in RdsDatabaseBuilder and fixes a couple of docstring typos in rds_db_config.py. (eaa6030)

1.0.13 — 2026-03-19

Makes postgres_engine_version a configurable, validated field (checked against the real rds.PostgresEngineVersion enum members) instead of a hardcoded VER_17_4 class constant, plus new allow_major_version_upgrade and apply_immediately fields wired into RdsDatabaseBuilder. Bumps the aws-cdk-lib dependency from 2.212.0 to 2.243.0. (3fc081a)

1.0.12 — 2026-02-05

Adds performance_insights_enabled/performance_insights_retention_period to RdsDBConfig (validated against AWS's supported retention periods — 7/31/93/186/372 days) and wires enable_performance_insights/ performance_insight_retention into the RDS instance. (94c1a07)

1.0.11 — 2026-01-16

The ECS BUILD_TS environment variable (forces a container/task-definition redeploy) is now set for every environment instead of only devops. WafBuilder.build() now returns the created wafv2.CfnWebACL instead of None, so callers can reference the created ACL. (29123e3)

1.0.10 — 2025-11-18

Adds signer:GetRevocationStatus to the container-signing IAM role and introduces the Usage.SIGN enum value. Also flips the CDK CloudFormationCreateUpdateStackAction's admin_permissions from False to True in the deploy pipeline — a meaningful permission-scope change for stack deployment actions. (328f358)

1.0.9 — 2025-10-28

Adds a KMSS3EncryptionAccess IAM statement (kms:Decrypt, kms:GenerateDataKey, kms:DescribeKey) to the container-signing role so it can read from an encrypted S3 source bucket. (55e59d9)

1.0.8 — 2025-10-28

Adds an S3ArtifactsAccess IAM statement (get/list/put on *) to the container-signing role for source-artifact access. (624e40d)

1.0.7 — 2025-10-28

New ContainerSigningInfrastructure construct (238 lines) that provisions an ECC_NIST_P256 KMS key, an AWS Signer profile (Notation-OCI format), and an IAM role for CodeBuild, for container image signing / supply-chain integrity. (b2f19dd)

1.0.6 — 2025-10-22

Adds a security_groups field to CodebuildConfig and attaches it to both CodeBuild project creation paths (pipeline project and standalone project). (ba8a10a)

1.0.5 — 2025-10-21

Three bug fixes: (1) ECS cross-account SSM parameter lookups are now cached per builder instance, avoiding duplicate CrossAccountResourceConsumer lookups/CFN parameters for the same key; (2) fixes an EFS access-point naming bug where the resource name always used efs_base_name twice instead of the actual access_point_name, which would have collided names across multiple access points on the same file system; (3) reworks cross-account SecretsManager sharing — secrets encrypted with the SNC key now grant_decrypt the KMS key to the devops account (a plain grant_read on the secret alone doesn't work for a customer-managed key), with a resource-policy fallback for secrets that don't use an SNC key. (c4574af)

1.0.4 — 2025-10-13

Fixes a wrong SSM parameter name for the ECS environment-files feature — it looked up se_bucket_{name} instead of s3_bucket_{name}, which would have failed the parameter lookup outright. Also exports EnvironmentFileConfig from models/__init__.py, which had been left out when the feature was added. (87a02b4)

1.0.3 — 2025-10-10

Adds ECS environment_files support (new EnvironmentFileConfig model, S3-backed ecs.EnvironmentFile.from_bucket wiring). Fixes ArnUriHelper.build_s3_bucket_arn(), which was producing an invalid ARN (arn:aws:s3::{account_id}:{bucket} — S3 ARNs have no account-id segment); it now correctly returns arn:aws:s3:::{bucket_name}. (bb764eb)

1.0.2 — 2025-10-09

Adds an optional lifecycle_rule dict to S3BucketConfig (expiration_days, abort_incomplete_multipart_upload_days, validated) and wires it into a new _build_lifecycle_rules() on S3BucketBuilder. (614a6ce)

1.0.1 — 2025-10-07

Consolidates SNC KMS key lookup into a shared AbstractAWSResourceBuilder._get_snc_key_by_alias() (replacing separate per-builder implementations in S3/RDS/EFS) with a from_foundation toggle; adds EFS-backed ECS support (EcsEfsConfig, EfsVolumeConfig, EfsMountPointConfig) and EFS as a first-class AWSResourceType; adds the Usage.SYNC enum value; gives S3BucketBuilder a folder_structure config that creates the initial folder hierarchy via a Lambda-backed custom resource; lets SecretsManagerBuilder encrypt secrets with the SNC KMS key and grants the devops account cross-account read access to secrets when not deployed in devops; adds schema support to the DB secret template; adds ApplicationHelper.get_application_config(). (d25857d)

1.0.0 — 2025-09-22

Standardizes the SNC KMS key alias format across builders by dropping a hardcoded foundation- segment that RDS and S3 previously baked into the alias (so EfsBuilder, RdsDatabaseBuilder, and S3BucketBuilder now all resolve the same alias shape), and switches EfsBuilder to look up its KMS key by alias via a new _get_efs_kms_key_by_alias() instead of creating one directly, matching the pattern already used by RDS/S3. Also removes two unused accessor methods (get_file_system, get_access_points) from EfsBuilder and adds NameValidationMixin to EfsVolumeConfig. (8a6aa81)

0.4.8 — 2025-09-01

bugfix on cloudfront builder, increase version (a017b42)

0.4.7 — 2025-09-01

reverting cloudfront logs bucket config, increase version (9d1c2c0)

0.4.6 — 2025-09-01

minor fix for aws generated password and dms compatibility (141e9b7)

0.4.5 — 2025-08-29

add support in s3 builder to add a policy to allow access from cross accounts (94bc91d)

0.4.4 — 2025-08-26

Waf builder now supports a new model with overrides (8824fbe)

0.4.3 — 2025-08-25

multiaz support for rds, health_check for ecs task and alb, advanced metrics for cloudfront (bfc2ed7)

0.4.2 — 2025-08-22

increasing lib version (4865169)

0.4.1 — 2025-08-19

bugfixes, iam auth improved (de4a8e4)

0.4.0 — 2025-08-12

adding support for iam auth at the db level, improving docs (7c9c557)

0.3.13 — 2025-08-07

bugfix in ecs builder in order to support the specification of the environment from which we should fetch the ecr image (fb90f30)

0.3.12 — 2025-08-04

increasing version (56381f2)

0.3.11 — 2025-08-04

tagging the latest codeartifact version fix (aa1510a)

0.3.10 — 2025-08-04

adding aws shield usage docs (92484e6)

0.3.9 — 2025-08-04

adding support for multiple docs versions (1eebe40)

0.3.8 — 2025-08-04

buildpsec fixes (cd9b16a)

0.3.7 — 2025-08-04

adding more documentation, changing the pipeline to include doc builds also (9bdffe0)

0.3.6 — 2025-07-16

sg refactoring (c71d86f)

0.3.5 — 2025-07-08

Minor bugfix in codepipeline builder (47c866a)

0.3.4 — 2025-07-07

Finished models implementation (7ca41bd) (this commit set the version back down from 0.3.5 to 0.3.4 — see anomalies note above)

0.3.5 — 2025-07-02

Started implementing the model for the ecs builder (dc93c1d)

0.3.4 — 2025-06-30

Adapt ECS and CloudFront builders (4c15061)

0.3.3 — 2025-06-25

Adding models and refactoring (58cb932) (this commit touched setup.cfg but did not change the version line — still 0.3.3)

0.3.3 — 2025-06-04

S3 logs for cloudfront and codebuild, added support for aditional inbound rules rds, added bot protection (b55b8b2)

0.3.2 — 2025-05-28

minor refactorings, introduced StreamTriggerType (d8334a1)

0.3.1 — 2025-05-27

Refactoring Password generator, added dynamodb stream trigger and pipeline event monitor constructs (e3146c1)

0.3.1 — 2025-05-23

Adapt env enum, change alb param in cloudfront_builder (7b226ab)

0.3.0 — 2025-05-20

Refactoring (d7be210)

0.2.30 — 2025-05-19

code cleanup, adding control stage to build and release pipeline (76aabe7)

0.2.29 — 2025-05-19

Adding support for advanced stored parameter for rds secrets (c787e59)

0.2.28 — 2025-05-16

checking for the existence of a secret (79f3c05)

0.2.27 — 2025-05-16

Using secret arn in rds builder (16c483d)

0.2.26 — 2025-05-15

refactoring rds builder to support secrets that have been created by other stacks (0f67f99)

0.2.25 — 2025-05-15

adding deploy stage to the deploy pipeline, minor changes to dynamodb builder (f04beec)

0.2.24 — 2025-05-06

bug fixes (67effa5)

0.2.23 — 2025-05-06

Using action_env_vars in the codepipeline builder (84a8698)

0.2.22 — 2025-05-06

Adding some more enums, increase version (4b54612)

0.2.21 — 2025-05-05

Increasing deps version (0fff1a5)

0.2.20 — 2025-04-30

Dynamodb builder now supports global secondary indexes (f39c406)

0.2.19 — 2025-04-30

Adding more stages to the codepipeline builder, new enum values, increase version (cf8a362)

0.2.18 — 2025-04-28

Restart pipeline on update (bb5a4d3)

0.2.17 — 2025-04-25

Changes to codepipeline builder, increase version (76586a0)

0.2.16 — 2025-04-24

Minor fixes to logical id naming convention (5deed8c)

0.2.15 — 2025-04-24

Updating codepipeline builder, codebuild builder, increasing version (8284aed)

0.2.14 — 2025-04-24

Increasing version (ad280de)

0.2.13 — 2025-04-23

Increasing version (b378e3e)

0.2.12 — 2025-04-23

Refactorings related with code pipeline builder (8d3e0fc)

0.2.11 — 2025-04-16

remove duplicate code (162d40c)

0.2.10 — 2025-04-16

version 2.10 (55559f4) (commit message says "2.10", the actual version set was 0.2.10)

0.2.9 — 2025-04-15

Refactoring codepipeline_builder, increase version (22b494f)

0.2.8 — 2025-04-14

Adding dynamodb builder, increasing version (b2f93fa)

0.2.7 — 2025-04-14

Adding resource_naming and arn_uri_helper classes, increase version (e3935b2)

0.2.6 — 2025-04-11

Increasing version (1350d8c)

0.2.5 — 2025-04-11

Increasing version, debugging synth for cdk (250273c)

0.2.5 — 2025-04-11

add usage context on codebuild builder (0637fe3)

0.2.4 — 2025-04-09

Adding policies to pipeline role, increasing version (b825376)

0.2.3 — 2025-04-08

Adding some more enums, further develop codebuild and codepipeline builders (4b8d3ae)

0.2.2 — 2025-04-03

Version number and corrections (f977c84)

0.2.2 — 2025-03-28

Adding base class for CICD pipeline stacks (c8bcc91)

0.2.1 — 2025-03-25

Incrasing minor version, minor fix in code pipeline builder (d3dea5a)

0.2.0 — 2025-03-25

Minor refactoring, adding some documentation (7cb6622)

0.1.2 — 2025-03-25

Increasing version, adding cache to buildspec (49d7c4c)

0.1.1 — 2025-03-17

Minor fixes, upgrading version (8e03f09)

0.1.0 — 2025-03-14

Initial commit (7044c33)