Elixir v1.4.0 released

Official announcement: http://elixir-lang.org/blog/2017/01/05/elixir-v1-4-0-released/

47 Likes

Awesome! Thanks! :heart:

Great additions. That little change to mix clears up a lot of confusion as well, thanks for that.

With async_stream will it block at the max concurrency or go ahead a queue up everything to run?

Congrats José and team. Updated all my code to remove the warnings about ambiguous var/function calls and while the code looked strange for a while it is much clearer now.

1 Like

@josevalim: just looked on release notes and I have a first question:
Why only NaiveDateTime have add and diff methods?
How to compare other Calendar types? Should I convert them to NaiveDateTime?

1 Like

@eiji thats one of the reason for the discussion in the calendar thread as you know - to define a basis for conversion :slight_smile:

As José notes in the docs for DateTime:

Where are my functions?

You will notice this module only contains conversion functions as well as functions that work on UTC. This is because a proper DateTime implementation requires a TimeZone database which currently is not provided as part of Elixir.

Such may be addressed in upcoming versions, meanwhile, use 3rd party packages to provide DateTime building and similar functionality with time zone backing.

1 Like

Congrats !!!

Congrats on the release!

Awesome !!! Async Stream looks delicious.

How could I install this release?

I have done this

brew uninstall --force elixir

Then

brew install elixir

It’s still v1.3.4

Any idea? Thanks.

I believe there is a PR outstanding to update homebrew to 1.4. Until then you can use either kiex or asdf which are version managers that both know about 1.4.

It’s on home-brew now.

Thank you Elixir Community!

2 Likes

I use this for Elixir versioning: https://github.com/asdf-vm/asdf

Thank you for all the work :smiley: Looking forward to experimenting with the new features (and I’m so glad the trailing dot was removed from IEx’s autocompletion, I hated it!).

Could anyone explain what [Kernel] Recognize merge conflict markers in source and provide a readable error message actually means?

It’s based on this discussion:
https://groups.google.com/d/topic/elixir-lang-core/NHLXsV1e4uI/discussion

Which @michalmuskala turned into this PR:

it worked :slight_smile:

but i do wonder any changes on elixir, will it break phoenix?

So I’m getting a ton of “making private functions overridable is deprecated” in my Hex packages that do use HTTPoison.Base. Is this something I can fix or is it HTTPoison’s fault?

HTTPoison.Base docs.

@sotojuan If a function is marked as overridable, then HTTPoison should have them defined as public rather than private. It also means HTTPoison is defining functions that also calls internal private functions as callbacks, which is usually discouraged.

When you reach max concurrency, it will wait until one of the running tasks finish to start the next one.

Let me ask it a different way.

If I have a list of 1 million items and I’m running through it using async_stream with a max concurrency of 8, does it send 1 million inbox messages that are executed with a max concurrency of 8?

Just wondering in terms or potential memory usage on a big job.