- allow require files in helpers folder that are not helpers
- join with single item list that uses get_att
- #76 fix plan: upload template to s3
- #75 user_data helper improvements
- Improve lono error reported to use with better call line backtrace
- load helpers before variables so they're available in vars files
- vpc helper returns object
Notable:
- lono app and role concept
- extra layering support
- hooks support: project and blueprint level
Misc:
- add lono bucket output
- alias blueprint with -b
- change params extension to .env
- config.hooks.show = true default
- config.layering.show = true option
- extra layering support
- github templates
- improve simplier new helper cli interface
- improve squeezer: edge case Array with nil elements
- hooks generator
- lambda layer
- layering full mode default
- lazy create lono stack and lono bucket
- lono extra support
- lono iam
- lono summary
- lono up: edge case fix continue after rollback
- parse_for_layering_show
- remove extensions and add new hook generator
- show configset layering
- update dsl_evaluator dependency to at least 0.3.0
- version structure check
- lono files support for lambda functions
- new structure: remove Appfile
- allow regions and envs support
- print friend message with exact line of yaml code in case of aws
- cloudformation yaml validation error
- improve cli help
- configsets new structure
- lono new helper blueprint and project commands
- project helpers support
- include_modules improvements
- support vendor level helpers
- improve plan params diff
- lono plan build all first
- restructure builder and helpers
- improve template_evaluation_error
- lono seed --where option and config.seed.where
- return nil when output not found
- setup configsets finalizer
- template_file helper
- fix coder
- lono s3 bucket auto-creation
- v8 cleaner and simplier interface
- commands: lono up, down, bundle, list, new, output, plan
- conventional stack name
- lono new generators
- improve lono plan previews
- improve layering
- boot hooks
- change default env to dev
- app config support: config.names.stack, etc
- change --sure to --yes option
- remove core settings in favor of config/app.rb
- logger support
- remove docs. move to separate repo
- plugin system and test framework
- #74 activesupport require fix
- fix activesupport require
- remove registration check
- fix brew install graphviz message
- #71
set_instances deploy
command in favor ofset_instances sync
- fix lookup_output
- #70 fix out-of-sync Gemfile.lock
- #69
stack_output
andstack_resource
helpers
- #68 squeezer: auto clean empty array values
- add version numbers to extension gemspec template to remove deprecations
- #65 soft lono deprecations:
lono_type
must be set in gemspec - #66 fix configset s3_key, s3 endpoint is specially treated for us-east-1
- #67 fix materializer for multiple extensions
- #64 lono new updates: no starter seed files, allow custom readme
- silence type check
- add DeletionPolicy to special property mover also
- improve sets delete messaging
- #62 update gemspec templates
- #63 lono sets: default --iam option to true for stack sets
- #61 clean install fixes
- improve tree detection
- improve colordiff detection
- improve AWS setup detection
- remove bundler install for blueprint, extension, and configsets
- #60 fix edge case when cached materialized Gemfile.lock breaks finder
- #59 lono generate fix: generate with configsets
- #57 Big improvements generally and configsets
- #58 Docs: Configsets and new DSL Helpers
- #56 build lambda layer fix: allow Gemfile.lock to be generated if not provided
- #55 lambda layer fixes: allow Gemfile path option to vendor gems
- #54 introduce lambda layer concept
- #53 improve configset lookup path lookup
- cleanup starter blueprint
- #52 configset: content_file helper
- #51 fix extensions helpers loading and cleanup
- #48 fix codebuild and circleci
- #49 lono extensions
- #50 lono extensions docs
- #42 introduce configset dsl
- #43 improve layering behavior
- #44 metadata fixes: lono_strategy
- #45 lono_type fix
- #46 require bundler 2 at least: fixes Gemfile.lock generation
- #47 use with_unbundled_env
- #41 sort parameter with required at top
- #40 fix lono summary total
- #39 improve param parser. allow surrounding quotes
- fix build and improve docs
- improve reg check message
- #37 allow Conditional to work with no camelized keys
- #38 prevent YAML.dump from emitting aliases
- #36 lono v7
- Breaking: project
blueprints
moved toapp/blueprints
. Uselono upgrade
to update. - Introduce configsets concept.
- Introduce lono sets concept:
lono sets
,lono sets deploy
,lono set_instances sync
- Merge lono-pro into lono. Deprecate lono-pro gem.
- Add lono registration.
- Major refactoring:
- Remove stack name suffix option
- Remove current concept
- Introduce Lono::AbstractBase class
- Pass CLI options consistently straight through.
- Use Lono::Conventions.
- Introduce Lono::Cfn::Opts to remove duplication
- Internally use
@stack
instead of@stack_name
.@stack
can be either a stack or stack_set
- #35 fix app files variables erb lookup scope
- #32 use lono dsl scope for the app files erb processing
- #33 fix squeezer for Array. squeeze hashes nested in arrays too
- #34 fix squeeze for false values
- #30 fix md5 sum calcuation for single file
- #31 Add app files ERB support docs
- options
-y
and--iam
addCAPABILITY_AUTO_EXPAND
for serverless transform
- #28 add user_data_script helper
- #29 remove items in Hash structure with nil value at any level
- #25 add stack_name helper
- #26 ref Split: true option
- #27 fix ref Split: true option
- #24 auto remove properties with nil value
- lono seed: change default optional value to nothing
- #23 improve blueprint starter project and add --no-demo option
- #22 tags helper: return nil if @tags not set and using variable mode
- #21 smarter tags helper. use @tags variable if tags called without arguments
- #20 improve param Conditional form with 3rd form
- #19 fix param Conditional option
- #17 big improvements to how the configs lookup logic happens: simpler and easier to understand
- variables lookup strategy is same as params
--config
option sets both--param
and--variable
- also account for stack name as part of conventional lookup - big win to help provide consistent and organized configs files.
- #18 parameter(name, Conditional: true)
- ref(name, Conditional: true)
- deprecated
conditional_parameter
,optional_ref
- deprecated
tags
helper, usetag_list
instead - cleanup: organize CoreHelper
- #14 restructure dsl methods are available in variables definition
- #15 fix Type camelize bug
- #16 add --variable option, allow user to specify
- #13 DSL improvements: auto camelize off by default
auto_camelize: off
as new default for blueprints.- Old blueprints will continue to auto_camelize unless the
.meta/config.yml
is updated toauto_camelize: off
- Upgrade vendor/cfn_status
- Update docs to encourage CamelCase for attributes and properties
- Add and encourage shorthand bang intrinsic methods:
if!
,not!
,and!
,or!
- Fix iam permission error for
lono cfn preview
command - Update cli help
- Improve
lono summary
output - Introduced experimental helpers:
conditional_parameter
andoptional_ref
. Note that their interfaces may change - Treat common attributes
DependsOn
andCondition
at the property level specially and move them to the attribute level automatically. Allows for cleaner resource definitions. - update blueprint starter skeleton
- fix param preview for noecho values that are set
- #12 fix param preview
- #11 enable sse-s3 encryption for lono managed s3 bucket
- #10 fixes for param diff preview: Ignore noecho parameters
- #8 param preview feature. 3rd type of preview.
- #9 ssm helper support in configs
- Simplify param lookup with direct lookup logic.
- Allow params files to have different extensions. Both.txt and .sh work are auto-inferred conventionally.
- Allow condition and depends_on to be a properties level and auto-moved to the attributes level.
- add mfa support for normal IAM user
- hide query string from template_url on display
- update skeleton starter files: Gemfile, starter message, simplify skeleton settings.yml
- reset current dir after lono blueprint new for lono code import command
- #6 updates
- changes so
lono code import
can create full blueprint structure - improve
lono seed
to prompt before overwriting - improve starter configs params
- improve started Gemfile
- lono new --demo option to include starter demo blueprint
- lono seed: use Thor::Actions to prompt before overwriting
- add description to lono managed stack
- output dsl: 2nd form allow nil value in case of variables
- seed only support params for main conventional template in blueprint
- set --iam with -y option also
- improve param lookup
- #5 lono seed command: Lono::Seed::Configs class interface
- add lono cfn cancel command
- content helper
- gracefully handle edge cases with lono s3 bucket
- cleanup classes and modules
- use cfn_camelizer as gem
- change
lono blueprint
to subcommand:lono blueprint new
andlono blueprint list
commands - change
lono configure
tolono seed
. Seed interface is the same but the path is different:seed/configs.rb
- Introduce lono DSL and set as default mode
- Introduce blueprints concept
- Introduce lono up command
- Auto-create lono managed s3 bucket
- Zeitwerk autoloader
- Restructure project structure
- Remove aws_profiles settings.yml in favor of aws_profile
- lono upgrade v4to5 command
- License update: https://www.boltops.com/boltops-community-license
- retain tag values on cfn update operations
- #40 lono cfn create --tags a:1 b:2 option
- use rainbow gem for terminal colors
- bin/release wrapper script
- hide type dot_clean check message
- add vendor files to gem package
- update docs
- fix status tailing check for nested stacks
- lono current
- lono cfn status
- app/files support with file_s3_key helper
- Display status of stack deployment and wait for completion
- fix iam retry logic for cfn update
- Merge pull request #36 from tongueroo/cli_markdown
- fix current_region helper in variables, add s3_region setting
- settings: fix edge cases, nil base, file is empty
- simplify how to set s3 endpoint override so region doesnt have to also be set
- use subshell for extract_scripts
- Update cli docs: generate, import, new, upload
- fix thor description override when command not found
- update lono cfn diff docs
- update lono cfn diff docs
- add S3_REGION env option to configure different s3 client region vs AWS_PROFILE
- update cli docs
- make
--name
option for lono import optional - simplified template_params helper return structure
- update cli docs
- add https://lono.cloud/reference/
- improve cli docs
- lono upgrade4 command
- simplified lono project structure
- app/scripts upload support and extract_scripts helper
- new settings.yml format: environment support, simplified s3_folder and aws_profiles options
- revamped starter projects
- added focus to lono import flow
- move lono summary up to top-level cli
- cli auto-completion support
- improved YAML parse error: shows error line immediately to user of output template
- better ERB template error rendering with render_me_pretty gem
- remove json support. focus on yaml.
- lono user_data command
- Using Lono.root instead of scattered project_root parameters
- prefer use of Lono.env over LONO_ENV internally
- do not remove blank lines from the generated template, it makes user-data scripts harder to read
- remove adding of extra line to partials, causing issues with user data partials
- docs for lono settings
- fix lono project config settings
- upgrade to circleci 2.0
- add current_region helper
- update install notes
- require specific aws-sdk s3 and cloudformation dependencies to reduce size
- lono import also creates a params/base file
- remove -prod from the starter project
- update lono inspect summary help
- add lono inspect summary
- remove lono inspect params
- fix lono inspect params
- lono inspect depends
- lono inspect params
- fix randomize stack name option
- lono import: casing option: camelcase or dasherize
- update lono import and new cli help
- lono import command
- update aws-sdk to version 3
- Major feature changes
- Lono structural changes
- Layering Support
- Shared Variable Support
- Nested Stacks Support
- Format and Extension Detection
- Custom Helper Support
- Source Name Convention Support
- Setting File Support
- improve instance_eval error when lono.rb errors, print out line of code and context
- add example template to starter app
- add docs website
- cfn preview: exit gracefully when stack doesnt exist
- exit gracefully with ctrl-c
- fix param generation with cfn preview when stack name is different from param name
- fix starter project param files
- fix lono cfn update
- added lono cfn subcommand to launch CloudFormation stacks
- added lono params subcommand to generate CloudFormation parameter files
- moved lono template methods into subcommand. lono generate still available at top level.
- allow --help or -h at the end of the command
- make display output path prettier
- erb error fix context off by 1
- default detected format to yaml if no templates defined yet
- useful ERB render error messages
- remove blank lines from yaml output
- update starter project instance type allowed values
- Yaml support added! Makes for much more clean and concise templates. The
lono new
command defaults to yaml format. - The starter project is app centric instead of env centric. Example: blog-web-prod vs prod-blog-web.
- Add helper encode_base64 method in case you want to base64 encode a string in the ERB template and you are using lono outside of the context of CloudFormation where you will not have access to the FN::Base64 Function.
- move ensure_dir up above validation so folder gets created even with bad json. fixes #14
- Update use newer ruby syntax.
- Get rid of the core Hash extension that is causing issues with aws-sdk version 2. I original did this because the output of the generated json files was no deterministic with ruby 1.8.7. No longer supporting ruby 1.8.7.
- Gem has been tested with ruby 2.2.5+