Skip to content

v1.1.4

Pre-release
Pre-release

Choose a tag to compare

@bencehezso bencehezso released this 23 Jul 14:47
· 158 commits to main since this release
d48f3a7

🚨 This is a Release Candidate: a near-final version intended for testing and feedback.

If you encounter any bugs or have suggestions, please report them here.
Your feedback is crucial to ensuring a stable final release.

Changes since v1.1.3

Bug Fixes

  • AWS resource inventory silently truncated multi-page results. The inventory used a hand-rolled NextToken loop, so services that paginate by Marker, NextMarker, ContinuationToken, ExclusiveStartTableName, or lowercase nextToken were cut off at their first page — e.g. DynamoDB list_tables capped at 100 tables, S3 buckets past the first page missing. Replaced with boto3's built-in paginators via a shared paginate() helper used by both the inventory and --egress paths, so every resource type is fully enumerated and counts match across both.
  • AWS throttling caused silent undercounts on large accounts. The retry logic re-called an already-exhausted paginator generator on a throttled page, which raised StopIteration and made a truncated prefix look like a complete result — affecting exactly the large accounts that get throttled most. Retries now happen at the HTTP layer via botocore adaptive retry (max_attempts: 8) on every client, where resuming is safe. Throttled pages are retried transparently and never swallowed.

CLI / UX

  • Consistent exit codes on configuration failures. Invalid --config files and interactive credential failures (--profile, --cli, or manual prompts) previously exited 0, hiding the failure from any wrapping script. All configuration failures — interactive or not — now exit 2 (CONFIG) from a single, uniform path. On-screen error messages are unchanged; only the exit status differs.

Internal

  • Consolidated AWS and Azure credential/config assembly into per-source resolvers and a shared config builder, removing large blocks of duplication. No change to CLI flags, prompts, or generated config.
  • Unified AWS pagination and retry behavior across the inventory and egress paths, removing duplicated pagination/retry helpers.