Releases: givepraise/praise
v0.13.1
This release primarily fixes a few small but annoying bugs related to users, usernames and account activation.
Fixed
- API: Fixed bug that prevented user activation and gave new users wrong usernames
- Frontend: Clicking on user popover should take you to the user page #686
- API: Fixing some export issues due to changes in how the export transformer work because of the change to ses-node-json-transform for evalutaing untrusted code. #685
- Frontend: Praise sort should be dark in dark mode #688
- Frontend: Export dropdown gets squeezed when "close period" button is visible #684 #687
Changed
v0.13.0
Added
User pages
The most notable addition this version are User pages including all praise sent and received, score summaries and various other stats. In an upcoming version, these pages can be made public – no dashboard login required. #633
Edit user profile
Users can now edit some profile information.
- Username – This name is the display name used throughout the Praise dashboard.
- Rewards Address – The introduction of the rewards address means that we now store two Ethereum addresses for each user. The identity address is set on first login and cannot be changed. The rewards address is used for token rewards and can be changed by the user. Default value of the rewards address is the identity address. #633
Default setting values
Most settings have now been given default values. To reset a setting to its default value, click the "Reset to default" button that appears next to the setting header. #580 #613
More additions
- API: Transformer option to include/exclude header row in csv exports #614 #622
- Frontend: Period page now lists number of praise in the period #651
Changed
- API: Export transformers was using
safeEval
which has a critical sandbox escape issue. The code usingsafeEval
has been removed and replaced with a hardened transformer using SES.ses-node-json-transform. #622 - Discord-bot: Updated the bot to use the new
discord.js
version 14 #619 - Discord-bot: Minor refactors to make code easier to read #619
- Frontend: The settings pages have been reorganised slightly and given section descriptions with links to documentation. #586 #631
- API: Increases the number of quantifier assignment attempts from 3 to 5. Note that under some circumstances the algorithm cannot assign quantifiers and uphold the rules defined in the settings. The solution is then to change the assignment parameterd, for example by adding an additional quantifier. #644
- Frontend: Moved settings checkbox to be inline with description instead of under it. #635
- API: CSV header fields are now lower case to avoid issues with some distribution services #639
- Frontend: Upgraded RainbowKit and Wagmi versions to improve login experience. Login should now be more reliable. Tested with MetaMask in browser, mobile MetaMask and Ledger. #674
- Frontend: The Users page is now accessible to all users. #655
- Devops: Upgraded Node version to 16.17.1 to fix security vulnerabilities #667
- Devops: Upgraded Node version to 16.18.1 to fix security vulnerabilities #640
Fixed
- Devops:
database-restore.sh
did not work under certain circumstances. Script have now been upgraded. - API: Bug causing period praise counting to return the total number of praises instead of the number of praise for the period. #622
- Discord-bot: Praising does not work in threads #524 #619
- Frontend: Fixed a bug causing checkbox settings to be saved even if the user did not change the value. #629 #632
- API: Image upload should only accept jpg and png files #653 #636
- Frontend: Prevent custom export settings from loading when user is not admin #656 #628
- API: Add check when reassigning quantifiers: Replacement quantifier cannot be assigned to quantify their own received praise. #681
- Devops: GitHub actions upgraded #659
- API: Upgraded various dependencies - mongoose, mongoose-paginate-ts, mocha, nodemon - to fix security vulnerabilities #654
Upgrade Instructions
See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise
v0.12.2
Added
- Devops: Setup script now uses a prebuilt Docker image to speed up setup process. #575 #606
- Devops: Merged project
.env
files into a single root file to simplify for automated setup #591
Fixed
- API: Quantify endpoint now disallows any scores that are not in the configured range #608 #610
- Frontend: Praise logo in dashboard is now linked again, taking user to start page #609 #611
Upgrade Instructions
Because of changes to the .env
file structure, you need to rerun the setup script after pulling
changes from GitHub.
git pull
bash setup.sh
bash upgrade.sh
v0.12.1
A minor release to fix some bugs related to image uploading.
Fixed
- Better handling of uploaded logo images. Image uploads are now stored outside of the Docker container. This means that the logo image will persist across container restarts and upgrades. #564 #604
- Better support for serving Praise over http on localhost. No manual edits of
.env
needed, all settings are managed bysetup.sh
. #577 #604
Upgrade Instructions
See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise
v0.12.0
Notable addition: Custom exports
Many communities want to reward contributors and turn the Praise score into a token distribution. Distribution needs range from ERC-20 token payouts to POAP deliveries to reputation tokens. To create these custom distributions, communities have had to resort to standalone tools such as RAD or plain old spreadsheets.
With this version, Praise introduces custom exports integrated with the Praise Dashboard. The functionality is represents a first iteration of what we hope to later upgrade into a more elaborate set of integrations with external tools and platforms. This version supports some basic calculations / transformations and context parameters.
Below is a short summary of the functionality, see givepraise.xyz for full documentation.
- Create a transformation map:
"name": "Aragon Fixed Budget",
"map": {
"item": {
"address": "ethereumAddress",
"amount": "scoreRealized",
"tokenName": ""
},
"operate": [
{
"run": "(item.amount / totalPraiseScore) * budget",
"on": "amount"
}
],
"each": "(function each(item, context) { item.tokenName = context.token; return item; })(item, context)"
},
"context": {
"budget": "number",
"token": "string"
},
"filterColumn": "address"
}
- Configure Praise to use the map and any context parameters:
- Initiate the export from the Periods page:
Added
- API: Custom praise exports using transformation maps that can perform calculations on Praise data #549 #532
- Frontend: New items on the main navigation #596 #430
- Give us feedback
- Latest changes
- Docs
Fixed
- API: Fix/evenly assign quantifiers prevent overlap #573 #535
- Frontend: Custom emojis get the wrong size when displayed in Praise dashboard #592
- API: Settings are now allowed to have empty values #597
- Frontend: Update Search Input in dark mode #594
- Frontend: Add a
replace
option to NavItem to better handle subpage navigation and backlink clicks #579 - Frontend: Fix quantifier dark mode and correct onclick behaviour #588
- Frontend: Better darkmode looks for analytics #570
- Frontend: Show placeholder while loading avatar image #574
Upgrade Instructions
See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise
v0.11.2
Hotfix resolving a version string issue.
See also: v0.11.0
Upgrade Instructions
See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise
v0.11.1
Hotfix resolving an issue with building Docker images for production.
See also: v0.11.0
Upgrade Instructions
See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise
v0.11.0
This version among other things introduces the possibility to restrict praising to certain Discord channels as well as an analytics dashboard for quantification periods.
Added
- Frontend: Period analytics - graph and stats about the current quantification period. Stats include top scored praise, top givers and receivers by number and score, quantifiers by score, quantifier scoring distribution and quantification spread. #351 #551
- Discord Bot: New setting that allows restricting praise to certain Discord channels. #264 #452
- Discord Bot: Message to first time praisers. The default message contains a greeting and a link to the documentation: https://givepraise.xyz/docs/writing-excellent-praise. #516
- Frontend: Notify Administrators when there is a new version of Praise out. Adds a notification bar at the top of the screen when a new version is out. #493 #522
- Devops: Upgraded server scripts. Now includes scripts for resetting the installation, doing backups, upgrading, etc. https://givepraise.xyz/docs/server-setup/server-scripts #531
Fixed
- Frontend: The User page should remember state when navigating to the User detail page and back #494 #519
- API: Added tests for quantifying multiple praise. #515
- API: Remove statically-defined users from application seeder #500 #520
- Discord Bot: Some praise bot messages that currently are public should be ephemeral #496 #521
- Frontend: Recoil upgrade and overall refactor of frontend #523
- Frontend: Improve UI of table in QuantifyPeriodPage #505 #527
- Frontend: Refactor: Replace day picker with builtin #483 #529
- API: Make several attempts to assign praise to quantifiers if first one fails. #497 #533
- Frontend: Refactor UI components to reduce code duplication. #482 #536
- Frontend: Make UI look better on small screens. #480 #546
- Frontend: Allow header banner messages to be closed #528 #541
- API: Re-introduces the enforcement of validation rules when creating periods. New periods must be created at least 7 days after the previous/latest period. #518 #550
- Frontend: Upgraded Caddy, the web server that serves the frontend to v2.5.2. The upgrade amongst others resolves a minor security vulnerability.
Upgrade Instructions
See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise
v0.10.0
Added
- Admins can replace an actively assigned quantifier with another #432 #503
- Additional test coverage for api
- Freetext filter of quantification list #422
- Quantify multiple items at the same time #499
Fixed
- Seeder generates periods and praise in the past, not future
- Remove check that was throwing an error when not all quantifiers were assigned praise and
PRAISE_QUANTIFIERS_ASSIGN_ALL
was enabled #492 #498 - Codebase cleanup, documentation and refactor #509
Upgrade Instructions
See standard upgrade instructions at: https://givepraise.xyz/docs/setup/upgrade-praise
v0.9.0
Added
- Filter, search and sort the event log #376 #455
- Dark mode! #420 #453
- Export the user list as csv #402 #450
- Option to turn on/off the Discord role requirement for Praise givers #419 #434 #440
- Support multiple wallets: WalletConneect, Trust, Rainbow etc #424
- Option to assign praise evenly between all quantifiers #263
- More verbose output from the
/admin announce
command #317 #441 - Option to disable self-praise (#464)
Fixed
- Improve dapp responsiviness #190 #356
- Opening dialog to mark praise as duplicate should place focus on input #80
- Prevent Quantify Table from overflowing content area #458
- Ensure human-readable praise reason is included in exported csv #467
- Prevent unncessary import of mongoose package by frontend #466
- Switching eth wallet should result in logging out the user #469
- Logging out of MetaMask causes EthAccount in navigation to disappear #470
- Changed lodash imports to single method import #486