Elixir and Erlang/OTP versions
Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Elixir 1.20.0-dev (edb9431) (compiled with Erlang/OTP 28)
Operating system
Debian trixie amd64
Current behavior
When using Elixir 1.19.2, the app file contains strings as list of integers:
$ elixir --version
Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Elixir 1.19.2 (compiled with Erlang/OTP 28)
$ mix new my_app
$ cd my_app/
$ mix compile
$ cat _build/dev/lib/my_app/ebin/my_app.app
{application,my_app,[{modules,['Elixir.MyApp']},
{optional_applications,[]},
{applications,[kernel,stdlib,elixir,logger]},
{description,[109,121,95,97,112,112]},
{registered,[]},{vsn,[48,46,49,46,48]}]}.
The same steps work perfectly with Elixir 1.19.1 (and several previous versions):
$ elixir --version
Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Elixir 1.19.1 (compiled with Erlang/OTP 28)
... repeat all steps ...
$ cat _build/dev/lib/my_app/ebin/my_app.app
{application,my_app,
[{modules,['Elixir.MyApp']},
{optional_applications,[]},
{applications,[kernel,stdlib,elixir,logger]},
{description,"my_app"},
{registered,[]},
{vsn,"0.1.0"}]}.
This problem is easily reproducible in the containers:
Details
$ podman run --rm -it public.ecr.aws/docker/library/elixir:1.19.2 sh
# mix new app
# cd app
# mix compile
Compiling 1 file (.ex)
Generated app app
# cat _build/dev/lib/app/ebin/app.app
{application,app,[{modules,['Elixir.App']},{optional_applications,[]},{applications,[kernel,stdlib,elixir,logger]},{description,[97,112,112]},{registered,[]},{vsn,[48,46,49,46,48]}]}.#
And previous version looks perfect:
$ podman run --rm -it public.ecr.aws/docker/library/elixir:1.19.1 sh
# mix new app
# cd app
# mix compile
Compiling 1 file (.ex)
Generated app app
# cat _build/dev/lib/app/ebin/app.app
{application,app,
[{modules,['Elixir.App']},
{optional_applications,[]},
{applications,[kernel,stdlib,elixir,logger]},
{description,"app"},
{registered,[]},
{vsn,"0.1.0"}]}.
#
I thought that maybe this was solved in main branch, maybe with the fix for #14890
but it seems the problem is still present:
$ elixir --version
Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Elixir 1.20.0-dev (edb9431) (compiled with Erlang/OTP 28)
... repeat steps....
$ cat _build/dev/lib/app/ebin/app.app
{application,app,[{modules,['Elixir.App']},{optional_applications,[]},{applications,[kernel,stdlib,elixir,logger]},{description,[97,112,112]},{registered,[]},{vsn,[48,46,49,46,48]}]}.
Expected behavior
I would expect that the app file contains strings using legible syntax, as Elixir 1.19.1 did. Or if that's the new desired behavior, then it should be mentioned in the release notes.
Elixir and Erlang/OTP versions
Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Elixir 1.20.0-dev (edb9431) (compiled with Erlang/OTP 28)
Operating system
Debian trixie amd64
Current behavior
When using Elixir 1.19.2, the app file contains strings as list of integers:
The same steps work perfectly with Elixir 1.19.1 (and several previous versions):
This problem is easily reproducible in the containers:
Details
And previous version looks perfect:
I thought that maybe this was solved in main branch, maybe with the fix for #14890
but it seems the problem is still present:
Expected behavior
I would expect that the app file contains strings using legible syntax, as Elixir 1.19.1 did. Or if that's the new desired behavior, then it should be mentioned in the release notes.