From 7b2e49b8fc61059f179944a7b3d3709d9f2bb0cd Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 8 Nov 2026 12:29:18 -0500 Subject: [PATCH] Release 2.4.0 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 4 ++-- README.md | 2 +- frontend/package-lock.json | 4 ++-- frontend/package.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d4cc3c..cbd974b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## Unreleased +## 2.4.0 — 2026-11-08 - New study track, **AWS Certified Data Engineer – Associate (DEA-C01)**: the seventh exam track on the labs page, with all four domains and 17 task statements from the exam guide. 57 existing labs are tagged for DEA tasks (streaming ingestion, Step Functions, S3 lifecycle, DynamoDB, IAM, KMS, and logging), and 16 new concept cards cover streaming ingestion, transformation engines and file formats, pipeline orchestration, pipeline code, choosing a data store, catalogs and partitions, the data lifecycle, schema design and evolution, analysis with Athena and Redshift, pipeline monitoring, data quality, authentication, authorization with Lake Formation and Redshift grants, encryption and masking, audit logs, and privacy and governance. The DynamoDB access patterns card now covers DEA 2.4 too. - Three Data Engineer labs in a new **Level 12: Data Engineer Associate**: a Redshift Serverless warehouse (star schema, staged loads through the Data API in one transaction, a materialized view, a rolling average, an analyst limited to a masked view, export, usage limit and snapshot); a Glue catalog with data quality (partitions kept in sync, a partition index, a crawler, data quality rules scored with Athena, bad rows quarantined, a quality alarm, and a schema change checked by the Schema Registry); and an event-driven batch ETL pipeline (a Step Functions Map over a Lambda transform with Retry and Catch, SNS alerts to SQS, a DynamoDB manifest that makes reruns safe, S3 events through EventBridge, a nightly Scheduler sweep, a replayed file, and an Athena check). @@ -10,7 +10,7 @@ - Fixed: resetting `cloudformation/deployment-troubleshooting` left the `lab-deploy-network` stack in DELETE_FAILED while reporting it gone: the Auto Scaling group's instances were still shutting down when the VPC and subnets were deleted. Reset now waits for those instances, and reports an error if the stack still won't delete. - Fixed: with any stack present, the CloudFormation inventory reported an error `'GetStackPolicyResult'` for each stack's policy, because Floci 2.4.0 answers GetStackPolicy without a result element that boto3 can read. It is now reported as a Floci gap (the policy can't be read), not an error. - Fixed: on Docker Desktop on Apple silicon, Floci 2.4.0 runs x86 AMIs under emulation, and two labs failed there. In `cloudwatch/fleet-monitoring` the web server process never showed in `ps` (a Perl `$0` rename isn't visible under emulation), so its alarms never cleared; it now runs a copy of `sleep` under the server's name. In `ec2/performance-tuning` the 1,200 MiB report job finished inside the 1 GiB limit because its zero-filled buffer was never really used; it now writes every byte, and is killed as intended. -- Lab snippets: every lab's Python (`boto3`) and Terraform tabs are generated from the AWS CLI command using the AWS CLI's own parser, so arguments map correctly, and the Terraform tab shows real resources for about 90 create operations (a note otherwise). Every lab's Python snippets were replayed against Floci 2.4.0, which fixed several lab commands (SSM `--document-name`, Route 53 Resolver `--creator-request-id`, quoted Firehose prefixes, and DynamoDB expression values). +- Lab snippets: every lab's Python (`boto3`) and Terraform tabs are generated from the AWS CLI command using the AWS CLI's own parser, so arguments map correctly, and the Terraform tab shows real resources for about 90 create operations (a note otherwise). Every lab's Python snippets were replayed against Floci 2.4.0, which fixed several lab commands (SSM `--document-name`, Route 53 Resolver `--creator-request-id`, quoted Firehose prefixes, and DynamoDB expression values). Two steps also gained the line that creates what they use: the shared-reports bucket in `iam/account-hardening` and the ABAC role in `iam/machine-identity`. - README: rewritten around a three-command quickstart, with links to the Cloud Explainers YouTube channel and website. The longer setup, configuration, and testing notes moved to `docs/guide.md`. - Top navigation: a cloudexplainers.com link sits next to Learn Cloud Computing (hidden on narrow screens). diff --git a/README.md b/README.md index d0ee508..f4a0201 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Floci Dashboard 2.3.0 +# Floci Dashboard 2.4.0 A local AWS console for [Floci](https://floci.io/), the open-source AWS emulator. Browse 70 AWS services and work through 120 hands-on labs for AWS certification exams, all on your own machine with no AWS account. diff --git a/frontend/package-lock.json b/frontend/package-lock.json index e0196e7..107c37c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "floci-dashboard-cloudscape", - "version": "2.3.0", + "version": "2.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "floci-dashboard-cloudscape", - "version": "2.3.0", + "version": "2.4.0", "dependencies": { "@cloudscape-design/components": "3.0.1401", "@cloudscape-design/design-tokens": "3.0.114", diff --git a/frontend/package.json b/frontend/package.json index 4c61eb0..5cf3f0d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "floci-dashboard-cloudscape", "private": true, - "version": "2.3.0", + "version": "2.4.0", "type": "module", "engines": { "node": ">=22.12.0"