- Fix issue with strip_prefixes (#647)
- downgrade poetry to 1.1.4 (#385)
- lock X-Ray SDK to 2.6.0 (#384)
- perf tests for Logger and fail str msgs
- split ColdStart metric to its own EMF blob #125
- import time latency by lazily loading high level modules (#301)
- update cold_start doc to reflect #125
- correct in_subsegment assertion
- correct behaviour to avoid caching "INPROGRESS" records (#295)
- naming and staticmethod consistency
- remove actual response from debug logs
- sync features in main page
- meta tags, and ext link to open in new tab
- sfix typing hit for envelope parse model (#286)
- disable batching of X-Ray subsegments (#284)
- remove unnecessary typing-extensions for py3.8 (#281)
- batch processing exceptions (#276)
- ensures all Loggers have unique service names
- lock dependencies
- mypy errors
- lint files
- s3 model import
- upgrade dot-prop, serialize-javascript
- include proposed suggestions
- remove f-strings that doesn't evaluate expr
- incorrect log keys, indentation, snippet consistency
- use decorators, split cold start to ease reading
- typo in example
- ensures xray_trace_id is refreshed
- update image with correct sample
- remove apigw contract when using event-handler, apigw tracing
- remove unused json import
- cloudwatch logs envelope typo
- replace now deprecated set-env with new GitHub Env file
- remove dummy heading to prevent htmlAst bug
- _parse return type
- high and security peer dependency vulnerabilities
- change to Yarn to support manual resolutions
- use addHandler over monkeypatch
- repurpose test to cover parent loggers case
- ensure debug log event has latest ctx
- generic type to match ABC bound class
- debug logging in envelopes before each parsing
- remove malformed 3.1. sentence
- ensures parser can take json strings as input
- parse high level import
- code inspect issues
- removed ambiguous quotes from labels.
- unnecessary return; better error handling
- snake_case
- add sqs_batch_processor as its own method
- comment out validators #118
- CR fixes Merge branch 'develop' of https://github.com/awslabs/aws-lambda-powertools-python into pydantic
- reduce complexity of dynamo envelope
- throw exception by default if messages processing fails
- poetry update + pydantic, typing_extensions as optional
- correct type hint Dict instead of dict
- add only pydantic (+1 squashed commit) Squashed commits: [804f251] fix poetry.lock, revert changes
- Correct typo
- remove only dev extras
- remove jmespath extras in Make
- change supported python version from 3.6.1 to 3.6.2, bump black (#807)
- branding
- apply Tom's suggestion
- remove DeleteMessageBatch call to SQS api if there are no messages to delete (#170)
- Correct description for data classes util
- typo in input for layer workflow
- no need to cache npm since we only install cdk cli and don't have .lock files
- add entire ARN role instead of account and role name
- path to artefact
- unzip the right artifact name
- navigation, branding
- download artefact into the layer dir
- mathc the name of the cdk synth from the build phase
- sight, yes a whitespace character breaks the build
- duplicate features content
- package_logger as const over logger instance
- api-gateway: HTTP API strip stage name from request path (#622)
- api-gateway: route regression non-word and unsafe URI chars (#556)
- api-gateway: non-greedy route pattern regex (#533)
- api-gateway: incorrect plain text mimetype #506
- api_gateway: allow whitespace in routes' path parameter (#1099)
- api_gateway: allow whitespace in routes' path parameter (#1099)
- apigateway: support nested router decorators (#1709)
- apigateway: support @app.not_found() syntax & housekeeping (#926)
- apigateway: allow list of HTTP methods in route method (#838)
- apigateway: support dynamic routes with equal sign (RFC3986) (#1737)
- apigateway: remove indentation in debug_mode (#987)
- apigateway: update Response class to require status_code only (#1560)
- base-partial: append record instead of entry
- batch: missing space in BatchProcessingError message (#1201)
- batch: bugfix to clear exceptions between executions (#1022)
- batch: delete >10 messages in legacy sqs processor (#818)
- batch: report multiple failures (#967)
- batch: docstring fix for success_handler() record parameter (#1202)
- capture_method: should yield inside with (#124)
- ci: escape outputs as certain PRs can break GH Actions expressions
- ci: remove unsupported env in workflow_call
- ci: only event is resolved in cond
- ci: merged_pr add issues write access
- ci: quote prBody GH expr on_opened_pr
- ci: remove utf-8 body in octokit body req
- ci: reusable workflow secrets param
- ci: checkout project before validating related issue workflow
- ci: cond doesnt support two expr w/ env
- ci: label_related_issue unresolved var from history mixup
- ci: improve msg visibility on closed issues
- ci: keep layer version permission (#1318)
- ci: remove unused secret
- ci: allow inherit secrets for reusable workflow
- ci: checkout project before validating related issue workflow
- ci: job permissions
- ci: add additional input to accurately describe intent on skip
- ci: changelog workflow must receive git tags too
- ci: add explicit origin to fix release detached head
- ci: temporarily disable changelog upon release
- ci: move from pip-tools to poetry on layers
- ci: move from pip-tools to poetry on layers reusable workflow
- ci: regex to catch combination of related issues workflow
- ci: lambda layer workflow release version and conditionals (#1316)
- ci: add cdk v2 dep for layers workflow
- ci: add missing oidc token generation permission
- ci: use poetry to resolve layer deps; pip for CDK
- ci: typo and bust gh actions cache
- ci: move from pip-tools to poetry on layers to fix conflicts
- ci: fetch all git info so we can check tags
- ci: del flake8 direct dep over py3.6 conflicts and docs failure
- ci: calculate parallel jobs based on infrastructure needs (#1475)
- ci: event resolution for on_label_added workflow
- ci: gracefully and successful exit changelog upon no changes
- ci: lambda layer workflow release version and conditionals (#1316)
- ci: ensure PR_AUTHOR is present for large_pr_split workflow
- ci: disable poetry venv for layer workflow as cdk ignores venv
- ci: remove additional quotes in PR action (#1317)
- ci: on_label permissioning model & workflow execution
- ci: install poetry before calling setup/python with cache (#1315)
- ci: pr label regex for special chars in title
- ci: pass core fns to large pr workflow script
- ci: fixes typos and small issues on github scripts (#1302)
- ci: address conditional type on_merge
- ci: only run e2e tests on py 3.7
- ci: ignore v2 action for now
- ci: address pr title semantic not found logic
- ci: unexpected symbol due to double quotes...
- ci: integrate isort 5.0 with black to resolve conflicts
- ci: workflow should use npx for CDK CLI
- ci: secret and OIDC inheritance in nested children workflow
- ci: temporarly remove pypi test deployment
- ci: address gh-actions additional quotes; remove debug
- ci: new artifact path, sed gnu/linux syntax, and pypi test
- ci: remove v2 suffix from SAR apps (#1633)
- ci: fix arm64 layer builds
- ci: build without buildkit
- ci: use docker driver on buildx
- ci: regex group name for on_merge workflow
- ci: regex to catch combination of related issues workflow
- ci: setup git client earlier to prevent dirty stash error
- ci: disable pre-commit hook download from version bump
- ci: increase permission to allow version sync back to repo
- ci: match the name of the cdk synth from the build phase
- ci: comment custom publish version checker
- ci: accept core arg in label related issue workflow
- ci: move conditionals from yaml to code
- ci: skip sync master on docs hotfix
- ci: move conditionals from yaml to code; leftover
- ci: linting issues after flake8-blackbear,mypy upgrades
- ci: disable merged_pr workflow
- core: fixes leftovers from rebase
- data-classes: docstring typos and clean up (#937)
- data-classes: use correct asdict funciton (#666)
- data-classes: underscore support in api gateway authorizer resource name (#969)
- data-classes: Add missing operationName (#373)
- data-classes: Add missing SES fields and (#1045)
- data-classes: include milliseconds in scalar types (#504)
- deps: update jmespath marker to support 1.0 and py3.6 (#1139)
- deps: correct mypy types as dev dependency (#1322)
- deps: bump poetry to latest (#592)
- deps: correct py36 marker for jmespath
- deps: update build system to poetry-core (#1651)
- deps: Bump dependencies and fix some of the dev tooling (#354)
- deps: Bump aws-xray-sdk from 2.6.0 to 2.8.0 (#413)
- deps: bump dev dep mako version to address CVE-2022-40023 (#1524)
- deps: Ignore boto3 changes until needed (#1151)
- deps-dev: remove jmespath due to dev deps conflict (#1148)
- docs: remove Slack link (#1210)
- docs: workflow to include api ref in latest alias (#408)
- docs: Use updated names for ProxyEventType (#424)
- docs: correct feature_flags link and json exmaples (#605)
- event-handler: body to empty string in CORS preflight (ALB non-compliant) (#1249)
- event-sources: Pass authorizer data to APIGatewayEventAuthorizer (#897)
- event-sources: handle dynamodb null type as none, not bool (#929)
- event-sources: handle claimsOverrideDetails set to null (#878)
- event_handler: exception_handler to handle ServiceError exceptions (#1160)
- event_handler: docs snippets, high-level import CorsConfig (#1019)
- event_handler: Allow for event_source support (#1159)
- event_handlers: ImportError when importing Response from top-level event_handler (#1388)
- event_handlers: handle lack of headers when using auto-compression feature (#1325)
- event_sources: implement Mapping protocol on DictWrapper for better interop with existing middlewares (#1516)
- event_sources: add test for Function URL AuthZ (#1421)
- feature-flags: bug handling multiple conditions (#599)
- feature-flags: rules should evaluate with an AND op (#724)
- feature-toggles: correct cdk example (#601)
- governance: update label in names in issues
- idempotency: TypeError when calling is_missing_idempotency_key with an int (#315)
- idempotency: idempotent_function should support standalone falsy values (#1669)
- idempotency: sorting keys before hashing
- idempotency: pass by value on idem key to guard inadvert mutations (#1090)
- idempotency: include decorated fn name in hash (#869)
- idempotency: sorting keys before hashing (#639)
- idempotency: sorting keys before hashing (#722)
- idempotency: PR feedback on config and kwargs
- idempotency: Correctly handle save_inprogress errors (#313)
- idempotent: Correctly raise IdempotencyKeyError (#378)
- jmespath_util: snappy as dev dep and typing example (#1446)
- lambda-authorizer: allow proxy resources path in arn (#1051)
- lint: Move
tests/THIRD-PARTY-LICENSES
to root (#352) - logger: fix unknown attributes being ignored by mypy (#1670)
- logger: exclude source_logger in copy_config_to_registered_loggers (#1001)
- logger: clear_state should keep custom key formats (#1095)
- logger: test generates logfile
- logger: ensure state is cleared for custom formatters (#1072)
- logger: preserve std keys when using custom formatters (#1264)
- logger: clear_state regression on absent standard keys (#1088)
- logger: support additional args for handlers when injecting lambda context (#1276)
- logger: preserve std keys when using custom formatters (#1264)
- logger: push extra keys to the end (#722)
- logger-utils: regression on exclude set leading to no formatter (#1080)
- logging: Don't include
json_default
in logs (#132) - metrics: AttributeError raised by MediaManager and Typing and docs (#357)
- metrics: flush upon a single metric 100th data point (#1046)
- metrics: explicit type to single_metric ctx manager (#865)
- metrics: raise SchemaValidationError for >8 metric dimensions (#1240)
- metrics: ensure dimension_set is reused across instances (pointer) (#1581)
- middleware_factory: ret type annotation for handler dec (#1066)
- mypy: fixes to resolve no implicit optional errors (#521)
- mypy: a few return types, type signatures, and untyped areas (#718)
- parameters: appconfig internal _get docstrings (#934)
- parameters: get_secret correctly return SecretBinary value (#1717)
- parameters: appconfig transform and return types (#877)
- parser: Add missing fields for SESEvent (#1027)
- parser: apigw wss validation check_message_id; housekeeping (#553)
- parser: raise ValidationError when SNS->SQS keys are intentionally missing (#1299)
- parser: Improve types for parser.py (#419)
- parser: loose validation on SNS fields to support FIFO (#1606)
- parser: body/QS can be null or omitted in apigw v1/v2 (#820)
- parser: kinesis sequence number is str, not int (#907)
- parser: S3Model Object Deleted omits size and eTag attr (#1638)
- parser: Make ApiGateway version, authorizer fields optional (#532)
- parser: overload parse when using envelope (#885)
- parser: mypy support for payload type override as models (#883)
- parser: S3Model support empty keys (#375)
- ssm: Make decrypt an explicit option and refactoring (#123)
- tracer: mypy generic to preserve decorated method signature (#529)
- tracer: Correct type hint for MyPy (#365)
- tracer: add warm start annotation (ColdStart=False) (#851)
- typing: level arg in copy_config_to_registered_loggers (#1534)
- typing: fix mypy error
- validator: handle built-in custom formats correctly (#498)
- validator: event type annotation as any in validate fn (#405)
- warning: future distutils deprecation (#921)
- workflow: github actions depends on for release
- convert dict into a literal dict object and re-use it
- changes partial_sqs middleware in favor of a generic interface always expecting a BatchProcessor
- batch middleware
- use None instead of
- make requested changes
- split the objects into seperate files
- split properties and add docblocks
- fix import issues and provide context in docblocks
- remove initial reference
- replace LambdaEvent with Dict[str, Any]
- rename to clear_state
- rename to remove_custom_keys
- remove references to BaseProcessor. Left BasePartialProcessor
- simplify custom formatter for minor changes (#417)
- change to advanced parser
- correct type hint
- pydantic as optional dependancy, remove lambdaContext
- change return for failure/success handlers
- apigateway: remove POWERTOOLS_EVENT_HANDLER_DEBUG env var (#1620)
- apigateway: Add BaseRouter and duplicate route check (#757)
- batch: remove legacy sqs_batch_processor (#1492)
- data-classes: clean up internal logic for APIGatewayAuthorizerResponse (#643)
- e2e: make table name dynamic
- e2e: fix idempotency typing
- event-handler: Add ResponseBuilder and more docs (#412)
- event-handler: api gateway handler review changes (#420)
- event_handler: match to match_results; 3.10 new keyword (#616)
- feature-flags: add debug for all features evaluation" (#590)
- feature-toggles: Code coverage and housekeeping (#530)
- feature_flags: optimize UX and maintenance (#563)
- idempotent: Change UX to use a config class for non-persistence related features (#306)
- logger: BYOFormatter and Handler, UTC support, and more (#404)
- metrics: optimize validation and serialization (#307)
- parameters: Consistently reference env (#319)
- sqs: add module middlewares
- sqs: change methods to protected
- tests: update tests to new batch processor middleware
- tests: processor using default config
- add CW Logs as a supported model
- enable versioning feature (#374)
- project name consistency
- update mkdocs-material to 7.1.0
- fix extra key for versioning
- Fix doc links and line highlights (#380)
- grammar
- introduce event handlers utility section (#388)
- Correct code examples (#317)
- Correct link targets and line highlights (#390)
- update list of features
- include new public roadmap (#452)
- move concurrent asynchronous under escape hatch
- fix anchor
- enable dark mode switch (#471)
- add Layers example for Serverless framework & CDK (#500)
- create Patching modules section; cleanup response wording
- make sensitive info more explicit with an example
- migrate documentation from Gatsby to MkDocs material (#279)
- fix typos, log_event & sampling wording
- fix import (#267)
- subtle rewording for better clarity
- surface new 1.12.0 features and enhancements (#344)
- add info about extras layer (#260)
- add team behind it and email
- Terraform reference for SAR Lambda Layer (#716)
- add blog post, and quick example
- fix note whitespace
- use table for clarity
- bring new feature upfront when returning sensitive info
- add new public layer ARNs (#746)
- move tenets; remove extra space
- add Lambda Layer SAR App url and ARN
- Fix doc for log sampling (#135)
- user specific documentation
- minor edit to letter case part 2
- add amplify-cli instructions for public layer (#754)
- improve public lambda layer wording, clipboard buttons (#762)
- new section "Migrating from other Loggers" (#148)
- add description where to find the layer arn (#145)
- fix indentation of SAM snippets in install section (#778)
- fix suggestions made by @heitorlessa
- add xray_trace_id key
- add troubleshooting section
- updated Lambda Layers definition & limitations. (#775)
- use higher contrast font
- use higher contrast font (#822)
- Idiomatic tenet updated to Progressive
- add missing parser models (#254)
- update Lambda Layers version
- add newly created Slack Channel
- disable search blur in non-prod env
- add clarification to Tracer docs for how
capture_method
decorator can cause function responses to be read and serialized. - refactor example; improve docs about creating your own processor
- rephrase the wording to make it more clear
- simplify documentation more SQS specific focus Update for sqs_batch_processor interface
- add detail to batch processing
- address readability feedbacks
- document validator utility
- improve wording on jmespath fns
- add new public Slack invite
- add docs for data classes utility
- fix typo in DynamoDB example
- fixed more typos, correct index reference to new util
- update examples in README
- initial sketch of parser docs
- external reference to cloudformation custom resource helper (#914)
- initial structure for parser docs
- add 101 parsing events content
- use non-hello world model to better exemplify parsing
- add Kinesis Streams as a supported model & envelope
- Added GraphQL Sample API to Examples section of README.md (#930)
- add data model validation section
- add envelope section
- add extending built-in models
- ensure examples can be copied/pasted as-is
- fix syntax errors and line highlights (#1004)
- add a FAQ section
- add cold start data
- consistency around admonitions and snippets (#919)
- use yarn's resolution to fix incompatible dependency
- add better BDD coments
- reorder extending models as parse fn wasn't introduced
- reorder data validation; improve envelopes section
- address Ran's feedback
- add S3 as a supported model
- add a note that decorator will replace the event
- rename quickstart to tutorial in readme
- rename to tutorial given the size
- add final consideration section
- add more info on conditional keys #195
- reorder parser's payload sample position
- add minimal permission set for using layer
- add faq section
- correct example usage of SES data class
- fix broken link for github
- add source code link in nav bar
- shadow sidebar to remain expanded
- add Alb as a supported model
- add CW Logs as a supported envelope
- describe the typing utility
- api-gateway: add support for new router feature (#767)
- api-gateway: document new HTTP service error exceptions (#546)
- api-gateway: add new API mapping support
- api_gateway: new event handler for API Gateway and ALB (#418)
- apigateway: add all resolvers in testing your code section for accuracy (#1688)
- apigateway: removes duplicate admonition (#1426)
- apigateway: fix sample layout provided (#864)
- apigateway: add new not_found feature (#915)
- apigateway: re-add sample layout, add considerations (#826)
- appconfig: Use correct import for docstring (#271)
- appsync: fix typo
- appsync: fix users.py typo to locations #830
- appsync: add new router feature (#821)
- batch: add example on how to integrate with sentry.io (#308)
- batch: snippet typo on batch processed messages iteration (#951)
- batch: remove leftover from legacy
- batch: fix typo in context manager keyword (#938)
- batch: remove legacy reference to sqs processor
- batch: document the new lambda context feature
- community: fix social handlers for Ran (#1654)
- community: fix twitch parent domain for embedded video
- contributing: operational excellence pause
- data-class: fix invalid syntax in new AppSync Authorizer
- data-classes: Correct import for DynamoDBRecordEventName (#299)
- data-classes: Add more cognito code examples (#340)
- data-classes: make authorizer concise; use enum (#630)
- data-classes: Fix anchor tags to be lower case (#288)
- data_classes: fix missing dynamodb stream get_type/value
- dataclasses: new Connect Contact Flow (#310)
- event-handler: document catch-all routes (#705)
- event-handler: snippets split, improved, and lint (#1279)
- event-handler: snippets split, improved, and lint (#1279)
- event-handler: improve testing section for graphql (#996)
- event-handler: new custom serializer option
- event_handler: add missing note on trimmed responses
- event_handler: remove beta flag from new HTTP utility
- event_handler: fix closing brackets in CORS sample
- examples: enforce and fix all mypy errors (#1393)
- examples: linting unnecessary whitespace
- feature-flags: fix sample feature name in evaluate
- feature-flags: add guidance when to use vs env vars vs parameters
- feature-flags: create concrete documentation (#594)
- feature-toggles: correct docs and typing (#588)
- feature_flags: fix SAM infra, convert CDK to Python
- governance: new form to allow customers self-nominate as public reference (#1589)
- governance: allow community to suggest feature content (#1593)
- governance: link roadmap and maintainers doc
- governance: add security doc to the root
- governance: typos on PR template fixes #1314
- graphql: snippets split, improved, and lint (#1287)
- home: add discord invitation link (#1471)
- home: fix discord syntax and add Discord badge
- homepage: include .NET powertools
- homepage: remove 3.6 and add hero image
- homepage: introduce POWERTOOLS_DEV env var (#1569)
- homepage: link to typescript version (#950)
- homepage: add Pulumi code example (#1652)
- homepage: remove v1 layer limitation on pydantic not being included
- homepage: update default value for
POWERTOOLS_DEV
(#1695) - homepage: note about v2 version
- homepage: auto-update Layer ARN on every release (#1610)
- homepage: emphasize additional powertools languages (#1292)
- idempotency: fix misleading idempotent examples (#661)
- idempotency: add default configuration for those not using CFN (#391)
- idempotency: add missing Lambda Context; note on thread-safe (#1732)
- idempotency: tidy up doc before release (#309)
- idempotency: add support for DynamoDB composite keys (#808)
- idempotency: Correct examples and line highlights (#312)
- idempotency: remove beta flag
- idempotency: remove old todo
- idempotency: "persisntence" typo (#1596)
- idempotent: Fix typos and code formatting (#305)
- index: add quotes to pip for zsh customers
- index: fold support us banner
- index: fix link to event handler
- install: address early v2 feedback on installation and project support
- install: instructions to reduce pydantic package size (#1077)
- install: new lambda layer for 1.24.0 release
- jmespath: clarify envelope terminology
- jmespath_util: snippets split, improved, and lint (#1419)
- lambda_layer: fix CDK layer syntax
- layer: update to 1.25.7
- layer: upgrade to 1.27.0
- layer: update to 1.25.1
- layer: update to 1.25.6; cosmetic changes
- layer: bump to 1.25.5
- layer: upgrade to 1.28.0 (v33)
- layer: upgrade to 1.25.9
- layer: upgrade to 1.26.7
- layer: update to 1.25.3
- layer: bump Lambda Layer to version 6
- layer: upgrade to 1.25.10
- layer: remove link from clipboard button (#1135)
- layer: update to 1.24.2
- layer: update to 1.24.1
- layer: upgrade to 1.27.0
- lint: add markdownlint rules and automation (#1256)
- logger: document new get_correlation_id method (#545)
- logger: add FAQ for cross-account searches (#501)
- logger: add example on how to set UTC timestamp (#392)
- logger: update uncaught exception message value
- logger: improvements extensibility & new features (#415)
- logger: fix typo. (#1587)
- logger: document enriching logs with logrecord attributes (#1271)
- logger: snippets split, improved, and lint (#1262)
- maintainers: initial maintainers playbook (#1222)
- metrics: snippets split, improved, and lint (#1272)
- metrics: remove minimum dimensions
- metrics: snippets split, improved, and lint
- metrics: Correct code examples in markdown (#316)
- metrics: keep it consistent with other sections, update metric names
- metrics: Corrections to the code examples (#314)
- middleware-factory: snippets split, improved, and lint (#1451)
- multiple: fix highlighting after new isort/black integration
- nav: make REST and GraphQL event handlers more explicit (#959)
- parameters: auto-transforming values based on suffix (#573)
- parameters: add testing your code section (#1017)
- parser: add JSON string field extension example (#1526)
- parser: minor grammar fix (#1427)
- parser: APIGatewayProxyEvent to APIGatewayProxyEventModel (#1061)
- parser: fix incorrect import in root_validator example (#735)
- parser: fix table and heading syntax
- partial-processor: add simple docstrings to success/failure handlers
- plugin: add mermaid to create diagram as code (#1070)
- quickstart: expand on intro line
- quickstart: make section agnostic to json lib
- quickstart: sentence fragmentation, tidy up
- quickstart: tidy requirements up
- quickstart: add sub-sections, fix highlight & code
- quickstart: same process for Logger
- readme: add lambda layer latest version badge
- readme: add code coverage badge (#577)
- roadmap: add new roadmap section (#1204)
- roadmap: refresh roadmap post-v2 launch
- roadmap: include observability provider and lambda layer themes before v2
- roadmap: use pinned pause issue instead
- sqs: docstrings for PartialSQS
- sqs-base: docstring for base class
- tenets: update Idiomatic tenet to Progressive (#823)
- tenets: make core, non-core more explicit
- theme: upgrade mkdocs-material to 8.x (#1002)
- tracer: Fix line highlighting (#395)
- tracer: warning to note on local traces
- tracer: add note on why X-Ray SDK over ADOT closes #1675
- tracer: update wording that it auto-disables on non-Lambda env
- tracer: update ServiceLens image w/ API GW, copywriting
- tracer: snippets split, improved, and lint (#1261)
- tracer: split and lint code snippets (#1260)
- tracer: add initial image, requirements
- tracer: additional scenario when to disable auto-capture (#499)
- tracer: add annotation, metadata, and image
- tracer: new ignore_endpoint feature (#931)
- tracer: Fix Tracer typing hinting for Pycharm (#345)
- tutorial: fix path to images (#963)
- tutorial: fix broken internal links (#1000)
- typing: snippets split, improved, and lint (#1465)
- upgrade_guide: add latest changes and quick summary (#1623)
- v2: document optional dependencies and local dev (#1574)
- validation: snippets split, improved, and lint (#1449)
- validator: include more complete examples & intro to JSON Schema (#389)
- we-made-this: new community content section (#1650)
- initial implementation as the proposed gist is
- emf multiple metric values (#167)
- capture_response as metadata option #127
- add powertools_base64 custom fn
- Advanced parser utility (pydantic)
- add standalone parse function
- experiment with codeQL over LGTM
- include new replay-name field in parser and data_classes
- Add Ses lambda event support to Parser utility #213
- Add S3 lambda event support to Parser utility #224
- Add Kinesis lambda event support to Parser utility
- Add alb lambda event support to Parser utility #228
- Add cloudwatch lambda event support to Parser utility
- Add Kinesis lambda event support to Parser utility
- add built-in envelopes
- support custom formats in JSON Schema validation (#247)
- add cloudwatch_logs based on Bryan's feedback
- support extra parameter in Logger messages (#257)
- add batch module
- Add AppConfig parameter provider (#236)
- toggle to disable log deduplication locally for pytest live log #262 (#268)
- include base processors
- add support for SNS->SQS protocol (#272)
- Idempotency helper utility (#245)
- add custom jmespath functions support
- add support to persist default dimensions (#410)
- add jmespath as optional dependency
- add sqs failure processors
- add initial draft simple validator
- boto3 sessions in batch, parameters & idempotency (#717)
- RFC: Validate incoming and outgoing events utility #95
- add package level import for batch utility
- add get_raw_configuration property in store; expose store
- add xray_trace_id key when tracing is active #137
- add initial validator tests
- expose jmespath powertools functions (#736)
- api-gateway: add support for custom serializer (#568)
- api-gateway: add common service errors (#506)
- api-gateway: add debug mode (#507)
- apigateway: ignore trailing slashes in routes (APIGatewayRestResolver) (#1609)
- apigateway: multiple exceptions in exception_handler (#1707)
- apigateway: add exception_handler support (#898)
- apigateway: add Router to allow large routing composition (#645)
- apigateway: access parent api resolver from router (#842)
- appsync: add Router to allow large resolver composition (#776)
- batch: new BatchProcessor for SQS, DynamoDB, Kinesis (#886)
- batch: inject lambda_context if record handler signature accepts it (#1561)
- ci: add actionlint in pre-commit hook
- ci: create reusable changelog generation (#1418)
- ci: release docs as alpha when doing a pre-release (#1624)
- ci: auto-notify & close issues on release
- ci: include changelog generation on docs build
- ci: create reusable changelog generation
- data-classes: Add connect contact flow event (#304)
- data-classes: decode base64 encoded body (#425)
- data-classes: decode json_body if based64 encoded (#560)
- data-classes: ActiveMQ and RabbitMQ support (#770)
- data-classes: AppSync Resolver Event (#323)
- data-classes: support for code pipeline job event (#416)
- data-classes: add KafkaEvent and KafkaEventRecord (#1485)
- data-classes: Add S3 Object Lambda Event (#353)
- data-classes: Add appsync scalar_types_utils (#339)
- data-classes: AppSync Lambda authorizer event (#610)
- data-classes: replace AttributeValue in DynamoDBStreamEvent with deserialized Python values (#1619)
- data-classes: data_as_bytes prop KinesisStreamRecordPayload (#628)
- data-classes: authorizer for http api and rest api (#620)
- data-classes: decorator to instantiate data_classes and docs updates (#442)
- data-classes: add AttributeValueType to DynamoDBStreamEvent (#462)
- data_classes: add KinesisFirehoseEvent (#1540)
- data_classes: case insensitive header lookup
- data_classes: Cognito custom auth triggers
- data_classes: API Gateway V2 IAM and Lambda
- event-handle: allow for cors=None setting (#421)
- event-handler: context support to share data between routers (#1567)
- event-handler: Add AppSync handler decorator (#363)
- event-handler: Support AppSyncResolverEvent subclassing (#526)
- event-handler: new resolvers to fix current_event typing (#978)
- event-handler: prefixes to strip for custom mappings (#579)
- event-handler: add http ProxyEvent handler (#369)
- event-sources: cache parsed json in data class (#909)
- event_handler: improved support for headers and cookies in v2 (#1455)
- event_handler: add cookies as 1st class citizen in v2 (#1487)
- event_handlers: Add support for Lambda Function URLs (#1408)
- event_sources: add CloudWatch dashboard custom widget event (#1474)
- event_sources: extract CloudWatch Logs in Kinesis streams (#1710)
- feat-toggle: New simple feature toggles rule engine (WIP) (#494)
- feature flags: Add not_in action and rename contains to in (#589)
- feature-flags: get_raw_configuration property in Store (#720)
- feature-flags: Bring your own logger for debug (#709)
- feature-flags: improve "IN/NOT_IN"; new rule actions (#710)
- feature_flags: Added inequality conditions (#721)
- feature_flags: support beyond boolean values (JSON values) (#804)
- general: support for Python 3.9 (#626)
- idempotency: makes customers unit testing easier (#719)
- idempotency: support dataclasses & pydantic models payloads (#908)
- idempotency: support methods with the same name (ABCs) by including fully qualified name in v2 (#1535)
- idempotency: Fix KeyError when local_cache is True and an error is raised in the lambda handler (#300)
- idempotency: Add raise_on_no_idempotency_key flag (#297)
- idempotency: handle lambda timeout scenarios for INPROGRESS records (#1387)
- idempotency: support for any synchronous function (#625)
- idempotent: Include function name in the idempotent key (#326)
- idempotent: Add support for jmespath_options (#302)
- layer: publish SAR v2 via Github actions (#1585)
- layers: add layer balancer script (#1643)
- layers: add support for publishing v2 layer (#1558)
- logger: accept arbitrary keyword=value for ephemeral metadata (#1658)
- logger: add ALB correlation ID support (#816)
- logger: log uncaught exceptions via system's exception hook (#1727)
- logger: log_event support event data classes (e.g. S3Event) (#984)
- logger: add option to clear state per invocation
- logger: clone powertools logger config to any Python logger (#927)
- logger: include logger name attribute when copy_config_to_registered_logger is used (#1568)
- logger: introduce POWERTOOLS_DEBUG for internal debugging (#1572)
- logger: pretty-print JSON when POWERTOOLS_DEV is set (#1548)
- logger: add option to clear state per invocation (#467)
- logger: support use_datetime_directive for timestamps (#920)
- logger: add get_correlation_id method (#516)
- logger: allow handler with custom kwargs signature (#913)
- logger: add use_rfc3339 and auto-complete formatter opts in Logger (#1662)
- logger: readable log_dict seq
- logging: allow for custom json order
- logging: Include exception_name (#320)
- logging: suppress some log keys
- logging: Add correlation_id support (#321)
- metrics: update max user-defined dimensions from 9 to 29 (#1417)
- metrics: add EphemeralMetrics as a non-singleton option (#1676)
- mypy: add mypy support to makefile (#508)
- mypy: complete mypy support for the entire codebase (#943)
- parameter: add dynamodb_endpoint_url for local_testing (#376)
- parameters: add get_parameters_by_name for SSM params in distinct paths (#1678)
- parameters: transform = "auto" (#133)
- parameters: migrate AppConfig to new APIs due to API deprecation (#1553)
- parameters: Add force_fetch option (#341)
- parameters: add clear_cache method for providers (#1194)
- parameters: accept boto3_client to support private endpoints and ease testing (#1096)
- params: expose high level max_age, raise_on_transform_error (#567)
- parser: add support for Lambda Function URL (#1442)
- parser: Add S3 Object Lambda Event (#362)
- parser: Support for API GW v1 proxy schema & envelope (#403)
- parser: security issue in Pydantic #436 (#437)
- parser: add support for API Gateway HTTP API #434 (#441)
- parser: add KinesisFirehoseModel (#1556)
- parser: extract CloudWatch Logs in Kinesis streams (#1726)
- parser: add KafkaMskEventModel and KafkaSelfManagedEventModel (#1499)
- parser: export Pydantic.errors through escape hatch (#1728)
- pep-561: Create py.typed file and include into pyproject.
- sqs: add optional config parameter
- sqs: improve validation for queue_url
- tracer: ignore tracing for certain hostname(s) or url(s) (#910)
- tracer: add service annotation when service is set (#861)
- tracer: disable tracer when for non-Lambda envs (#598)
- tracer: support methods with the same name (ABCs) by including fully qualified name in v2 (#1486)
- trigger: data class and helper functions for lambda trigger events (#159)
- validator: include missing data elements from a validation error (#686)
- remove leftover from fork one more time
- version bump to 1.3.1
- correct typos
- update v2 layer ARN on documentation
- test build layer hardware to 8 core
- add metrics fix description
- update v2 layer ARN on documentation
- grammar
- bump version 1.26.1
- bump to 1.25.10
- bump to 1.19.0
- fix debug log adding unused obj
- remove/correct unnecessary debug logs
- clarify changelog bugfix vs breaking change
- update changelog to reflect new feature
- update internal docstrings for consistency
- bump to 1.4.0
- doc typo
- tiny changes for readability
- fix typos, docstrings and type hints (#154)
- add sqs_batch_processor decorator to simplify interface
- add test for sqs_batch_processor interface
- apigw test event wrongly set with base64
- remove middlewares module, moving decorator functionality to base and sqs
- add debug logging for sqs batch processing
- bump to 1.25.9
- bump to 1.25.8
- bump to 1.25.7
- bump to 1.25.6
- bump to 1.25.5
- bump version to 1.5.0 (#158)
- fix docstring; import order
- update changelog
- better type hinting
- bump to 1.6.0
- typo
- bump to 1.6.1 (#177)
- remove kitchen sink example
- remove dev deps from example project
- update v2 layer ARN on documentation
- upgrade apollo-docs theme
- upgrade amplify, antd, and gatsby plugins
- upgrade gatsby
- remove kitchen sink example
- update v2 layer ARN on documentation
- remove dev deps from example project
- upgrade docs dep
- fix make build syntax for internal build whl
- remove test for commented code
- kwarg over arg to ease refactoring
- lint
- explicit DynamoDB Stream schema naming
- bump to 1.25.4
- remove flake8 polyfill as explicit dep
- update v2 layer ARN on documentation
- update v2 layer ARN on documentation
- remove duplicate test
- update v2 layer ARN on documentation
- update v2 layer ARN on documentation
- typo on code generation tool
- merge v2 branch
- typo in list
- comment reason for change
- spacing
- bump version to 1.7.0
- fix repository URL
- bump dependencies
- bump pyproject version to 2.0
- remove unnecessary test
- bump to 1.8.0
- bump version to 1.9.0
- implement phony targets correctly
- add changelog
- add dummy v2 sar deploy job
- bump layer version to 38
- lint unused import
- bump to 1.9.1 (#252)
- hardcode axios transitive resolution (#256)
- general simplifications and cleanup (#255)
- update stale bot
- move env names to constant file (#264)
- bump to 1.10.0 (#270)
- bump to 1.10.1 (#273)
- typo in parser docs
- fix immer and socket.io CVEs (#278)
- bump to 1.10.2 (#282)
- bump to 1.10.3 (#287)
- add auto-label for known files
- enable PR labeler workflow
- Correct the docs location (#289)
- add default runtime key
- version bump to 1.10.4 (#291)
- version bump to 1.10.5 (#292)
- attempt 1 to fix PR labeler
- update labeler bot to sync upon PR changes
- remove unsuccessful labeler bot
- adjusts Metrics SLA for slow py36 interpreters
- update changelog (#311)
- remove gatsby mention as migrated completed
- add PR auto-label action
- add PR size labelling action
- add PR size labelling action # 2
- increase perf SLA due to slow GitHub Actions machine
- remove auto-label as restrictions prevent it from working
- bump to 1.12.0
- bump to 1.25.3
- correct 3rd party license
- bump to 1.13.0
- bump to 1.25.2
- include internals in release template
- dependabot/mergify guardrail for major versions
- bump to 1.25.1
- update automated steps in release process
- bump to 1.25.0
- correct docs
- bump to 1.26.2
- correct docs
- use isinstance over type
- bump to 1.24.2
- make RFC proposal more explicit
- bump to 1.24.1
- bump to 1.24.1
- add sam build gitignore
- move to approach B for multiple IaC
- include regression in changelog
- bump to version 1.26.3
- bump to 1.24.0
- bump to 1.23.0
- add approved by field in RFC template
- minor housekeeping before release (#912)
- correct pr label order
- bump to 1.22.0
- conditional to publish docs only attempt 3
- conditional to publish docs only attempt 2
- bump to 1.14.0
- bump to 1.15.0 (#422)
- bump to 1.15.1
- bump to 1.16.0
- conditional to publish docs only
- bump to 1.16.1
- trial boring cyborg automation
- assited changelog pre-generation, auto-label PR (#443)
- enable dependabot for dep upgrades (#444)
- remove Lambda Layer version tag
- fix var expr
- enable mergify (#450)
- bump to 1.26.0
- include public layers changelog
- bump to 1.21.1
- include regression in changelog
- fix dependabot commit messages prefix
- ignore constants in test cov (#745)
- add support for publishing fallback
- bump to 1.21.0
- add python 3.9 support
- bump to 1.20.2
- fix dependabot unique set config
- bump to 1.20.1
- bump mkdocs-material from 7.1.5 to 7.1.6 (#451)
- bump boto3 from 1.17.78 to 1.17.84 (#449)
- markdown linter fixes (#636)
- setup codespaces (#637)
- bump xenon from 0.7.1 to 0.7.3 (#446)
- bump actions/setup-python from 1 to 2.2.2 (#445)
- update mergify to require approval on dependabot (#456)
- fix path for PR auto-labelling
- reintroduce codecov token
- ignore codecov upload
- include dependencies label under maintenance
- fix changelog file redirection
- bump version to 1.17.0
- bump 1.17.1 (#502)
- bump 1.18.0 (#547)
- update new changelog version tag
- update changelog to reflect out-of-band commits
- bump to 1.20.0
- bump 1.18.1
- enable autolabel based on PR title
- dummy for PR test
- only build docs on docs path
- update pypi description, keywords
- include feature-flags docs hotfix
- print full event depth
- print full workflow event depth
- debug full event
- ignore constants in tests cov
- actions: include new labels
- api-docs: enable allow_reuse to fix the docs (#612)
- batch: Housekeeping for recent changes (#157)
- batch: deprecate sqs_batch_processor (#1463)
- ci: test env expr
- ci: update project with version 1.26.6
- ci: use gh environment for beta and prod layer deploy (#1356)
- ci: remove core group from codeowners (#1358)
- ci: use OIDC and encrypt release secrets (#1355)
- ci: introduce codeowners (#1352)
- ci: remove leftover logic from on_merged_pr workflow
- ci: lockdown workflow_run by origin (#1350)
- ci: test upstream job skip
- ci: add conditional to skip pypi release (#1366)
- ci: test default env
- ci: experiment hardening origin
- ci: experiment hardening origin
- ci: update project with version 1.26.6
- ci: drop 3.6 from workflows
- ci: drop 3.6 from workflows (#1395)
- ci: temporarily disable changelog push on release
- ci: confirm workflow_run event
- ci: move changelog generation to rebuild_latest_doc workflow
- ci: update project with version
- ci: move changelog generation to rebuild_latest_doc workflow
- ci: readd changelog step on release
- ci: update release automated activities
- ci: update changelog with latest changes
- ci: update changelog with latest changes
- ci: add manual trigger for docs
- ci: update project with version 1.26.5
- ci: update changelog with latest changes
- ci: update changelog with latest changes
- ci: reactivate on_merged_pr workflow
- ci: adds caching when installing python dependencies (#1311)
- ci: update project with version 1.26.4
- ci: increase release automation and limit to one manual step (#1297)
- ci: sync area labels to prevent dedup
- ci: update changelog with latest changes
- ci: update changelog with latest changes
- ci: lockdown 3rd party workflows to pin sha (#1301)
- ci: automatically add area label based on title (#1300)
- ci: reduce payload and only send prod notification
- ci: experiment with conditional on outputs
- ci: improve error handling for non-issue numbers
- ci: add end to end testing mechanism (#1247)
- ci: remove area/utilities conflicting label
- ci: remove conventional changelog commit to reduce noise
- ci: update project with version 1.26.6
- ci: temp disable e2e matrix
- ci: include py version in stack and cache lock
- ci: disable output debugging as pr body isnt accepted
- ci: revert e2e py version matrix
- ci: split latest docs workflow
- ci: auto-merge cdk lib and lambda layer construct
- ci: disable e2e py version matrix due to concurrent locking
- ci: move all scripts under .github/scripts
- ci: move error prone env to code as constants
- ci: make export PR reusable
- ci: convert inline gh-script to file
- ci: fix reference error in related_issue
- ci: prevent concurrent git update in critical workflows (#1478)
- ci: limits concurrency for docs workflow
- ci: limit E2E workflow run for source code change
- ci: fix reference error in related_issue
- ci: remove unused and undeclared OS matrix env
- ci: limits concurrency for docs workflow
- ci: safely label PR based on title
- ci: add missing description fields
- ci: fix invalid dependency leftover
- ci: update mergify bot breaking change
- ci: remove mergify legacy key
- ci: add queue name in mergify
- ci: fix mergify dependabot queue
- ci: improve wording on closed issues action
- ci: deactivate on_merged_pr workflow
- ci: remove dangling debug step
- ci: add linter for GitHub Actions as pre-commit hook (#1479)
- ci: run codeql analysis on push only
- ci: add workflow to suggest splitting large PRs (#1480)
- ci: enable ci checks for v2
- ci: record pr details upon labeling
- ci: destructure assignment on comment_large_pr
- ci: add note for state persistence on comment_large_pr
- ci: format comment on comment_large_pr script
- ci: create reusable docs publishing workflow (#1482)
- ci: create docs workflow for v2
- ci: create adhoc docs workflow for v2
- ci: sync package version with pypi
- ci: disable v2 docs
- ci: update changelog with latest changes
- ci: migrate E2E tests to CDK CLI and off Docker (#1501)
- ci: remove v1 workflows (#1617)
- ci: make release process manual
- ci: fix typo on version description
- ci: increase skip_pypi logic to cover tests/changelog on re-run failures
- ci: limit to src only to prevent dependabot failures
- ci: use new custom hw for E2E
- ci: prevent dependabot updates to trigger E2E
- ci: revert custom hw for E2E due to lack of hw
- ci: disable mergify configuration after breaking changes (#1188)
- ci: post release on tagged issues too
- ci: uncomment test pypi, fix version bump sync
- ci: try bigger hardware for e2e test
- ci: bump hardware for build steps
- ci: create adhoc docs workflow for v2
- ci: changelog pre-generation to fetch tags from origin
- core: expose modules in the Top-level package (#1517)
- dep: add cfn-lint as a dev dependency; pre-commit (#1612)
- dep: bump pyproject to pypi sync
- deps: bump boto3 from 1.18.59 to 1.18.61 (#766)
- deps: bump pydantic from 1.9.0 to 1.9.1 (#1221)
- deps: bump email-validator from 1.1.3 to 1.2.1 (#1199)
- deps: bump fastjsonschema from 2.16.1 to 2.16.2 (#1530)
- deps: bump prismjs from 1.20.0 to 1.21.0 in /docs
- deps: bump aws-xray-sdk from 2.10.0 to 2.11.0 (#1730)
- deps: bump release-drafter/release-drafter from 5.20.0 to 5.20.1 (#1458)
- deps: bump pydantic from 1.9.1 to 1.9.2 (#1448)
- deps: bump email-validator from 1.2.1 to 1.3.0 (#1533)
- deps: bump github/codeql-action from 1 to 2 (#1154)
- deps: bump constructs from 10.1.1 to 10.1.66 (#1414)
- deps: bump boto3 from 1.17.84 to 1.17.85 (#455)
- deps: bump boto3 from 1.17.85 to 1.17.86 (#458)
- deps: bump codecov/codecov-action from 3.0.0 to 3.1.0 (#1143)
- deps: bump boto3 from 1.17.86 to 1.17.87 (#459)
- deps: bump boto3 from 1.17.87 to 1.17.88 (#463)
- deps: bump boto3 from 1.17.88 to 1.17.89 (#466)
- deps: bump constructs from 10.1.1 to 10.1.65 (#1407)
- deps: bump attrs from 21.4.0 to 22.1.0 (#1397)
- deps: bump constructs from 10.1.1 to 10.1.63 (#1402)
- deps: bump codecov/codecov-action from 2.1.0 to 3.0.0 (#1102)
- deps: bump actions/upload-artifact from 2 to 3 (#1103)
- deps: bump boto3 from 1.17.89 to 1.17.91 (#473)
- deps: bump email-validator from 1.1.2 to 1.1.3 (#478)
- deps: bump boto3 from 1.17.91 to 1.17.101 (#490)
- deps: bump boto3 from 1.17.101 to 1.17.102 (#493)
- deps: bump constructs from 10.1.1 to 10.1.60 (#1399)
- deps: bump boto3 from 1.17.102 to 1.17.110 (#523)
- deps: bump boto3 from 1.17.110 to 1.18.0 (#527)
- deps: bump boto3 from 1.18.0 to 1.18.1 (#528)
- deps: bump codecov/codecov-action from 1 to 2.0.1 (#539)
- deps: bump dependabot/fetch-metadata from 1.3.3 to 1.3.4 (#1565)
- deps: bump jsii from 1.57.0 to 1.63.1 (#1390)
- deps: bump codecov/codecov-action from 3.1.0 to 3.1.1 (#1529)
- deps: bump boto3 from 1.18.1 to 1.18.15 (#591)
- deps: bump boto3 from 1.18.15 to 1.18.17 (#597)
- deps: bump elliptic from 6.5.2 to 6.5.3 in /docs
- deps: bump constructs from 10.1.1 to 10.1.59 (#1396)
- deps: bump actions/setup-python from 3 to 4 (#1244)
- deps: bump constructs from 10.1.1 to 10.1.64 (#1405)
- deps: bump actions/setup-python from 3 to 4 (#1528)
- deps: bump boto3 from 1.18.21 to 1.18.22 (#614)
- deps: bump boto3 from 1.18.22 to 1.18.24 (#619)
- deps: bump actions/setup-python from 2.3.1 to 3 (#1048)
- deps: bump actions/checkout from 2 to 3 (#1052)
- deps: bump codecov/codecov-action from 2.0.1 to 2.0.2 (#558)
- deps: bump fastjsonschema from 2.15.2 to 2.15.3 (#949)
- deps: bump ini from 1.3.5 to 1.3.8 in /docs
- deps: bump boto3 from 1.18.24 to 1.18.25 (#623)
- deps: bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 (#1689)
- deps: bump boto3 from 1.18.25 to 1.18.26 (#627)
- deps: bump constructs from 10.1.1 to 10.1.52 (#1343)
- deps: bump package to 2.2.0
- deps: bump release-drafter/release-drafter from 5.20.1 to 5.21.0 (#1520)
- deps: lock importlib to 4.x
- deps: bump release-drafter/release-drafter from 5.21.0 to 5.21.1 (#1611)
- deps: remove email-validator; use Str over EmailStr in SES model (#1608)
- deps: bump actions/github-script from 5 to 6 (#1023)
- deps: bump boto3 from 1.18.26 to 1.18.32 (#663)
- deps: bump dependabot/fetch-metadata from 1.1.1 to 1.3.2 (#1269)
- deps: bump aws-xray-sdk from 2.9.0 to 2.10.0 (#1270)
- deps: bump boto3 from 1.18.32 to 1.18.38 (#671)
- deps: bump dependabot/fetch-metadata from 1.3.2 to 1.3.3 (#1273)
- deps: bump pydantic from 1.8.2 to 1.9.0 (#933)
- deps: bump boto3 from 1.18.38 to 1.18.41 (#677)
- deps: bump codecov/codecov-action from 2.0.2 to 2.1.0 (#675)
- deps: bump boto3 from 1.18.41 to 1.18.49 (#703)
- deps: bump boto3 from 1.18.49 to 1.18.51 (#713)
- deps: bump boto3 from 1.18.51 to 1.18.54 (#733)
- deps: bump boto3 from 1.18.17 to 1.18.21 (#608)
- deps: bump constructs from 10.1.1 to 10.1.51 (#1323)
- deps: bump fastjsonschema from 2.15.1 to 2.15.2 (#891)
- deps: bump docker/setup-qemu-action from 2.0.0 to 2.1.0 (#1627)
- deps: bump jsii from 1.57.0 to 1.63.2 (#1400)
- deps: bump aws-xray-sdk from 2.8.0 to 2.9.0 (#876)
- deps: support arm64 when developing locally (#862)
- deps: bump peaceiris/actions-gh-pages from 3.8.0 to 3.9.0 (#1649)
- deps: bump actions/setup-python from 2.3.0 to 2.3.1 (#852)
- deps: bump constructs from 10.1.1 to 10.1.49 (#1308)
- deps: bump actions/setup-python from 2.2.2 to 2.3.0 (#831)
- deps: bump actions/setup-node from 2 to 3 (#1281)
- deps: bump boto3 from 1.18.54 to 1.18.56 (#742)
- deps: bump fastjsonschema from 2.15.3 to 2.16.1 (#1309)
- deps: bump constructs from 10.1.1 to 10.1.46 (#1306)
- deps: bump boto3 from 1.20.3 to 1.20.5 (#817)
- deps: bump boto3 from 1.19.6 to 1.20.3 (#809)
- deps: bump jsii from 1.61.0 to 1.62.0 (#1294)
- deps: bump boto3 from 1.18.56 to 1.18.58 (#755)
- deps: bump boto3 from 1.18.58 to 1.18.59 (#760)
- deps: bump urllib3 from 1.26.4 to 1.26.5 (#787)
- deps: bump attrs from 21.2.0 to 21.4.0 (#1282)
- deps: bump boto3 from 1.18.61 to 1.19.6 (#783)
- deps: bump cdk-lambda-powertools-python-layer (#1284)
- deps: bump aws-cdk-lib from 2.29.0 to 2.31.1 (#1290)
- deps-dev: bump mypy from 0.961 to 0.971 (#1320)
- deps-dev: bump coverage from 6.0.1 to 6.0.2 (#764)
- deps-dev: bump pytest-asyncio from 0.15.1 to 0.16.0 (#782)
- deps-dev: bump flake8-eradicate from 1.1.0 to 1.2.0 (#784)
- deps-dev: bump mkdocs-material from 7.3.2 to 7.3.3 (#758)
- deps-dev: bump flake8-comprehensions from 3.6.1 to 3.7.0 (#759)
- deps-dev: bump flake8-isort from 4.0.0 to 4.1.1 (#785)
- deps-dev: bump coverage from 6.0 to 6.0.1 (#751)
- deps-dev: bump mkdocs-material from 7.3.3 to 7.3.5 (#781)
- deps-dev: bump mypy-boto3-dynamodb from 1.24.12 to 1.24.27 (#1293)
- deps-dev: bump mypy-boto3-appconfig from 1.24.0 to 1.24.29 (#1295)
- deps-dev: bump mkdocs-material from 7.3.5 to 7.3.6 (#791)
- deps-dev: bump pytest-asyncio from 0.16.0 to 0.20.1 (#1635)
- deps-dev: bump coverage from 6.0.2 to 6.1.2 (#810)
- deps-dev: bump isort from 5.9.3 to 5.10.1 (#811)
- deps-dev: bump mkdocs-material from 7.3.1 to 7.3.2 (#741)
- deps-dev: bump black from 21.10b0 to 21.11b1 (#839)
- deps-dev: bump flake8 from 3.9.2 to 4.0.1 (#789)
- deps-dev: bump black from 21.11b1 to 21.12b0 (#872)
- deps-dev: bump mypy from 0.910 to 0.920 (#903)
- deps-dev: bump flake8-variables-names from 0.0.4 to 0.0.5 (#1628)
- deps-dev: bump coverage from 5.5 to 6.0 (#732)
- deps-dev: bump aws-cdk-lib from 2.47.0 to 2.48.0 (#1664)
- deps-dev: bump mkdocs-material from 7.3.0 to 7.3.1 (#731)
- deps-dev: bump flake8-bugbear from 21.9.1 to 21.9.2 (#712)
- deps-dev: bump mypy from 0.920 to 0.930 (#925)
- deps-dev: bump aws-cdk-lib from 2.48.0 to 2.49.0 (#1671)
- deps-dev: bump mypy-boto3-cloudformation from 1.25.0 to 1.26.0.post1 (#1679)
- deps-dev: bump aws-cdk-lib from 2.46.0 to 2.47.0 (#1629)
- deps-dev: bump mkdocs-material from 7.2.8 to 7.3.0 (#695)
- deps-dev: bump mkdocs-material from 7.2.6 to 7.2.8 (#682)
- deps-dev: bump flake8-bugbear from 21.4.3 to 21.9.1 (#676)
- deps-dev: bump mypy from 0.930 to 0.931 (#941)
- deps-dev: bump radon from 4.5.2 to 5.1.0 (#673)
- deps-dev: bump flake8-bugbear from 22.6.22 to 22.7.1 (#1274)
- deps-dev: bump xenon from 0.7.3 to 0.8.0 (#669)
- deps-dev: bump mypy-boto3-s3 from 1.24.76 to 1.24.94 (#1622)
- deps-dev: bump mkdocs-material from 7.2.4 to 7.2.6 (#665)
- deps-dev: bump flake8-bugbear from 22.4.25 to 22.6.22 (#1258)
- deps-dev: bump pytest from 6.2.4 to 6.2.5 (#662)
- deps-dev: bump mypy-boto3-dynamodb from 1.24.0 to 1.24.12 (#1255)
- deps-dev: bump mypy-boto3-secretsmanager (#1252)
- deps-dev: bump mypy-boto3-dynamodb from 1.25.0 to 1.26.0.post1 (#1682)
- deps-dev: bump flake8-bugbear from 21.11.29 to 22.1.11 (#955)
- deps-dev: bump aws-cdk-lib from 2.49.0 to 2.50.0 (#1683)
- deps-dev: bump mypy-boto3-ssm from 1.24.81 to 1.24.90 (#1594)
- deps-dev: bump mypy-boto3-cloudwatch from 1.24.0 to 1.24.35 (#1342)
- deps-dev: bump mypy-boto3-ssm from 1.25.0 to 1.26.0.post1 (#1690)
- deps-dev: bump flake8-bugbear from 22.10.25 to 22.10.27 (#1665)
- deps-dev: bump mypy-boto3-secretsmanager from 1.25.0 to 1.26.0.post1 (#1691)
- deps-dev: bump pytest-benchmark from 3.4.1 to 4.0.0 (#1659)
- deps-dev: bump mkdocs-material from 8.1.9 to 8.2.4 (#1054)
- deps-dev: bump flake8-comprehensions from 3.6.0 to 3.6.1 (#615)
- deps-dev: bump types-requests from 2.28.11.2 to 2.28.11.3 (#1698)
- deps-dev: bump flake8-builtins from 1.5.3 to 2.0.0 (#1582)
- deps-dev: bump typing-extensions from 4.3.0 to 4.4.0 (#1575)
- deps-dev: bump flake8-comprehensions from 3.10.0 to 3.10.1 (#1699)
- deps-dev: bump flake8-comprehensions from 3.5.0 to 3.6.0 (#609)
- deps-dev: bump mkdocs-material from 8.5.7 to 8.5.9 (#1697)
- deps-dev: bump mkdocs-material from 7.2.3 to 7.2.4 (#607)
- deps-dev: bump flake8-isort from 4.1.1 to 4.1.2.post0 (#1384)
- deps-dev: bump mypy-boto3-appconfig from 1.23.0.post1 to 1.24.0 (#1233)
- deps-dev: bump pytest-xdist from 2.5.0 to 3.0.2 (#1655)
- deps-dev: bump mypy-boto3-dynamodb from 1.23.0.post1 to 1.24.0 (#1234)
- deps-dev: bump mkdocs-material from 7.2.2 to 7.2.3 (#596)
- deps-dev: bump mypy-boto3-logs from 1.25.0 to 1.26.3 (#1702)
- deps-dev: bump types-requests from 2.28.11.3 to 2.28.11.4 (#1701)
- deps-dev: bump mkdocs-material from 7.2.1 to 7.2.2 (#582)
- deps-dev: bump mypy-boto3-cloudwatch from 1.25.0 to 1.26.0.post1 (#1714)
- deps-dev: bump types-requests from 2.28.11 to 2.28.11.1 (#1571)
- deps-dev: bump pdoc3 from 0.9.2 to 0.10.0 (#584)
- deps-dev: bump isort from 5.9.2 to 5.9.3 (#574)
- deps-dev: bump mkdocs-material from 7.2.0 to 7.2.1 (#566)
- deps-dev: bump mkdocs-material from 7.1.11 to 7.2.0 (#551)
- deps-dev: bump flake8-black from 0.2.1 to 0.2.3 (#541)
- deps-dev: bump mypy-boto3-xray from 1.25.0 to 1.26.0.post1 (#1703)
- deps-dev: bump black from 21.12b0 to 22.8.0 (#1515)
- deps-dev: bump mkdocs-material from 7.1.10 to 7.1.11 (#542)
- deps-dev: bump mypy-boto3-appconfigdata from 1.25.0 to 1.26.0.post1 (#1704)
- deps-dev: bump mypy-boto3-s3 from 1.25.0 to 1.26.0.post1 (#1716)
- deps-dev: bump mypy-boto3-lambda from 1.25.0 to 1.26.0.post1 (#1705)
- deps-dev: bump mkdocs-material from 7.1.9 to 7.1.10 (#522)
- deps-dev: bump mypy-boto3-xray from 1.26.0.post1 to 1.26.9 (#1720)
- deps-dev: bump isort from 5.9.1 to 5.9.2 (#514)
- deps-dev: bump mkdocs-material from 8.5.3 to 8.5.4 (#1563)
- deps-dev: bump mypy-boto3-ssm from 1.26.0.post1 to 1.26.4 (#1721)
- deps-dev: bump mypy-boto3-appconfig from 1.25.0 to 1.26.0.post1 (#1722)
- deps-dev: bump flake8-eradicate from 1.0.0 to 1.1.0 (#492)
- deps-dev: bump isort from 5.8.0 to 5.9.1 (#487)
- deps-dev: bump pytest-asyncio from 0.20.1 to 0.20.2 (#1723)
- deps-dev: bump flake8-builtins from 2.0.0 to 2.0.1 (#1715)
- deps-dev: bump mkdocs-material from 7.1.7 to 7.1.9 (#491)
- deps-dev: bump mypy-boto3-secretsmanager from 1.23.8 to 1.24.0 (#1232)
- deps-dev: bump types-requests from 2.28.5 to 2.28.6 (#1401)
- deps-dev: bump pytest from 6.2.5 to 7.0.1 (#1063)
- deps-dev: bump mkdocs-material from 8.2.4 to 8.2.7 (#1131)
- deps-dev: bump pytest-cov from 2.12.1 to 3.0.0 (#730)
- deps-dev: bump types-requests from 2.28.6 to 2.28.7 (#1406)
- deps-dev: bump mypy-boto3-xray from 1.26.9 to 1.26.11.post1 (#1734)
- deps-dev: bump mypy-boto3-ssm from 1.23.0.post1 to 1.24.0 (#1231)
- deps-dev: bump mypy from 0.931 to 0.942 (#1133)
- deps-dev: bump mkdocs-material from 7.1.6 to 7.1.7 (#464)
- deps-dev: bump xenon from 0.8.0 to 0.9.0 (#1145)
- deps-dev: bump mkdocs-git-revision-date-plugin (#1146)
- deps-dev: bump mypy from 0.960 to 0.961 (#1241)
- deps-dev: bump pytest-cov from 2.12.0 to 2.12.1 (#454)
- deps-dev: bump mypy-boto3-secretsmanager from 1.24.54 to 1.24.83 (#1557)
- deps-dev: bump pytest-cov from 3.0.0 to 4.0.0 (#1551)
- deps-dev: bump flake8-bugbear from 22.9.11 to 22.9.23 (#1541)
- deps-dev: bump mypy-boto3-ssm from 1.24.80 to 1.24.81 (#1544)
- deps-dev: bump mypy-boto3-ssm from 1.24.69 to 1.24.80 (#1542)
- deps-dev: bump mkdocs-material from 8.5.9 to 8.5.10 (#1731)
- deps-dev: bump mako from 1.2.2 to 1.2.3 (#1537)
- deps-dev: bump types-requests from 2.28.10 to 2.28.11 (#1538)
- deps-dev: bump types-requests from 2.28.11.4 to 2.28.11.5 (#1729)
- deps-dev: bump types-requests from 2.28.7 to 2.28.8 (#1423)
- deps-dev: bump flake8-eradicate from 1.2.0 to 1.2.1 (#1158)
- deps-dev: bump mypy from 0.942 to 0.950 (#1162)
- deps-dev: bump flake8-bugbear from 22.1.11 to 22.4.25 (#1156)
- deps-dev: bump mkdocs-material from 8.5.1 to 8.5.3 (#1532)
- deps-dev: bump mypy from 0.950 to 0.960 (#1224)
- deps-dev: bump mypy-boto3-ssm from 1.21.34 to 1.23.0.post1 (#1220)
- deps-dev: bump mypy-boto3-appconfig from 1.21.34 to 1.23.0.post1 (#1219)
- deps-dev: bump mypy-boto3-s3 from 1.24.36.post1 to 1.24.76 (#1531)
- deps-dev: bump flake8-bugbear from 22.8.22 to 22.8.23 (#1473)
- deps-dev: bump mypy-boto3-secretsmanager from 1.21.34 to 1.23.0.post1 (#1218)
- deps-dev: bump mypy-boto3-dynamodb from 1.24.55.post1 to 1.24.60 (#1481)
- deps-dev: bump mypy-boto3-dynamodb from 1.24.55.post1 to 1.24.60 (#306)
- deps-dev: bump mkdocs-material from 8.4.1 to 8.4.2 (#1483)
- deps-dev: revert to v1.28.0 dependencies
- deps-dev: bump mkdocs-material from 8.5.0 to 8.5.1 (#1521)
- deps-dev: bump mkdocs-material from 8.4.4 to 8.5.0 (#1514)
- deps-dev: bump mypy-boto3-dynamodb from 1.24.60 to 1.24.74 (#1522)
- deps-dev: bump mypy-boto3-secretsmanager from 1.23.0.post1 to 1.23.8 (#1225)
- deps-dev: bump types-requests from 2.28.11.1 to 2.28.11.2 (#1576)
- docs: update site name to test ci changelog
- docs: Add some of the missing docstrings
- docs: correct markdown based on markdown lint (#603)
- docs: update CHANGELOG for v1.26.7
- docs: remove pause sentence from roadmap (#1409)
- docs: remove v2 banner on top of the docs
- docs: bump layer version to 36 (1.29.2)
- docs: update description to trigger changelog generation
- event-handler: adjusts exception docstrings to not confuse AppSync customers
- governance: update emeritus affiliation
- governance: update static typing to a form
- governance: remove devcontainer in favour of gitpod.io (#1411)
- governance: add pre-configured dev environment with GitPod.io to ease contributions (#1403)
- governance: update feat request to a form
- governance: bug report form typo
- governance: update docs report to a form
- governance: update external non-triage effort disclaimer
- governance: update bug report to a form
- governance: refresh pull request template sections
- governance: new ask a question
- governance: new static typing report
- governance: auto-merge to use squash
- governance: auto-merge workflow_dispatch off
- governance: auto-merge on all PR events
- governance: auto-merge mypy-stub dependabot
- governance: add release label on pr merge
- governance: enforce safe scope on pr merge labelling
- governance: limit build workflow to code changes only
- governance: check for related issue in new PRs
- governance: fix typo on semantic commit link introduced in #1aef4
- governance: address gh reusable workflow limitation
- governance: warn message on closed issues
- governance: fix workflow action requirements & syntax
- governance: update wording tech debt to summary in maintenance template
- governance: remove 'area/' from PR labels
- governance: add new maintenance issue template for tech debt (#1326)
- governance: remove any step relying on master branch
- governance: warn message on closed issues
- governance: fix on_merged_pr workflow syntax
- governance: update rfc to a form
- layer: bump to latest version 37
- layer: remove unsused GetFunction permission for the canary
- layer: bump to 1.31.1 (v39)
- layers: add release pipeline in GitHub Actions (#1278)
- layers: add dummy v2 layer automation
- layers: bump to 22 for 1.26.3
- layers: bump to 22 for 1.26.3
- layers: add release pipeline in GitHub Actions (#1278)
- layers: bump to 1.26.6 using layer v26
- layers: bump to 21 for 1.26.2
- layers: replace layers account secret (#1329)
- layers: bump to 1.26.5
- layers: layer canary stack should not hardcode resource name
- layers: bump to 10 for 1.25.0
- layers: expand to all aws commercial regions (#1324)
- layers: upgrade cdk dep hashes to prevent ci fail
- license: add third party license (#635)
- license: Add THIRD-PARTY-LICENSES (#641)
- lint: use new isort black integration
- logger: overload inject_lambda_context with generics (#1583)
- logger: uncaught exception to use exception value as message
- maintainer: add Leandro as maintainer (#1468)
- maintainers: add Ruben as a maintainer (#1392)
- maintainers: update release workflow link
- maintenance: add discord link to first PR and first issue (#1493)
- mergify: disable check for matrix jobs
- mergify: use job name to match GH Actions
- metrics: revert dimensions test before splitting (#1243)
- metrics: fix tests when warnings are disabled (#994)
- multiple: localize powertools_dev env logic and warning (#1570)
- package: correct pyproject version manually
- shared: fix cyclic import & refactor data extraction fn (#613)
- test-perf: use pytest-benchmark to improve reliability (#1250)
- tests: build and deploy Lambda Layer stack once (#1466)
- tests: refactor E2E logger to ease maintenance, writing tests and parallelization (#1460)
- tests: enable end-to-end test workflow (#1470)
- tests: refactor E2E tracer to ease maintenance, writing tests and parallelization (#1457)
- tests: refactor E2E test mechanics to ease maintenance, writing tests and parallelization (#1444)
- service_name fixture
- order to APP logger/service name due to screenshots
- search input size
- metrics: typing regression on log_metrics callable (#744)
- parser: Add missing fields for SESEvent (#1027) (#1190)
v1.3.0 - 2020-08-21
- add parameter utility (#96)
- bump version to 1.3.0 (#122)
v1.2.0 - 2020-08-20
- add support for tracing of generators using capture_method decorator (#113)
- bump version to 1.2.0 (#119)
v1.1.3 - 2020-08-18
- remove root logger handler set by Lambda #115
- bump to 1.1.3
- Merge pull request #117 from heitorlessa/chore/bump-1.1.3
- Merge pull request #116 from heitorlessa/fix/remove-root-logger-handler
v1.1.2 - 2020-08-16
- return subclass #107
- clarify auto_patch as per #108
- bump version to 1.1.2
- suppress LGTM alert
- add autocomplete as unreleased
- remove unused stdout fixture
- update Tracer docs as per #108
- Merge pull request #111 from heitorlessa/chore/bump-1.1.2
- Merge pull request #110 from heitorlessa/improv/logger-auto-complete
- Merge pull request #109 from heitorlessa/docs/tracer-reuse
v1.1.1 - 2020-08-14
- regression 104 (#105)
- return log level int immediately
- add test covering logging constant
- bump patch version
- fix unused fixture
- fix docstring on level [str,int] consistency
- fix test level typo
- trigger docs on new release (#102) (#103)
- trigger docs on new release (#102)
- trigger docs on new release
- log level docstring as str
- Merge pull request #106 from heitorlessa/fix/regression-104
v1.1.0 - 2020-08-14
- auto-assigner filename as per docs
- add support for logger inheritance (#99)
- enable issue auto-assigner to core team
v1.0.2 - 2020-07-16
v1.0.1 - 2020-07-05
- append structured logs when injecting lambda context (#86)
- add blog post in the readme
v1.0.0 - 2020-06-18
- customize contributing guide (#77)
- bump to 1.0.0 GA (#83)
- add missing ':' and identation in examples
- cleanup tests (#79)
- remove deprecated code before GA (#78)
- move blockquotes as hidden comments
v0.11.0 - 2020-06-10
- default dimension creation now happens when metrics are serialized instead of on metrics constructor (#74)
- update CHANGELOG
- bump version to 0.11.0 (#76)
v0.10.1 - 2020-06-10
- default dimension creation now happens when metrics are serialized instead of on metrics constructor (#74)
- fix contrast on highlighted code text (#73)
- version bump 0.10.1
- deps: bump graphql-playground-html from 1.6.19 to 1.6.25 in /docs
- Merge pull request #72 from awslabs/dependabot/npm_and_yarn/docs/graphql-playground-html-1.6.25
- correct env var name for publish to pypi test (#69)
- release-drafter action syntax
- release-drafter label for new feature/major non-breaking changes
- cast dimension value to str to avoid issue where EMF silently fails (#52)
- ignore path that might seem a broken link #49
- open api ref in a new tab #48
- metrics not being flushed on every invocation (#45)
- #35 duplicate changelog to project root
- #24 correct example test and docs
- CI attempt 4
- CI attempt 3
- CI attempt 3
- CI attempt 2
- add missing single_metric example; test var name
- fix import of aws_lambda_logging to relative import
- Makefile: format before linting
- make: add twine as a dev dep
- setup: correct invalid license classifier
- setup: correct license to MIT-0 in meta
- build on master only
- clarify logger debug sampling message
- clean up readme in favour of docs website
- add install in main docs website
- add pypi badge
- add capture_cold_start_metric for log_metrics (#67)
- automate publishing to pypi (#58)
- add pre-commit hooks (#64)
- update Metrics interface to resemble tracer & logger: use "service" as its namespace.
- add codecov service (#59)
- add security and complexity baseline #33 (#57)
- add pull request template #33
- add RFC template for proposals
- create issue templates
- readd release drafter action #33
- add release drafter (#56)
- add stale issues config #33 (#55)
- enforce semantic PR titles (#54)
- add algolia search for docs and api ref (#39)
- add documentation website (#37)
- add docs to CI
- Add Python3.8 support
- logger: add log sampling
- pypi: add bumpversion, public release pypi
- pyproject.toml: move to poetry
- version bump (#68)
- public beta version
- rename Makefile target docs-dev to docs-local (#65)
- correct docstring for log_metrics
- fix typo in metrics doc
- Correct test comment
- remove unused import
- formatting
- plat wheels are not needed
- reformat changelog to follow KeepAChangelog standard (#50)
- bump to release candidate
- renamed history to changelog dependabot
- grammar issues
- bump example to use 0.8.0 features
- clean up CI workflows
- fix github badge typo
- pypi monthly download badge
- lint
- bump 0.3.1 with logging patch
- bump history
- lint
- add Python 3.8 in badge as it's supported
- CI badge
- public beta version
- deps: bump bleach from 3.1.0 to 3.1.1 in /python
- deps: bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#66)