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

Changelog History
Page 2

  • v1.0.0 Changes

    • migrated to Elixir 1.0.0
  • v0.7.0 Changes

    • migrated to Elixir 1.0.0-rc1
    • ๐Ÿ‘€ introduced defcastp and defcallp (see docs for more details)
  • v0.6.0 Changes

    • migrated to Elixir v0.15.0
  • v0.5.0 Changes

    • migrated to Elixir v0.14.0
    • ๐Ÿ”จ various internal refactorings (API and behavior remain unchanged)
  • v0.4.0 Changes

    • migrated to Elixir v0.13.3 (backwards incompatible with earlier versions)
    • โž• add name option to allow dynamic specification of registered alias while starting
    • ๐Ÿ‘‰ make autogenerated start functions overridable
    • โž• add starters: false option to allow omitting generated start functions
    • โž• add support for export: {:via, module, name}
    • migrate to new GenServer
  • v0.3.2 Changes

    • adapted to Elixir v0.13.1 (backwards compatible with 0.13.0)
  • v0.3.1 Changes

    • "dummy" empty version due to Hex limitations
  • v0.3.0 Changes

    • โœ‚ removed implicit "smart" returns
    • โœ‚ removed default use ExActor
  • v0.2.1 Changes

    • migrated to Elixir v0.13.0
  • v0.2.0 Changes

    This version introduces some significant changes. If you don't want to incorporate them, there is a tag for 0.1. Keep in mind that I won't maintain the 0.1, so your best option is to fork it and maintain it yourself.

    ๐Ÿ‘ On the plus side, the migration to the new version should not be very complicated (unless you're relying on tuple modules support). Here are quick pointers for migrating from old API to the new one:

    Predefines

    0๏ธโƒฃ The point of predefines is to make the decision about default implementations explicit. Earlier, you used use ExActor and the default implementation was implicit. Now you have to decide which implementation do you want, or you can easily make your own. If you want to keep the status quo, just use use ExActor.GenServer.

    ๐Ÿ—„ Deprecated implicit "smart" returns

    definit do: some_state                  # deprecated
    definit do: initial_state(some_state)
    
    defcall op, do: response                # deprecated
    defcall op, do: reply(response)
    
    defcast op, do: :ok                     # deprecated
    defcast op, do: noreply
    
    definfo msg, do: :ok                    # deprecated
    definfo msg, do: noreply
    

    Beside these "special" responses, you can use standard gen_server responses. The reason for this change was again to make things more explicit, and aligned with standard gen_server approach.

    โฌ‡๏ธ Dropped tuple modules support

    ๐Ÿ‘ There's no way around this - if you use ExActor tuple modules support, you need to change the code to classical functional approach, or remain on version 0.1. The tuple modules support was more a hack, to make some code in blog articles more OO-ish. In hindsight, this was a mistake that made the ExActor code more complicated, so I decided to drop it.