Repository navigation
What's Changed
This release brings a wide range of new capabilities including team-wide Docs, advanced analytics dashboards, full client lifecycle management in the Client Portal, cascading custom fields, movable subtasks, overnight time tracking rollover, and over 40+ UI/UX fixes and performance improvements across both light and dark themes.
🚀 Highlights & New Features
- Team Documents Hub: Added a dedicated Docs section across project documents, allowing teams to create, view, and organize project-wide documentation in one central place (#641 by @danushkak).
- Advanced Reporting & Analytics:
- Introduced custom dashboards, agile velocity charts, cumulative flow diagrams, SLA tracking, and time-in-status metrics (#782 by @DinuniWork).
- Added Saved Views and persistent filter states across reports and project views so your active filters remain intact (#618 by @DinuniWork).
- Added sorting, filtering, and priority hierarchy sorting to the Projects report table (#561 by @123sewmini, #722 by @ThishankaM).
- Client Portal Lifecycle Management:
- Full lifecycle controls to delete, restore, and deactivate clients and client users (#592 by @cdsthakshila).
- Added emoji reactions to discussion messages (#769 by @ThishankaM).
- See which client users have project access directly inside the project view (#674 by @DinuniWork).
- Headless-free, high-performance PDF export generation for quotes and invoices (#593 by @cdsthakshila).
- Cascading Custom Fields: Added support for dependent custom field selection options (#607 by @DinuniWork).
- Movable Subtasks: Easily move subtasks between different parent tasks directly from the task interface (#621 by @DinuniWork).
- Apple Desktop Authentication: Seamless desktop sign-in callback and redirect handling for Apple accounts (#848 by @chamikaJ).
✨ Improvements & Enhancements
Task Management & Sprints
- Rich Text Comments: Added rich text editor support for task comments (#716 by @ThishankaM).
- Task Drawer Flexibility: Allow changing task types directly from the task drawer in software projects (#723 by @DinuniWork).
- Sprint Header Editing: Edit sprint names and dates directly inline from the sprint header (#744 by @Geethmiiresha).
- Automatic Sprint Cascading: Completing a sprint early now automatically cascades dates of upcoming sprints to remove unwanted schedule gaps (#743 by @ThishankaM).
- Active Sprint Protection: Hide the "Start Sprint" button when another sprint is already in progress (#746 by @123sewmini).
- Custom Columns: Safely edit custom column types with explicit data-deletion warnings and confirmation prompts (#763 by @ThishankaM), and replaced text buttons with streamlined icons (#773 by @123sewmini).
- Expanded Task Creation Permissions: Project Managers and designated roles can now create tasks across project scopes (#703 by @DinuniWork).
Time Tracking & Finance
- Overnight Time Rollover: Timers and logged entries can now roll over past midnight to the next day seamlessly (#572 by @ThishankaM).
- Quick Rate Card & Job Titles: Add new job titles on the fly directly from member drawers and rate card configurations (#582 by @ThishankaM).
- Invoice Notes: Rich text support for invoice notes and template descriptions (#702 by @DinuniWork).
- Real-time Finance Updates: Real-time task title syncing on the billable time dashboard (#688 by @ThishankaM).
- Upgraded Checkout & Plans: Redesigned subscription upgrade dialog and billing account refresh flow (#813 by @chamikaJ, #852 by @DinuniWork).
Client Portal & Settings
- Square Logo Cropping: Added interactive square image cropping when uploading branding logos (#591 by @ThishankaM).
- Email Notification Controls: Disabled client portal email notifications by default for new setups (#615 by @ThishankaM).
- Portal Phone Validation: Enforced phone number validation on client portal profile and contact settings (#757 by @ThishankaM).
- Email Notification Branding: Added organization logos to project comment email notifications (#685 by @DinuniWork).
UI/UX & Theming
- Organization Logos in Team Switcher: Display team logos directly inside the switch team dropdown (#609 by @123sewmini).
- Default Avatars: Use the official Worklenz logo as the default organization avatar (#727 by @123sewmini).
- Smooth Theming: Improved theme transition animations on the task list page (#682 by @ThishankaM).
- Standardized Controls: Aligned button, filter, and pagination styles across reporting, files, and tracking pages (#627, #649, #776).
- Localization Updates: Renamed "Custom" to "Advanced" reports in the sidebar (#853 by @chamikaJ) and prepared localization keys for Italian language support (#874 by @chamikaJ).
🐛 Bug Fixes
Tasks, Planner & Roadmap
- Fixed task attachments and sub-tasks disappearing on initial load or refresh in the task drawer (#646 by @ThishankaM).
- Fixed member mentions in task descriptions (#733 by @ThishankaM) and duplicate mention highlights in sent messages (#694 by @Geethmiiresha).
- Prevented duplicate comment creation when pressing Enter repeatedly (#680 by @123sewmini).
- Fixed task drawer status dropdown width stretching with long status names (#696 by @123sewmini, #725 by @Geethmiiresha).
- Fixed task selector dropdown not appearing when adding task dependencies (#734 by @DhanithB).
- Fixed an error occurring when reordering statuses via drag-and-drop on the Kanban board (#564 by @ThishankaM).
- Added missing
bulk_change_tasks_start_datedatabase function and resolved bulk start date assignment (#659 by @asanka-773, #663 by @chamikaJ). - Reflected task assignments and date updates in real time on the Planner (#721 by @ThishankaM).
- Fixed Planner custom date range filter validation to prevent date auto-swapping (#667 by @ThishankaM).
- Fixed Roadmap view updating in real time on task deletion and eliminated 403 errors (#698 by @ThishankaM).
- Resolved GitHub commit and merged pull request status automation issues (#801 by @chamikaJ).
Client Portal & Security
- Fixed special characters decoding incorrectly in client portal pages and project titles (#642 by @DinuniWork).
- Corrected access validation logic for client portal API routes (#819 by @DinuniWork).
- Fixed DatePicker overlaying the taskbar in Safari within approval forms (#726 by @ThishankaM).
- Fixed duplicate success notifications when saving client portal settings (#715 by @Geethmiiresha).
- Preserved the "Allow members to view client team" toggle setting on project updates (#751 by @ThishankaM).
- Fixed invitation membership matching and sign-up policy fallback (#620 by @chamikaJ).
Time Tracking & Reports
- Improved responsiveness for the Log Time page and quick-entry fields (#629 by @DhanithB).
- Synchronized task selection and refresh when logging time against new tasks (#665 by @chamikaJ).
- Properly decoded project names in the Log Time modal (#656 by @asanka-773).
- Sorted the recently logged time table by task priority (#713 by @Geethmiiresha).
- Fixed lost filters (projects, members, date ranges) when navigating away from Reports (#845 by @DinuniWork).
- Fixed sorting functionality on the Projects Report page (#604 by @ThishankaM) and resolved "days left" column sorting (#732 by @123sewmini).
- Fixed page size dropdown on Planned vs. Actual tasks report (#815 by @DinuniWork).
UI & Dark Mode Fixes
- Fixed poor status text contrast and invisible "Open Task" buttons in dark mode (#639 by @ThishankaM, #673 by @123sewmini).
- Improved working hours label contrast in dark mode (#736 by @123sewmini).
- Prevented assignee avatar overflow on software project cards (#678 by @123sewmini).
- Fixed scrollbar overlap on workspace pages (#691 by @DhanithB).
- Prevented unescaped HTML entities in notification messages (#797 by @123sewmini).
- Fixed missing "Assign Practice" and "Assign Department" buttons for team members (#583 by @123sewmini).
- Prevented empty profile updates from submitting without modified data (#756 by @123sewmini).
- Fixed duplicate success banners when updating project templates (#779 by @123sewmini).
🛠️ Maintenance & Refactoring
- Admin Center Controller: Split the monolithic controller into modular services and introduced unit tests (#683 by @chamikaJ).
- Query Optimization: Optimized user last activity lookup queries for faster Admin Center loads (#689 by @DinuniWork).
- Socket Emissions: Optimized WebSocket event handlers and removed unauthorized permission emissions (#699, #830 by @DinuniWork).
- Tooling: Integrated
oxlintfor high-speed frontend code linting in CI (#770 by @chamikaJ).
👤 New Contributors
- @danushkak made their first contribution in #641 🎉
Full Changelog: v3.3.1...v3.4.0