Leantime 2.4-beta is out!

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

❤️ 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 swimlanes
  • Kanbans, Tables & Lists can be grouped by a number of fields
  • Sprint dropdown was moved to the header
  • The Gantt chart view now includes tasks and subtasks by default. The timeline view 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

🥷 Under the hood

  • Entire frontcontroller, request layer 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 no 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 bugfixes

❗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 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/...

https://leantime.io

Marcel Folaron is Leantime's Technical Co-founder. He's a Full Stack Engineer, previous startup founder, and Technical Program Manager. He's also worked at places like Google, Twilio, and Pinterest. He's been an active open source community member, contributor, and user.

astronaut riding on a dinosaur pointing to text that says welcome to the wonderful world of open source

Support Leantime

Leantime is an open source project and lives and breathes through its community.

If you like Leantime and want to support us you can start by giving us a Star on Github or through a sponsorship.