All Versions
31
Latest Version
Avg Release Cycle
88 days
Latest Release
-

Changelog History
Page 3

  • v0.8.0 Changes

    ๐Ÿ†• New Features:

    • โž• Added support for Phoenix.PubSub as an alternative transport for the cache busting notifications.
    • โž• Added ability to enable the ETS cache but disable the cache-busting notifications, as it can be useful when running on a single node.

    Other changes:

    • โฌ†๏ธ Upgraded redix and redix_pubsub dependencies.
    • ๐Ÿ‘ Internal project and supervision changes to better support different adapters.
    • โšก๏ธ Updated the Mix configuration options.
    • โœ… More rational test setup.
  • v0.7.1 Changes

    ๐Ÿ› Bug fixes:

    • Resolved an issue with the PubSub connection process that would crash the entire supervision tree in case of abrupt disconnection from Redis. Ops!
  • v0.7.0 Changes

    ๐Ÿ†• New Features:

    • FunWithFlags.all_flags/0 is now public and documented.
    • Added FunWithFlags.all_flags_names/0, public and documented.
    • โž• Added proper log statements via the Elixir Logger. Setting the log level to debug will print cache busting info, for example.

    Internal changes:

    • โšก๏ธ Updated the redix and redix_pubsub dependencies.
    • 0๏ธโƒฃ Extracted the private persistence and notifications modules into a redis-specific namespace. Added a config option to customize the adapters on startup, and an internal API that allows to develop other adapters to use alternative persistence and notification layers. The persistence adapters are responsible for declaring their own notifications module (if any). The provided default ones keep using Redis, and they work in tandem. At the moment, no official support for other adapters is planned, redix stays as a dependency.
  • v0.6.0 Changes

    ๐Ÿ†• New features:

    • โž• Added FunWithFlags.clear/2 to delete a specific gate or an entire flag. This is useful if you don't need an actor or group override and want to use the default boolean rule instead. Clearing a flag or a gate uses the same PubSub cache busting functionality used when updating a flag.
    • โž• Added FunWithFlags.all_flags/0, to return a list of all the flags stored in Redis. Undocumented because it's meant to build a GUI.
  • v0.5.0 Changes

    โž• Added the Group protocol and group gates. It's now possible to enable or disable a flag for a group name and implement Group for types and structs that should belong to groups.

  • v0.4.0 Changes

    โž• Added the Actor protocol and actor gates. It's now possible to implement Actor for some type or struct and then enable or disable a flag for some specific values.

  • v0.3.0 Changes

    Always raise exceptions if Redis becomes unavailable and there is no cached value (expired or not). This means that both with or without cache, failures to load a flag's data will never be silently converted to the flag being disabled.

  • v0.2.0 Changes

    ๐Ÿš€ Significant internal rewrite: use structures instead of raw booleans. Given the scope of the changes and the fact that this is still a 0.x release, bump the version number.

  • v0.1.1 Changes

    • โœจ Enhancements
      • Treat cache misses and expired cached values differently. If Redis becomes unavailable, and an expired value is available in the cache, use the expired value even though normally it would be discarded.
  • v0.1.0 Changes

    ๐Ÿš€ First usable release with the a stable initial feature set.

    • Simple boolean flags
    • Elixir API to enable, disable and query the flags
    • Supervision tree, embeddable in host applications
    • Persistence in Redis
    • ETS cache
      • Cache busting with TTLs
      • Cache busting with Redis PubSub
    • Resistant to Redis connection issues if the values are cached
    • Option to disable the ETS cache (Redis-only mode)