Upcoming 1.9 Mix releases and config

releases
#1

Just been reading @josevalim post on the upcoming 1.9 features (http://blog.plataformatec.com.br/2019/04/whats-new-in-elixir-apr-19/)

Is anyone else super excited about these??

I definitely am, and it has already cleared up some confusion for me about how to handle config at build/run time, and releases in general. Really happy to see progress here. :slight_smile:

16 Likes
#2

I am SO EXCITED for these particular improvements! Releases and configuration (in general but more specifically for releases) have been really the only two pain points for me in my time using Elixir. I am so glad Jose and the others have decided to make these two points a priority.

I’m looking forward to blog posts and articles covering these new features :slight_smile:

4 Likes
#3

Basic release handling and the config changes are certainly a big deal. Also the docs for mix release are incredibly well written. I’m just a bit sad my contributions to EEx didn’t make the cut into the blogpost. It’ll allow the use of functions with more than one callback/do/end block allowing to build things like complex components with multiple “slots”.

8 Likes
#4

Ooo really? I’ve been having to do workarounds for that. Awesome!!

#5

Is there an estimate on when 1.9 will be released? I’m also incredibly excited for these features and have been reading the docs for them already.

1 Like
#6

Elixir minor releases are done twice a year, usually around January and July.

9 Likes
#7

Can anybody provide an example how it would looks like, replacing regular config for own app and app’s config for 3rd party libs?

#8

Hmm, can you elaborate with a code block about what you mean? I’m intrigued.

1 Like
#9

The original issue holds some examples.

3 Likes
#10

I’ve been waiting for 1.9 to start looking seriously at releases. Right now I build a docker container with MIX_ENV=prod as part of the build process, then I just mix run in production.

One of the things I’m wondering is what about when I want to use mix in production, e.g. to run migrations, or to import a seeds file. My understanding is that mix isn’t available inside a release.

What should I be doing instead?

#11

I haven’t seen any examples of running migrations with the 1.9 releases, but I imagine it would be similar to distillery https://hexdocs.pm/distillery/guides/running_migrations.html. While distillery has some conveniences for this, I haven’t seen anything for 1.9 releases.

But basically setting up the code or a script that runs the same code that the command mix ecto.migrate does (look at the example code I linked).

3 Likes
#12

Just took mix release for a spin, can’t wait for 1.9 to get out. Well done guys!

4 Likes