Version 1.2.35 (February 2, 2024) --------------------------------- * Add missing HTML escaping when showing group membership in user profile ([CVE-2024-22720](https://github.com/kanboard/kanboard/security/advisories/GHSA-8p3h-v7fc-xppj)) * Update Dutch translation * Update Bulgarian translation * Bump `phpunit/phpunit` from `9.6.15` to `9.6.16` * Bump `symfony/console` from `5.4.32` to `5.4.34` Version 1.2.34 (December 13, 2023) ---------------------------------- * Upgrade Docker image to Alpine 3.19 and PHP 8.3 * API: Avoid PHP notice when searching for a project name that does not exist * Update Bulgarian translation * Bump `symfony/console` from `5.4.28` to `5.4.32` * Bump `phpunit/phpunit` from `9.6.13` to `9.6.15` Version 1.2.33 (October 15, 2023) --------------------------------- * Do not close modals when clicking on the background * Add Bulgarian translation * Update Ukrainian and Russian translations * Show the two factor form in the middle of the screen like the login form does * Do not override the `creator_id` with the current logged user if the task is imported * Add basic Dev Container configs * Add adaptive SVG favicon and more SVG variants: * See https://web.dev/building-an-adaptive-favicon/ * Added more variant of the original Inkscape icon: - Text SVG - Vectorized text path SVG - Optimized SVG icon * Remove `project_id` from task links (A few were missed in #4892) * Remove unused and invalid method in `ProjectModel` * Update `phpunit/phpunit` and `symfony/*` dependencies * Update vendor folder Version 1.2.32 (July 11, 2023) ------------------------------ * Fix unexpected EventDispatcher exception in cronjob and during logout * Integration Tests: Run `apt update` before installing Apache * Automatic action `TaskMoveColumnClosed` does not log column movement * Tweak Sqlite connection settings to reduce database locked errors * Bump `phpunit/phpunit` from `9.6.9` to `9.6.10` Version 1.2.31 (July 3, 2023) ----------------------------- Security Fixes: - [CVE-2023-36813: Avoid potential SQL injections without breaking compatibility with plugins](https://github.com/kanboard/kanboard/security/advisories/GHSA-9gvq-78jp-jxcx) Other fixes and updates: - Run tests with PHP 8 on GitHub Actions - Bump Symfony dependencies - Update Composer dependencies to be able to run tests with PHP 8.2 - Add `/usr/bin/php` symlink in the Docker image - Replace usage of `at()` matcher with alternatives in unit tests - Adjust plugin directory test case to work on released versions - Fix incorrect background dynamic property in captcha library - Update translations Version 1.2.30 (June 2, 2023) ----------------------------- Security Fixes: - [CVE-2023-33956: Parameter based Indirect Object Referencing leading to private file exposure](https://github.com/kanboard/kanboard/security/advisories/GHSA-r36m-44gg-wxg2) - [CVE-2023-33968: Missing access control allows user to move and duplicate tasks to any project in the software](https://github.com/kanboard/kanboard/security/advisories/GHSA-gf8r-4p6m-v8vr) - [CVE-2023-33969: Stored XSS in the Task External Link Functionality](https://github.com/kanboard/kanboard/security/advisories/GHSA-8qvf-9847-gpc9) - [CVE-2023-33970: Missing access control in internal task links feature](https://github.com/kanboard/kanboard/security/advisories/GHSA-wfch-8rhv-v286) Other Fixes: - Avoid PHP warning caused by `session_regenerate_id()` - Avoid CSS issue when upgrading to v1.2.29 without flushing user sessions Version 1.2.29 (May 23, 2023) ----------------------------- * Avoid potential clipboard based cross-site scripting ([CVE-2023-32685](https://github.com/kanboard/kanboard/security/advisories/GHSA-hjmw-gm82-r4gv)) * Upgrade Docker image to PHP 8.2 and Alpine 3.18 * Add themes support: dark, light and automatic mode * Fix broken "Hide this Column" feature * Do not close modals when clicking on the background if the form has changed * Fix incorrect route for "My Activity Stream" * Fix incorrect parameter encoding when using URLs rewriting * Add support for task links in Markdown headings * Handle 413 responses from Nginx when uploading files too large * Restore all previously loaded translations when sending user notifications * Regenerate session ID after successful authentication * Use `SESSION_DURATION` option to define the session lifetime stored in the database - The option `SESSION_DURATION` is used to define the cookie lifetime. - With this change, Kanboard will try to use first `SESSION_DURATION` instead of the default `session.gc_maxlifetime` value. * Bump `phpunit/phpunit` from `9.6.6` to `9.6.8` Version 1.2.28 (April 8, 2023) ------------------------------ * Trigger `EVENT_MOVE_COLUMN` event when moving task to another swimlane * Allow moving closed tasks when using the API * Duplicate external links when duplicating tasks * Add support for comparison operator to priority filter * Prevents users to convert subtaks to tasks when custom role does not allow it * Avoid deprecation messages when sending an email with PHP 8.2 * Declare most common routes to have nice URLs * Improve wording of bulk action modal to move tasks position * Allow closing modals by clicking on the background * Improve wording of the menu to close all tasks in a given column/swimlane * Fix bug that prevent reordering subtasks after changing the status * Bump version of `phpunit/phpunit`, `symfony/stopwatch`, and `symfony/finder` * Use `GITHUB_TOKEN` instead of a personal token to run GitHub Actions * Duplicate attachments & external links during task duplication & importing * Move Docker image to run automated tests to GitHub Registry * Push Docker images to an additional registry Quay.io (RedHat) * Use the appropriate config for the start column in user iCal export * Improved translations Version 1.2.27 (March 5, 2023) ------------------------------ - Fix category filter when the category name is a number - Better handling of max file upload size according to PHP settings - Allow unlimited size - Better parsing of PHP size - Add dropdown menu on the board to reorder tasks by ID - Separate `font-family` specification for input and textarea. This avoids the use of `!important` in custom CSS - Change the total number of tasks displayed in the table header to match the description "Total number of tasks in this column across all swimlanes" - Allow full name to be retrieved by the reverse proxy authentication - Fix `pull-right` CSS class alignment - Use a separate dropdown menu for column sorting - Use `assertEqualsWithDelta()` to test `time_spent` - Add `color_id` argument to tag API procedures - Update task time spent/estimated when removing a subtask - Command `db:migrate` should work even if `DB_RUN_MIGRATIONS` is false - Always trim the username before saving changes in the database - Avoid Postgres SQL error when using project filter with a large integer - Enable Sqlite WAL mode by default: - WAL provides more concurrency as readers do not block writers and, a writer does not block readers. Reading and writing can proceed concurrently. This change might reduce the number of errors related to locked databases. - Update translations - Update PHP dependencies: `phpunit/phpunit`, `symfony/stopwatch` and `symfony/finder` Version 1.2.26 (January 14, 2023) --------------------------------- - Fire events after `TaskMoveColumnOnDueDate` action - Update date parsing logic to be compatible with PHP 8.2 - Fix potential XSS on the Settings / API page - Use wildcard operator for tag filter - Fix broken user mentions in popup comment form - Test Docker image build on pull-requests - Bump Alpine Linux Docker image from 3.16 to 3.17 - Update translations - Fixed a bug about unselecting in the file `list-item-selection.js` - Add functionality to import tasks from a project - Add missing jQuery UI CSS dependency Version 1.2.25 (November 12, 2022) ---------------------------------- - Add experimental support for Microsoft SQL Server - Add Open Container labels to Dockerfile - Update links to the new documentation website - Update German translation Version 1.2.24 (October 9, 2022) -------------------------------- * Fixed deprecation warnings when a project or a task description is null * Fixed missing condition in `TaskAssignDueDateOnMoveColumn` action * Fixed Reopening of dropdown menus * Fixed internal link creation on subtask to task conversion if language is not English * Use a HMAC to sign and validate CSRF tokens, instead of generating random ones and storing them in the session data * Set explicitly the time picker control to select instead of slider * Bump `phpunit/phpunit` from `9.5.24` to `9.5.25` * Bump `symfony/stopwatch` from `5.4.5` to `5.4.13` * Moved `version.txt` to `app` folder * Updated translations Version 1.2.23 (September 4, 2022) ---------------------------------- * Open SVG, Ogg, and some video file attachments in browser * Added more video, music, code and spreadsheet extensions to show better file attachment icons * Updated jQuery to latest stable version * Updated Docker image to PHP 8.1 and Alpine Linux 3.16 * Renamed default branch from `master` to `main` * Bumped `phpunit/phpunit` from `9.5.14` to `9.5.23` * Bumped `symfony/finder` from `5.4.3` to `5.4.11` * Fixed subtask translation when using different languages * Added Project Overview document template hook * Updated translations * Fixed wrong foreign key constraint on table `subtask_time_tracking table`. The constraints references a no-longer-existing table `task_has_subtasks` * Fixed regression regarding subtask reordering * Changed minimum requirement to PHP 7.4 - PHP versions lower than 7.4 are end-of-life: https://www.php.net/supported-versions.php - Libraries used by Kanboard have dropped support for older versions of PHP Version 1.2.22 (February 12, 2022) ---------------------------------- * Add support for PHP 8.x (Minimum requirement is now PHP >= 7.4) * Remove `project_id` from task URLs * Update `da_DK` translations * Add automatic action to set the due date when the task is moved away from a specific column * Condense wording on inferred action and update translations * Add EVENT_CREATE and EVENT_CREATE_UPDATE events to TaskMoveColumnCategoryChange action Version 1.2.21 (December 16, 2021) ---------------------------------- * Fix and update Composer autoload * Add plugin hook for document attachments * Improve board column header alignment * Ignore `project_id` for file attachments download URL (already checked elsewhere) * Update translations * Clarify meaning of `LDAP_USER_CREATION` in `config.default.php` * Fix wrong internal link when converting a subtask to task (MySQL only) * Use the overridable Markdown parser for previews * Update `call_user_func_array()` calls to be compatible with PHP 8 * Enable external group synchronization deactivation * Fix tooltip shifting on long descriptions * Add `position` argument to API procedure `updateSubtask()` * Bump Docker image to Alpine 3.15.0 * Bump `symfony/stopwatch` to 5.4.0 * Bump `pimple/pimple` to 3.5.0 Version 1.2.20 (June 8, 2021) ----------------------------- * Duplicate tags when moving or duplicating tasks to another project * Bump symfony/stopwatch to 5.3.0 * Avoid user enumeration by using avatar image URL * Invalidate captcha after it is used * Avoid user enumeration using password reset functionality * Add missing CSRF checks * Fix bug in search when using the plus sign * Close dialogs using Escape key even if focus is in input field * Add a min="0" attribute to task_list form input * Keep swimlane headers at the top * Catch error when trying to upload empty or invalid avatar image * Added new template hooks * Update translations Version 1.2.19 (April 16, 2021) ------------------------------- * Trim user agent for RememberMe sessions because MySQL use a varchar(255) column * Update Docker image to Alpine 3.13.4 * Added "Deutsch (du)" language * Fixed `createLdapUser` API procedure when LDAP groups are not configured * Write RememberMe cookie only after the two-factor code has been validated * Avoid warning when removing a plugin zip archive * Update Hungarian translation * Add new hook `model:task:duplication:aftersave` * Bump symfony/stopwatch from 5.2.3 to 5.2.4 * Bump pimple/pimple from 3.3.1 to 3.4.0 * Bump gregwar/captcha from 1.1.8 to 1.1.9 * Added new analytic component: "Estimated vs actual time per column" * Do not retain any changes between shared plugins variables * Display number of tasks according to filter * Add support for LDAP protocol/host/port configuration by URL; make `BASE_DN` optional - `ldap_connect($host, $port)` function signature is deprecated - Querying an AD Global Catalog across an entire forest requires an empty base DN * Use an absolute file path in `AssetHelper` class for `css()` & `js()` functions * Remove whitespace at the end of `APP_VERSION` constant * Add IP address to authentication error logs * Add interpolation expressions to e-mail subject in automatic action "Send a task by email to someone" - For example: `Email subject = {{column_title}}: {{title}} (#{{id}})` * Add Hungarian Forint to the list of currencies Version 1.2.18 (December 28, 2020) ---------------------------------- * Sqlite migrations should have foreign keys disabled outside the transaction => Existing behavior could lead to data loss if schema is changed => If you are using Sqlite, skip version 1.2.17, upgrade directly to v1.2.18 * Use more secure default Nginx SSL configuration in Docker image * Update vendor folder * Add missing pt_br translations * Update ja_JP translations Version 1.2.17 (December 27, 2020) ---------------------------------- * Fix grammatical errors * Add autocomplete attribute to HTML forms * Added "Mexican Peso" to the list of currencies * Added an option to send a copy of all generated e-mails to a BCC address * Don't force role of users if no LDAP groups defined * Keep the tags when converting a subtask to task * Bump symfony/stopwatch from 5.1.8 to 5.2.0 * Bump pimple/pimple from 3.3.0 to 3.3.1 * Bump symfony/stopwatch from 5.2.0 to 5.2.1 * Publish Docker images to GitHub container registry in addition to Docker Hub * Use Github Actions to publish Docker images * Check if the user is assigned to any role in the project * Fix tasks.swimlane_id foreign key for Sqlite * Remove unused namespaces * Add mk_MK (Macedonian) translation * Update translations Version 1.2.16 (October 9, 2020) -------------------------------- * Update Composer dependencies * Update translations * Add link to toggle column scrolling in board view * Add missing environment variables in php-fpm config * Add setting that makes possible any new LDAP user to be Manager by default * Add ARIA label to modal link with title attribute * Add ARIA label to user mention * Add ARIA label to letter avatars * Add ARIA label to project select role without label * Add ARIA label to dropdown autocomplete without label * Add ARIA label to form text editor without label * Add ARIA label to icons with title attributes * Add ARIA label for form inputs without labels * Add ARIA label for elements with titles * Add hidden accessible form input labels * Add hidden accessible titles * Hide user name from screen readers * Correct table collapsed column titles * Prevent the original page from being modified by the opened link * Allow email to be retrieve by SSO ReverseProxy * Fix grammatically incorrect error message * Add option to configure SMTP HELO name * Add new config parameter SESSION_HANDLER * Fix clearing of all Javascript storage * Added standard notification footer to comment email template Version 1.2.15 (June 19, 2020) ------------------------------ * Update dependencies * Added PUT method using CURLOPT_CUSTOMREQUEST * Run integration tests on Github Actions * Fixed capitalization of sAMAccountName for LDAP_USER_ATTRIBUTE_USERNAME example * Added missing closing HTML tag in template * Update Docker image to Alpine 3.12 * Removed paragonie/random_compat (not required for PHP 7) * Setup Dependabot on GitHub * Allow use of the user's DN as the group filter substitution * Add subtask events to ProjectModificationDateSubscriber * Update Vagrantfile to Ubuntu 20.04 * Open large modal when clicking on edit category link * Set margin-bottom at 0 only for the last child of a tooltip element * Prevent last swimlane to be hidden if there is only one * Execute tooltip listeners only once when the DOM is ready * Use Ajax request for Markdown preview * Make tooltip events bubble * Keep newlines in markdown * Show the color dropdown when creating a new automatic action * Update translations * Correct duration calculation * Copy subtask assignee when duplicating a task * Save task list order in user session * Add action to assign a user when the swimlane change Version 1.2.14 (April 15, 2020) ------------------------------- * Update translations * Add new event subtask.create_update * Replace Travis CI by GitHub Actions * Add option to enable or disable global tags per projects * Show group membership(s) in user summary and user list * Docker: use real hostname instead of "localhost" * Add new task/project image hooks * Fix invalid RSS feed encoding * Add new plugin hooks * Rename "private" projects to "personal" * Add per-project and per-swimlane task limits * Use parent task color when converting a subtask to task * Add environment variables support to configure the application * Add the possibility to make project tags global from project settings * Fix regex to detect external links with attachments * Use KANBOARD_URL to build URIs if specified * Make time_spent and time_estimated fields editable for updateTask and createTask API calls * Kanboard now requires PHP >= 7.2 since other versions are deprecated * Avoid page shrinking when drag and drop cards on iOS devices * Added a hover color to i elements inside the "dropdown-submenu-open" class * Avoid duplicating Dockerfiles for each architecture Version 1.2.13 (December 15, 2019) ---------------------------------- * Adjust width of time tracking column * Make subtasks not wrap under icons * Make column scrollable in Kanban view * Add composer dependency roave/security-advisories * Add colors to tag and category lists * Update Parsedown to v1.7.3 (security update) * Make sure the elements behind the alert notification are clickable after animation * Make sure incompatible plugins can be uninstalled from the web ui * Move "data-js-lang" attribute to HTML "lang" attribute * Update language codes for time picker so the calendars are translated correctly * Dropdown in project managers view covers heading * Fix date picker datetime parsing when using pre-defined localized versions of am/pm * Show ISO date format in application settings * Datepicker stores its Spanish locales as "es", not "es-ES" or "es-VE" * Increase width of color picker to avoid text overlap in Polish * Close open menu when clicking again on the button * Fix width of filter bar in mobile * In PHP-7.4, nested ternary operators are to be bracketed * Change string indexing from {0} to [0] (deprecated in PHP 7.4) * Update translations Version 1.2.12 (Oct 26, 2019) ----------------------------- * Update Docker image to Alpine Linux 3.10.3 * Add new template hook: "template:project-permission:after-adduser" * Upgrade jQuery to version 3.4.1 * Add Spanish (Venezuela) translation * Removed color_id requirement for tag API calls * Fix subtask restriction modal when clicking on the icon instead of link * Use PHPUnit 5 for Vagrant * Prevent last project manager role from being removed * Check API token before LDAP authentication * Make sure task limit consider all open tasks (not only filtered tasks) * Update translations * Change user filter and category icon * Add "anybody" filter * Disable user scaling to avoid page shrinking when drag&drop on mobile * Fix condition for action "Automatically update the start date when task move away from certain column" * Add tests for task link and subtask assignee filters * Changes filters from in array to subqueries * Add hash to image URL to force browser to update avatar image when changed Version 1.2.11 (Aug 24, 2019) ----------------------------- Breaking Changes: * Internet Explorer support is now deprecated * Add project ID to ExternalTaskProviderInterface::fetch() Fixes and Improvements: * Fixed issue of tooltip not disapearing * Update Docker image to Alpine Linux 3.10.2 * Hide due date time on the card if time is 00:00 * Add new plugin hooks in view switcher * Ignore Dockerfiles from git archive * Remove dependency on nodejs and gulp * Remove dependency on Sass - Convert *.sass files to vanilla CSS - Start using CSS variables - Add PHP minifier * Add link button to text editor * Implements check for duplicate default categories * Implements check for duplicate default columns * Fix HTML parsing in Markdown editor * Change checkboxes alignment in task creation form * Add support for reference:none * Fix tabindexes on task creation and modification forms * Add option to clone filters on project duplication - Fixed missing metadata option from project "create from" - Added option to clone project custom filters - Added append option to custom field tests - Added a test that uses the "append" option - Fixed disabled swimlane duplication error with Postgresql * Update translations * Save thumbnails as PNG to have transparency * New action to update the start date when a task move away from a column * Add the possibility to sort columns by due date * Add "identifier" beside "name" while creating a new project Version 1.2.10 (June 21, 2019) ------------------------------ * Add Auto-Submitted E-mail header as per RFC 8384 * Add HTML tag in email notifications * Add new hook template:export:header * Do not show duplicated results when multiple comments match * Add Docker manifest with multiple architectures (arm32v6, arm32v7, arm64v8, amd64) * Update Docker image to Alpine 3.10.0 * Add View File on popover to tooltip * Fix text file preview * Set "start date" and "end date" on projects from API * Add cURL support to HTTP Client - Add HTTP_PROXY_EXCLUDE option when cURL is used - Show HTTP client backend in about page - Fallback to legacy Stream Contexts if cURL extension is not available * Add Bitcoin to the currency list * Add automatic action to move task between columns based on due date * Fixes icon opacity when hovered * Hide one task count when there is only one swimlane * Update translations Version 1.2.9 (April 5, 2019) ----------------------------- * Add Slovak translation * Update translations * Changes search by reference to case insentive * Fix postgres explicit schema name usage * Simplify local Docker image build * Show a 404 when accessing data folder from URL (Docker Image) * Clarify the comment about MAIL_SMTP_ENCRYPTION * Remove dependency on Bower * Replaces accordion Javascript component by
HTML element * Fix MySQL migration when using increment values different from 1 * Add missing webhook event: task.move.project * Add new actions to reorder tasks by column Version 1.2.8 (February 2, 2019) -------------------------------- Breaking Changes: * Authorize only API tokens when 2FA is enabled (no user password) * Disable by default plugin installer for security reasons: - There is no code review or any approval process to submit a plugin. - This is up to the Kanboard instance owner to validate if a plugin is legit. Fixes and Improvements: * Limit avatar image size * Avoid CSRF in users CSV import * Avoid XSS in pagination sorting * Do not show projects dropdown when prompting the 2FA code * Always returns a 404 instead of 403 to avoid people discovering users * Check if user role has changed while the session is open * Add missing CSRF check in TwoFactorController::deactivate() * Hide edit button when user cannot edit task * Fix permission check before "Assign to me" * Fix permission check before showing project options * Fix assignable users on a group with a custom role * Fix import of automatic actions when parameters are "unassigned" or "no category" * Update license year * Update Docker image to Alpine 3.9 * Update translations * Fix PHP error in task views (tag colors) * Limit assignee drop-down selector scope Version 1.2.7 (December 19, 2018) --------------------------------- * Write log entry on file removal * Auto link duplicated tasks * Auto link tasks duplicated to another project * Auto link tasks created from a subtask * Redirect to board view of the current task after duplication * Fix broken link to contributor page * Add automatic action for moving a task to a swimlane based on category change * Add automatic action to assign a category based on swimlane change * Add ordering comments by id along with creation date * Fix custom roles duplication (source and destination column_id) * Add locale en_GB * New automatic action: move the task to another swimlane when assigned * Disable php_uname() warning for restrictive environments * Add hook to board settings * Add method remove() to settings model * Add php7-bcmath to Docker image * Add sorting by reference in list view * Added priority, swimlane, and column values from parent task to task converted from subtask * Update translations Version 1.2.6 (October 10, 2018) -------------------------------- * Escape table name 'groups' because groups is a reserved word as of MySql 8.0.2 * Reduce number of SQL queries when doing groups sync * Make swimlane filter compatible with numeric title * Duplicate reference fields when duplicating a task * Do not try to redirect to login page when offline * Define fixed width for auto-complete dropdown * Fix task drag and drop slowdown when a column is hidden * Make PLUGINS_DIR absolute in config.default.php * Add custom roles project duplication * Allow 'No assignee' for external task on single user public boards * Add tag and category colors * Exclude task links and user mentions from nesting (Markdown parser) * When forcing HTTPS, handle subfolder URLs properly * Add search within a range of dates for completion, modification, creation, and moved fields * Update Docker image to Alpine Linux 3.8 * Make sure the presense of mod_env is checked in .htaccess * Make HTTP client timeout configurable * Use SET NAMES instead of charset for MySQL connection * Vendoring deprecated Composer libs * Update translations and fix typos Version 1.2.5 (June 15, 2018) ----------------------------- * Update jQuery to latest version * Defer javascript files loading by default * Add quick link "assign me" in different views * Add bulk task operations in list view * Add checkboxes in list view to move tasks to another column at once * Make sure automatic actions are applied to all tasks when using bulk operations * Add ability to run cron jobs by calling URL * Add basic print stylesheet * Add dashboard and search task footer hooks * Reword project settings label * Improve Docker image config overrides * Fix cronjob in Docker image * Increase Nginx fastcgi buffers for Docker image * Increase size of the "users.language" column * Update translations and improve English texts Version 1.2.4 (May 16, 2018) ---------------------------- * Rewrite tooltip code without jQuery * Update Parsedown library * Remove all attachments when removing a project * Improve whitespace handling in "cli locale:compare" command * Don't markdown project owner's name in header tooltip * Add SSL to Docker image * Avoid people to remove themselves from project permissions * Fix escaping issue in Markdown editor * Add data/config.php to .gitignore * Clarified text label for notification settings * Add Ukrainian translation * Do not show inactive users in group members dropdown * Improve dashboard pagination * Make list view more compact * Hide private projects checkbox if the feature is disabled * Make cli locale commands working outside of source tree * Make subtask title text field wider when editing subtasks * Add link to open images in a new tab * Make hardcoded hours string translatable * Translation updates Version 1.2.3 (April 18, 2018) ------------------------------ New features: * Add Project MetaData API calls * Add default filter per user Improvements: * Use utf8mb4 encoding for MySQL instead of utf8 (Emoji support) * Increase text fields length in several tables * Move documentation to https://docs.kanboard.org/ * Make sure no empty group is submitted on project permissions page * Translate subtasks status and internal links labels in notifications * Add link to tasks and projects in overdue notifications * Add missing translations * Move custom libs to the source tree Bug fixes: * Fix margin for task recurrence tooltip Version 1.2.2 (March 30, 2018) ------------------------------ Improvements: * Add thumbnail quality parameter (default to 95) * Always display SQL errors * Move SimpleLogger lib into app source tree * Add system log driver and use it by default * Display exceptions from plugins while refreshing board * Redirect to original URL after OAuth login * Add author name and email arguments to mail client * Improve HTTP client to raise exceptions * Update translations Bug fixes: * Fix broken daily summary export * Fix role precedence in LDAP integration Version 1.2.1 (February 28, 2018) --------------------------------- New features: * Add automatic action to change column once a start date is reached * Add automatic action to change color once start date is reached * Add CSS class to categories to allow custom styling * Add option to disable Mysql SSL server verification * Add timeout parameter for database connection * Add error log for authentication failure to allow fail2ban integration Improvements: * Set the correct swimlane/column ID when moving a task via its internal dialog * Allow filtering for tasks without due date * Add plugin hook 'aftersave' after creating Task * Run SessionHandler::write() into a transaction * Remove dependency on PicoFeed * Add CSRF check for task and project files upload * Add missing CSRF check on avatar upload form * Add missing CSRF check in saveUploadDB() method * Update Vagrantfile to use Ubuntu Xenial * Send event author in webhook notification * Update translations * Update documentation Version 1.2.0 (December 27, 2017) --------------------------------- Breaking changes: * Kanboard supports only PHP >= 5.6 (PHP 5.3, 5.4 and 5.5 are not supported anymore) New features: * PHP sessions are now stored into the database, In this way, it's easier to run Kanboard behind a load-balancer Improvements: * Copy category from parent task when creating a task from a subtask * Translation updates and improvements Version 1.1.1 (December 9, 2017) -------------------------------- Breaking changes: * The Docker tag "stable" is not used anymore, instead use a specific version tag * Task limit apply across all swimlanes * Kanboard is now using the domain kanboard.org New features: * New automatic action to create a subtask assigned to the creator and start the timer * New automatic action to stop the timer of subtasks * Add command line tool to remove project activities after one year * Add command line tool to disable projects not touched during one year * Add config option to exclude fields from auth providers sync * Add new plugin hooks Improvements: * Open audio files in a new tab * Upgrade Docker image to Alpine Linux 3.7 * Improve Docker build to use Docker Hub hooks * The application version is now included into the Docker image * Disable private projects when disabling a user * Allow administrators to update username of remote users * Improve layout on mobile/tablet devices * Changed board column headings to show swimlane-column total in bold * Enable dragging to collapsed columns * Add missing checks for requirements Bug fixes: * Add class "js-modal-replace" to icons to make it clickable * Improve permission checks on custom filters page to avoid forbidden access Version 1.1.0 (November 20, 2017) --------------------------------- Breaking changes: * Remove feature "Allow everybody to access to this project" (You must define project members and groups) * Composer dependencies are now included in the repository to be able to use git-archive (except development dependencies) New features: * Add predefined templates for task descriptions * Add the possibility to send tasks and comments to multiple recipients * Add users, groups and projects search * Add command line argument to display Kanboard version * Add user backend provider system (to be used by external plugins) * Add Romanian and Chinese (Taiwan) translation Improvements: * Minor CSS improvements * Add help message on project sharing page * Task CSV import is now able to handle the priority, start date, tags and one external link * Improve iCalendar feed to include tasks with start/end date and due date with a time * Check if the start date is before due date * You can get an archive of Kanboard by using the download button in Github or the command git archive * Translation updates Bug fixes: * Fix project dropdown visibility when page is scrolled down * Task move events must be executed synchronously * Handle CSV files with only "\r" line endings Version 1.0.48 (October 23, 2017) --------------------------------- Improvements: * Add bulk subtasks creation * Add filter by score/complexity * Improved display of the header bar * Displays bullets from lists in tooltips * Updated translations * Add tags and priority to task export * Make the number of events stored in project activities configurable * Do not use jQuery tooltip for task title in collapsed mode * Remove dependency on Yarn * Improve external task integration * Add support for array parameters in automatic actions * Add tooltip to subtask icons * Add attribute title to external links * Render a link if the reference is a URL * Add icon to edit a task quickly on the board * Improve .htaccess when using HTTP Basic Authentication for Apache/FastCGI * Add note to specify incompatibility with mod_security Version 1.0.47 (October 3, 2017) -------------------------------- New features: * Vietnamese translation Improvements: * Updated translations Security Issues: * Avoid people to alter other project resources by changing form data Version 1.0.46 (August 13, 2017) -------------------------------- Security Issues: * Fix two privilege escalation issues: a standard user could reset the password of another user (including admin) by altering form data. (CVE-2017-12850 and CVE-2017-12851, discovered by "chbi"). Improvements: * Add "Create another link" checkbox for internal link as in sub-task creation * Updated translations Bug fixes: * Fix parsing issue in phpToBytes() method Version 1.0.45 (June 23, 2017) ------------------------------ New features: * Automatic action to assign tasks to its creator * Add the possibility to create a comment when a task is sent by email * Add dropdown menu to autocomplete email field from project members * Add configurable list of predefined subjects when sending a task or a a comment by email * Add command line argument to filter overdue notification for a given project Improvements: * Improve SQL migrations when old default swimlanes have the same name as a normal swimlanes Bug fixes: * Add missing subtask permissions for project viewer role * Fix Javascript language mapping Version 1.0.44 (May 28, 2017) ----------------------------- Improvements: * Use datetime field for due date * Update Docker image to Alpine Linux 3.6 * Add the possibility to pass API token as environment variable for Docker container * Add wildcard search for task reference field * Improve automated action TaskAssignColorOnDueDate to update task only when necessary * Add task and project API formatters * Update translations Bug fixes: * Fix broken user mentions in comment form at the bottom of the task view page * Ensure project tags are removed when the project is removed * Avoid PHP notice when regenerating API token for a user * Fix wrong dropdown menu in group members list * Show only active users in auto-complete forms (project permissions) * Check owner existence before to create project Version 1.0.43 (April 30, 2017) ------------------------------- Improvements: * Add "[DUPLICATE]" prefix to duplicated tasks title * Add sorting by position and start date in task list view * Update translations Bug fixes: * Add missing plugin parameter for search box (Gantt and calendar plugin) * Fix broken start date button Version 1.0.42 (April 8, 2017) ------------------------------ New features: * New restrictions for custom project roles Improvements: * Improved dashboard Breaking Changes: * Move calendar to external plugin: https://github.com/kanboard/plugin-calendar * Move Gantt charts to external plugin: https://github.com/kanboard/plugin-gantt * Move Gravatar to external plugin: https://github.com/kanboard/plugin-gravatar Bug fixes: * Fix typo in Sqlite schema Version 1.0.41 (March 19, 2017) ------------------------------- New features: * Add Croatian language translation Improvements: * Simplify dashboard to use new tasks list view * Move notifications outside of dashboard * Render QR code for TwoFactor authentication without Google Chart API * Add toggle button to show/hide subtasks in task list view * Use same layout as task listing for task search * Display tags in task list view * Make user actions available from contextual menu * Change users and groups list layout * Project priority is always rendered now * Do not list private projects when adding a new user * Restore link for task title on board Breaking Changes: * Remove method getQrCodeUrl() from PostAuthenticationProviderInterface Version 1.0.40 (Feb 24 2017) ---------------------------- New features: * Send comments by email * Send tasks by email * Add Reply-To header to emails sent from Kanboard * Upload Sqlite database from user interface * Automatic action to change task color when due date is expired Improvements: * Make link to calendar view bookable * Reintroduce word search in board selector * Properly resize task list height on column toggle * Show total score across all swimlanes * Redesign task list view and project list view * Allow people to remove missing automatic actions (installed from a removed plugins) * Improve task view tables * Simplify automatic actions table * Show category description in tooltip * Show category creation form in modal dialog * Prevent people to remove swimlanes that contains tasks * Show task count in swimlane table * Use contextual menu instead of action column in users management Breaking changes: * The concept of "default swimlane" has been removed * Previous default swimlanes are migrated to an independent swimlanes * Columns "default_swimlane" and "show_default_swimlane" from "projects" table are not used anymore * Remove API method "getDefaultSwimlane()" * Add mandatory argument "project_id" to API method "updateSwimlane()" * Change interface for mail transports Bug fixes: * Upload files button stay disabled when there are other submit buttons on the same page * Hiding subtasks from hidden tasks in dashboard Security: * Fix XSS in LetterAvatarProvider (render broken image) Those issues are harmless if you use default Kanboard settings for CSP rules: * Avoid potential XSS in project overview when listing users * Avoid potential XSS in Gantt chart Version 1.0.39 (Feb 12, 2017) ----------------------------- Improvements: * Add menu entry in task dropdown to add attachments * Improve error reporting when file upload is not configured properly * Open comments on board view with a modal dialog instead of tooltip * Improve card icons alignment on board * Adjust modal dialog width on mobile devices * Add priority column in list view * Change wording for project status (use "closed" instead of "inactive") * Prevent people to remove columns that contains tasks * Improve LDAP error reporting * Add configuration parameter to disable email configuration from user interface * Add email address field for projects * Improve forget password behavior (notify the user that an email has been sent or not) * Do not display current project in board selector * Do not set default task assignee for team projects * Comments are highlighted if hash (#comment-123) is present in URL * Documentation translated in Turkish Bug fixes: * Search with multiple expressions with double quotes was not working * Fix broken subtask restriction per user * Fix CFD chart (stack wrongly ordered) Version 1.0.38 (Jan 28, 2017) ----------------------------- New features: * User invitations by email Improvements: * Simplify user creation form * Add modification date for comments * Add project creation links to project management pages * More API procedures are now available to project members and project viewers * Simplify date and time configuration to avoid potential validation issues * Show dashboard column visibility in columns page * Add new template hooks * Update translations (id_ID, de_DE, ru_RU, fr_FR, pt_PT) * Add command to execute individual job (mostly for debugging) Regressions: * Stay on the same page when a task is closed * Wrong URL in modal to move task to another project Bug fixes: * Fix broken link when clicking on user avatar for tasks on board * Fix wrong datetime formatting when task form shows validation errors * Empty arrays are serialized to a list instead of a dict (Json API) * Always unbind internal listeners when closing a modal dialog * Fix installation errors on MySQL 8.0.0 (unescaped reserved keyword) * Avoid PHP notice when column form validation failed * Fix wrong default value for add group member modal * Add missing filter (completed) for task search Version 1.0.37 (Jan 14, 2017) ----------------------------- Improvements: * Improve keyboard shortcuts handling * Improve auto-complete dropdown elements sorting * Larger task form * Rewrite dialog and confirmation boxes (inline popups) * Remove TaskGanttCreationController * Add helpers to open modal boxes * Make icons clickable in menus * Open task imports in modal box * Open form to create customer filters in modal box * Open project activities in modal box * Display project analytics in modal box * Display project exports in modal box * Improve accordion component * Improve currencies page navigation * Improve link labels page navigation * Improve settings page layout * Offer the possibility to define version compatibility from plugins * Add task creation event to the automatic action to send task by email Bug fixes: * Closing screenshot dialog prevent input elements to get focus Version 1.0.36 (Dec 30, 2016) ----------------------------- New features: * Add slideshow for images * Add API calls to manage tags * Offer the possibility to override internal formatter objects from plugins * Open PDF attachments in browser tab (preview) Improvements: * Add pagination details * Handle username with dots in user mentions * Rewrite UI component that change user/group roles * Replace Chosen jQuery plugin by custom UI component * Remove dependency on Mousetrap Javascript library * Disable PageSpeed module from .htaccess if present * Add currency of Chinese Yuan Bug fixes: * Fix compatibility issue with PHP 5.3 for array_combine function * Fix wrong controller name on project activity page when using filters * Uploaded avatar images are now visible in public board view Version 1.0.35 (Dec 4, 2016) ---------------------------- New features: * Add external tasks plugin interfaces * Add personal API access token for users * Rewrite of Markdown editor (remove CodeMirror) * Suggest menu for task ID and user mentions in Markdown editor * Add config parameter to disable automatic SQL migrations Improvements: * Add button to close inline popups * Simplify `.htaccess` to avoid potential issues with possible specific Apache configurations * Replace notifications Javascript code by CSS * Refactoring of user mentions job * Remove Nitrous installer * Update translations * Rewrite some components in Vanilla Javascript * Started Javascript code refactoring to avoid to much dependencies on jQuery * Remove dependency on VueJS and CoreMirror * Add P3P headers to avoid potential issues with IE Breaking changes: * Rename command line tool `./kanboard` to `./cli` Bug fixes: * Change column type for application settings value (field too small) * Fix link generation when user mention is followed by a punctuation mark * Make user mentions works again Version 1.0.34 (Oct 11, 2016) ----------------------------- New features: * Custom project roles with configurable restrictions * Duplicate a task to multiple projects during creation * New automatic action: - Close a task in a specific column when not moved during a given period Improvements: * Do not close the popover when clicking on the background * Add visual icon to show a dropdown action on task * Avoid 'blur' effect on popover * Accept more file types for external links * Restrict search to active projects * Improve task status filter * Add filter tag:none * Always apply merge hooks in task creation controller * Update task moved date only when the column or swimlane is changed * Add new subtask hooks * Add the actual use of TaskStartDateFilter * Update translations and documentation Bug fixes: * Send absolute links in email notifications * Restrict task complexity to a specific range to avoid integer overflow * Do not show closed tasks in task move position form * Avoid "Controller not found" in Settings > Links Version 1.0.33 (Sep 5, 2016) ---------------------------- New features: * Move a task without drag and drop (smartphones and tablets) * Add the possibility to unlock users from the user interface * New API calls for task metadata * New automatic actions: - Define color by Swimlane - Define priority by Swimlane Improvements: * Introduce Vue.js to manage user interface components * Add column "Reference" and "Creator Name" in CSV task export * Show both time spent and estimated on the board * Store board collapsed mode user preference in the database * Store comment sorting direction in the database * Avoid tags overlapping on the board * Show project name in notifications * Allow priority changes for inverted priority scales * Add the possibility to attach template hooks with local variables and callback * Add "reference" hooks * Show project name in task forms * Convert vanilla CSS to SASS * Make user interface more responsive for smartphones and tablets * Support version operators for plugin directory: >= and > * Update Spanish documentation Other changes: * Time spent (in hours) for subtasks are not rounded too the nearest quarter anymore Bug fixes: * Fix improper HTML escaping for textarea (potential XSS) * Do not show closed tasks on public boards * Fix undefined constant in config example file * Fix PHP notice when sending overdue notifications * Fix wrong project date format (shown as 01/01/1970) - If the dates still not correct, modify and save the date Version 1.0.32 (July 31, 2016) ------------------------------ New features: * New automated actions: - Close tasks without activity in a specific column - Set due date automatically - Move a task to another column when closed - Move a task to another column when not moved during a given period * New filter "moved" for moved date of tasks * Added internal task links to activity stream * Added new event for removed comments * Added search filter for task priority * Added the possibility to hide tasks in dashboard for a specific column * Documentation translated in Russian Improvements: * Improve background worker and job handler * New template hooks * Removed individual column scrolling on board, columns use the height of all tasks * Improve project page titles * Remove sidebar titles when not necessary * Internal events management refactoring * Handle header X-Real-IP to get IP address * Display project name for task auto-complete fields * Make search attributes not case sensitive * Display TOTP issuer for 2FA * Make sure that the table schema_version use InnoDB for Mysql * Use the library PicoFeed to generate RSS/Atom feeds * Change all links to the new repository Bug fixes: * Allow users to see inactive projects * Fixed typo in template that prevent project permissions to be duplicated * Fixed search query with multiple assignees (nested OR conditions) * Fixed Markdown editor auto-grow on the task form (Safari) * Fixed compatibility issue with PHP 5.3 for OAuthUserProvider class Version 1.0.31 (Jul 3, 2016) ---------------------------- New features: * Added tags: global and specific by project * Added application and project roles validation for API procedure calls * Added new API call: "getProjectByIdentifier" * Added new API calls for external task links, project attachments and subtask time tracking Improvements: * Use PHP 7 for the Docker image * Preserve role for existing users when using ReverseProxy authentication * Handle priority for task and project duplication * Expose task reference field to the user interface * Improve ICal export * Added argument owner_id and identifier to project API calls * Rewrite integration tests to run with Docker containers * Use the same task form layout everywhere * Removed some tasks dropdown menus that are now available with task edit form * Make embedded documentation readable in multiple languages (if a translation is available) * Added acceptance tests (browser tests) Bug fixes: * Fixed broken CSV exports * Fixed identical background color for LetterAvatar on 32bits platforms (Hash greater than PHP_MAX_INT) * Fixed lexer issue with non word characters * Flush memory cache in worker to get latest config values * Fixed empty title for web notification with only one overdue task * Take default swimlane into consideration for SwimlaneModel::getFirstActiveSwimlane() * Fixed "due today" highlighting Breaking changes: * Docker volume paths are changed to /var/www/app/{data,plugins} Version 1.0.30 (Jun 8, 2016) ---------------------------- Improvements: * Show tasks that are due today in a different color Bug fixes: * Fixed wrong controller for search in dashboard * Fixed plural form in alert message * Fixed CSS cosmetic issue with popover and tooltips Version 1.0.29 (Jun 5, 2016) ---------------------------- New features: * Manage plugin from the user interface and from the command line * Added support for background workers * Added the possibility to convert a subtask to a task * Added menu entry to add tasks from all project views * Add tasks in bulk from the board * Add dropdown for projects * Added config parameter to allow self-signed certificates for the HTTP client Improvements: * Display local date format in date picker * Configure email settings with the user interface in addition to config file * Upgrade Docker image to Alpine Linux 3.4 * Move task import to a separate section * Mark web notification as read when clicking on it * Support strtotime strings for date search * Reset failed login counter and unlock user when changing password * Task do not open anymore in a new window on the Gantt chart * Do not display task progress for tasks with no start/end date * Use Gulp and Bower to manage assets * Controller and Middleware refactoring * Replace jQuery mobile detection by the library isMobile Bug fixes: * Fixed user date format parsing for dates that can be valid in multiple formats * Do not sync user role if LDAP groups are not configured * Fixed issue with unicode handling for letter based avatars and user initials * Do not send notifications to disabled users * Fixed wrong redirect when removing a task from the task view page Breaking changes: * Webhook to create tasks have been removed, use the API instead * All controllers have been renamed, people who are not using URL rewriting will see different URLs * All models have been renamed, plugin maintainers will have to update their plugins Version 1.0.28 (May 8, 2016) ---------------------------- New features: * Added automated action to change task color based on the priority * Added support for LDAP Posix Groups (OpenLDAP with memberUid or groupOfNames) * Added support for LDAP user photo attribute (Avatar image) * Added support for language LDAP attribute * Added support for Mysql SSL connection * Search in activity stream * Search in comments * Search by task creator * Added command line utility to reset user password and to disable 2FA Improvements: * Improve Avatar upload form * User roles are now synced with LDAP at each login * Improve web page title on the task view * Unify task drop-down menu between different views * Improve LDAP user group membership synchronization * Category and user filters do not append anymore in search field * Added more template hooks * Added tasks search with the API * Added priority field to API procedures * Added API procedure "getMemberGroups" * 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: * Allow a project owner to manage his own public project * Fixed PHP warning when removing a user with no Avatar image * Fixed improper Markdown escaping for some tooltips * Closing all tasks by column, also update closed tasks * Fixed wrong task link generation within Markdown text * Fixed wrong URL on comment toggle link for sorting * Fixed form submission with Meta+Enter keyboard shortcut * Removed PHP notices in comment suppression view Version 1.0.27 (Mar 27, 2016) ----------------------------- 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 (Feb 28, 2016) ----------------------------- 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 (Feb 7, 2016) ---------------------------- 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 (Jan 23, 2016) ----------------------------- 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 (Jan 9, 2016) ---------------------------- 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 (Dec 13, 2015) ----------------------------- 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 (Nov 22, 2015) ----------------------------- 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 (Oct 24, 2015) ----------------------------- 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 (Oct 11, 2015) ----------------------------- 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 (Aug 30, 2015) ----------------------------- 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 (Jul 27, 2015) ----------------------------- 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