Version 1.0.28 (unreleased) -------------- New features: * Search in activity stream * Search in comments * Search by task creator * Added command line utility to reset user password and to disable 2FA Improvements: * Added parameters for overdue tasks notifications: group by projects and send only to managers * Allow people to install Kanboard outside of the DocumentRoot * Allow plugins to be loaded from another folder * Filter/Lexer/QueryBuilder refactoring Bug fixes: * Fixed form submission with Meta+Enter keyboard shortcut * Removed PHP notices in comment suppression view Version 1.0.27 -------------- New features: * Added Markdown editor * Added user avatars with pluggable system - Default is a letter based avatar - Gravatar - Avatar Image upload * Added Korean translation Improvements: * Added more logging for LDAP client * Improve schema migration process * Improve notification configuration form * Handle state in OAuth2 client * Allow to use the original template in overridden templates * Unification of the project header * Refactoring of Javascript code * Improve comments design * Improve task summary sections * Put back the action sidebar in task view * Added support for multiple placeholders for LDAP_USER_FILTER * Added local file link provider * Show configuration in settings page * Added "?" to display list of keyboard shortcuts * Added new keyboard shortcuts for task view * Always display project name and task title in task views * Improve automatic action creation * Move notifications to the bottom of the screen * Added the possibility to import automatic actions from another project * Added Ajax loading icon for submit buttons * Added support for HTTP header "X-Forwarded-Proto: https" Bug fixes: * Fix bad unique constraints in Mysql table user_has_notifications * Force integer type for aggregated metrics (Burndown chart concat values instead of summing) * Fixes cycle time calculation when the start date is defined in the future * Access allowed to any tasks from the shared public board by changing the URL parameters * Fix invalid user filter for API procedure createLdapUser() * Ambiguous column name with very old version of Sqlite Version 1.0.26 -------------- Breaking changes: * API procedures: - "moveColumnUp" and "moveColumnDown" are replaced by "changeColumnPosition" - "moveSwimlaneUp" and "moveSwimlaneDown" are replaced by "changeSwimlanePosition" New features: * Add drag and drop to change subtasks, swimlanes and columns positions * Add file drag and drop and asynchronous upload * Enable/Disable users * Add setting option to disable private projects * Add new config option to disable logout Improvements: * Use inline popup to create new columns * Improve filter box design * Improve image thumbnails and files table * Add confirmation inline popup to remove custom filter * Increase client_max_body_size value for Nginx * Split Board model into multiple classes * Improve logging for the Docker image Bug fixes: * Fix PHP notices during creation of first project and in subtasks table * Fix filter dropdown not accessible when there are too many items * Fix regression: unable to change project in "task move/duplicate to another project" Version 1.0.25 -------------- Breaking changes: * Core functionalities moved to external plugins: - Google Auth: https://github.com/kanboard/plugin-google-auth - Github Auth: https://github.com/kanboard/plugin-github-auth - Gitlab Auth: https://github.com/kanboard/plugin-gitlab-auth New features: * When creating a new project, have the possibility to select another project to duplicate * Add a "Me" button to assignee form element * Add external links for tasks with plugin api * Add project owner (Directly Responsible Individual) * Add configurable task priority * Add Greek translation * Add automatic actions to close tasks with no activity * Add automatic actions to send an email when there is no activity on a task * Regroup all daily background tasks in one command: "cronjob" * Add task dropdown menu on listing pages Improvements: * New Dockerfile based on Alpine Linux and Nginx/PHP-FPM * The date time format can be chosen in application settings * Export only open tasks in iCal feed * Remove time form on task summary page and move that to task edit form * Replace box shadow by a larger border width when a task is recently modified * Do not refresh the whole page when changing subtask status * Add dropdown menu with inline popup for all task actions * Change sidebar style * Change task summary layout * Use inline popup for subtasks, categories, swimlanes, actions and columns * Move homepage menus to the user dropdown * Have a new task assigned to the creator by default instead of "no assignee" * Show progress for task links in board tooltips * Simplify code to handle ajax popover and redirects * Simplify layout and templates generation * Move task form elements to Task helper Bug fixes: * Category label is broken on the board if there's a url in the description * Fix pagination on task time tracking page Version 1.0.24 -------------- New features: * Forgot Password * Add drop-down menu on each board column title to close all tasks * Add Malay language * Add new API procedures for groups, roles, project permissions and to move/duplicate tasks to another project Improvements: * Avoid to send XHR request when a task has not moved after a drag and drop * Set maximum dropzone height when the individual column scrolling is disabled * Always show the search box in board selector * Replace logout link by a drop-down menu * Handle notification for group members attached to a project * Return the highest role for a project when a user is member of multiple groups * Show in user interface the saving state of the task * Add drop-down menu for subtasks, categories, swimlanes, columns, custom filters, task links and groups * Add new template hooks * Application settings are not cached anymore in the session * Do not check board status during task move * Move validators to a separate namespace * Improve and write unit tests for reports * Reduce the number of SQL queries for project daily column stats * Remove event subscriber to update date_moved field * Make sure that some event subscribers are not executed multiple times * Show rendering time of individual templates when debug mode is enabled * Make sure that no events are fired if nothing has been modified in the task * Make dashboard section title clickable * Add unit tests for LastLogin Bug fixes: * Automatic action listeners were using the same instance * Fix wrong link for category in task footer * Unable to set currency rate with Postgres database * Avoid automatic actions that change the color to fire subsequent events * Unable to unassign a task from the API * Revert back previous optimizations of TaskPosition (incompatibility with some environment) Version 1.0.23 -------------- Breaking changes: * Plugin API changes for Automatic Actions * Automatic Action to close a task doesn't have the column parameter anymore (use the action "Close a task in a specific column") * Action name stored in the database is now the absolute class name * Core functionalities moved to external plugins: - Github Webhook: https://github.com/kanboard/plugin-github-webhook - Gitlab Webhook: https://github.com/kanboard/plugin-gitlab-webhook - Bitbucket Webhook: https://github.com/kanboard/plugin-bitbucket-webhook New features: * Added support of user mentions (@username) * Added report to compare working hours between open and closed tasks * Added the possibility to define custom routes from plugins * Added new method to remove metadata Improvements: * Improve Two-Factor activation and plugin API * Improving performance during task position change (SQL queries are 3 times faster than before) * Do not show window scrollbars when individual column scrolling is enabled * Automatic Actions code improvements and unit tests * Increase action name column length in actions table Bug fixes: * Fix compatibility issue with FreeBSD for session.hash_function parameter * Fix wrong constant name that causes a PHP error in project management section * Fix pagination in group members listing * Avoid PHP error when enabling LDAP group provider with PHP < 5.5 Version 1.0.22 -------------- Breaking changes: * LDAP configuration parameters changes (See documentation) * SQL table changes: - "users" table: added new column "role" and removed columns "is_admin" and "is_project_admin" - "project_has_users" table: replaced column "is_owner" with column "role" - Sqlite does not support alter table, old columns still there but unused * API procedure changes: - createUser - createLdapUser - updateUser - updateTask * Event removed: "session.bootstrap", use "app.boostrap" instead New features: * Add pluggable authentication and authorization system (complete rewrite) * Add groups (teams/organization) * Add LDAP groups synchronization * Add project group permissions * Add new project role Viewer * Add generic LDAP client library * Add search query attribute for task link * Add the possibility to define API token in config file * Add capability to reopen Gitlab issues * Try to load config.php from /data if not available Version 1.0.21 -------------- Breaking changes: * Projects with duplicate names are now allowed: - For Postgres and Mysql the unique constraint is removed by database migration - However Sqlite does not support alter table, only new databases will have the unique constraint removed New features: * New automatic action: Assign a category based on a link * Added Bosnian translation Improvements: * Dropdown menu entries are now clickable outside of the html link * Improve error handling of plugins * Use PHP7 function random_bytes() to generate tokens if available * CSV task export show the assignee name in addition to the assignee username * Add new hooks for plugins * Remove workaround for "INSERT ON DUPLICATE KEY UPDATE..." Internal code refactoring: * Rewrite of session management * Move some classes to a new namespace Kanboard\Core\Http Bug fixes: * Loading cs_CZ locale display the wrong language in datetime picker * Datepicker is closed unexpectedly on blur event * Fix bug in daily project summary CSV export * Fix PHP error when adding a new user with email notification enabled * Add missing template for activity stream to show event "file.create" * Fix wrong value for PLUGINS_DIR in config.default.php * Make CSV export compatible with PHP 5.3 * Avoid Safari to append .html at the end of downloaded files Version 1.0.20 -------------- Breaking changes: * Add namespace Kanboard (update your plugins) * Move Mailgun, Sendgrid, Postmark, Slack, Hipchat and Jabber to plugins * ReverseProxy authentication check for each request that the username match the user session New features: * Add CSV import for users and tasks * Add Task, User and Project metadata for plugin creators Improvements: * Allow to change comments sorting * Add the possibility to append or not custom filters * Make mail transports pluggable * Do not show scroll-bars when a column is collapsed on Windows systems * Regenerate thumbnails if missing Bug fixes: * People should not see any tasks during a search when they are not associated to a project * Avoid disabling the default swimlane during renaming when there is no other activated swimlane Version 1.0.19 -------------- New features: * Added web notifications * Added LDAP group sync * Added swimlane description * New plugin system (alpha) * Added Bahasa Indonesia translation * Added API procedures: getMyOverdueTasks, getOverdueTasksByProject and GetMyProjects * Added user API access for procedure getProjectActivity() * Added config parameter to enable/disable Syslog * Added custom filters * Added http client proxy support Core functionalities moved to plugins: * Budget planning: https://github.com/kanboard/plugin-budget * SubtaskForecast: https://github.com/kanboard/plugin-subtask-forecast * Timetable: https://github.com/kanboard/plugin-timetable Improvements: * When duplicating a task redirect to the new task * Include more shortcut links into the view "My projects" * Duplicate a project with tasks will copy the new tasks in the same columns * Offer alternative method to create Mysql and Postgres databases (import sql dump) * Make sure there is always a trailing slash for application_url * Do not show the checkbox "Show default swimlane" when there is no active swimlanes * Append filters instead of replacing value for users and categories drop-downs * Do not show empty swimlanes in public view * Change swimlane layout to save space on the screen * Add the possibility to set/unset max column height (column scrolling) * Show "Open this task" in drop-down menu for closed tasks * Show assignee on card only when someone is assigned (hide nobody text) * Highlight selected item in drop-down menus * Gantt chart: change bar color according to task progress * Replace color drop-down by color picker in task forms * Creating another task stay in the popover (no full page refresh anymore) * Avoid scrollbar in Gantt chart for row title on Windows platform * Remove unnecessary margin for calendar header * Show localized documentation if available * Add event subtask.delete * Add abstract storage layer * Add abstract cache layer * Add Docker tag for stable version Others: * Data directory permission are not checked anymore * Data directory is not mandatory anymore for people that use a remote database and remote object storage Bug fixes: * Fix typo in template that prevents Gitlab OAuth link to be displayed * Fix Markdown preview links focus * Avoid drop-down menu to be truncated inside a column with scrolling * Deleting subtask doesn't update task time tracking * Fix Mysql error about gitlab_id when creating remote user * Fix subtask timer bug (event called recursively) * Fix Postgres issue "Cardinality violation" when there is multiple "is_milestone_of" links * Fix issue with due date greater than year 2038 Version 1.0.18 -------------- New features: * Include documentation in the application * Add Gitlab authentication * Add users and categories filters on the board * Add hide/show columns * Add Gantt chart for projects and tasks * Add new role "Project Administrator" * Add login brute force protection with captcha and account lockdown * Add new api procedures: getDefaultTaskColor(), getDefaultTaskColors() and getColorList() * Add user api access * Add config parameter to define session duration * Add config parameter to disable/enable RememberMe authentication * Add start/end date for projects * Add new automated action to change task color based on the task link * Add milestone marker in board task * Add search for task title when using an integer only input * Add Portuguese (European) translation * Add Norwegian translation Improvements: * Add handle to move tasks on touch devices * Improve file attachments tooltip on the board * Adjust automatically the height of the placeholder during drag and drop * Show all tasks when using no search criteria * Add column vertical scrolling * Set dynamically column height based on viewport size * Enable support for Github Enterprise when using Github Authentication * Update iCalendar library to display organizer name * Improve sidebar menus * Add no referrer policy in meta tags * Run automated unit tests with Sqlite/Mysql/Postgres on Travis-ci * Add Makefile and remove the "scripts" directory Bug fixes: * Wrong template name for subtasks tooltip due to previous refactoring * Fix broken url for closed tasks in project view * Fix permission issue when changing the url manually * Fix bug task estimate is reset when using subtask timer * Fix screenshot feature with Firefox 40 * Fix bug when uploading files with Cyrilic characters Version 1.0.17 -------------- New features: * Added url rewrite and new routes * Added new search engine with advanced syntax * Added global search section * Added search form on the dashboard * Added new dashboard layout * Added new layout for board/calendar/list views * Added filters helper for search forms * Added setting option to disable subtask timer * Added setting option to include or exclude closed tasks into CFD * Added setting option to define the default task color * Added new config option to disable automatic creation of LDAP accounts * Added loading icon on board view * Prompt user when moving or duplicate a task to another project * Added current values when moving/duplicate a task to another project and add a loading icon * Added memory consumption to debug log * Added form to create remote user * Added edit form for user authentication * Added config option to hide login form * Display OAuth2 urls on integration page * Added keyboard shortcuts to switch between board/calendar/list view * Added keyboard shortcut to focus on the search box * Added Slack channel override * Added new report: Lead and cycle time for projects * Added new report: Average time spent into each column * Added task analytics * Added icon to set the start date automatically * Added datetime picker for start date Improvements: * Updated documentation * Display user initials when tasks are in collapsed mode * Show title in tooltip for collapsed tasks * Improve alert box fadeout to avoid an empty space * Set focus on the drop-down for category popover * Make escape keyboard shortcut global * Check the box remember me by default * Store redirect login url in session instead of using url parameter * Update Gitlab webhook * Do not rewrite remember me cookie for each request * Set the assignee as organizer for ical events * Increase date range for ics export * Reduce spacing on cards * Move board collapse/expand mode to server side to avoid board flickering * Use ajax requests for board collapse/expand * Do not set anchor for the default swimlane on the link back to board * Replace timeserie axis to category axis for charts * Hide task age in compact mode * Improve quick-add subtasks form * Reduce the size of the filter box for smaller screen * Added icon to hide/show sidebar * Update GitLab logo * Improve Dockerfile Translations: * Added Czech translation * Updated Spanish translation * Updated German Translation Bug fixes: * Screenshot drop-down: unexpected scroll down on the board view and focus lost when clicking on the drop zone * No creator when duplicating a task * Avoid the creation of multiple subtask timer for the same task and user Code refactoring: * Split task controller into smaller classes * Remove method Category::getBoardCategories() * Rewrite movePosition() to improve performances * Refactoring of Github and Google authentication Breaking changes: * New OAuth url for Google and Github authentication API: * Add urls in api response for tasks and projects Other: * Added automated Docker build * Remove edit recurrence from the task menu on the board * Switch to MIT License instead of AGPLv3 Version 1.0.0 to 1.0.16 ----------------------- * See commit history and website news