All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

v3.0.0 - 2021-09-12


  • Now support elixir>=1.10
  • Updates ecto to 3.7
  • Updates bunch of other deps to newer versions


  • Moves from Travis to GitHub Actions
  • Adds mix format support

v2.0.1 - 2019-10-16


  • Fixed warnings with ecto>=3.2, see #101

v2.0.0 - 2019-07-08

Breaking features:

  • Now supports elixir>=1.6
  • Now support only ecto>=3.1


v1.0.0 - 2018-12-28


  • Adds support for ecto >= 3.0
  • Adds official support for elixir == 1.6 and elixir == 1.7

v0.5.1 - 2018-05-21


  • Updates docs on using force_update_slug

v0.5.0 - 2018-05-21


  • Adds force_generate_slug function to the client API. This function may be used when the always_change option of the slug is maybe not set to true but you want to override this setting on the given changeset and force regeneration of the slug
  • Updates multiple dependencies

v0.4.0 - 2017-11-23



  • Updates with the new ecto version


  • Adds new test cases to cover new field types

v0.3.1 - 2017-07-19


  • Adds build_slug/2 to accept the original changeset as the second argument, it still receives list of sources as the first argument
  • Updates build_slug/1 inner logic


  • Updates with the new example
  • Updates docs to handle new changes
  • Updates with 'Development' section


  • Adds new test cases to cover build_slug/2

v0.3.0 - 2017-06-11


  • breaking Updates mix.exs with new dependencies, closes #14
  • breaking Drops elixir version 1.2 and otp version 17 support


  • Updates cast/4 functions to cast/3 functions (new Ecto)
  • Updates credo version and .credo.exs config
  • Updates .travis.yml with credo and new otp release


  • Fixes dialyxer issues, closes #10


  • Updates docs, fixes spelling

v0.2.1 - 2017-02-01

  • Added credo support
  • Added elixir version 1.4 support

v0.2.0 - 2016-11-02

v0.1.3 - 2016-07-22

  • Now build_slug/1 is called only when needed, changed docs appropriately
  • Replaced cond inside do_generate_slug/3 with more obvious if
  • Changed tests structure, reached 100% coverage

v0.1.2 - 2016-07-21

  • Moved get_sources/2 and build_slug/1 definitions into SlugBase
  • Added ## Options and ## Function section to the
  • Added new tests

v0.1.1 - 2016-07-21

  • Since the docs inside __using__ were unreachable the design of application was changed
  • Now opts keyword-list contains :slug_build parameter with a build_slug callback
  • Also coverage information is updated, since more code is reachable now

v0.1.0 - 2016-07-21

  • Initial release