OpenMES v0.18.0
Installation
Web / self-hosted: download openmmes-v0.18.0.zip below — it is self-contained (PHP dependencies in vendor/ and the built frontend in backend/public/build/ are already bundled, so no composer install or npm build is required).
Desktop: grab the installer for your OS — Windows *-setup.exe, macOS *.dmg, or Linux *.deb / *.rpm. They bundle PHP + the backend and run OpenMES as a local app / LAN server.
Mobile (Android): install openmes-mobile-v0.18.0.apk and point it at your OpenMES server.
Shared hosting (no terminal): unzip the web package, upload the folder, point the document root at the package root, then open the URL — the browser-based setup wizard handles environment, database and the admin account.
Docker: unzip the web package and run docker compose up -d from the package root (or bash install.sh).
Changes
- Merge pull request #208 from Mes-Open/release/v0.18.0 (03a1c1c)
- Merge main (0.17.x fixes) into release/v0.18.0 (f934641)
- Merge pull request #202 from Mes-Open/feat/onboarding-module-selection (c8e30ee)
- feat(onboarding): split modules into 12 fine-grained toggles in Settings + backward-compat backfill (8fe7707)
- fix(onboarding): update module descriptions to match new tab gating (Reports/Structure/Maintenance) (205b1b0)
- feat(onboarding): gate analytical reports (cost/scrap/non-conformance -> Maintenance, net-requirements -> Structure) so Lightweight keeps only Work Order History (f42ca2e)
- feat(onboarding): also gate Material Lots and Traceability by the Structure module (7958cfc)
- feat(onboarding): gate Materials/Process Segments/Revisions/Companies (Structure) and Issues/reason codes (Maintenance) so Lightweight hides them (3458892)
- fix(schedule): hide planner Employees shortcut when HR module is off (6857eb7)
- feat(onboarding): gate Employee scheduling by the HR module (hidden in Lightweight) (4e3d2ba)
- feat(onboarding): choose modules at first login (Lightweight / Advanced / Custom) (a960fe7)
- fix(mqtt): auto-pick up new connections + stop Live Message Log crashing (#174) (#198) (4b51eb8)
- docs(mqtt): clarify OpenMES is a client not a broker; add WebSocket listener for browser test clients (#174) (#194) (78feeb1)
- feat(machine): drive produced_qty from machine counter signals via counting_source (#46) (#195) (a8fa3b7)
- feat(product): product revision management with lifecycle + work-order snapshot (#180) (#196) (58a3f27)
- feat: Identification of logistics operators / forklift drivers on phy… (#197) (1498faa)
- fix(e2e): close unterminated test.describe in material-hold-release spec (#189) (8ec1ffa)
- feat(bom): select multi bom in orders (#183) (acd007e)
- fix(routes): drop dangling e2e block; 404 (not 500) on non-numeric report ids (#188) (761e1e6)
- feat(work-orders): add elapsed-time "Age" column to work-order lists (#185) (2201038)
- feat(desktop): OpenMES Desktop app (Tauri) + unattended install preset (#186) (2ff45e8)
- ci(release): build desktop installers (win/mac/linux) + Android apk (#187) (988e209)
- feat(workstation): shop-floor device registration + live admin roster (#175) (6ff6dee)
- Merge pull request #148 from Mes-Open/schedule-capacity-view (f0468ac)
- merge (69f99f9)
- Merge pull request #172 from Mes-Open/feature/95-read-confirmation (bb5a818)
- Merge origin/develop into feature/95-read-confirmation (2f0238a)
- Merge pull request #173 from Mes-Open/feature/37-customer-management-and-priority (db15817)
- fix: address CodeRabbit review on customer/priority PR (49267fe)
- feat: finish up whole feature (8045645)
- feat: accepnt informations (3539d17)
- merge (51b40ce)
- fix: logs (3ff8bc2)
- Merge pull request #171 from ElNinio978/per-order-machines-supervisor-view (0906143)
- Address order machines review feedback (3762d59)
- Merge pull request #169 from SoiBien-AI/feat/translate-develop (6026084)
- fix: restore removed migration 2026_06_18_120000 (make material_type_id nullable) Also remove composer.phar and empty .rr.yaml from git tracking. (3131c5a)
- feat: mobile (69d4627)
- fix(i18n): align media type badge localization mapping key with select options (3f9d593)
- chore: remove car-production-buildout spec files (f3888f9)
- fix(i18n): address PR reviews for operator controllers translation gaps (371910f)
- chore: remove reset-test cmd files (bbba570)
- fix(materials): make material_type_id optional in StoreMaterialRequest (0fa55f3)
- translate: localize work order operator modals and actions to support vietnamese (2c0587c)
- fix: add robust re-click startBtn fallback to start batch step in E2E spec (e3bdcee)
- fix: streamline startBtn visibility and click handler logic in E2E spec (6b70b04)
- fix: use explicit workstation button label in E2E spec to avoid strict createBtn helper mismatches (22c36de)
- fix: refine createBtn button locator regex pattern (a54a00d)
- fix: unconditionally scan and fill selects in E2E lot picking modal (7c3dc6e)
- fix: refine confirmBtn locator in E2E spec to avoid partial text matching (59f2203)
- fix: wait for start API response before expecting step Complete button in vi spec (5332a55)
- style: polish LotPickModal row spacing and fonts to avoid vertical overlapping (743b518)
- fix: localize Start and Complete step buttons under Operator panel (e552f61)
- fix: adjust lot pick layout font sizes and make E2E dropdown lot selection robust (25b5aa8)
- fix: address remaining PR comments on docker-compose mount, reset script fail-fast, and e2e spec safety (73cb643)
- fix: address code review comments for i18n localization and backend logic (e269789)
- translate: translate Operator Workstation and Work Order details to Vietnamese (957e84d)
- merge: origin/develop into recreate-test (resolved conflict on specs and restored complete vi.json) (ac660a7)
- clean: remove temporary development files and compiled output (b5da428)
- fix test error (1ea24e8)
- fix to test can capture all step from multi users by logout and login (4f302a8)
- Update tests and localization (7fe83c2)
- [feat] Per-order machines to run supervisor view #89 (dcb2493)
- test: fix e2e disposition flow and create English scenario variant (0df379a)
- feat: merge (509a2cb)
- fix: styles (f93bd38)
- feat: required operators (6ce596f)