Leantime 2.4-beta
Major Release 🚀🚀🚀
We are incredibly excited to release 2.4-beta. During this release we refactored significant portions of our core to be faster, more stable and future proof. We added functional tests and added those to our CI pipeline, these tests will grow over time and contribute to the stability and improvement updates.
Highlights
🥷 Under the hood
- Entire frontcontroller, request engine and template engine were rewritten or replaced. We are now using blade for our template files. Not all templates have been moved yet so more changes are coming.
- We have integrated HTMX and started building out our first asynchronous components. This will significantly improve user experience over time as page reloads will be reduced
- Autoloading and custom folder management were improved
- Javascript compiled files were split into more chunks to prepare us for a move to javascript modules
- Automated JS calls were remove and replaced with explicit calls reducing Javascript run time significantly
- We are now using webpack to build our js/css resources
- Started writing integration tests for some of the major workflows. As we progress we will continue to write more.
- We updated our OSS license from the outdated GPL2 to AGPL 3.0
- Many, many, many bug fixes
❤️ User facing updates
- To-Do Management was improved with a new tab navigation instead of the hard to find view button
- We now have kanban swim lanes
- Kanbans, Tables & Lists can be grouped by a number of fields
- Sprint dropdown was moved to the header
- The Gantt chart view includes tasks and subtasks by default now. The timeline link from the main menu was removed as it did not any value
- To-Do filters were optimized and most of them allow multiple selections now
- All modals were updated to load quicker and contain unique urls so that you can copy and share any modal URL with your team mates.
- Goals have been improved to include start value, current value and end value and define a number type (percent, number, currency)
- The home dashboard includes a small calendar now
❗❗❗What do you need to do to update?
Update PHP to 8.1.
Given that 8.0 will be EOL by November we went ahead and updated our code to be 8.1 compatible. Please update PHP to 8.1
Config changes
The config variable LEAN_APP_URL_ROOT
was renamed to LEAN_APP_DIR
which is a better representation of its function
If you are in a subfolder install or use nginx or IIS you need to update some of your configs:
- We updated our htaccess redirect rules (once and for all). This change allows us to be a lot more flexible without having to change the config in the future.
-
- If you are using apache without subfolders: There is nothing for you to do. The htaccess file will be udpated automatically
-
- If you are using nginx please use our updated nginx config (take note of the new
location / {}
rule.
- If you are using nginx please use our updated nginx config (take note of the new
-
- If you are on IIS you will need to update your web.config file to the one in this package.
- Subfolder installs do not require a rewrite base anymore, as such this should be removed from your configs. Please make sure you
appUrl
is set in your .env config file
Custom Folder
The custom folder had an awkward quirk where controllers and views were loaded differently. This was fixed now but means you may have to move around some files. Anything in the custom folder needs to follow the exact same file structure as in app. So if you made a change to a ticket template the new template should be in custom/domain/tickets/templates/...
Events (relevant for plugins)
If you have developed plugins and event registers please check whether those are still being triggered. Due to the reorganization a few of the event names have changed
What's Changed
- Patch Issue 1761 by @tech62 in #1766
- [Snyk] Upgrade datatables.net from 1.13.4 to 1.13.5 by @broskees in #1770
- [Snyk] Upgrade datatables.net-rowreorder from 1.3.3 to 1.4.0 by @broskees in #1772
- Update README.md by @marcelfolaron in #1779
- add IoC Container and add some refactoring by @broskees in #1777
- [Snyk] Upgrade datatables.net-rowgroup from 1.3.1 to 1.4.0 by @broskees in #1771
- Bugfix/acceptance tests ci fix by @broskees in #1757
- Update acceptancetests.yml by @marcelfolaron in #1785
- Rename class.moduleManager.php to class.modulemanager.php by @marcelfolaron in #1788
- Update LICENSE by @marcelfolaron in #1787
- PHPCS & Bugfixes by @broskees in #1790
- Release fixes by @marcelfolaron in #1784
- New Crowdin updates by @marcelfolaron in #1794
- setup blade by @broskees in #1808
- Various bugfixes by @marcelfolaron in #1811
- Ticket Refactor by @marcelfolaron in #1814
- Fix Acceptance Tests by @marcelfolaron in #1817
- Various bugfixes by @marcelfolaron in #1818
- Additional checks by @marcelfolaron in #1819
- Various bugfixes by @marcelfolaron in #1820
- updates by @marcelfolaron in #1821
- change to localhost by @marcelfolaron in #1822
- test updates by @marcelfolaron in #1823
- Update acceptancetests.yml by @marcelfolaron in #1824
- update hostname by @marcelfolaron in #1825
- Update acceptancetests.yml by @marcelfolaron in #1826
- Various bugfixes by @marcelfolaron in #1827
- New Crowdin updates by @marcelfolaron in #1805
- New Crowdin updates by @marcelfolaron in #1828
- Features & Refactor by @broskees in #1812
- 2.4 prep by @marcelfolaron in #1831
- [Snyk] Fix for 1 vulnerabilities by @broskees in #1832
- Wait for alert to show up before checking to see message in tests by @marcelfolaron in #1834
- Bugfixes by @marcelfolaron in #1835
- bugfixes of urls by @broskees in #1836
- Config update, bootloader fix for subfolder install by @marcelfolaron in #1841
- Fixed not showing icons My Calendar and Portfolio after switching language to Polish by @gusioo in #1839
- [Snyk] Upgrade @fortawesome/fontawesome-free from 6.4.0 to 6.4.2 by @broskees in #1837
- [Snyk] Upgrade datatables.net-rowreorder from 1.4.0 to 1.4.1 by @broskees in #1838
- New Crowdin updates by @marcelfolaron in #1829
- delete and edit calendar event controllers update by @laurendubbink in #1754
- New Crowdin updates by @marcelfolaron in #1842
- Small bugfixes by @marcelfolaron in #1844
- moving packages and fixing hx url by @marcelfolaron in #1846
- New Crowdin updates by @marcelfolaron in #1845
New Contributors
- @tech62 made their first contribution in #1766
- @gusioo made their first contribution in #1839
- @laurendubbink made their first contribution in #1754
Full Changelog: v2.3.27...v2.4-beta