- Added the ability to view
.png
,.jpg
, and.jpeg
files in the file browser. - Users can now select a PEM-Certificate for SSL-Pinning in the printer settings. This option enhances security in comparison to trusting all self-signed certificates. device. #193 #280
- The full-screen webcam can now fill the entire screen if zoomed or panned.
- Non GCode files now display their last modified date in the file browser.
- Replaced the shadow of the console page with a more subtle border among all light mode themes.
- The select printer dialog now displays the printer's http URL under its name.
- Improved the Control Axis card, making it a separate and more polished component.
- Fixed Neopixel parsing error for legacy configs. #287
- Fixed the file browser not working for Obico connections.
- Resolved an issue where uploading a file with the same name as an existing one wouldn't update the thumbnail, resulting in the old image persisting in the application.
- GCode errors are now displayed via the Snackbar again.
- Fixed a parsing error on Creality printer of gCode thumbnails. #288
- You can now organize GCode macros in your printer settings more conveniently. Instead of moving each one separately, you can assign them to a new group with just a button click. You can also change the visibility of individual macros.
- The GCode macro card on your dashboard has been improved. It's now a separate, smoother component, and it adds a nice animation when you switch between different groups.
- The internal states that saves your settings for the selected macro group, webcam choice on the dashboard, and file sorting preferences on the files page are now unique to each of your printers. They won't be mixed up between your different devices.
- When you add a remote connection, the bottom sheet now adjusts itself to your screen, reaching the top instead of staying a fixed size. This change makes sure everything fits properly, even if you need to scroll through some content.
- Live activities for multiple printers have been improved to ensure that they update correctly without overwriting each other.
- While using obico or the manual connection, the app is now able to open Gcode and timelapse files again. #276
- Added Gadget by OctoEverywhere, offering free AI-based print monitoring (requires a linked OctoEverywhere account). Note: Not affiliated with Mobileraker.
- Multipliers, Limits, and FW Retraction cards can now be grouped into a single horizontal scrollable card. This is the default setting and can be disabled in the app settings.
- Firmware Retraction settings can now be edited in the app. #129
- Added Obico.io as a remote access provider.
- Improved the visibility of the Exclude Object button on the Dashboard for a better user experience.
- Renamed Babystepping to Z-Offset/Microstep Z-Axis to align more closely with Klipper.
- Live activities are now more compact, displaying complete icons and colors. They also update more often.
- All printer JRpc-Clients should now automatically reconnect when the app is opened from the background.
- Fixed an issue that prevented the app from correctly detecting the currently used Moonraker version.
- Resolved parsing errors for
heater_generic
,extruder
, andheater_bed
configurations that usetemperature_combined
sensor types. #270
- Promotions now show the correct duration on the paywall
- Reintroduced webcam support for users of Moonraker versions prior to v0.8.0. #254
- Added Ukrainian translation, thanks to iZonex #258
- Added Portuguese translation with Brasil flavor, thanks to @opastorello
- Introduced local Live Activity support for iOS devices. While real-time and remote updates to the live activities are currently under development, local activities will now update alongside the app itself. #238
- Introduced a new OctoEverywhere theme as a heartfelt tribute to the unwavering dedication and support of the OctoEverywhere team.
- In accordance with Moonraker, editing config-file-based webcams within the app is no longer supported.
- Deactivated the capacity to employ a temperature preset during an active print job.
- In scenarios with slower network connections, the app will no longer display the
Klipper-Error, Future did not complete in time
message. Instead, it will now seamlessly utilize the timeout configuration specified in the machine settings for all JRpc (JSON-RPC) calls, ensuring a more reliable and consistent user experience.
- [Supporters] Introduced printer-specific UI themes, now configurable within the printer editing process. #195
- Fixed an issue where the configuration of
extruder_stepper
was incorrectly recognized as extruder config, causing errors for users with multi-extruder setups. #248 - Addressed a problem where config files were out of sync if user edited them on another UI/Filesystem. #250
- Corrected the display of the First Layer Temperature on the GCode Detail page, which were swapped between extruder and bed.
- Fixed an issue with the control tab on the dashboard while changing the printer,
- The webcam now shows the correct remote indicator while using manual mode.
- Fixed files view for GCodes #246
- [Supporters] Added support for moonraker's Jobqueue API. The jobqueue is available on the files page and on the floating action buttons on the dashboard.
- Users are now able to configure an alternative url (Remote URL) that Mobileraker will use to connect to the printer. This is useful if you want to connect to your printer from outside your local network.
- The app now intelligently switches between local and remote connections based on your phone's WiFi network status, ensuring seamless connectivity even when you're not connected to a configured WiFi network.
- Made the timelapse folder accessible via the file browser if the timelapse plugin is active. [#241]((Clon1998#241)
- [Supporters] Timelapse videos can be shared directly from the app to other apps on your phone.
- Improved printer and config file parsing to ensure the app is more resilient to unexpected content in the config section definitions.
- Added the option to configure a custom HTTP/WS Client timeout in the printer edit and add flows.
- The printer's device notification registry can now be cleared in the printer edit flow.
- Resolved an issue where saving webcam and remote settings was not working when the user was connected via OE. #219
- The Manual Offset dialog now only closes if klipper is done with the manual_offset. This ensures manual bed leveling is working as expected #214
- The advanced printer add flow now correctly adds the default websocket path if the user does not specify a websocket URI.
- It is possible now to start a print, if the machine is in the cancelled state. #224
- Fixed parsing of the
heater_generic
config for some edge cases. #242 - Resolved an issue where the app would crash after being in the background for an extended period.
- Fixed missing resource for notification on Android preventing the delivery of push notifications
- Fixed issue on some devices that prevented the app from starting and required a reinstall
- The current app version is now also shown on the changelog page
- Fixed webcams did not render if they used an absolut path with a port #213
- Made klippy connection a little bit more reliable
- Dashboard should refresh more reliably if the printer/klipper restarts
- Reduced the aggressiveness of printer refresh when the app is reopened from the background #184
- Resolved the issue where offerings on the "Support the Dev" page were not appearing as active after users purchased promotional offerings.
Mobileraker now offers a lifetime Supporter Tier. As part of the new tier launch, I am offering an introductory promotion with lifetime tier prices discounted up to 35% until the end of August.
- Reworked the printer setup flow to provide a more user-friendly experience for beginners and offer additional customization options for advanced users. #153 #134 #182 #193
- Added support for WebRTC, enabling real-time communication between devices. #167, #191
- Introduced the option to directly reprint the last file if the printer is still in a complete state.
- Modified the behavior of the Confirm EMS setting to be an opt-out setting instead of opt-in.
- Improved the accuracy of the current and max layer display by utilizing moonraker's info.layer fields. #138
- Enhanced print progress accuracy by implementing the relative file method. #138
- Improved ETA accuracy and added tooltips to the ETA table cells, displaying Slicer, File, and Filament remaining time information. #138
- Added support for a 12-hour time format. #192
- Updated Mobileraker's notification icon for Android. #194
- Migrated webcams to Moonraker's Webcam API.
- Added a new splash screen during app startup.
- Introduced an error widget in case the initial startup fails.
- Files page now works even if klipper is in an error state #163
- Fixed the QR reader functionality, resolving issues with scanning QR codes.
- Enhanced the reliability of the JRpc client, ensuring smoother communication with the server.
- Addressed several minor errors in the background, improving overall app stability.
- Fixed an issue where Webcam Service type could not be edited. #198
- Resolved potential parsing errors, ensuring proper data handling. #205
- Fixed displayStatus being a mandatory field #202
- Fixed app not starting on ios #186
- Fixed printer refresh if klipper is not in ready state #187
- Fixed parsing of print_states #181
- Fixed QR scanner not populating API key field. #189
- Added changelog directly in the app
- Added Firebase Crashlytics
- Fixed chinese translation #179
- Fixed Mobileraker breaking existing WebRtc cam settings
- Tapping a notification now brings up the correct printer in a multi-printer setup #128
- Added
[heater_generic]
support #140 - Revamped the parsing and update mechanism of printer objects for improved efficiency and functionality.
- Refactored Handover Mechanism between Local and OctoEverywhere Connection
- Added Calibration actions to Move Axis card
- Added Manual Probe and Bed Screw Adjust Dialogs #169
- Added VzBot theme
- Enhanced the reliability of printer refresh on the dashboard, ensuring it now reliably refreshes both the printer and klippy.
- Info Snackbars make use of tenary color
- Step selectors should work better on smaller screens
- Move Axis Step selector allows input of real numbers/floating numbers
- Number displays are more i18n aware
- Updated Chinese Translation
- The utilization of the printer port should be avoided for relative path webcams (#168)
- Resolved the "Stream has been listened to" error (#174)
- Fixed min Ios Version (#171)
- Fixed void in Fans card if cooling fan is not configured
- Corrected tagging of machines
- Fixed webcam not working if rotation was missing
- Added Image Notifications for Supporters
- Fixed editing WebCams in Mobileraker disabled cams in Fluidd
- Fixed Octoeverywhere for printers with non default port
- Added restore button for subs
- Added IOS EULA
- WebCam error now shows the Cam's URIs
- Fixed Color in ConfigFile FAB
- Hotfixed Webcam card shown if no cam was found
- Hotfixed Webcam card shows error if no cam was found
- Hotfixed Printer edit closes even if a field error was detected
This release signifies a significant shift in the philosophy governing the future of Mobileraker, particularly regarding its monetization strategy. However, let me begin by addressing the most crucial aspect. Currently, there are no plans to restrict major functional features behind paywalls or subscriptions—Mobileraker will remain open source. Nevertheless, due to the unsuccessful reliance on donations as the sole funding source and the absence of long-term sponsorship from any company or shop, the decision has been made to incorporate monetization directly within Mobileraker.
With the introduction of this version, users now have the option to support the ongoing development of Mobileraker through in-app subscriptions. As a token of appreciation, supporters will gain access to an exclusive Material 3-based theme. In the future, additional perks such as UI enhancements or minor functional features may be introduced.
- Added a new "Support the Dev!" page to facilitate user contributions
- Improved integration by sharing webcam configuration with Mainsail/Fluidd
- Introduced a setting to automatically switch the fullscreen webcam to landscape mode (#95)
- Implemented a "Printer Switch" dialog that opens when users tap the page's titlt (Note: Rapid printer switching can be done by swiping the title)
- Provided a helpful hint in the app settings if mobileraker_companion is not detected
- Added Romanian translation, thanks to @vaxxi
- Added Italian translation, thanks to @Livex97
- Added support for printers that do not utilize a print fan (#158)
- Streamlined
Restart MCU
toRestart Firmeware
(#145) - Enhanced the webcam animation for smoother transitions from loading to normal operation
- Console entries now display the date if they are older than 24 hours
- Tapping a macro/command in the console now moves the cursor to the end of the input field
- Resolved issue where webcams were not functioning on all screens when OctoEverywhere is used
- Fixed ConfigView and GCode preview loading problems when OctoEverywhere is used (#148)
- Ensured proper transmission of API Key to OctoEverywhere (#146)
- Addressed duplicated notifications caused by duplicate FCM entries (#133)
- Fixed the ability to set fans higher than their respective
max_temp
value (#139) - Corrected the behavior of JRPC-Client, ensuring it waits for pending messages to complete (#159)
- Fixed
[output_pin]
config not getting parsed, finally making binary pins switchable (#146) - Fixed Importing of settings from other printers (#161)
- Fixed NotificationService not registering remote-id for notifications on machines with multiple printers managed by Mobileraker
- Resolved overflow issue on the
Dashboard
in theMoveAxis
card - Fixed changes in the printer edit page not getting reflected on the dashboard!
For a comprehensive list of changes prior to version 2.3.x, please refer to the tags page.