Enhancement
28 changes
Support :ack mode for GenEvent streams
Support :base option in inspect/2 to choose the base (:binary, :octal, :decimal or :hex) numbers a printed
Print warnings when used ? with characters with escape codes
Add SASL log forwarding option to Logger
Add $padlevel to option Logger formatter
Backends receive the exact handler value when added, allowing a key to be passed for configuration lookup
Add Logger.flush/0 to flush the Logger (useful for testing)
Persist backends dynamically added or removed via add_backend/2 and remove_backend/2
Add Macro.validate/1 to recursively check if a value is a valid quoted expression
Load mix deps only when there is a need to use them (this improves the timing for the majority of tasks in a Mix project)
Make the environment explicit on the success message generated after escript.build is invoked
Load config/config.exs inside escripts
Store and check Elixir version requirement for generated archives
Fix shell bugs when running on Windows with Cygwin or MinGW
Modules compiled by Elixir now report the correct beam location when :code.which/1 is invoked. If the bytecode is only available in memory, :code.which/1 returns :in_memory
Do not expand args for unknown functions/macros
Ensure defstruct, @attr inside and friends raise a nice error messages when values cannot be properly escaped
Do not raise conflicts on imports used from inside quotes
Metadata is now correctly merged on each Logger.metadata/1 call
Use the Logger PID on :error_logger wrapper to avoid race conditions on shutdown
Ensure bitstrings work with Macro.escape/1
Ensure aliases are invoked on umbrella recursive tasks
Leave it up to the application to start the Logger after compilation
Accept more forms of git versions (like "git version 1.9.3 (Apple Git-50)")
Do not normalize paths in Path.join/2 as normalization is beyond the scope of such function
to_string/1 now properly converts URI to strings when the schema is missing
Having a function as collectable is deprecated
Module.function/3 is deprecated, please use :erlang.make_fun/3 instead