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.
NOTE: The way that a Badge is triggered after a Question is answered has changed. Currently, Questions will trigger the completion of the Badge that contains, at least, on matching tag.
- Dispatched event
UserProfileUpdated
when the user's profile has been modified. - Add password validation: min. 8 characters, including mixed cased letters, numbers and symbols.
- Forgot password capability to allow users to recover their accounts..(#284)
- Implement user's registration, in order to allow users to register themselves.
- User's notifications after user creation/registration.
- Badges can be tagged in order to filter which Questions will trigger the completion. (#309)
- Remove sensible information (like gender, url, phone...) from the user's profile. (#256)
- Fix HTTP method for the user's profile update to
PUT
. - Update dependencies. (#262, #263, #264, #265, #266)
- Protect the whole application to ensure users has verified their email address.
- Protect user's profile edit through password confirmation.
- The User, Level, Badge and Question screens has been refactored to make it more user-friendly.
- Improved test coverage.
- Error showing Badges with more than one actuator.
- Issue when uploading badge images. (#257)
- Admins can't create or modify user's password in favor of Forgot password capability. (#285)
- Question's actions has been removed in favor of the use of Tagging. (#309)
NOTE: This release has non-backwards compatible changes.
- Improved form validation to make user's input safer. Test has been increased to ensure proper validation.
- Added a
Default
level outside the database. It could be overridden by creating a new level withrequired_points = 0
- Important: This application has been upgraded to Laravel 9.x. A lot of refactors has been done in order to adopt Laravel 9.x best practices.
- Important: Database schema has been modified in a non-backwards compatible way.
- Broken image urls for levels.
- OR -
statement in the login form should not appear when social login is not enabled.
- Application CI/CD has been migrated from Travis to GitHub actions.
- Update dependencies
- Bump
bensampo/laravel-enum
tov3.4.2
. - Bump
cviebrock/eloquent-sluggable
tov8.0.5
. - Bump
cviebrock/eloquent-taggable
tov8.0.2
. - Bump
doctrine/dbal
tov3.1.3
. - Bump
fruitcake/laravel-cors
tov2.0.4
. - Bump
fakerphp/faker
tov1.16.0
. - Bump
laravel/framework
tov8.63
. - Bump
laravel/socialite
tov5.2.2
. - Bump
laravel/tinker
tov2.5.1
. - Bump
laravel/ui
tov3.3.0
. - Bump
qcod/laravel-imageup
tov1.1.0
. - Bump
yajra/laravel-datatables-oracle
tov9.18.1
.
- Bump
- Update dev dependencies
- Bump
facade/ignition
tov2.14.0
. - Bump
mockery/mockery
tov1.4.4
. - Bump
nunomaduro/collision
tov5.10.0
. - Bump
phpunit/phpunit
tov9.5.10
.
- Bump
- PHP v7.4 support. Only PHP v8.0 will be supported since that version.
- Support to store sessions on the database (#204)
- Adds gamify:publish command to publish scheduled questions (#203)
- Show current version in the admin dashboard (#191)
- Last admin can change its type member (#194)
- PHP 8 support (#200)
- Error adding actions to questions. (#144)
- Rewards link is broken on Admin Sidebar. (#193)
- Missing translation: admin/question/model.published_at. (#192)
- Users can't change their password. (#135)
- Add a missing step to install dependencies on docker container.
Note: This application has been updated to use Laravel 8.x. It's backwards compatibility, so the database does not need to be updated.
- Parallel testing to reduce testing time when using
composer test
andcomposer test-coverage
.
- Important: This application has been upgraded to Laravel 8.x. A lot of refactors has been done in order to adopt Laravel 8.x best practices.
- Docker build process to set UID on docker-compose build.
- Bug when creating a question without choices. (#177)
- Remove Symfony Insight integration.
- Possibility to obtain/assign badges based on events (question has been answered, user is logged in...) (#161)
- Possibility to schedule question publication. (#152)
- Presenter to
Question
model. Removes several partial views.
- View on question edit form to make it simpler.
- Use
SocialProviders/okta
from packagist instead of GitHub. - Upgrade requirements to PHP 7.4.
- Add docker-php-extension-installer to install PHP extensions in docker.
- Dependencies has been updated.
- Badge images were not working on 'local' storage. (#162)
- Choices were not shown on validation errors. Dynamic Form fields is using repeatable-fields.
- QuestionChoice's
correct
model attribute. UseisCorrect()
and scopecorrect()
to get the same functionality than before.
- QuestionChoice's
correct
field has been removed from the model. This field was not used in favor ofscore
field. The removal is backward compatible and you can still usecorrect
attribute, that it's deprecated.
- Small refactors to add more testability.
- Added more tests.
- Two new widgets on admin dashboard: Latest published questions & latest registered users.
- Add user status to the profile information.
- User's metrics on 'Play' section. (#132)
- Profile look and feel.
- Question forms are now responsible.
- Update dependencies.
- Add link to each question. Make hidden questions linkable. (#120)
- Document properly 'Question name'. (#124)
- Hidden questions where not labelled. (#122)
- Bug when user was accessing to a published question. (#121)
- Bug when creating a new user. (#117)
- Trusted proxies configuration through environment variables. See
config/trustedproxies.php
. composer build
to create distributable files of the application.
- Remove API default route closure. It was buggy on production.
- Horizontal scaling: session & cache on Redis and uploads on S3. (#103)
- Support to custom views under
resources/views/custom
. (#102) - AWS S3 support for image uploads.
- Image management to Badges, Levels & Avatars. (#92, #96, #99)
- Fix some typos and broken links.
- Fix Admin dashboard render errors. (#88)
- Fix deletion of the default level. (#33)
- Social login links. Since this version it's possible to sign in using a third party service such as Facebook, Twitter or Github. (#83)
UserProfile
validation on updates.- Wrong redirection after login.
- Defaults for
avatar
onUser
creation.
Note: This application has been updated to use Laravel 6.x. It's still backwards compatibility, but database needs to be updated too. Some tests have been added but coverage is still very low.
- Ensure that users select at least one answer before proceeding. (#79)
- Two composer commands:
test
andtest-coverage
.
- Important: This application has been upgraded to Laravel 6. A lot of refactors has been done in order to adopt Laravel 6.x best practices. (#66)
- Refactors to reduce the number of queries.
- Change the editor from TinyMCE to Bootstrap-wysihtml5. (#36)
- Reputation is handled by Events. Added
experience
attribute to the User model. (#72, #73) - Repository name has been changed to
gamify-laravel
, current URL is https://github.com/pacoorozco/gamify-laravel.
- Database migration / seed on fresh installation. (#77)
docker-compose build
was throwing an error, so docker was not working. (#61)
- Dusk tests. They were not working properly.
- Fix routing problem affecting answering questions (#45)
- Change the URL verb from
/user/
to/users/
, to make it coherent with the rest.
- Fix default credentials documentation (#44)
- Bump version documentation updated
- Add issue templates to make issue submitting easier.
- Fix sidebar toggle button
- Fix issue #39. Authorisation was broken.
This is a major update, so it has changes that breaks compatibility with previous versions.
IMPORTANT: Application has been migrated to Laravel 5.5.
- This
CHANGELOG
file to keep changes between versions. - Docker support to be able to run this application in containers. DO NOT USE THIS CONTAINERS IN PRODUCTION.
- Added NPM module to deal with AdminLTE theme dependency.
- Added Laravel Mix to build assets in this application.
- Added folder structure to begin application testing support.
- Added Scrutinizer code style checks and test coverage.
- Added StyleCI to automatically merge any style fixes into the application repository. This allows us to focus on the content of the contribution and not the code style.
- Added Laravel IDE Helper to allow auto-completion on IDE.
- Added Laravel Dusk for testing.
- CI has been migrated to Travis CI COM.
- Some fields has been renamed:
- Model: Badge,
amount
is nowrequired_repetitions
. - Model: Level,
amount
is nowrequired_points
. - Pivot tables:
Badge-Users
,amount
is nowrepetitions
.
- Model: Badge,
- Move DataTables to
public/vendor
. - Composer versions to be compliant with Laravel 5.5.
- Travis is using PHP 7.2 image to do the builds.
README
has been updated adding information about the project, authors and "how to run this application".- Move al CSS and JS to
public/vendor
, so now it's part of this code. - Update CSS and JS paths in
views
to use newpublic/vendor
folder. - Updated
LICENSE
to GNU GPL v3.0 or later.
- Removed Homestead support in favor of docker containers. If you still want to use it, please follow this instructions.
- Removed cached item that were present in
.gitignore
. - Removed
bower
as Javascript dependency manager.