Miru Update: Workspace Switcher, Multi-Recipient Invoices & i18n (April 2026)
Miru open-source time tracking gets a workspace switcher, multi-recipient invoices, holiday year view, and full i18n on 6 settings pages. See what shipped this week.
Miru Update: Workspace Switcher, Multi-Recipient Invoices & i18n (April 2026) is focused on one thing: less operational drag for billing teams.
Miru open-source time tracking gets a workspace switcher, multi-recipient invoices, holiday year view, and full i18n on 6 settings pages. See what shipped this week. We write from operating experience, not trend-chasing.
New Features
Workspace Switcher in the Sidebar
If you belong to multiple Miru workspaces, you no longer need to log out and back in. A new workspace switcher in the dashboard sidebar lets you jump between organizations instantly. One click, no page reload drama.

Multiple Invoice Recipients and Client Primary Email
Invoices can now be sent to multiple recipients. When creating or editing an invoice, you can add additional email addresses beyond the client’s primary contact. The client model also now supports a primary email field, so the right person gets the invoice by default.

Holiday Year View and Holiday Schedule
The holidays settings page now includes a year view — a calendar-style layout showing all configured holidays at a glance. Planning PTO around company holidays just got easier. You can now manage a full holiday schedule from one screen instead of scrolling through a flat list.
Bug Fixes
Invoice Editor Overhaul
The invoice editor got significant attention this week:
- Multi-currency support: Draft invoices now correctly handle multi-currency line items and responses. Previously, switching currencies mid-edit could produce mismatched totals.
- Totals sync: Invoice preview totals now stay in sync with line item edits in real time.
- Auto-generated invoice numbers: New workspaces no longer start with a blank invoice number. The first invoice is automatically numbered.
- Editor preview hydration: The editor preview pane now properly hydrates, and client financial fields (like payment terms) are hidden from the preview where they don’t belong.

Profile and Settings Fixes
- Profile hydration: The settings profile page now correctly loads saved data from the user context, including date of birth.
- DOB validation: The date of birth picker now prevents selecting future dates. (Yes, someone tried.)
- Phone validation: Profile phone number fields now enforce proper validation before saving.


Custom Expense Categories
Custom expense categories were silently failing in some edge cases. They now work reliably across creation and assignment flows.
Internationalization
Six settings pages received full i18n treatment this week, bringing Miru closer to complete localization coverage:
- Profile settings summary
- Preferences page
- Automation settings
- Holidays settings
- Report category labels
- Billing settings
If you’re using Miru in a non-English locale, these pages now respect your language preference instead of showing hardcoded English strings.
Refactoring and Infrastructure
- Centralized discardable models and timesheet audits: Soft-delete logic and audit trails for timesheets are now consolidated instead of scattered across models.
- Invoice mailer and PDF alignment: The invoice email and PDF export now share presentation logic, so what you see in the email matches the PDF attachment.
- Path-filtered Reek checks: Code smell detection now runs only on changed files in CI, cutting feedback time on PRs.
- Dependency security fix: Updated the
addressablegem to patch SNYK-RUBY-ADDRESSABLE-15924312.
Test Suite Improvements
The test suite got more resilient this week:
- PDF service specs stabilized with better fixtures for parallel test runs
- CI timeout expectations fixed for PDF base service
- Profile validation test coverage expanded
- Falcon system specs and invoice workflow tests hardened
That’s the week. If you’re running a consultancy or freelance business and want better time tracking and invoicing, start tracking time for free.
By the Numbers
- 3 new features
- 10+ bug fixes
- 6 settings pages localized
- 2 major refactors
- 35 commits merged
Want to follow along? Star the repo on GitHub or check back here every Saturday for the next edition.
Hard Stop
Use it in production and tell us exactly where the workflow still fights you.
Start with Miru or read the docs.
Vipul A M
Co-founder at Saeloun. Building Miru. Rails contributor. Shipping from Pune, India.
Read next
This Week in Miru: MCP, Safer Billing, Agent-Ready
Apr 20-28: MCP production use, cleaner CLI setup, invoice fixes, client forms, Level 5 agent readiness, and SEO schema cleanup.
This Week in Miru: Safer Team Offboarding, Smarter Reminders, and Invoice Workflow Cleanup
From April 13 to April 22, we shipped 116 non-merge commits across reminders, invoicing, team management, calendars, i18n, and auth hardening.
Put it to work
Run one cleaner billing cycle in Miru.
If this article is about tracking time, billing clients, comparing tools, or automating work, Miru is the product version of that idea. Start free, invite the team, and send the next invoice from tracked work.
What you get
- Time tracking, invoices, expenses, and payments in one place.
- Free for up to 5 users. Pro is $1/member/month.
- Open source, with CLI, API, MCP, and self-hosting paths.
The article is the argument. Miru is the workflow.
Track the work, approve the hours, send the invoice, and get paid without bolting together three separate tools.