Skip to content

Latest commit

 

History

History
700 lines (363 loc) · 12.3 KB

changelog.md

File metadata and controls

700 lines (363 loc) · 12.3 KB

Architect Utils changelog


[4.0.5 - 4.0.6] 2024-04-29

Changed

  • Updated dependencies
  • Updated package.json engines.node property to reflect changes from v4

[4.0.4] 2024-03-25

Changed

  • Updated dependencies

[4.0.3] 2024-02-09

Fixed

  • Fixed MaxListenersExceededWarning if npm or another package manager resolves many different versions of Utils on the filesystem

[4.0.2] 2024-02-06

Changed

  • Updated aws-lite

[4.0.0 - 4.0.1] 2024-02-01

Added

  • Added checkCreds method for manually performing basic AWS credential checks

Changed

  • Initializing the Architect banner is significantly faster, as it no longer has any interactions with aws-sdk
  • Breaking change: banner initialization no longer has any direct responsibility for credential checking
    • Related: banner initialization no longer mutates AWS_PROFILE, or uses ARC_AWS_CREDS as a signal to other modules about credential loading
    • Modules relying on the banner for credential-related operations must review the changes and refactor accordingly
  • Banner initialization no longer utilizes disableRegion or disableProfile params when printing
  • Transitioned from aws-sdk to aws-lite
  • Added Node.js 20.x to test matrix
  • Breaking change: removed support for Node.js 14.x (now EOL, and no longer available to created in AWS Lambda)

[3.1.7 - 3.1.9] 2023-04-22

Changed

  • Updated dependencies

[3.1.6] 2023-04-06

Fixed

  • Fixed static asset fingerprinting in Windows

[3.1.3 - 3.1.5] 2023-03-09

Changed

  • Updated deps

[3.1.2] 2022-09-07

Changed

  • Updated deps

Fixed

  • Fix toLogicalID to ensures the passed value is coerced to a string

[3.1.1] 2022-04-19

Fixed

  • Guard against invalid credentials file without default profile; thanks @stuartlangridge!

[3.1.0] 2022-01-23

Added

  • Added deepFrozenCopy method

Changed

  • Stop publishing to the GitHub Package registry
  • Updated deps

Fixed

  • Ensure multi-line error messages passed to updater.error do not double print

[3.0.4] 2021-10-12

Changed

  • Updated deps

[3.0.3] 2021-09-18

Added

  • Added quiet param to banner (instead of relying solely on ARC_QUIET or QUIET env vars)

Changed

  • Updated dependencies

[3.0.0 - 3.0.2] 2021-07-22

Added

  • Breaking change: removed support for Node.js 10.x (now EOL, and no longer available to created in AWS Lambda) and Node.js 12.x
  • Removed support for Architect 5 (and lower)
  • Updated dependencies

[2.1.3] 2021-06-21

Changed

  • Updated dependencies

[2.1.2] 2021-06-16

Added

  • Accept cwd param in banner instead of solely relying on process.cwd()

[2.1.1] 2021-06-14

Fixed

  • Fixed updater truncated color escape sequence, return correct log data in updater.start()

[2.1.0] 2021-05-13

Added

  • Added log levels to updater:
    • Pass it a logLevel param with one of normal (default), verbose, or debug
    • verbose outputs logs at its level and normal; debug outputs logs at all levels
    • The quiet boolean flag still suppresses writing to stdout, but all relevant log data is still collected by the updater log buffer (see get() + reset() below)
  • Added updater.get(), which returns the captured log buffer
  • Added updater.reset() (and updater.clear() alias) to clear the captured log buffer

[2.0.5] 2021-03-05

Changed

  • getLambdaName now sanitizes backslash characters to hyphens

[2.0.4] 2021-01-05

Added

  • Add updater.raw(), a console.log passthrough that respects Architect quietude

Changed

  • Updated updater tests

[2.0.3] 2020-12-19

Fixed

  • Fixed fingerprinter when called on an app that doesn't have inv.static

Changed

  • Updated deps

[2.0.2] 2020-12-04

Changed

  • Updated deps

[2.0.1] 2020-12-01

Changed

  • Fingerprint no longer generates a static folder (and exits early) if not found

[2.0.0] 2020-11-20

Changed

  • Refactored fingerprint and banner to require an Inventory object
  • Removed methods that are now the responsibility of Inventory:
    • fingerprint.config
    • getLayers
    • getRuntime
    • inventory
    • read
    • readArc
    • validate
  • Removed methods no longer in active use by any Architect projects:
    • initEnv
    • portInUse

[1.5.14] 2020-11-05

Added

  • updater errors now include stack traces

Changed

  • updater errors can no longer be quieted – errors are important!

[1.5.13] 2020-10-10

Fixed

  • Updated fingerprint glob path to be *nix normalized

[1.5.12] 2020-09-30

Added

  • Add @http * catchall syntax support to getLambdaName

[1.5.11] 2020-08-06

Fixed

  • Fixed issue where updater might not get the latest state of ARC_QUIET during a long-lived process

[1.5.10] 2020-07-26

Fixed

  • Fixed issue where updater might occasionally interfere with certain test reporter outputs

[1.5.9] 2020-06-10

Fixed

  • Fix exit condition of fingerprinter when no files are found

[1.5.8] 2020-06-04

Added

  • Adds support for @static fingerprint external

Changed

  • Removed mkdirp in favor of Node.js >= 10.x mkdir recursive

Fixed

  • Fixes @static fingerprint ignore with more recent versions of Architect Parser

[1.5.6 - 1.5.7] 2020-05-17

Added

  • Adds dotnetcore3.1 support for Lambda, fixes #794
  • Instead of the scary red x, updater.warn now uses a warning character

[1.5.5] 2020-05-04

Added

  • Adds ruby2.7 support for Lambda, fixes #794

[1.5.4] 2020-04-22

Fixed

  • Should now restore cursor more reliably when a user quits any workflow that's using updater

[1.5.3] 2020-04-07

Fixed

  • Inventory correctly reports custom websocket routes, thanks @mawdesley!

[1.5.1 - 1.5.2] 2020-03-22

Changed

  • Updated dependencies

[1.5.0] 2020-03-10

Changed

  • Replaced readArc method with @architect/parser.readArc, returns a default Architect project if one is not found in the root of the working directory

[1.4.7] 2020-02-05

Fixed

  • Fixed AWS credential instantiation to ensure that AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY env vars are backfilled with dummy values in scenarios where valid credentials are not required

[1.4.6] 2020-02-04

Added

  • Added support for deno in getRuntime method

Changed

  • Updated dependencies

[1.4.5] 2020-01-31

Added

  • Adds better support for quiet mode in banner + updater with ARC_QUIET and legacy QUIET env vars

Changed

  • Updated getRuntime default runtime to nodejs12.x (however, this code path is likely inactive)

[1.4.3 - 1.4.4] 2020-01-03

Fixed

  • Handle credentials in the canonical way while still allowing profile and region overrides in arc config; thanks @defionscode!

Changed

  • Revert dependency

[1.4.2] 2019-12-26

Added

  • Allow local cred file to be overriden by env vars by specifying ARC_AWS_CREDS=env

[1.4.0 - 1.4.1] 2019-12-23

Added

  • AWS credentials can now be loaded via env vars (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
    • Thus, Architect no longer requires a ~/.aws/credentials file to run
    • Also added AWS session token support via setting AWS_SESSION_TOKEN env var
    • Fixes #26; thanks @ryan-roemer!

Fixed

  • Credentials are now properly backfilled with dummy values for banner callers setting needsValidCreds, ensuring that certain Architect operations (such as local Sandbox usage) won't crash without a valid ~/aws.credentials file present

[1.3.10] 2019-12-12

Changed

  • Adds better backwards compatibility support in inventory for legacy src/ws/ws-* paths

[1.3.9] 2019-11-19

Added

  • Added support for new Lambda runtimes! nodejs12.x, python3.8, and java11

Changed

  • init is now its own standalone project! It can be found at @architect/create
  • As such, init is now retired and removed from utils
  • Updated dependencies

Fixed

  • Fixed printing of unnecessary ANSI escape characters in CI environments (CI env, or not TTY output)

[1.3.8] 2019-09-29

Fixed

  • Fixes correct inventory paths for src/ws/*, which should in turn fix WebSocket function hydration

[1.3.7] 2019-09-22

Added

  • Added support for @static folder to fingerprint

Changed

  • Updated dependencies

[1.3.5 - 1.3.6] 2019-09-11

Added

  • updater now accepts params object, including {quiet: true}, which completely disables console printing
  • updater.status can now be passed a null first param, which only outputs a multi-line supporting status update

Fixed

  • Better isolation of updater methods that require TTY, so as to prevent potential boogs

Changed

  • updater.status cancels progress

[1.3.4] 2019-09-08

Added

  • updater methods now returns whatever they're printing (should you need to capture status)
  • Added tests for updater

Changed

  • updater now always hides the cursor during updating
  • Internal changes to updater printer API

[1.3.3] 2019-08-28

Changed

  • Updates boilerplate init templates for functions and static assets

[1.3.2] 2019-08-18

Changed

  • Internal change to update.done()

[1.3.1] 2019-08-17

Added

  • Added @views pragma to inventory
  • Added optional updater.done() confirmation message
  • Calling banner in Arc 5 sets deprecated env var

[1.3.0] 2019-08-15

Added

  • Adds updater(): an Arc-standardized console status updater and animated progress indicator
  • Adds credential initialization fallback routine to initAWS()

Changed

  • Massively prettifies the boilerplate static site created by init()

[1.2.7] 2019-08-13

Added

  • Added ability to directly access Arc and AWS initializer utils (initArc(), initAWS())
  • Added AWS credential loader to AWS initializer

Changed

  • populate-* utils are now now init-*

[1.2.6] 2019-08-12

Added

  • Adds glob to satisfy previously inferred dependency

[1.2.5] 2019-08-12

Changed

  • Remove QUIET env var as predicate for disabling banner

[1.2.4] 2019-08-10

Added

  • Adds util to normalize local file paths in Windows
  • Adds issue / PR templates

[1.2.3] 2019-07-23

Added

  • Adds lib of Windows-compatible special chars set to de-munge printing on Windows machines

[1.2.0-2] 2019-07-15

Added

  • Static asset fingerprint util (and related tests)
    • Responsible for managing public/static.json
    • Returns static asset manifest when called
    • Also has fingerprint.config() API available for returning @static fingerprint and @static ignore config

[1.0.13, 1.0.14, 1.0.15, 1.0.16, 1.1.0]

// Needs backfilling!


[1.0.12] 2019-06-17

Changed

  • Tiny console log copy edit

[1.0.10-11] 2019-06-13

Added

  • Adds populate-arc module, which loads basic required Architect project config
  • Adds populate-aws module, which fixes missing (optional) AWS env vars in banner

Changed

  • Disabling banner is now disableBanner
  • Banner AWS region / profile can now be disabled with disableRegion and disableProfile
  • Common banner logger added in preparation for additional banner customization

[1.0.9] 2019-06-12

Added

  • Option to disable banner printing with banner({disabled:true})

Changed

  • Moving towards passing parameters (to things like the banner) instead of using env vars

[1.0.5-8] 2019-06-11

Added

  • Added shared banner printer

Changed

  • Reverted tidying of subfolder structure in service of making requiring a little nicer

[1.0.4] 2019-05-29

Fixes

  • Updates readArc to error if Architect manifest isn't found

[1.0.3] 2019-05-29

Added

  • This here library! Broken out of @architect/architect, we will now be maintaining utils as a standalone module, and reincorporating it back into future versions of Architect.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.