diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c7845d90..a6c1bd1e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,764 @@ # Change Log +## [Unreleased](https://github.com/asteris-llc/converge/tree/HEAD) + +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.4.0...HEAD) + +### Enhancements + +- Handle time.Time in preparer [\#490](https://github.com/asteris-llc/converge/issues/490) +- k8s demo [\#480](https://github.com/asteris-llc/converge/issues/480) +- no mo' spaces [\#320](https://github.com/asteris-llc/converge/issues/320) +- We're using too many ports [\#286](https://github.com/asteris-llc/converge/issues/286) +- better status display on plan and execution [\#269](https://github.com/asteris-llc/converge/issues/269) +- builtin file owner module [\#74](https://github.com/asteris-llc/converge/issues/74) +- Add interceptors for RPC auth [\#531](https://github.com/asteris-llc/converge/pull/531) ([BrianHicks](https://github.com/BrianHicks)) +- demo: kubernetes - use latest version of converge [\#524](https://github.com/asteris-llc/converge/pull/524) ([ryane](https://github.com/ryane)) +- fix shasum filename [\#522](https://github.com/asteris-llc/converge/pull/522) ([stevendborrelli](https://github.com/stevendborrelli)) +- Feature/improve output [\#516](https://github.com/asteris-llc/converge/pull/516) ([arichardet](https://github.com/arichardet)) + +### Bugs + +- LVM FS module reports failure due to still having changes [\#555](https://github.com/asteris-llc/converge/issues/555) +- handle newlines in docs generation for exported fields [\#548](https://github.com/asteris-llc/converge/issues/548) +- docker.container panics if image not present [\#538](https://github.com/asteris-llc/converge/issues/538) +- Return error instead of message from docker resource plan [\#529](https://github.com/asteris-llc/converge/issues/529) +- misleading error message in converge graph command [\#520](https://github.com/asteris-llc/converge/issues/520) +- exit code is 0 when converge plan has errors [\#492](https://github.com/asteris-llc/converge/issues/492) +- error specifying file mode [\#487](https://github.com/asteris-llc/converge/issues/487) +- docker.network misleading error messages [\#485](https://github.com/asteris-llc/converge/issues/485) +- inconsistent indentation on multi-line diffs [\#478](https://github.com/asteris-llc/converge/issues/478) +- pass typed params through to modules [\#409](https://github.com/asteris-llc/converge/issues/409) +- auth code is repeated [\#273](https://github.com/asteris-llc/converge/issues/273) +- Remove indent for multi-line diffs [\#530](https://github.com/asteris-llc/converge/pull/530) ([arichardet](https://github.com/arichardet)) +- status: add MayChange status and Warning display [\#528](https://github.com/asteris-llc/converge/pull/528) ([ryane](https://github.com/ryane)) +- Fix/disable docker solaris [\#527](https://github.com/asteris-llc/converge/pull/527) ([ryane](https://github.com/ryane)) +- plan cmd: return non-zero exit code when plan has error\(s\) [\#525](https://github.com/asteris-llc/converge/pull/525) ([ryane](https://github.com/ryane)) +- graph cmd: fix wrong argument length error [\#521](https://github.com/asteris-llc/converge/pull/521) ([ryane](https://github.com/ryane)) +- Fix/file.mode errors [\#519](https://github.com/asteris-llc/converge/pull/519) ([ryane](https://github.com/ryane)) +- docker: update docker dependency [\#512](https://github.com/asteris-llc/converge/pull/512) ([ryane](https://github.com/ryane)) + +### Closed Issues + +- Better output for cascading failures [\#367](https://github.com/asteris-llc/converge/issues/367) +- file download/fetch module [\#250](https://github.com/asteris-llc/converge/issues/250) + +### Closed Pull Requests + +- Minor Fixes After Makefile rewrite [\#558](https://github.com/asteris-llc/converge/pull/558) ([BrianHicks](https://github.com/BrianHicks)) +- reset updates needed after apply in lvm [\#557](https://github.com/asteris-llc/converge/pull/557) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Makefile: remove ref to VERSION in PACKAGE\_VERSION [\#556](https://github.com/asteris-llc/converge/pull/556) ([BrianHicks](https://github.com/BrianHicks)) +- Better Makefiles [\#553](https://github.com/asteris-llc/converge/pull/553) ([BrianHicks](https://github.com/BrianHicks)) +- when apply fails due to changes still being present; use those diffs … [\#551](https://github.com/asteris-llc/converge/pull/551) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- docs: use same formatting for \(re\)exported fields as parameters [\#550](https://github.com/asteris-llc/converge/pull/550) ([arichardet](https://github.com/arichardet)) +- Feature/74 file owner [\#549](https://github.com/asteris-llc/converge/pull/549) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Feature/file.fetch [\#543](https://github.com/asteris-llc/converge/pull/543) ([arichardet](https://github.com/arichardet)) +- Fix/538 docker container panic [\#542](https://github.com/asteris-llc/converge/pull/542) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- return a better error for planned network failures [\#541](https://github.com/asteris-llc/converge/pull/541) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Timer status display [\#537](https://github.com/asteris-llc/converge/pull/537) ([BrianHicks](https://github.com/BrianHicks)) +- Add fuzzing and benchmarks to CI [\#536](https://github.com/asteris-llc/converge/pull/536) ([BrianHicks](https://github.com/BrianHicks)) +- disallow some characters as resource names [\#535](https://github.com/asteris-llc/converge/pull/535) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Use a single port [\#534](https://github.com/asteris-llc/converge/pull/534) ([BrianHicks](https://github.com/BrianHicks)) +- Fix/374 immutable status [\#533](https://github.com/asteris-llc/converge/pull/533) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- add logo to Readme [\#532](https://github.com/asteris-llc/converge/pull/532) ([stevendborrelli](https://github.com/stevendborrelli)) +- Feature/docs [\#526](https://github.com/asteris-llc/converge/pull/526) ([arichardet](https://github.com/arichardet)) +- Feature/preparer time.time [\#523](https://github.com/asteris-llc/converge/pull/523) ([arichardet](https://github.com/arichardet)) +- update readme with graph and download info [\#518](https://github.com/asteris-llc/converge/pull/518) ([stevendborrelli](https://github.com/stevendborrelli)) +- kubernetes example [\#507](https://github.com/asteris-llc/converge/pull/507) ([ryane](https://github.com/ryane)) + +## [0.4.0](https://github.com/asteris-llc/converge/tree/0.4.0) (2016-11-21) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.4.0-rc1...0.4.0) + +### Enhancements + +- Add `nonempty` tag to preparer [\#486](https://github.com/asteris-llc/converge/issues/486) +- apt module [\#404](https://github.com/asteris-llc/converge/issues/404) +- Handle time.Duration in Preparer [\#358](https://github.com/asteris-llc/converge/issues/358) +- binary distribution [\#306](https://github.com/asteris-llc/converge/issues/306) +- docker.volume resource [\#299](https://github.com/asteris-llc/converge/issues/299) +- docker.network resource [\#298](https://github.com/asteris-llc/converge/issues/298) +- Add ability to modify user [\#278](https://github.com/asteris-llc/converge/issues/278) +- LVM module [\#270](https://github.com/asteris-llc/converge/issues/270) +- update installer to point to 0.4.0 [\#517](https://github.com/asteris-llc/converge/pull/517) ([stevendborrelli](https://github.com/stevendborrelli)) +- Feature/preparer time.duration [\#483](https://github.com/asteris-llc/converge/pull/483) ([arichardet](https://github.com/arichardet)) +- check rpm for empty packages [\#482](https://github.com/asteris-llc/converge/pull/482) ([stevendborrelli](https://github.com/stevendborrelli)) +- only extract binary from tarball [\#481](https://github.com/asteris-llc/converge/pull/481) ([stevendborrelli](https://github.com/stevendborrelli)) +- docker.network resource [\#477](https://github.com/asteris-llc/converge/pull/477) ([ryane](https://github.com/ryane)) +- Feature/apt package [\#461](https://github.com/asteris-llc/converge/pull/461) ([stevendborrelli](https://github.com/stevendborrelli)) +- Feature/docker.volume [\#453](https://github.com/asteris-llc/converge/pull/453) ([ryane](https://github.com/ryane)) +- Add the ability to modify a user [\#434](https://github.com/asteris-llc/converge/pull/434) ([arichardet](https://github.com/arichardet)) + +### Bugs + +- validate non-empty string values on some resources [\#337](https://github.com/asteris-llc/converge/issues/337) +- Intermittent test failure with `make test` [\#476](https://github.com/asteris-llc/converge/issues/476) +- Converge loses dependencies between modules within a branch when [\#427](https://github.com/asteris-llc/converge/issues/427) +- diff output is partially bold [\#402](https://github.com/asteris-llc/converge/issues/402) +- Apply doesn't show diff output [\#399](https://github.com/asteris-llc/converge/issues/399) +- values that don't implement Stringer log badly [\#398](https://github.com/asteris-llc/converge/issues/398) +- resolving conditional macros line [\#389](https://github.com/asteris-llc/converge/issues/389) +- Case predicates fail when they include `lookup` [\#386](https://github.com/asteris-llc/converge/issues/386) +- converge exit code on a failed run [\#365](https://github.com/asteris-llc/converge/issues/365) +- Address name conflicts [\#361](https://github.com/asteris-llc/converge/issues/361) +- resources should have the ability to gracefully stop on interrupt [\#319](https://github.com/asteris-llc/converge/issues/319) +- converge panics when interrupted [\#318](https://github.com/asteris-llc/converge/issues/318) +- Fix/conditional nodes [\#484](https://github.com/asteris-llc/converge/pull/484) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- grouping: fix issues with groups and conditionals [\#460](https://github.com/asteris-llc/converge/pull/460) ([ryane](https://github.com/ryane)) +- return non-zero exit code if apply graph has an error [\#436](https://github.com/asteris-llc/converge/pull/436) ([ryane](https://github.com/ryane)) +- replace "context" with "golang.org/x/net/context" [\#433](https://github.com/asteris-llc/converge/pull/433) ([ryane](https://github.com/ryane)) + +### Closed Pull Requests + +- update changelog, add script [\#511](https://github.com/asteris-llc/converge/pull/511) ([stevendborrelli](https://github.com/stevendborrelli)) +- docs: fix link in resource authors guide [\#479](https://github.com/asteris-llc/converge/pull/479) ([ryane](https://github.com/ryane)) +- Fix/resource duplication [\#458](https://github.com/asteris-llc/converge/pull/458) ([arichardet](https://github.com/arichardet)) +- Fix/graceful exit [\#447](https://github.com/asteris-llc/converge/pull/447) ([arichardet](https://github.com/arichardet)) +- LVM module [\#184](https://github.com/asteris-llc/converge/pull/184) ([avnik](https://github.com/avnik)) + +## [0.4.0-rc1](https://github.com/asteris-llc/converge/tree/0.4.0-rc1) (2016-11-17) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.4.0-beta1...0.4.0-rc1) + +### Closed Pull Requests + +- update changelog to reflect rc1 status [\#510](https://github.com/asteris-llc/converge/pull/510) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- move rendering plant creation inside of the transform block to avoid … [\#509](https://github.com/asteris-llc/converge/pull/509) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- set github link to the converge repo [\#508](https://github.com/asteris-llc/converge/pull/508) ([rebeccaskinner](https://github.com/rebeccaskinner)) + +## [0.4.0-beta1](https://github.com/asteris-llc/converge/tree/0.4.0-beta1) (2016-11-15) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.3.0...0.4.0-beta1) + +### Enhancements + +- file.owner resource [\#503](https://github.com/asteris-llc/converge/issues/503) + +### Bugs + +- package.rpm state does not default to present [\#446](https://github.com/asteris-llc/converge/issues/446) +- Error when adding a user when a group of the same name exists [\#425](https://github.com/asteris-llc/converge/issues/425) + +### Closed Issues + +- nonempty check in preparer for user/group [\#489](https://github.com/asteris-llc/converge/issues/489) + +### Closed Pull Requests + +- empty commit for CI [\#506](https://github.com/asteris-llc/converge/pull/506) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Fix/0.4.0 beta1 fix [\#505](https://github.com/asteris-llc/converge/pull/505) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- release notes [\#497](https://github.com/asteris-llc/converge/pull/497) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Use %v for logging [\#496](https://github.com/asteris-llc/converge/pull/496) ([arichardet](https://github.com/arichardet)) +- update docs with conditional changes [\#495](https://github.com/asteris-llc/converge/pull/495) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Feature/nonempty tag [\#494](https://github.com/asteris-llc/converge/pull/494) ([arichardet](https://github.com/arichardet)) +- Remove extract executable [\#488](https://github.com/asteris-llc/converge/pull/488) ([arichardet](https://github.com/arichardet)) +- Manifest / index page [\#464](https://github.com/asteris-llc/converge/pull/464) ([BrianHicks](https://github.com/BrianHicks)) +- default to state 'present' for rpm module [\#463](https://github.com/asteris-llc/converge/pull/463) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- vendor: upgrade all deps [\#459](https://github.com/asteris-llc/converge/pull/459) ([BrianHicks](https://github.com/BrianHicks)) + +## [0.3.0](https://github.com/asteris-llc/converge/tree/0.3.0) (2016-10-27) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.3.0-rc1...0.3.0) + +### Enhancements + +- "param is required" error should include param name [\#335](https://github.com/asteris-llc/converge/issues/335) +- Add ability to modify group [\#279](https://github.com/asteris-llc/converge/issues/279) +- add conditionals to module resource [\#268](https://github.com/asteris-llc/converge/issues/268) +- named locks [\#249](https://github.com/asteris-llc/converge/issues/249) +- pretty printed changes should align values [\#244](https://github.com/asteris-llc/converge/issues/244) +- ability to wait for a condition [\#238](https://github.com/asteris-llc/converge/issues/238) +- proper arrays [\#110](https://github.com/asteris-llc/converge/issues/110) +- makefile: add hashes to files [\#440](https://github.com/asteris-llc/converge/pull/440) ([BrianHicks](https://github.com/BrianHicks)) +- \[389\] switch log level from Info to Debug [\#428](https://github.com/asteris-llc/converge/pull/428) ([mason-fish](https://github.com/mason-fish)) +- Feature/examples 0.3.0 [\#419](https://github.com/asteris-llc/converge/pull/419) ([ryane](https://github.com/ryane)) +- use ldflags to set version [\#418](https://github.com/asteris-llc/converge/pull/418) ([stevendborrelli](https://github.com/stevendborrelli)) +- named groups [\#392](https://github.com/asteris-llc/converge/pull/392) ([ryane](https://github.com/ryane)) +- Don't render module dependencies [\#387](https://github.com/asteris-llc/converge/pull/387) ([BrianHicks](https://github.com/BrianHicks)) +- Added docs, renamed packages to package to for consistency with other modules [\#384](https://github.com/asteris-llc/converge/pull/384) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Use status.RaiseLevel in group [\#377](https://github.com/asteris-llc/converge/pull/377) ([arichardet](https://github.com/arichardet)) +- Feature/rpm module [\#373](https://github.com/asteris-llc/converge/pull/373) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- use a container for CI [\#372](https://github.com/asteris-llc/converge/pull/372) ([BrianHicks](https://github.com/BrianHicks)) +- create a metadata envelope for nodes [\#369](https://github.com/asteris-llc/converge/pull/369) ([BrianHicks](https://github.com/BrianHicks)) +- cmd/server.go: use errgroup instead of waitgroup [\#363](https://github.com/asteris-llc/converge/pull/363) ([QuentinPerez](https://github.com/QuentinPerez)) +- Feature/conditionals [\#362](https://github.com/asteris-llc/converge/pull/362) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Feature/example swarm wait [\#346](https://github.com/asteris-llc/converge/pull/346) ([ryane](https://github.com/ryane)) +- Add Compound Parameters [\#340](https://github.com/asteris-llc/converge/pull/340) ([BrianHicks](https://github.com/BrianHicks)) +- load overlay module in elk example [\#326](https://github.com/asteris-llc/converge/pull/326) ([feniix](https://github.com/feniix)) +- Refactor deserializers [\#321](https://github.com/asteris-llc/converge/pull/321) ([BrianHicks](https://github.com/BrianHicks)) +- Use text/tabwriter to align human output [\#317](https://github.com/asteris-llc/converge/pull/317) ([sehqlr](https://github.com/sehqlr)) +- Fix/225 pipeline function refactor [\#307](https://github.com/asteris-llc/converge/pull/307) ([rebeccaskinner](https://github.com/rebeccaskinner)) + +### Bugs + +- Looking up a node from a branch that is also a part of a group introduced a deadlock [\#415](https://github.com/asteris-llc/converge/issues/415) +- user/group not activating changes [\#417](https://github.com/asteris-llc/converge/issues/417) +- docker.container reporting incorrect entrypoint diff [\#410](https://github.com/asteris-llc/converge/issues/410) +- converge panics when encountering an empty conditional [\#407](https://github.com/asteris-llc/converge/issues/407) +- Use lists as params in modules is broken [\#397](https://github.com/asteris-llc/converge/issues/397) +- Explicit dependencies fail inside of case statements [\#385](https://github.com/asteris-llc/converge/issues/385) +- Use `package.rpm` not `rpm.package` for rpm module [\#382](https://github.com/asteris-llc/converge/issues/382) +- shell module should not set StatusLevel based on process exit code [\#323](https://github.com/asteris-llc/converge/issues/323) +- StatusLevel not taken into account during graph execution [\#322](https://github.com/asteris-llc/converge/issues/322) +- param dependency fails in `samples/shellContext.hcl` [\#313](https://github.com/asteris-llc/converge/issues/313) +- Execution Engine Ignoring Warning Levels [\#243](https://github.com/asteris-llc/converge/issues/243) +- Make pipeline functions use mult-return instead of Either [\#225](https://github.com/asteris-llc/converge/issues/225) +- Fix 420 go test race [\#424](https://github.com/asteris-llc/converge/pull/424) ([ryane](https://github.com/ryane)) +- Replace `AreSiblingIDs` with `AreSiblings` to prevent deadlocking [\#423](https://github.com/asteris-llc/converge/pull/423) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- use ldflags to set version [\#418](https://github.com/asteris-llc/converge/pull/418) ([stevendborrelli](https://github.com/stevendborrelli)) +- Handle thunked branches [\#403](https://github.com/asteris-llc/converge/pull/403) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- don't exclude modules in getNearestAncestor [\#396](https://github.com/asteris-llc/converge/pull/396) ([ryane](https://github.com/ryane)) +- Fix/385 dependencies in conditionals [\#391](https://github.com/asteris-llc/converge/pull/391) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Fix lookup calls to use os/user in SetAddUserOptions [\#390](https://github.com/asteris-llc/converge/pull/390) ([arichardet](https://github.com/arichardet)) +- Change `rpm.package` to `package.rpm` [\#383](https://github.com/asteris-llc/converge/pull/383) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Update user status level and errors, add checks in Apply for group [\#375](https://github.com/asteris-llc/converge/pull/375) ([arichardet](https://github.com/arichardet)) +- Ability to use pointers as a preparer value [\#339](https://github.com/asteris-llc/converge/pull/339) ([BrianHicks](https://github.com/BrianHicks)) +- Status Error Codes [\#333](https://github.com/asteris-llc/converge/pull/333) ([BrianHicks](https://github.com/BrianHicks)) +- fix codeclimate yaml [\#328](https://github.com/asteris-llc/converge/pull/328) ([BrianHicks](https://github.com/BrianHicks)) + +### Closed Issues + +- docs for rpm module [\#381](https://github.com/asteris-llc/converge/issues/381) + +### Closed Pull Requests + +- update for 0.3.0 [\#443](https://github.com/asteris-llc/converge/pull/443) ([stevendborrelli](https://github.com/stevendborrelli)) +- prep for 0.3.0-rc1 [\#437](https://github.com/asteris-llc/converge/pull/437) ([stevendborrelli](https://github.com/stevendborrelli)) +- update release notes [\#435](https://github.com/asteris-llc/converge/pull/435) ([stevendborrelli](https://github.com/stevendborrelli)) +- beta3 release notes [\#431](https://github.com/asteris-llc/converge/pull/431) ([stevendborrelli](https://github.com/stevendborrelli)) +- update docs to include currently identified switch statement limitations [\#388](https://github.com/asteris-llc/converge/pull/388) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- update vendored dependencies [\#378](https://github.com/asteris-llc/converge/pull/378) ([BrianHicks](https://github.com/BrianHicks)) +- 0.3.0 release documentation [\#376](https://github.com/asteris-llc/converge/pull/376) ([stevendborrelli](https://github.com/stevendborrelli)) +- docs: add multi-version control [\#371](https://github.com/asteris-llc/converge/pull/371) ([BrianHicks](https://github.com/BrianHicks)) +- add docs for the platform module [\#342](https://github.com/asteris-llc/converge/pull/342) ([stevendborrelli](https://github.com/stevendborrelli)) +- update for PR \#307 [\#316](https://github.com/asteris-llc/converge/pull/316) ([stevendborrelli](https://github.com/stevendborrelli)) + +## [0.3.0-rc1](https://github.com/asteris-llc/converge/tree/0.3.0-rc1) (2016-10-26) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.3.0-beta3...0.3.0-rc1) + +### Closed Issues + +- Update documentation regarding conditionals and groups [\#430](https://github.com/asteris-llc/converge/issues/430) + +## [0.3.0-beta3](https://github.com/asteris-llc/converge/tree/0.3.0-beta3) (2016-10-26) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.3.0-beta2...0.3.0-beta3) + +### Enhancements + +- add installation script [\#416](https://github.com/asteris-llc/converge/pull/416) ([stevendborrelli](https://github.com/stevendborrelli)) + +### Bugs + +- go tests race condition [\#420](https://github.com/asteris-llc/converge/issues/420) + +### Closed Pull Requests + +- document known bug between conditionals and groups [\#432](https://github.com/asteris-llc/converge/pull/432) ([rebeccaskinner](https://github.com/rebeccaskinner)) + +## [0.3.0-beta2](https://github.com/asteris-llc/converge/tree/0.3.0-beta2) (2016-10-24) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.3.0-beta1...0.3.0-beta2) + +### Bugs + +- Fix container entrypoint diffs [\#412](https://github.com/asteris-llc/converge/pull/412) ([ryane](https://github.com/ryane)) + +### Closed Pull Requests + +- wercker: don't delete removed [\#414](https://github.com/asteris-llc/converge/pull/414) ([BrianHicks](https://github.com/BrianHicks)) +- Nightly/test builds [\#413](https://github.com/asteris-llc/converge/pull/413) ([BrianHicks](https://github.com/BrianHicks)) +- fix panic [\#408](https://github.com/asteris-llc/converge/pull/408) ([rebeccaskinner](https://github.com/rebeccaskinner)) + +## [0.3.0-beta1](https://github.com/asteris-llc/converge/tree/0.3.0-beta1) (2016-10-21) +[Full Changelog](https://github.com/asteris-llc/converge/compare/before-moving-resolve-conditionals...0.3.0-beta1) + +### Enhancements + +- file/dir refactor [\#327](https://github.com/asteris-llc/converge/issues/327) +- Use errgroup in server [\#295](https://github.com/asteris-llc/converge/issues/295) +- Allow ability to indicate group name when adding a user [\#276](https://github.com/asteris-llc/converge/issues/276) +- builtin file group module [\#75](https://github.com/asteris-llc/converge/issues/75) + +### Bugs + +- Conditional Regression [\#401](https://github.com/asteris-llc/converge/issues/401) +- module dependencies now failing [\#395](https://github.com/asteris-llc/converge/issues/395) +- docker.container regression [\#343](https://github.com/asteris-llc/converge/issues/343) +- samples in the README are formatted incorrectly. [\#104](https://github.com/asteris-llc/converge/issues/104) + +### Closed Issues + +- Tidy up codebase by fixing `make lint` reports [\#348](https://github.com/asteris-llc/converge/issues/348) +- Can we simplify the visualization of large modules? [\#280](https://github.com/asteris-llc/converge/issues/280) +- How should we manage module docs and examples? [\#173](https://github.com/asteris-llc/converge/issues/173) + +### Closed Pull Requests + +- Allow lists in parameters when called in a module [\#400](https://github.com/asteris-llc/converge/pull/400) ([BrianHicks](https://github.com/BrianHicks)) +- comment typo [\#380](https://github.com/asteris-llc/converge/pull/380) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- FIX local command flag added to example [\#370](https://github.com/asteris-llc/converge/pull/370) ([philcryer](https://github.com/philcryer)) +- codeclimate: remove markdown linting [\#368](https://github.com/asteris-llc/converge/pull/368) ([BrianHicks](https://github.com/BrianHicks)) +- Add testing section to contribution guidelines [\#366](https://github.com/asteris-llc/converge/pull/366) ([arichardet](https://github.com/arichardet)) +- remove binary [\#354](https://github.com/asteris-llc/converge/pull/354) ([stevendborrelli](https://github.com/stevendborrelli)) +- wait: fix error handling in retrier [\#353](https://github.com/asteris-llc/converge/pull/353) ([ryane](https://github.com/ryane)) +- Feature/param name in error [\#352](https://github.com/asteris-llc/converge/pull/352) ([ryane](https://github.com/ryane)) +- docs: add section on error values to resource author's guide [\#347](https://github.com/asteris-llc/converge/pull/347) ([BrianHicks](https://github.com/BrianHicks)) +- Fix docker regressions [\#345](https://github.com/asteris-llc/converge/pull/345) ([ryane](https://github.com/ryane)) +- wait.query and wait.port resources [\#334](https://github.com/asteris-llc/converge/pull/334) ([ryane](https://github.com/ryane)) + +## [before-moving-resolve-conditionals](https://github.com/asteris-llc/converge/tree/before-moving-resolve-conditionals) (2016-10-05) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.2.0...before-moving-resolve-conditionals) + +### Enhancements + +- Use github.com/pkg/errors exclusively [\#300](https://github.com/asteris-llc/converge/issues/300) + +### Bugs + +- handle parameters with valid zero value [\#338](https://github.com/asteris-llc/converge/issues/338) + +### Closed Issues + +- Universal Benchmarking [\#308](https://github.com/asteris-llc/converge/issues/308) +- Use table tests instead of helpers.PreparerValidator [\#155](https://github.com/asteris-llc/converge/issues/155) + +### Closed Pull Requests + +- Handle preparer fields where zero is valid [\#344](https://github.com/asteris-llc/converge/pull/344) ([arichardet](https://github.com/arichardet)) +- plan: test, which illustrate "return nil, err" problem [\#336](https://github.com/asteris-llc/converge/pull/336) ([avnik](https://github.com/avnik)) +- Support for modifying linux groups [\#331](https://github.com/asteris-llc/converge/pull/331) ([arichardet](https://github.com/arichardet)) +- Add contributing.md and code of conduct [\#330](https://github.com/asteris-llc/converge/pull/330) ([BrianHicks](https://github.com/BrianHicks)) +- shell: non-0 exit code returns StatusWillChange [\#324](https://github.com/asteris-llc/converge/pull/324) ([ryane](https://github.com/ryane)) +- map keys are considered "strings" in parse.Node [\#315](https://github.com/asteris-llc/converge/pull/315) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- helpers,docker: move AssertDiff to common testhelpers [\#312](https://github.com/asteris-llc/converge/pull/312) ([avnik](https://github.com/avnik)) + +## [0.2.0](https://github.com/asteris-llc/converge/tree/0.2.0) (2016-09-26) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.2.0-rc1...0.2.0) + +### Enhancements + +- Calls to `lookup` should be all lower-case [\#223](https://github.com/asteris-llc/converge/issues/223) + +### Bugs + +- field name conflicts during lookups [\#294](https://github.com/asteris-llc/converge/issues/294) +- panic when trying to lookup against file.directory [\#292](https://github.com/asteris-llc/converge/issues/292) +- Allow adding and deleting a group without specifying gid [\#275](https://github.com/asteris-llc/converge/issues/275) +- param lookup race condition [\#266](https://github.com/asteris-llc/converge/issues/266) +- Node is sometimes unresolvable, depending on ordering within a template [\#254](https://github.com/asteris-llc/converge/issues/254) +- params should handle boolean values [\#251](https://github.com/asteris-llc/converge/issues/251) +- remove token handling logic when only a client and not a server [\#247](https://github.com/asteris-llc/converge/issues/247) +- Check shouldn't be called from Apply [\#240](https://github.com/asteris-llc/converge/issues/240) +- value passing causes dependency resolution failures in child modules [\#239](https://github.com/asteris-llc/converge/issues/239) +- task.Task has extra argument [\#237](https://github.com/asteris-llc/converge/issues/237) +- Lookups fail for file.content [\#236](https://github.com/asteris-llc/converge/issues/236) +- RPC isn't used in healthchecks [\#199](https://github.com/asteris-llc/converge/issues/199) + +### Closed Issues + +- module author guide [\#291](https://github.com/asteris-llc/converge/issues/291) +- logging is a little too chatty [\#248](https://github.com/asteris-llc/converge/issues/248) +- Add RPC auth documentation [\#246](https://github.com/asteris-llc/converge/issues/246) + +### Closed Pull Requests + +- Add ability to indicate the group name when adding a user [\#310](https://github.com/asteris-llc/converge/pull/310) ([arichardet](https://github.com/arichardet)) +- 0.2.0 release [\#311](https://github.com/asteris-llc/converge/pull/311) ([stevendborrelli](https://github.com/stevendborrelli)) +- Add "Basic Usage" section to Server docs [\#287](https://github.com/asteris-llc/converge/pull/287) ([sehqlr](https://github.com/sehqlr)) +- Simplify Status implementation [\#284](https://github.com/asteris-llc/converge/pull/284) ([BrianHicks](https://github.com/BrianHicks)) +- Fix climate issues [\#282](https://github.com/asteris-llc/converge/pull/282) ([BrianHicks](https://github.com/BrianHicks)) +- Add codeclimate checks [\#281](https://github.com/asteris-llc/converge/pull/281) ([BrianHicks](https://github.com/BrianHicks)) +- Make the logs quieter [\#274](https://github.com/asteris-llc/converge/pull/274) ([BrianHicks](https://github.com/BrianHicks)) +- example: elasticsearch, kibana, and filebeat ~elk [\#272](https://github.com/asteris-llc/converge/pull/272) ([ryane](https://github.com/ryane)) +- param: accept boolean values [\#271](https://github.com/asteris-llc/converge/pull/271) ([BrianHicks](https://github.com/BrianHicks)) +- Use `MakeLanguage` for dependecy resolution to ensure that no [\#265](https://github.com/asteris-llc/converge/pull/265) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Make notes match sample code [\#262](https://github.com/asteris-llc/converge/pull/262) ([tomduckering](https://github.com/tomduckering)) + +## [0.2.0-rc1](https://github.com/asteris-llc/converge/tree/0.2.0-rc1) (2016-09-23) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.2.0-beta2...0.2.0-rc1) + +### Bugs + +- docker.image incorrectly reporting changes after apply [\#304](https://github.com/asteris-llc/converge/issues/304) + +### Closed Issues + +- preprocessor race condition [\#302](https://github.com/asteris-llc/converge/issues/302) + +### Closed Pull Requests + +- Fixes docker resources and updates examples [\#305](https://github.com/asteris-llc/converge/pull/305) ([ryane](https://github.com/ryane)) +- use thread-safe field cache [\#303](https://github.com/asteris-llc/converge/pull/303) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Fix/294 field name conflicts [\#301](https://github.com/asteris-llc/converge/pull/301) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- preproc: don't add fields for non-struct anon field [\#293](https://github.com/asteris-llc/converge/pull/293) ([ryane](https://github.com/ryane)) +- docs: add draft resource authors guide [\#290](https://github.com/asteris-llc/converge/pull/290) ([BrianHicks](https://github.com/BrianHicks)) +- perform healthchecks over RPC [\#289](https://github.com/asteris-llc/converge/pull/289) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Fix/239 [\#288](https://github.com/asteris-llc/converge/pull/288) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- cmd: don't set local token if only a client [\#285](https://github.com/asteris-llc/converge/pull/285) ([BrianHicks](https://github.com/BrianHicks)) +- Fix/user group - Allow adding/deleting without gid [\#283](https://github.com/asteris-llc/converge/pull/283) ([arichardet](https://github.com/arichardet)) + +## [0.2.0-beta2](https://github.com/asteris-llc/converge/tree/0.2.0-beta2) (2016-09-20) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.2.0-beta1...0.2.0-beta2) + +### Enhancements + +- module signing [\#16](https://github.com/asteris-llc/converge/issues/16) + +### Bugs + +- This graph is rendered kinda funky [\#141](https://github.com/asteris-llc/converge/issues/141) + +### Closed Issues + +- Update all deps to the latest versions [\#171](https://github.com/asteris-llc/converge/issues/171) +- human printer should be profiled and optimized [\#156](https://github.com/asteris-llc/converge/issues/156) + +### Closed Pull Requests + +- example: docker swarm mode [\#267](https://github.com/asteris-llc/converge/pull/267) ([ryane](https://github.com/ryane)) + +## [0.2.0-beta1](https://github.com/asteris-llc/converge/tree/0.2.0-beta1) (2016-09-16) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.1.1...0.2.0-beta1) + +### Enhancements + +- Create a query module [\#227](https://github.com/asteris-llc/converge/issues/227) +- Graphing should work over RPC [\#207](https://github.com/asteris-llc/converge/issues/207) +- Allow Value-passing between modules [\#206](https://github.com/asteris-llc/converge/issues/206) +- logging needs improvement [\#200](https://github.com/asteris-llc/converge/issues/200) +- REST layer on RPC [\#170](https://github.com/asteris-llc/converge/issues/170) +- CLI RPC client [\#169](https://github.com/asteris-llc/converge/issues/169) +- RPC authentication [\#168](https://github.com/asteris-llc/converge/issues/168) +- RPC server [\#167](https://github.com/asteris-llc/converge/issues/167) +- Docker module [\#159](https://github.com/asteris-llc/converge/issues/159) +- Clear/readable errors [\#140](https://github.com/asteris-llc/converge/issues/140) +- Macros? [\#111](https://github.com/asteris-llc/converge/issues/111) +- should template be called file.content? [\#103](https://github.com/asteris-llc/converge/issues/103) +- execution in new graph code [\#92](https://github.com/asteris-llc/converge/issues/92) +- execution planning in new graph code [\#91](https://github.com/asteris-llc/converge/issues/91) +- implement file.group [\#90](https://github.com/asteris-llc/converge/issues/90) +- reimplement file.user [\#89](https://github.com/asteris-llc/converge/issues/89) +- reimplement file.mode [\#88](https://github.com/asteris-llc/converge/issues/88) +- reimplement templates [\#87](https://github.com/asteris-llc/converge/issues/87) +- reimplement shell tasks [\#86](https://github.com/asteris-llc/converge/issues/86) +- implement graph visualization on top of new graph code [\#85](https://github.com/asteris-llc/converge/issues/85) +- resources should keep track of their parents [\#83](https://github.com/asteris-llc/converge/issues/83) +- infer dependencies based on template contents [\#65](https://github.com/asteris-llc/converge/issues/65) +- "native" filemode module [\#40](https://github.com/asteris-llc/converge/issues/40) +- "native" modules addressing scheme [\#39](https://github.com/asteris-llc/converge/issues/39) +- basic diff finding [\#20](https://github.com/asteris-llc/converge/issues/20) +- authenticated module server [\#18](https://github.com/asteris-llc/converge/issues/18) +- module server [\#17](https://github.com/asteris-llc/converge/issues/17) +- HTTP fetching [\#13](https://github.com/asteris-llc/converge/issues/13) +- graph: keep track of parentage inside edges [\#163](https://github.com/asteris-llc/converge/pull/163) ([BrianHicks](https://github.com/BrianHicks)) + +### Bugs + +- lookup should be fully case insensitive [\#232](https://github.com/asteris-llc/converge/issues/232) +- rpc server does not support graph operation anymore [\#205](https://github.com/asteris-llc/converge/issues/205) +- graph is walked out of order [\#160](https://github.com/asteris-llc/converge/issues/160) +- Concurrent Map Read/Write Panic When Running Tests [\#158](https://github.com/asteris-llc/converge/issues/158) +- Shell Doesn't Validate Against User-Defined Interpreter [\#119](https://github.com/asteris-llc/converge/issues/119) +- invalid script syntax doesn't return a good error [\#113](https://github.com/asteris-llc/converge/issues/113) +- Blackbox/test\_apply\_remote.sh Fails [\#102](https://github.com/asteris-llc/converge/issues/102) +- `helpers` is kind of an awful module name [\#96](https://github.com/asteris-llc/converge/issues/96) +- Failing tasks don't block tasks that depend on them [\#82](https://github.com/asteris-llc/converge/issues/82) +- all modules in samples must be valid and useful [\#66](https://github.com/asteris-llc/converge/issues/66) +- params should not have default dependencies [\#62](https://github.com/asteris-llc/converge/issues/62) +- resource names with dashes break graph rendering [\#61](https://github.com/asteris-llc/converge/issues/61) +- Fix error handling when fail to print results during plan or apply [\#183](https://github.com/asteris-llc/converge/pull/183) ([arichardet](https://github.com/arichardet)) +- Return better error information for Shell module failures [\#121](https://github.com/asteris-llc/converge/pull/121) ([rebeccaskinner](https://github.com/rebeccaskinner)) + +### Closed Issues + +- errors from check silently swallowed during apply [\#213](https://github.com/asteris-llc/converge/issues/213) +- errors are printed with full stacks [\#208](https://github.com/asteris-llc/converge/issues/208) +- nil pointer panic when file.content resource errors [\#179](https://github.com/asteris-llc/converge/issues/179) +- intermittent concurrent map write panic with dependent params [\#176](https://github.com/asteris-llc/converge/issues/176) +- use standard library net/context library [\#161](https://github.com/asteris-llc/converge/issues/161) +- Subgraph PrettyPrinter should use `nil` as the `SubgraphBottomID` [\#149](https://github.com/asteris-llc/converge/issues/149) +- DigraphPrettyPrinter \(prettyprinters\) should shrink [\#147](https://github.com/asteris-llc/converge/issues/147) +- Renderable \(prettyprinters\) is larger than necessary [\#146](https://github.com/asteris-llc/converge/issues/146) +- Shell command context [\#145](https://github.com/asteris-llc/converge/issues/145) +- Add a 'Health' Module [\#144](https://github.com/asteris-llc/converge/issues/144) +- Builtin file.directory module [\#137](https://github.com/asteris-llc/converge/issues/137) +- Graphviz Generation Fails With Empty Param [\#129](https://github.com/asteris-llc/converge/issues/129) +- parameters should be required if no default is set [\#123](https://github.com/asteris-llc/converge/issues/123) +- Shell Module Error Codes Could Have Better Formatting [\#120](https://github.com/asteris-llc/converge/issues/120) +- params should allow commas [\#114](https://github.com/asteris-llc/converge/issues/114) +- modules and params should not show up by default [\#106](https://github.com/asteris-llc/converge/issues/106) +- use a context in loading [\#94](https://github.com/asteris-llc/converge/issues/94) +- builtin file owner and file permissions module [\#84](https://github.com/asteris-llc/converge/issues/84) + +### Closed Pull Requests + +- We got an assigned port so here's docs. [\#261](https://github.com/asteris-llc/converge/pull/261) ([BrianHicks](https://github.com/BrianHicks)) +- update readme [\#260](https://github.com/asteris-llc/converge/pull/260) ([stevendborrelli](https://github.com/stevendborrelli)) +- Add user support [\#259](https://github.com/asteris-llc/converge/pull/259) ([arichardet](https://github.com/arichardet)) +- MOAR DOCS PLS [\#258](https://github.com/asteris-llc/converge/pull/258) ([BrianHicks](https://github.com/BrianHicks)) +- Makefile: refine xcompile targets [\#257](https://github.com/asteris-llc/converge/pull/257) ([BrianHicks](https://github.com/BrianHicks)) +- Fixed issue where apply swallowed error. [\#256](https://github.com/asteris-llc/converge/pull/256) ([Dacode45](https://github.com/Dacode45)) +- add mutex to render [\#255](https://github.com/asteris-llc/converge/pull/255) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Add default group implementation for unsupported systems [\#252](https://github.com/asteris-llc/converge/pull/252) ([arichardet](https://github.com/arichardet)) +- Feature/module verification [\#245](https://github.com/asteris-llc/converge/pull/245) ([ajhager](https://github.com/ajhager)) +- Feature/fully lowercase field names [\#242](https://github.com/asteris-llc/converge/pull/242) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- file.directory resource [\#241](https://github.com/asteris-llc/converge/pull/241) ([BrianHicks](https://github.com/BrianHicks)) +- Add user group support [\#234](https://github.com/asteris-llc/converge/pull/234) ([arichardet](https://github.com/arichardet)) +- support lowercase field names [\#231](https://github.com/asteris-llc/converge/pull/231) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Fix/query refactor [\#230](https://github.com/asteris-llc/converge/pull/230) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- handle params that are thunked [\#229](https://github.com/asteris-llc/converge/pull/229) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Feature/query module [\#228](https://github.com/asteris-llc/converge/pull/228) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Refactor helpers into descriptive names [\#222](https://github.com/asteris-llc/converge/pull/222) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/value passing [\#220](https://github.com/asteris-llc/converge/pull/220) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- rpc: flatten details field [\#218](https://github.com/asteris-llc/converge/pull/218) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/formatter \#208 [\#217](https://github.com/asteris-llc/converge/pull/217) ([BrianHicks](https://github.com/BrianHicks)) +- docker.container: fix entrypoint diff logic [\#215](https://github.com/asteris-llc/converge/pull/215) ([ryane](https://github.com/ryane)) +- Graphing over RPC [\#214](https://github.com/asteris-llc/converge/pull/214) ([BrianHicks](https://github.com/BrianHicks)) +- docker.container resource [\#203](https://github.com/asteris-llc/converge/pull/203) ([ryane](https://github.com/ryane)) +- Rework logs to use logrus [\#202](https://github.com/asteris-llc/converge/pull/202) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/platform refactor [\#197](https://github.com/asteris-llc/converge/pull/197) ([stevendborrelli](https://github.com/stevendborrelli)) +- Added host environment variable support [\#195](https://github.com/asteris-llc/converge/pull/195) ([arichardet](https://github.com/arichardet)) +- resources\(docker image\): document [\#193](https://github.com/asteris-llc/converge/pull/193) ([BrianHicks](https://github.com/BrianHicks)) +- Documentation Site [\#192](https://github.com/asteris-llc/converge/pull/192) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/health module [\#189](https://github.com/asteris-llc/converge/pull/189) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- docker.image resource redux [\#188](https://github.com/asteris-llc/converge/pull/188) ([ryane](https://github.com/ryane)) +- Basic RPC [\#187](https://github.com/asteris-llc/converge/pull/187) ([BrianHicks](https://github.com/BrianHicks)) +- shell env and working dir support [\#185](https://github.com/asteris-llc/converge/pull/185) ([ryane](https://github.com/ryane)) +- \[GRAPH\] Fix \#158, add triggering files, add tests [\#181](https://github.com/asteris-llc/converge/pull/181) ([sehqlr](https://github.com/sehqlr)) +- don't panic when result status is nil [\#180](https://github.com/asteris-llc/converge/pull/180) ([ryane](https://github.com/ryane)) +- Feature/optimize human printer [\#175](https://github.com/asteris-llc/converge/pull/175) ([arichardet](https://github.com/arichardet)) +- Shrink binaries with some magical ldflags [\#174](https://github.com/asteris-llc/converge/pull/174) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/shell refactor [\#172](https://github.com/asteris-llc/converge/pull/172) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Dependency ordered graph walking [\#166](https://github.com/asteris-llc/converge/pull/166) ([BrianHicks](https://github.com/BrianHicks)) +- Migrate context for go1.7, refactor fetch/http.go [\#164](https://github.com/asteris-llc/converge/pull/164) ([sehqlr](https://github.com/sehqlr)) +- Feature/resource return refactor [\#157](https://github.com/asteris-llc/converge/pull/157) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Move errors into the tree [\#154](https://github.com/asteris-llc/converge/pull/154) ([BrianHicks](https://github.com/BrianHicks)) +- Human-readable pretty printer [\#152](https://github.com/asteris-llc/converge/pull/152) ([BrianHicks](https://github.com/BrianHicks)) +- make nil a useful default bottom value for subgraphdi [\#150](https://github.com/asteris-llc/converge/pull/150) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- JSONL output and interface refactoring [\#148](https://github.com/asteris-llc/converge/pull/148) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/template split [\#136](https://github.com/asteris-llc/converge/pull/136) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- fetch: add context [\#135](https://github.com/asteris-llc/converge/pull/135) ([BrianHicks](https://github.com/BrianHicks)) +- Render merged subtrees [\#133](https://github.com/asteris-llc/converge/pull/133) ([BrianHicks](https://github.com/BrianHicks)) +- Fix/119 [\#132](https://github.com/asteris-llc/converge/pull/132) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Trim Duplicate Subtrees [\#131](https://github.com/asteris-llc/converge/pull/131) ([BrianHicks](https://github.com/BrianHicks)) +- Appropriately handle required parameters instead of crashing [\#130](https://github.com/asteris-llc/converge/pull/130) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Use concurrent map implementation for graph values [\#128](https://github.com/asteris-llc/converge/pull/128) ([BrianHicks](https://github.com/BrianHicks)) +- Make params missing defaults required [\#127](https://github.com/asteris-llc/converge/pull/127) ([BrianHicks](https://github.com/BrianHicks)) +- makefile: simplify linting [\#126](https://github.com/asteris-llc/converge/pull/126) ([BrianHicks](https://github.com/BrianHicks)) +- Rename "template" to "file.content" [\#124](https://github.com/asteris-llc/converge/pull/124) ([BrianHicks](https://github.com/BrianHicks)) +- gometalinter fixes [\#122](https://github.com/asteris-llc/converge/pull/122) ([BrianHicks](https://github.com/BrianHicks)) +- Graphviz [\#118](https://github.com/asteris-llc/converge/pull/118) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Rewrite graph system [\#116](https://github.com/asteris-llc/converge/pull/116) ([BrianHicks](https://github.com/BrianHicks)) +- resource\(shell\): add interpreter [\#109](https://github.com/asteris-llc/converge/pull/109) ([BrianHicks](https://github.com/BrianHicks)) +- switch to glide [\#108](https://github.com/asteris-llc/converge/pull/108) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/context [\#107](https://github.com/asteris-llc/converge/pull/107) ([BrianHicks](https://github.com/BrianHicks)) +- Format samples in readme [\#105](https://github.com/asteris-llc/converge/pull/105) ([ajhager](https://github.com/ajhager)) +- Port shell resource and tests [\#101](https://github.com/asteris-llc/converge/pull/101) ([ajhager](https://github.com/ajhager)) +- resource\(template\): implement and test template [\#98](https://github.com/asteris-llc/converge/pull/98) ([BrianHicks](https://github.com/BrianHicks)) +- Application for preparers [\#97](https://github.com/asteris-llc/converge/pull/97) ([BrianHicks](https://github.com/BrianHicks)) +- Plan in new preparers [\#95](https://github.com/asteris-llc/converge/pull/95) ([BrianHicks](https://github.com/BrianHicks)) +- dependencies should block execution [\#81](https://github.com/asteris-llc/converge/pull/81) ([siddharthist](https://github.com/siddharthist)) +- dependency tracker [\#80](https://github.com/asteris-llc/converge/pull/80) ([BrianHicks](https://github.com/BrianHicks)) +- Self Serve [\#79](https://github.com/asteris-llc/converge/pull/79) ([BrianHicks](https://github.com/BrianHicks)) +- Module server [\#78](https://github.com/asteris-llc/converge/pull/78) ([BrianHicks](https://github.com/BrianHicks)) +- File mode module [\#76](https://github.com/asteris-llc/converge/pull/76) ([BrianHicks](https://github.com/BrianHicks)) +- Simplify Application [\#73](https://github.com/asteris-llc/converge/pull/73) ([BrianHicks](https://github.com/BrianHicks)) +- Fix graph with dashes [\#71](https://github.com/asteris-llc/converge/pull/71) ([BrianHicks](https://github.com/BrianHicks)) +- load: from http [\#23](https://github.com/asteris-llc/converge/pull/23) ([siddharthist](https://github.com/siddharthist)) + +## [0.1.1](https://github.com/asteris-llc/converge/tree/0.1.1) (2016-06-13) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.1...0.1.1) + +### Enhancements + +- log lines from DAG walking should not appear [\#67](https://github.com/asteris-llc/converge/issues/67) + +### Bugs + +- color is not working? [\#64](https://github.com/asteris-llc/converge/issues/64) +- recursive modules are valid [\#63](https://github.com/asteris-llc/converge/issues/63) + +### Closed Pull Requests + +- Feature/logging [\#70](https://github.com/asteris-llc/converge/pull/70) ([BrianHicks](https://github.com/BrianHicks)) +- add color printing again [\#69](https://github.com/asteris-llc/converge/pull/69) ([siddharthist](https://github.com/siddharthist)) +- Feature/basic blackbox testing [\#68](https://github.com/asteris-llc/converge/pull/68) ([BrianHicks](https://github.com/BrianHicks)) + +## [0.1](https://github.com/asteris-llc/converge/tree/0.1) (2016-06-09) +[Full Changelog](https://github.com/asteris-llc/converge/compare/Unreleased...0.1) + +### Enhancements + +- converge format [\#55](https://github.com/asteris-llc/converge/issues/55) +- colorized summary lines [\#45](https://github.com/asteris-llc/converge/issues/45) +- print a nice summary of changes \(or no changes\) after commands [\#35](https://github.com/asteris-llc/converge/issues/35) +- Progressive output in check/apply [\#34](https://github.com/asteris-llc/converge/issues/34) +- Supplying params is hard [\#33](https://github.com/asteris-llc/converge/issues/33) +- Template should accept file permissions [\#31](https://github.com/asteris-llc/converge/issues/31) +- add net/context to Check [\#30](https://github.com/asteris-llc/converge/issues/30) +- templating in param defaults [\#27](https://github.com/asteris-llc/converge/issues/27) +- passing in parameters to top-level module [\#26](https://github.com/asteris-llc/converge/issues/26) +- Apply [\#15](https://github.com/asteris-llc/converge/issues/15) +- HTTPS fetching [\#14](https://github.com/asteris-llc/converge/issues/14) +- Nicer plan output [\#12](https://github.com/asteris-llc/converge/issues/12) +- Checker [\#11](https://github.com/asteris-llc/converge/issues/11) +- Requirements [\#10](https://github.com/asteris-llc/converge/issues/10) + +### Bugs + +- duplicate names are lost in the graph [\#56](https://github.com/asteris-llc/converge/issues/56) +- fill in short and long descriptions [\#51](https://github.com/asteris-llc/converge/issues/51) +- don't ignore error when Viper binds pflags [\#48](https://github.com/asteris-llc/converge/issues/48) +- param names should have limited characters [\#41](https://github.com/asteris-llc/converge/issues/41) +- template permissions should be 600 by default [\#38](https://github.com/asteris-llc/converge/issues/38) +- exec.Check tests [\#21](https://github.com/asteris-llc/converge/issues/21) +- Incomplete comment [\#5](https://github.com/asteris-llc/converge/issues/5) + +### Closed Issues + +- README is out of date [\#52](https://github.com/asteris-llc/converge/issues/52) + +### Closed Pull Requests + +- Update 0.1 docs [\#60](https://github.com/asteris-llc/converge/pull/60) ([BrianHicks](https://github.com/BrianHicks)) +- fixed souceFile.hcl [\#59](https://github.com/asteris-llc/converge/pull/59) ([Dacode45](https://github.com/Dacode45)) +- Bug/names [\#58](https://github.com/asteris-llc/converge/pull/58) ([Dacode45](https://github.com/Dacode45)) +- fmt [\#57](https://github.com/asteris-llc/converge/pull/57) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/requirements [\#54](https://github.com/asteris-llc/converge/pull/54) ([Dacode45](https://github.com/Dacode45)) +- don't ignore the error when Viper binds to PFlags [\#50](https://github.com/asteris-llc/converge/pull/50) ([siddharthist](https://github.com/siddharthist)) +- color summaries [\#49](https://github.com/asteris-llc/converge/pull/49) ([siddharthist](https://github.com/siddharthist)) +- add key=value parameter parsing [\#47](https://github.com/asteris-llc/converge/pull/47) ([siddharthist](https://github.com/siddharthist)) +- Summary lines [\#46](https://github.com/asteris-llc/converge/pull/46) ([BrianHicks](https://github.com/BrianHicks)) +- render: fix swallowed errors [\#44](https://github.com/asteris-llc/converge/pull/44) ([BrianHicks](https://github.com/BrianHicks)) +- limit identifiers to word chars, dashes, and dots [\#43](https://github.com/asteris-llc/converge/pull/43) ([BrianHicks](https://github.com/BrianHicks)) +- resource\(template\): fix permissions [\#42](https://github.com/asteris-llc/converge/pull/42) ([BrianHicks](https://github.com/BrianHicks)) +- Lazily load parameters - defaults can be templated [\#37](https://github.com/asteris-llc/converge/pull/37) ([siddharthist](https://github.com/siddharthist)) +- commands: add streaming output [\#36](https://github.com/asteris-llc/converge/pull/36) ([BrianHicks](https://github.com/BrianHicks)) +- Apply [\#32](https://github.com/asteris-llc/converge/pull/32) ([BrianHicks](https://github.com/BrianHicks)) +- load: accept initial parameters [\#28](https://github.com/asteris-llc/converge/pull/28) ([BrianHicks](https://github.com/BrianHicks)) +- Add tests for Plan [\#25](https://github.com/asteris-llc/converge/pull/25) ([BrianHicks](https://github.com/BrianHicks)) +- plan: pretty-printing terminal output [\#22](https://github.com/asteris-llc/converge/pull/22) ([siddharthist](https://github.com/siddharthist)) +- fix incomplete comment [\#19](https://github.com/asteris-llc/converge/pull/19) ([BrianHicks](https://github.com/BrianHicks)) +- Checker [\#9](https://github.com/asteris-llc/converge/pull/9) ([BrianHicks](https://github.com/BrianHicks)) +- Name\(\) -\> String\(\) [\#8](https://github.com/asteris-llc/converge/pull/8) ([siddharthist](https://github.com/siddharthist)) +- \[WIP\] Graphviz Support [\#7](https://github.com/asteris-llc/converge/pull/7) ([BrianHicks](https://github.com/BrianHicks)) +- Feature/validation error type [\#3](https://github.com/asteris-llc/converge/pull/3) ([siddharthist](https://github.com/siddharthist)) +- shelltask: add 'validate' method [\#2](https://github.com/asteris-llc/converge/pull/2) ([siddharthist](https://github.com/siddharthist)) +- readme: status -\> check [\#1](https://github.com/asteris-llc/converge/pull/1) ([siddharthist](https://github.com/siddharthist)) + +# Change Log + +## [Unreleased](https://github.com/asteris-llc/converge/tree/HEAD) + +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.4.0...HEAD) + +### Enhancements + +- Handle time.Time in preparer [\#490](https://github.com/asteris-llc/converge/issues/490) +- k8s demo [\#480](https://github.com/asteris-llc/converge/issues/480) +- no mo' spaces [\#320](https://github.com/asteris-llc/converge/issues/320) +- We're using too many ports [\#286](https://github.com/asteris-llc/converge/issues/286) +- better status display on plan and execution [\#269](https://github.com/asteris-llc/converge/issues/269) +- builtin file owner module [\#74](https://github.com/asteris-llc/converge/issues/74) +- Add interceptors for RPC auth [\#531](https://github.com/asteris-llc/converge/pull/531) ([BrianHicks](https://github.com/BrianHicks)) +- demo: kubernetes - use latest version of converge [\#524](https://github.com/asteris-llc/converge/pull/524) ([ryane](https://github.com/ryane)) +- fix shasum filename [\#522](https://github.com/asteris-llc/converge/pull/522) ([stevendborrelli](https://github.com/stevendborrelli)) +- Feature/improve output [\#516](https://github.com/asteris-llc/converge/pull/516) ([arichardet](https://github.com/arichardet)) + +### Bugs + +- LVM FS module reports failure due to still having changes [\#555](https://github.com/asteris-llc/converge/issues/555) +- handle newlines in docs generation for exported fields [\#548](https://github.com/asteris-llc/converge/issues/548) +- docker.container panics if image not present [\#538](https://github.com/asteris-llc/converge/issues/538) +- Return error instead of message from docker resource plan [\#529](https://github.com/asteris-llc/converge/issues/529) +- misleading error message in converge graph command [\#520](https://github.com/asteris-llc/converge/issues/520) +- exit code is 0 when converge plan has errors [\#492](https://github.com/asteris-llc/converge/issues/492) +- error specifying file mode [\#487](https://github.com/asteris-llc/converge/issues/487) +- docker.network misleading error messages [\#485](https://github.com/asteris-llc/converge/issues/485) +- inconsistent indentation on multi-line diffs [\#478](https://github.com/asteris-llc/converge/issues/478) +- pass typed params through to modules [\#409](https://github.com/asteris-llc/converge/issues/409) +- auth code is repeated [\#273](https://github.com/asteris-llc/converge/issues/273) +- Remove indent for multi-line diffs [\#530](https://github.com/asteris-llc/converge/pull/530) ([arichardet](https://github.com/arichardet)) +- status: add MayChange status and Warning display [\#528](https://github.com/asteris-llc/converge/pull/528) ([ryane](https://github.com/ryane)) +- Fix/disable docker solaris [\#527](https://github.com/asteris-llc/converge/pull/527) ([ryane](https://github.com/ryane)) +- plan cmd: return non-zero exit code when plan has error\(s\) [\#525](https://github.com/asteris-llc/converge/pull/525) ([ryane](https://github.com/ryane)) +- graph cmd: fix wrong argument length error [\#521](https://github.com/asteris-llc/converge/pull/521) ([ryane](https://github.com/ryane)) +- Fix/file.mode errors [\#519](https://github.com/asteris-llc/converge/pull/519) ([ryane](https://github.com/ryane)) +- docker: update docker dependency [\#512](https://github.com/asteris-llc/converge/pull/512) ([ryane](https://github.com/ryane)) + +### Closed Issues + +- Better output for cascading failures [\#367](https://github.com/asteris-llc/converge/issues/367) +- file download/fetch module [\#250](https://github.com/asteris-llc/converge/issues/250) + +### Closed Pull Requests + +- reset updates needed after apply in lvm [\#557](https://github.com/asteris-llc/converge/pull/557) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Makefile: remove ref to VERSION in PACKAGE\_VERSION [\#556](https://github.com/asteris-llc/converge/pull/556) ([BrianHicks](https://github.com/BrianHicks)) +- Better Makefiles [\#553](https://github.com/asteris-llc/converge/pull/553) ([BrianHicks](https://github.com/BrianHicks)) +- when apply fails due to changes still being present; use those diffs … [\#551](https://github.com/asteris-llc/converge/pull/551) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- docs: use same formatting for \(re\)exported fields as parameters [\#550](https://github.com/asteris-llc/converge/pull/550) ([arichardet](https://github.com/arichardet)) +- Feature/74 file owner [\#549](https://github.com/asteris-llc/converge/pull/549) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Feature/file.fetch [\#543](https://github.com/asteris-llc/converge/pull/543) ([arichardet](https://github.com/arichardet)) +- Fix/538 docker container panic [\#542](https://github.com/asteris-llc/converge/pull/542) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- return a better error for planned network failures [\#541](https://github.com/asteris-llc/converge/pull/541) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Timer status display [\#537](https://github.com/asteris-llc/converge/pull/537) ([BrianHicks](https://github.com/BrianHicks)) +- Add fuzzing and benchmarks to CI [\#536](https://github.com/asteris-llc/converge/pull/536) ([BrianHicks](https://github.com/BrianHicks)) +- disallow some characters as resource names [\#535](https://github.com/asteris-llc/converge/pull/535) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- Use a single port [\#534](https://github.com/asteris-llc/converge/pull/534) ([BrianHicks](https://github.com/BrianHicks)) +- Fix/374 immutable status [\#533](https://github.com/asteris-llc/converge/pull/533) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- add logo to Readme [\#532](https://github.com/asteris-llc/converge/pull/532) ([stevendborrelli](https://github.com/stevendborrelli)) +- Feature/docs [\#526](https://github.com/asteris-llc/converge/pull/526) ([arichardet](https://github.com/arichardet)) +- Feature/preparer time.time [\#523](https://github.com/asteris-llc/converge/pull/523) ([arichardet](https://github.com/arichardet)) +- update readme with graph and download info [\#518](https://github.com/asteris-llc/converge/pull/518) ([stevendborrelli](https://github.com/stevendborrelli)) +- kubernetes example [\#507](https://github.com/asteris-llc/converge/pull/507) ([ryane](https://github.com/ryane)) + +## [0.4.0](https://github.com/asteris-llc/converge/tree/0.4.0) (2016-11-21) +[Full Changelog](https://github.com/asteris-llc/converge/compare/0.4.0-rc1...0.4.0) + +### Enhancements + +- Add `nonempty` tag to preparer [\#486](https://github.com/asteris-llc/converge/issues/486) +- apt module [\#404](https://github.com/asteris-llc/converge/issues/404) +- Handle time.Duration in Preparer [\#358](https://github.com/asteris-llc/converge/issues/358) +- binary distribution [\#306](https://github.com/asteris-llc/converge/issues/306) +- docker.volume resource [\#299](https://github.com/asteris-llc/converge/issues/299) +- docker.network resource [\#298](https://github.com/asteris-llc/converge/issues/298) +- Add ability to modify user [\#278](https://github.com/asteris-llc/converge/issues/278) +- LVM module [\#270](https://github.com/asteris-llc/converge/issues/270) +- update installer to point to 0.4.0 [\#517](https://github.com/asteris-llc/converge/pull/517) ([stevendborrelli](https://github.com/stevendborrelli)) +- Feature/preparer time.duration [\#483](https://github.com/asteris-llc/converge/pull/483) ([arichardet](https://github.com/arichardet)) +- check rpm for empty packages [\#482](https://github.com/asteris-llc/converge/pull/482) ([stevendborrelli](https://github.com/stevendborrelli)) +- only extract binary from tarball [\#481](https://github.com/asteris-llc/converge/pull/481) ([stevendborrelli](https://github.com/stevendborrelli)) +- docker.network resource [\#477](https://github.com/asteris-llc/converge/pull/477) ([ryane](https://github.com/ryane)) +- Feature/apt package [\#461](https://github.com/asteris-llc/converge/pull/461) ([stevendborrelli](https://github.com/stevendborrelli)) +- Feature/docker.volume [\#453](https://github.com/asteris-llc/converge/pull/453) ([ryane](https://github.com/ryane)) +- Add the ability to modify a user [\#434](https://github.com/asteris-llc/converge/pull/434) ([arichardet](https://github.com/arichardet)) + +### Bugs + +- validate non-empty string values on some resources [\#337](https://github.com/asteris-llc/converge/issues/337) +- Intermittent test failure with `make test` [\#476](https://github.com/asteris-llc/converge/issues/476) +- Converge loses dependencies between modules within a branch when [\#427](https://github.com/asteris-llc/converge/issues/427) +- diff output is partially bold [\#402](https://github.com/asteris-llc/converge/issues/402) +- Apply doesn't show diff output [\#399](https://github.com/asteris-llc/converge/issues/399) +- values that don't implement Stringer log badly [\#398](https://github.com/asteris-llc/converge/issues/398) +- resolving conditional macros line [\#389](https://github.com/asteris-llc/converge/issues/389) +- Case predicates fail when they include `lookup` [\#386](https://github.com/asteris-llc/converge/issues/386) +- converge exit code on a failed run [\#365](https://github.com/asteris-llc/converge/issues/365) +- Address name conflicts [\#361](https://github.com/asteris-llc/converge/issues/361) +- resources should have the ability to gracefully stop on interrupt [\#319](https://github.com/asteris-llc/converge/issues/319) +- converge panics when interrupted [\#318](https://github.com/asteris-llc/converge/issues/318) +- Fix/conditional nodes [\#484](https://github.com/asteris-llc/converge/pull/484) ([rebeccaskinner](https://github.com/rebeccaskinner)) +- grouping: fix issues with groups and conditionals [\#460](https://github.com/asteris-llc/converge/pull/460) ([ryane](https://github.com/ryane)) +- return non-zero exit code if apply graph has an error [\#436](https://github.com/asteris-llc/converge/pull/436) ([ryane](https://github.com/ryane)) +- replace "context" with "golang.org/x/net/context" [\#433](https://github.com/asteris-llc/converge/pull/433) ([ryane](https://github.com/ryane)) + +### Closed Pull Requests + +- update changelog, add script [\#511](https://github.com/asteris-llc/converge/pull/511) ([stevendborrelli](https://github.com/stevendborrelli)) +- docs: fix link in resource authors guide [\#479](https://github.com/asteris-llc/converge/pull/479) ([ryane](https://github.com/ryane)) +- Fix/resource duplication [\#458](https://github.com/asteris-llc/converge/pull/458) ([arichardet](https://github.com/arichardet)) +- Fix/graceful exit [\#447](https://github.com/asteris-llc/converge/pull/447) ([arichardet](https://github.com/arichardet)) +- LVM module [\#184](https://github.com/asteris-llc/converge/pull/184) ([avnik](https://github.com/avnik)) + +# Change Log + ## [0.4.0-rc1](https://github.com/asteris-llc/converge/tree/0.4.0-rc1) (2016-11-17) [Full Changelog](https://github.com/asteris-llc/converge/compare/0.4.0-beta1...0.4.0-rc1) @@ -850,3 +1609,8 @@ - ELK (Elasticsearch, Logstash, and Kibana) stack (#272) - Add CodeClimate Checks to build (#281) - docs: add draft resource authors guide (#290) + + +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* + +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file diff --git a/docs/content/release-notes/0.5.0.md b/docs/content/release-notes/0.5.0.md new file mode 100644 index 000000000..d5d77846d --- /dev/null +++ b/docs/content/release-notes/0.5.0.md @@ -0,0 +1,116 @@ +--- +title: "0.5.0" +date: "2016-12-21" +slug: "0-5-0" + +menu: + main: + parent: "release-notes" + identifier: 0.5.0 + +--- + +## Release Date + +2016-12-21 0.5.0-beta1 + +## Features + +This release includes new modules and general usability enhancements for users +and module authors. + +### Demo Applications + +A demo of using converge for a kubernetes deployment was added in [524](https://github.com/asteris-llc/converge/pull/524). + +### Module Improvements + +#### File Fetch + +File download and verification support has been added via [#543](https://github.com/asteris-llc/converge/pull/543). + +```hcl +file.fetch "consul.zip" { + source = "https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip" + destination = "/tmp/consul.zip" + hash_type = "sha256" + hash = "abdf0e1856292468e2c9971420d73b805e93888e006c76324ae39416edcf0627" +} +``` + +#### File Owner + +File ownership can now be changed with the `file.owner` module added via [#549](https://github.com/asteris-llc/converge/pull/549). + +```hcl +file.owner "owner-test" { + destination = "dir" + group = "root" + user = "root" + verbose = true + recursive = true +} +``` + +### Usability Enhancements + +#### Better Cascading Error Output + +Modules with failing dependencies are now summarized at the end of a run via [516](https://github.com/asteris-llc/converge/pull/516). + +``` +root/task.directory: + Error: exec: "blah": executable file not found in $PATH + Messages: + Has Changes: no + Changes: No changes + +Errors: + * root/task.directory: exec: "blah": executable file not found in $PATH + +Failed due to failing dependency: + * root/task.key: error in dependency "root/task.directory" + * root/task.csr: error in dependency "root/task.key" + * root/task.crt: error in dependency "root/task.csr" + +Summary: 1 errors, 0 changes, 3 dependency errors +``` + +#### Resource Name Restrictions + +As of [535](https://github.com/asteris-llc/converge/pull/535) resource names are +now restricted to strings consisting of letters, numbers, dots `.` and dashes +`-`. Unicode letter characters are supported. + +#### Diff Output During Application + +As of [533](https://github.com/asteris-llc/converge/pull/533) diff outputs +should be displayed when running `apply`. + +### Engine Improvements + +### Module API Enhancements + +The module authoring API has been updated to make it easier to develop modules. + +#### Explicit Value Exports + +As of [533](https://github.com/asteris-llc/converge/pull/533) the `export` and +`re-export-as` tags are supported for `resource.Resource` types in modules. +These tags are now required to make fields available for `lookup`. + +#### New Module Author Idioms + +As of [533](https://github.com/asteris-llc/converge/pull/533) resource types in +modules should not embed `resource.Status`. The `Check` and `Apply` functions +should no longer return the resource itself but instead a generated task status. + +## Bug Fixes + +Converge 0.5.0 introduces a multitiude of bugfixes and stability improvements. +Please refer to the [changelog](https://github.com/asteris-llc/converge/blob/master/CHANGELOG.md) for +a detailed report. + +## Support + +We provide support via [the Converge Slack team](http://converge-slack.aster.is/) and through [GitHub issues](https://github.com/asteris-llc/converge/issues)