-
Enhancements
- Support Elixir 1.14
-
Bug Fixes
- Resolve Dialyzer warnings, correct specs and typos
- Enhancements
- Support Elixir 1.10 and ecto 4
- Bug Fixes
- Clear user_data in Coherence.CredentialStore.Server where there are no entries for that user
- Bug Fixes
- Fix exception in Coherence.CredentialStore.Server.update_user_logins when invalid id
See these 0.5.x to 0.6.x upgrade instructions to upgrade your existing apps.
-
Enhancements
- Moved Controller actions and helpers into a base modules inside using macro to improve upgrades with custom controllers
- Add configurable salt and max_age for tokens
- Add default opts for token functions
- Add support for application configurable confirmable
- Support code formatter formatter
- Add logging to the mailer template
- Updated to Comeonin 4.0
- Add support for configurable password hashing algorithms
- Speed up tests by configuring the Bcrypt algorithm
- Format may generator templates to align with code formatter
-
Bug Fixes
- Fixed detection of remember me checkbox on session new page
- Fixed compiled gettext in view helpers
- Fix new session screen issue on newly generated project #390
- Add back the gettext fix in ViewHelpers
-
Deprecations
- Removed the coherence.make_templates task since its no longer needed with the new controller design
-
Hard Deprecations
- Removed support for erlang < 20.0
- Removed support for pre Phoenix 1.3 project structure
- removed
coherence.install
andcoherence.gen.controllers
mix tasks
- removed
- Enhancements
- Added default permitted attributes to help with upgrades #371
-
Enhancements
- Add new
coh.gen.controllers
generator coh.clean
task now supports phx and phoenix projects- Renamed
Coherence.ControllerHelpers
module toCoherence.Controller
- Update timex and timex_ecto dependency versions. closes #333
- Added new update_user_login/1 function
- Added new
allowed attributes
feature to protect against allowing accesses to internal schema fields. - Update uuid dependency version
- Allow silent password recovery for unknown users
- Add new
-
Bug Fixes
- Fixed issues with generated controllers
- Fixed issues with clean tasks
- Fixed localization of view helpers. closes #322 and closes #327
- Fixed incorrect logic for custom password changeset. closes #351
- Fixed config return type for email_reply_to. closes #227
- Fixed :peer retrieval issue with new Plug.Conn
- Fixed issue attempting to immediately log in after registering an account
- Fix in password controller to support subdomains
-
Backward incompatible changes
--controllers
option is not supported for the install tasks- removed the
coherence.clean
task - Need to update
seeds.exs
if your using confirmable option
-
Enhancements
- Support the released Version of Phoenix 1.3 project structure
- Project name spaced generated view modules
- GenServer based Session Store
- Single user model stored for multiple logins of the same user
- Support to update user model for all logged in sessions
- add --web-module installer option
- Generate Invitation, Rememberable, and Trackable schemas
- Use app's layout by default. Use --layout option to generate and use a specific layout for coherence. #186
- Remove login callback and replace with Phoenix.Controller.redirect. #254
-
Bug Fixes
- Fixed incorrect reference to CoherenceDemo in Config.mailer?
- Proper support for binary_ids
-
Backward incompatible changes
- Does not support Phoenix 1.3.0-rc versions with lib/my_project/web project structure
- Previous generated controllers and views must be updated
See these 0.3.1
to 0.4.0
upgrade instructions to bring your existing app up to speed.
-
Enhancements
- Localization with Gettext
- Support the new
Phoenix 1.3
project structure created withmix phx.new
. Usemix coh.install
- Support for legacy projects with the
mix coherence.install
task - Callback to redirect invitation resend
- Add use_binary_id config
- Use the binary_id generators setting in your project
- Remove most of the Credo warnings
- Support user tokens for channel authentication
- Removed compiler warnings for Elixir 1.4
- Change datetime to utc_datetime
- Added new trackable-table option to reduce noise in user schema
- Track login and logout in trackable-table
- Added specs and resolved many dialyzer warnings
- Added asyc_rememberable? support for near concurrent Ajax requests
- Don't increment rememberable sequence number for Ajax requests
- Added support for custom layouts
- Added configurable require current password to change passwords
- Added support for fast switch user (no password required) in dev environment only
-
Bug Fixes
- Fix session controller when lockable is false
- Make remember me clickable
- Fixed layout for unauthenticated protected routes
- Fixed race conditions in rememberable callback
-
Backwards incompatible changes
- coherence config requires
:messages_backend
field to be set (MyProject.Coherence.Messages) - coherence_messages.ex file must be generated and included in our app. Done by the installer
- coherence config requires
:router
field to be set (MyProject.Web.Router)
- coherence config requires
See these 0.3.0
to 0.3.1
upgrade instructions to bring your existing app up to speed.
-
Enhancements
- Remove unused params from registration path
- Update docs for coherence_links
- Add unit tests for registration controller
- Support unconfirmed access
- Support auto login if unconfirmed access is enabled
- Start refactoring into schema modules (web/models/confirmable.ex)
- Raise compiler error when protected routes are defined before public routes
- Add current_user and logged_in? view helpers
- Add templates customization section
- Add Config.logged_in_url to be used for redirect from redirect_logged_in plug
- Add :coherence to apps in installer instructions
- Add sign in link helper
- Validate email format with some minor improvements
- Document customizable actions
- Allow configuring specific routes
- Add signout_link function to view helpers
- Support {:system, env_var} in config
- Add new
mix coherence.install --reinstall
option - Add
--silent
,--confirm-once
, and--no-confirm
option tomix coherence.install
-
Bug Fixes
- Remove web/controllers/redirects since it breaks releases
- Fix readme getting started section
- Ensure local module is loaded on login callback
- Give correct HTTP status code when login fail
-
Deprecations
- email_from config - use email_from_name and email_from_email
- email_reply_to config - use email_reply_to_name and email_reply_to_email
-
Backward incompatible changes
See these 0.2.0
to 0.3.0
upgrade instructions to bring your existing app up to speed.
-
Enhancements
- All controller redirects are now customizable
- Logged in users trying to view pages meant for unauthenticated users now get redirected to logged_out_url (session new, register new, etc.)
- Support resend confirmation instructions
- Support custom changesets
- Make routes more intuitive
--install-options
mix task option
-
Bug Fixes
- rename database column
confirmation_send_at
to confirmation_sent_at
- fix an coherence.clean --all doing a dry-run
- fix router install instructions
- install instructions include confirm! for seeds file
- rename database column
-
Deprecations
coherence_routes :public
is replaced withcoherence_routes
coherence_routes :private
is replaced withcoherence_routes :protected
-
Backward incompatible changes
coherence_routes
has changed from default:all
to public routes- the rename of database column
confirmation_send_at
to confirmation_sent_at
requires that you generate a new migration to alter the table.
-
Enhancements
- Support Token Authentication
- Support IP Address Authentication
- Support ability to clean specific options from an install
-
Bug Fixes
- Fix compile issue with trackable and not lockable
- Fix incorrect config installer instructions
- Fix types in README file
-
Deprecations
- None
-
Backward incompatible changes
- the schema change
confirmation_sent_at
will require updating the user model database. You should create a migration to alter the table.
- the schema change
-
Bug Fixes
- Use rememberable token when session dies
-
Deprecations
- User.confirm!/1 - use Coherence.ControllerHelpers.confirm!/1
- User.lock!/1 - use Coherence.ControllerHelpers.lock!/1
- User.unlock!/1 - use Coherence.ControllerHelpers.unlock!/1
-
Enhancements
- Added configurable login field to templates and controllers
- Support Ecto 2 cast and validations
- Schema.confirm! now return error if already confirmed
- Add CONTRIBUTING.md
- Enhancements to ViewHelpers.coherence_links
- Add more tests
- Added more docs and fix some formating issues
-
Bug Fixes
- Fix schema validation issue when passord_hash is set in config
- Add dummy Schema.validate_coherence when authentication option is not enabled
- Fix installer not detecting existing user model
-
Enhancements
- Added CHANGELOG.md file
-
Bug Fixes
- Fixed some documentation issues
- Fixed issue where install after clean does not compile with missing route helpers
-
Backward incompatible changes
- Changed user database field
hashed_password
to password_hash`
- Changed user database field