Releases: bitwalker/exrm
Version 0.18.1
Version 0.18.0
Changes
- Bug fixes
- NOTE: Release tars are now output to the
rel/<app>/releases/<version>
directory, rather than underrel/<app>
. The documentation has been updated, but you will need to adjust if you have anything automated expecting them in the old location. The reason for this change is to keep all version-specific release artifacts together, as well as to make running the release in-place simple to do (just extract the original tar torel/<app>
, boot it, and then once your upgrade release has been built, you can simply run therel/<app>/bin/<app> upgrade <version>
command.
Version 0.12.12
Changes
- Updated relx dependency
- Fixed bug with dev mode where the symlinks were constructed using an invalid relative path.
Version 0.12.9
Changes
- Conform plugin now merges schemas from all dependencies, so that your release can have a single configuration file for all deps. See conform's readme for more info on usage.
- Conform is no longer required. If you do not provide a schema file, the plugin will just do nothing.
Version 0.12.7
Changes
- Updated to conform 0.8.3
- Fixed bug which caused umbrella project releases to fail due to conform
Version 0.12.6
Changes
- Support overriding relx configuration by providing custom configuration in
rel/relx.config
- Support custom
vm.args
file by putting your custom file inrel/vm.args
- Added support in
Utils
for reading, writing, parsing, and merging Erlang terms - General cleanup
Version 0.12.5
Changes
- Via @ericmj, change with_env to take a function instead of a macro, and wrap it in a try..after to ensure the environment is properly changed back if execution fails.
Version 0.12.4
Changes
- Update to Elixir 0.14.3
Version 0.11.2
Version 0.7.0
Hey everyone, more updates!
So in the past couple of days I've added the following:
Support for umbrella projects
I also added some special support via conform that should make configuration of them a lot nicer. For more info, see my test umbrella project at https://github.com/bitwalker/exrm-umbrella-test
Support for plugins.
I haven't documented it fully in the README yet, but the module docs for ReleaseManager.Plugin explain all you need to know. The gist is that plugins implement a behavior (ReleaseManager.Plugin) which consists of two callbacks before_release/1
and after_release/1
. Those two callbacks take a Config struct from exrm containing configuration for the release (also documented in the module docs), and are called just before, and just after the release has been built. Please keep in mind when developing plugins that you intend to share that some people may be running umbrella projects, so try to avoid any static references to paths that don't apply in the umbrella scenario.
A bunch of bug fixes
Special thanks to Steve Pallen, who was great about testing and dealing with issues that cropped up. Exrm has gotten a lot better thanks to his effort and patience!
Next up on my TODO list are two major things: 1.) Expand on conform to make it much more powerful, it's gotten some love this week as well, but there is a lot yet to be done before it is on cuttlefish's level, and 2.) deprecate the relx dependency, and implement it in 100% Elixir. If you have any other things you'd like to see me address, please let me know!