# Change Log

All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/).

# v3.5.4
## (2026-03-17)

* tests: Stop using url.parse [Thodoris Greasidis]

# v3.5.3
## (2026-03-17)

* Update dependencies [Pagan Gazzard]
* Add id-token: write permission for NPM OIDC publishing [Kyle Harding]

# v3.5.2
## (2025-09-22)

* Drop Bluebird [Thodoris Greasidis]
* Replace circleci with flowzone [Thodoris Greasidis]
* Update devDependencies [Thodoris Greasidis]
* Enable TypeScript esModuleInterop compiler option [Thodoris Greasidis]
* Update TypeScript to 5.9.2 [Thodoris Greasidis]
* Block creating a package-lock.json [Thodoris Greasidis]
* Stop using global typings [Thodoris Greasidis]
* Make ts-node a devDependency [Thodoris Greasidis]

# v3.5.1
## (2020-08-19)

* Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

# v3.5.0
## (2020-07-13)

* Bump dockerode types dependency [Roman Mazur]
* Allow setting ENV variables in the live image [Roman Mazur]

# v3.4.1
## (2020-05-05)

* Update README with information about live directives [Cameron Diver]

# v3.4.0
## (2020-04-15)

* 🔭 Add a file watcher which can be used by library users [Cameron Diver]

# v3.3.0
## (2020-04-08)

* Add support for live COPY commands [Cameron Diver]
* Add support for live RUN commands [Cameron Diver]

# v3.2.2
## (2020-04-03)

* Fix detection of required restarts in dockerfiles with livecmds [Cameron Diver]
* Split mocha opts based on run style [Cameron Diver]

# v3.2.1
## (2020-04-02)

* Fix parsing of livecmds with = in them [Cameron Diver]

# v3.2.0
## (2020-03-30)

* Add support for livecmd [Cameron Diver]

# v3.1.0
## (2020-03-25)

* Allow constructing a livepush instance using a Dockerfile instance [Cameron Diver]

# v3.0.3
## (2020-03-24)

* Add support for Dockerfile directives [Cameron Diver]

# v3.0.2
## (2020-03-24)

* Update dockerode types and remove unnecessary any [Cameron Diver]

## 3.0.1 - 2020-03-18

* Update dependencies and remove package-lock [Cameron Diver]

## 3.0.0 - 2020-03-09

* Allow passing a skipContainerRestart option [Cameron Diver]
* Accept an options object for construction [Cameron Diver]
* Upgrade typescript resin-lint and husky config [Cameron Diver]

## 2.1.1 - 2020-03-09

* Speed up execution by only restarting the last stage container [Cameron Diver]

## 2.1.0 - 2020-03-06

* Add a function which allows users to check if a change causes a livepush [Cameron Diver]

## 2.0.6 - 2019-12-16

* Force POSIX format for destination (device) path operations on Windows. Fixes issues with livepush changes not getting applied properly from Windows. [Scott Lowe]

## 2.0.5 - 2019-10-22

* Add support for passing build arguments to executions [Cameron Diver]

## 2.0.4 - 2019-10-21

* Add Node 12 to Circle CI tests [Paulo Castro]

## 2.0.3 - 2019-10-21

* Update husky and move it to devDependencies (package.json) [Paulo Castro]

## 2.0.2 - 2019-07-01

* Preprocess the dockerfile by removing all comments [Cameron Diver]

## 2.0.1 - 2019-06-14

* Properly stop on command execute error [Cameron Diver]

## 2.0.0 - 2019-06-07

* Update documentation for major change [Cameron Diver]

## 1.3.0 - 2019-06-07

* Allow cancelling an in-flight livepush process [Cameron Diver]

## 1.2.5 - 2019-05-29

* Ensure that the livepush process is marked as stopped on error [Cameron Diver]

## 1.2.4 - 2019-05-27

* Update README [Cameron Diver]

## 1.2.3 - 2019-05-15

* Export ContainerNotRunningError [Cameron Diver]

## 1.2.2 - 2019-05-15

* Preserve file mode when copying from disk [Cameron Diver]

## 1.2.1 - 2019-05-10

* Implement locking infrastructure for livepush process [Cameron Diver]

## 1.2.0 - 2019-04-30

* Upgrade typescript to 3.4.3 [Cameron Diver]
* Emit the command string with the return code of the command [Cameron Diver]

## 1.1.3 - 2019-04-23

* Fix: Dont remove the application container on cleanup [Cameron Diver]

## 1.1.2 - 2019-04-19

* Fix: Filter out links when copying between stages [Cameron Diver]

## 1.1.1 - 2019-04-17

* Fix: Preserve file permissions when performing stage copies on a file [Cameron Diver]

## 1.1.0 - 2019-04-17

* Add helper functions for cleaning up of intermediate containers [Cameron Diver]

## 1.0.3 - 2019-04-17

* Move tar stream finish emitter out of entry callback [Cameron Diver]

## 1.0.2 - 2019-04-16

* Fix local copies when considering (sub)directories [Cameron Diver]

## 1.0.1 - 2019-04-16

* Fix: Fix the destination resolution of stage copies [Cameron Diver]

## 1.0.0 - 2019-04-12

* Dont use expansion in test copy to avoid circle errors [Cameron Diver]
* Add main livepush module, which handles distributing tasks [Cameron Diver]
* Implement multistage container command and file handling [Cameron Diver]
* Fix: Fix grouping of shared stage copies [Cameron Diver]
* Add more typed errors [Cameron Diver]
* Export StagedActionGroups interface from Dockerfile module [Cameron Diver]
* Add extra action group trigger checking helpers [Cameron Diver]
* Fix: Use mocha opts file but remove files from opts [Cameron Diver]
* Upgrade dockerode types [Cameron Diver]
* Refactor: Remove filewatcher module [Cameron Diver]
* Add mocha sourcemap support [Cameron Diver]
* Completely refactor dockerfile parsing for multistage dockerfiles [Cameron Diver]
* Add ts-node and watch and fast test scripts to package.json [Cameron Diver]

## 0.14.0 - 2019-02-28

* Add another copy test [Cameron Diver]
* Add sourcemap support to istanbul coverage [Cameron Diver]
* Check host filesystem when deciding how to copy files [Cameron Diver]
* Memoize conatiner filesystem introspection calls [Cameron Diver]
* Make copies more reliable by checking container fs [Cameron Diver]

## 0.13.2 - 2019-02-27

* Correctly consider subdirectories when copying files [Cameron Diver]
* Use buffer add when generating copy tarfile [Cameron Diver]

## 0.13.1 - 2019-01-16

* Fix: Fix action group trigger detection [Cameron Diver]

## 0.13.0 - 2019-01-15

* Commands: Run commands through subshell [Cameron Diver]

## 0.12.1 - 2019-01-14

* Detect local directory copies [Cameron Diver]

## 0.12.0 - 2019-01-14

* Export DockerfileActionGroup to lib users [Cameron Diver]

## 0.11.0 - 2019-01-14

* Events: Emit execute events for listeners [Cameron Diver]

## 0.10.0 - 2019-01-14

* Refactor: Type the events provided by FSMonitor [Cameron Diver]

## 0.9.0 - 2019-01-14

* Misc: Add types entry to package.json [Cameron Diver]

## 0.8.0 - 2019-01-11

* Fix: Run dockerfile commands sequentially [Cameron Diver]
* Container: Perform fast restart by explicitly killing [Cameron Diver]
* Fix: Actually execute commands when livepushing [Cameron Diver]
* Container: Make container a typed event-emitter for execution events [Cameron Diver]
* Dockerfile: Better support adding files to directories [Cameron Diver]
* Fix: Fix support for Dockerfiles with consecutive copies [Cameron Diver]
* Get affected files from Dockerfile module, to support globs [Cameron Diver]
* Fix: Fix path reporting from file watcher [Cameron Diver]

## 0.7.0 - 2019-01-02

* Add FSWatcher module [Cameron Diver]

## 0.6.0 - 2018-12-20

* Export Container objects [Cameron Diver]

## 0.5.0 - 2018-11-27

* Add files to tar packs using streams [Cameron Diver]
* Make some container initialisation vars readonly [Cameron Diver]
* Make changed files a class, with getters for combinations [Cameron Diver]
* Add circleci configuration [Cameron Diver]
* Add container interaction utilities [Cameron Diver]
* Add coverage to tests [Cameron Diver]

## 0.4.0 - 2018-11-19

* Fix: Handle the case where a COPY precedes a CMD without commands [Cameron Diver]
* Add mocha.opts file [Cameron Diver]

## 0.3.0 - 2018-11-08

* Add index.ts and set it as the library entrypoint [Cameron Diver]

## 0.2.0 - 2018-11-08

* Dockerfile: Add dockerfile handling code [Cameron Diver]
* Setup linting infrastructure and add package lock [Cameron Diver]

## 0.1.0 - 2018-11-06

* Add prettier and resin-lint [Cameron Diver]
