All Versions
20
Latest Version
Avg Release Cycle
121 days
Latest Release
735 days ago

Changelog History
Page 1

  • v2.2.4

    November 08, 2017
    • @impl GenServer attribute is included for all autogenerated callback functions.
  • v2.2.3

    December 28, 2016
    • ✂ removed Elixir 1.4 warnings
    • Bugfix: export: __MODULE__ didn't work in operations macros
  • v2.2.2

    September 01, 2016
    • 🛠 fix compund matches with structs
  • v2.2.1

    July 26, 2016
    • 🛠 Bugfix: support compound matches
    • 🛠 Bugfix: support ExActor macros from other macros
  • v2.2.0

    September 09, 2015
    • 👌 Support interface & handler specific guards (see docs for details)
    • ✂ Remove warnings on Elixir 1.1
  • v2.1.2

    March 26, 2015
    • 🛠 Bugfix: pattern matching on nil state didn't work properly
  • v2.1.1

    March 24, 2015
    • 😌 Relaxed Elixir version dependency to ~> 1.0
    • 🛠 Bugfix: Proper lineno generation in client code.
    • 👌 Improve pattern matching handling (see docs for details)
  • v2.1.0

    March 22, 2015
    • ➕ Added parameterizable timeout in calls (see docs for defcall)
  • v2.0.1

    December 09, 2014
    • 🛠 Fixed the docs link in mix.exs
  • v2.0.0

    November 15, 2014

    🆕 New features

    • defstart macro which simplifies definition of starters.
    • 👍 defmulticall and defabcast macros for distributed support.
    • defhandlecall, defhandlecast, and defhandleinfo for implementation of handlers only
    • 0️⃣ default arguments can be specified via \\
    • defcall and defcast can be called without specifying the body
    • 👌 Support for timeout and hibernate replies.

    💥 Breaking changes

    • Pattern matching now works on interface functions as well (previously it was done only in handler functions).
    • Starter functions are not automatically generated anymore. You can use defstart macro to create them.
    • When calling use ExActor.* options :initial_state, and :starters are not available anymore.
    • definfo is renamed to defhandleinfo
    • Option export: false is not available in defcall and defcast. If you want to implement just handlers, use defhandle*

    Migration from 1.0

    For migration examples, check here and here

    A non exhaustive list of changes you may have to do in your project:

    • ➕ Add explicit starters via defstart. If you need to support start and start_link, you can do it like this:
    defstart start(x, y)
    defstart start_link(x, y) do
      # initialization runs for both start/2 and start_link/2
    end
    
    • Replace all definit with defstart if possible, or use body-less defstart with an explicit definit.
    • If you used initial_state, set the state explicitly in defstart.
    • Replace definfo with defhandleinfo.