Releases: prusa3d/PrusaSlicer
PrusaSlicer 2.8.0-alpha5
Summary
This is the first public alpha release of PrusaSlicer 2.8.0 (previous alphas were internal). This release introduces Prusa Connect integration and many more improvements and bugfixes.
To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration. The alpha will ask whether it should import a configuration from previously run PrusaSlicer versions on the first start.
An important note for Linux users: The binaries will not run on newest Ubuntu 24.04 (and possibly other latest distributions). This problem will be solved shortly in the next alpha/beta.
Prusa Connect integration
Prusa Connect is our online system to control printers from the browser and distribute print jobs among them. Starting with this release, Prusa Connect is accessible directly from PrusaSlicer to streamline the workflow. A login box was added to the right of the top bar, which will open a browser window and let you log in with your Prusa Account credentials. When the login is successful, one more tab (Prusa Connect) will appear in the top bar. This tab will present your Prusa Connect dashboard and all features that you are used to.
When logged in, PrusaSlicer keeps track of the status of your printers and it also knows with which of your printer profiles they are compatible (printer model, MMU capabilities and nozzle diameter are checked). When a printer compatible with a given printer profile is in Prusa Connect, a little colored dots will appear in the printer profile dropdown in the right panel, displaying current status of that printer. The summary of the state of connected printers is shown just below the dropdown.
When ready to export G-code, a 'Send to Connect' button appears in the right panel. Clicking this button will open a dialog window presenting all your Connect printers compatible with the current project and allowing you to send the generated G-code to one of them:
To streamline the workflow in the other direction, there is an extra button in Connect labeled "Set as current", which is shown for every printer. Clicking it will switch back to Plater tab and select first compatible printer profile automatically. The language settings and light/dark mode in the Prusa Connect tab is automatically switched so they match what is currently selected in PrusaSlicer.
Previous way of sending G-codes to Prusa Connect using a physical printer profile is deprecated. Users should stop using physical printers for Prusa Connect, although the support will be maintained for some time. Nothing changes with regard to PrusaLink or the other print hosts.
Note that logging in or using Prusa Connect is completely optional. PrusaSlicer will work fine without the login, as it has worked before. We are considering to add a Preferences checkbox to hide the login box completely to not bother people who intend to never use it anyway. Your feedback is welcome.
Improved UI
We have decided to do several tweaks to the user interface. It is by no means a complete redesign, so the controls are mostly where you are used to find them. The most visible change is the top bar. The system menu was removed (on Windows and Linux only) and it is now accessible through a separate button at the very left of the top bar. The settings tabs are now larger and styled. The larger top bar allowed us to integrate the Search field into it, so it is readily accessible and it looks the same regardless of which tab is active (unlike in previous versions). The right part of the top bar features the Simple/Advanced/Expert switch (which is newly a dropdown) and the PrusaAccount login box.
Next, both sliders in the Preview have been completely reworked and are now part of the 3D scene, instead of being placed in a neighboring panels. Apart from looking nicer and more modern, removing the side panels means that the canvas size is larger. It also comes with a nice benefit that switching back and forth between the 3D view and Preview no longer shifts the view, so the transition is more comfortable.
Credits go to BambuStudio, whose sliders were used a starting point for the implementation (although we later ended up rewriting most of it to fit current PrusaSlicer architecture).
Topping the list of the UI improvements, the spacing and icon size in the toolbars in the scene was slightly changed. The toolbars are now nicer and look less cramped.
Improved G-code Viewer
The integrated G-code Viewer has been significantly reworked to improve its performance. Less data are now transmitted between the CPU and GPU and more of the work is now performed on the GPU side.
Furthermore, G-code Viewer is now able to visualize actual speed. The printer accelerates and decelerates when direction changes, so even though the required speed is set to a given value, it takes some time to reach it (if it is reached at all). The acceleration limits are (as they always were) configurable in Printer Settings -> Machine limits
and PrusaSlicer always calculated with the acceleration and deceleration phases to get precise time estimate, but it did not allow to visualize them.
Note that the same disclaimers as for precise time estimates hold. If the machine limits are set incorrectly (in the sense that the printer uses different values), both the time estimate and the real speed visualization will not align with reality. Also, the actual speed visualization is not available for firmware flavors for which slicer does not allow setting the machine limits.
In addition, when moving the horizontal slider, there is a new popup dialog showing the data that G-code Viewer has about current segment, including the actual speed profile:
Single Perimeter for top and bottom layers
We have ported an option to use single perimeter for (top) solid infill layer. The feature can be configured in Print Settings -> Only one perimeter
and based on the configuration, it results in single perimeter on all solid infill layers, on top solid infill layers or on topmost solid infill layers. This generally leads to improved visual look of the printed object, without sacrificing structural rigidity.
This is a frequently requested feature, which was first implemented in SuperSlicer, ported over to OrcaSlicer and then reimplemented in BambuStudio. We have ported the code from BambuStudio with only small changes. Even though we ended up not using the original SuperSlicer implementation, we would like to thank to everyone who implemented the feature there and who worked on a PR with the port (#10648), namely @supermerill, @vovodroid, @mjonuschar. Thanks also go to @bambulab for rewriting the feature later.
Related to #7986, #9854, #10346, #10868, #11654, #11965, #12263.
New system profile updating system
Since Slic3rPE 1.40 (released six years ago), PrusaSlicer has a built-in profile updater. Its task is to deliver read-only "system" profiles, which are fine tuned for the given printer and filament, sparing the user from having to tweak the individual parameters. The database of profiles has been growing ever since, and it contains many profiles, both for Prusa products and products from other vendors.
We have now split the profile database into several profile "repositories". Profiles are updated only from repositories that PrusaSlicer is subscribed to. The repositories are selected at the beginning of the Configuration Wizard. The transition of your previous configuration requires no action on the user's side, the repositories are automatically selected based on your currently installed profiles.
This change is motivated by several internal reasons, but it also brings the following benefits:
- Configuration Wizard loads faster, because it generally processes less data.
- Notifications informing about an existing update are only shown for your active repositories. E.g. if you only use SL1 printer, you are not disturbed by notifications about updated filament profiles, which are not relevant to you.
Offline updates
We have also covered the problem of updating system profiles on computers without internet connection. Not connecting a computer to the internet is an obvious security measure in environments where data leaks would pose a problem (which is in most contexts, maybe apart from casual hobby printing). However, the profile updater in PrusaSlicer relied on internet connection and there was no way of updating the profiles on such off-the-grid stations. They had to rely on undocumented and very user-unfriendly copying of configuration folders, transferring settings as config bundles, etc.
It is now possible to download a file containing the configuration update for a given repository from our website (note that the URL and the website are also in an alpha stage). This file can then be loaded as an "Offline repository", and the configuration process treats is the same way as it w...
PrusaSlicer 2.7.5-rc1
Summary
This is the first release candidate of PrusaSlicer 2.7.5. This release adds support for new features introduced with firmware version 1.8.0 for Prusa SLA printers.
Note that this release candidate uses the same configuration folder as the regular releases.
Extended SLA layer separation configuration
In previous versions of SL1/SL1S firmware, the layer separation configuration mostly consisted of selecting a 'Material printing profile' from three predefined options (Slow / Fast / High viscosity). Based on the selection, the printer would use an internally defined set of parameters to perform the layer separation. To make it possible to fine-tune the layer separation procedure for each material, new 1.8.0-beta.0 firmware for the SL1/SL1S printers allows more detailed control over the parameters of the separation. You can read more about this change in Prusa SLA FW 1.8.0-beta.0 change log.
To keep up with these changes, PrusaSlicer 2.7.5 changes the way how the separation is configured: the 'Material printing profile' selector is no longer shown and many new parameters are now accessible in Material Settings -> Material printing profile
. Note that this change is only applied for Prusa SL1 and SL1S. With all the other printers, everything stays as it was in 2.7.4.
Old projects using the 'Material printing profile' selection are automatically converted when loaded, and the values for all the parameters are set to match the legacy profile selected in the project. On the other hand, opening a 3MF project from 2.7.5 or higher in an older version of PrusaSlicer will silently ignore the new parameters and the value of 'Material printing profile' (which is retained internally and kept in our system profiles) will be used instead.
Other improvements and fixes with respect to 2.7.4
- An extra legend window was added into the SLA preview. It shows when using the vertical slider and contains information about current layer area and time estimate.
- Parameter 'Printer absolute correction' was added into Material Overrides.
- Parameter 'Printer scaling correction' was removed from Material Overrides.
- Fixed UI glitches in SLA Material Overrides tab when the window was moved from one monitor to another with different scaling factor, or when dark/light mode was switched.
Translations
- Updated CS, PL, DE, IT, ES, FR, JA dictionaries.
PrusaSlicer 2.7.4
Summary
This is stable release of PrusaSlicer 2.7.4. This release improves loading of 3MFs generated by BambuStudio and fixes a single bug found in 2.7.3.
Improvements with respect to 2.7.3
- Objects from 3MFs generated by BambuStudio now retain multimaterial painting when loaded. BambuStudio saves the data under a changed name, but because both the location and meaning are the same, PrusaSlicer now tries to load the data under the new name when it fails to find the attribute that PrusaSlicer has always used. #12502
Bugs fixed with respect to 2.7.3
- macOS and Linux specific: Downloading files from Printables did not work correctly (#12521).
PrusaSlicer 2.7.3
Summary
This is stable release of PrusaSlicer 2.7.3. This release is functionally equivalent to 2.7.3-rc1. Please, read the change logs of 2.7.3-alpha1, 2.7.3-beta1 and 2.7.3-rc1 for the complete list of bugfixes and improvements over 2.7.2.
If any of the PrusaSlicer 2.7.3 alphas or betas was used before on the same machine, PrusaSlicer 2.7.3 will offer to import such alpha or beta configuration when it is first executed.
PrusaSlicer 2.7.3-rc1
Summary
This is the first release candidate of PrusaSlicer 2.7.3, which fixes a single bug found in the previous beta. Please, read the change logs of 2.7.3-alpha1 and 2.7.3-beta1 for the complete list of bugfixes and improvements over 2.7.2.
The release candidate saves its profiles into regular PrusaSlicer configuration directory. When you first run it, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.
Bug fixes with respect to 2.7.3-beta1
- Removed negligible deretractions sometimes emitted into the G-code after the recently introduced spiral vase mode improvements. While they did not present actual issues with the print, they were confusingly shown in the G-code preview.
PrusaSlicer 2.7.3-beta1
Summary
This is the first beta release of PrusaSlicer 2.7.3, which fixes bugs found in the previous alpha. Please, read the change log of 2.7.3-alpha1 for the complete list of bugfixes and improvements over 2.7.2.
To let you enjoy the beta without worries, the beta builds save their profiles into PrusaSlicer-beta directory, so you may use the beta side by side with the current release without ruining your production configuration. The beta will ask whether it should import a configuration from previously run PrusaSlicer versions on the first start.
Bug fixes with respect to 2.7.3-alpha1
- The z offset configuration option was not correctly accounted for when doing the last filament unload above the wipe tower.
- Fixed crash when importing a specific config bundle while in SLA mode.
- Linux specific: When changing active profile using the dropdown in the right panel, the dropdown would stay open when Unsaved Changes dialog was shown.
- The improvements of spiral vase mode handling introduced in the previous alpha did not work correctly with absolute extruder addressing (#2841 (comment)). They are now only applied with relative extruder addressing, otherwise it falls back to the old behaviour.
- After performing a toolchange on the wipe tower, a G-code to set layer z is now always emitted. This is to make sure that the layer z is correct and that it was not changed in custom toolchange G-code. While the user is expected to pass such information in the custom G-code, the "z-ensuring" G-code was present in previous versions and removing it in 2.7.2 was therefore a needless breaking change (#12361).
- Fixed blobs on the first layer when using ramping travels with absolute extruder addressing enabled.
- Fixed issues with 'avoid crossing perimeters' function (#12432). This problem was actually fixed in 2.7.3-alpha1 already.
Infrastructure
- Linux specific: The desktop integration code inside PrusaSlicer can now be disabled at compile time. This is useful when deploying the application using Flakpak, because it can take care of the desktop integration itself. Thanks to @eliadevito for providing a PR (#12252) and maintaining the Flatpak build.
Translations
- Updated CS, DE, ES, FR, IT, PL, JA dictionaries.
PrusaSlicer 2.7.3-alpha1
Summary
This is the first public alpha release of PrusaSlicer 2.7.3. This release introduces improvements of multi-material printing, improvements of spiral vase mode and several important bugfixes.
To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration. The alpha will ask whether it should import a configuration from previously run PrusaSlicer versions on the first start.
Improvements of multi-material printing
For a long time, a community-developed feature exists which claims to improve filament tips during toolchange sequences, which would in turn increase reliability of devices depending on reasonable tip shape (such as Prusa MMU1 and MMU2). This feature is referred to as "skinnydip", and the basic principle is to push the filament back into the melt zone after it was unloaded to melt off the thin string that the filament often has. We at Prusa Research have tested the feature several times, but the results were not very convincing and we never integrated the feature into PrusaSlicer. After doing more experiments recently, we found out that the technique is more convincing when preceded by very rapid ramming.
Based on that knowledge, we decided to implement very similar approach for reshaping the filament tip. Because the goal is to reshape the filament tip using the mostly empty nozzle, instead of melting off the thin filament tip, we call our approach "stamping". There are two new parameters in Filament Settings (filament_stamping_distance
and filament_stamping_loading_speed
) which control how far and how fast should the filament be pushed after the initial unload. The stamping moves are coupled with cooling - the stamping moves are performed between the individual cooling moves.
We would like to highlight community projects that helped us develop our Stamping step and saved our developers and testers a significant amount of time – Skinny Dip post processing script by Erik Bjorgan and Dribbling by Antimix. While we ended up with a different approach, we would like to thank both authors for all the effort invested into the project and for making it open-source! (Related to #2385, #2452, #2729, mentioning @domesticatedviking and @antimix.)
Purging volumes
PrusaSlicer allows to set purging volumes for single-extruder multi-material printers, so that each filament is purged exactly as it needs to. However, these settings were only saved in the 3MF project, not in configuration. This made setting them quite cumbersome and the user would always need to think about adjusting the default values. On the other hand, setting the values only in configuration without the option to override it in the project is also inadequate, because one may care about purging more in one project and less in another. In addition, the configuration option would make sense both in Filament and Printer Settings. #1273, #1282, #2990, #3756
In this release, two additional configuration options were added. The volume to purge is set using multimaterial_purging
in Printer Settings->Single extruder MM setup. This value can be further modified on filament level using filament_purge_multiplier
in Filament Settings->Advanced.
As for the project-specific override, the "Purging volumes" dialog now contains a switch. You can either use the values from Filament and Printer profiles (as described above) or define your own matrix of purging volumes (like in previous PrusaSlicer versions). When you decide to do that, the values from the configuration are not used.
Spiral vase mode improvements
When using spiral vase mode, the toolpaths are generated as usual and the resulting extrusions are then extruded while gradually increasing z. This approach led to seam-like artifacts on the print in places where the layer transitions would normally be (#4116, #2841). In addition, the last layer would end abruptly, creating a sharp "edge" where the extrusion ends.
Both these issues were addressed by @andrewboktor by interpolating between adjacent layers and by gradually reducing extrusion flow at the very end of the print. The improvement was recently merged into OrcaSlicer (SoftFever/OrcaSlicer#3091), and we got a pull request with a port to PrusaSlicer. After we evaluated the feature, we decided to merge it because it is well written, well working and very useful.
Thanks to @andrewboktor for the time and effort invested into the issue, and to both @vovodroid and @tg73 for providing a pull request with a port from OrcaSlicer (#12079, #12142).
Other improvements with respect to 2.7.2
- PrusaSlicer is now able to open 3MF files generated by BambuStudio and load geometry from them. (#10718, PR #10808, thanks to @cmguo). Please note that BambuStudio allows to save a 3MF containing G-code only, which is not supported by PrusaSlicer and loading of such 3MFs will fail.
- Metadata of binary G-code have a new item named
objects_info
, which lists all the objects in the print and their boundary polygons. The same info was added into the comments at the end of ASCII G-codes.
Bugfixes with respect to 2.7.2
- Pressure equalizer limits were not respected when Dynamic speed on overhangs was used (#9485). This is now fixed. Pressure equalizer is also not applied after long travels. Many thanks to @MGunlogson for providing a fix in his pull request #9622.
- Fixed a bug resulting in inadequate anchoring of bridging extrusions. This bug was introduced in PrusaSlicer 2.6.0. #10231, #11500, #11633, #11173, #11117, #9999, #10313, #11150, #10493
- When using Cancel object feature, the marks denoting where one object ends and another starts were placed incorrectly. As a result, there was a missing deretraction after all travels to objects which would normally be printed following the cancelled object. The issue was even worse with sequential printing, where the uncompensated retractions on the cancelled object summed up and could result in filament being unloaded past the driving gears.
- When arcs (
G2
andG3
G-codes) were enabled, PrusaSlicer generated toolpaths outside the print area in certain cases (#12381).
Translations
- Updated POT
- Added Slovenian translation (#12422, thanks to @jernejp21)
PrusaSlicer 2.7.2
Summary
This is the stable release of PrusaSlicer 2.7.2, fixing one bug found in the previous release candidate. Please, read the change logs of 2.7.2-alpha2, 2.7.2-beta1, 2.7.2-rc1 and 2.7.2-rc2 for the complete list of bugfixes and improvements over 2.7.1.
If any of the PrusaSlicer 2.7.2 alphas or betas was used before on the same machine, PrusaSlicer 2.7.2 will offer to import such alpha or beta configuration when it is first executed.
Bugs fixed with respect to 2.7.1
- When specific extruder was set for the wipe tower and z position has changed in custom toolchange G-code, the z position was not correctly accounted for.
PrusaSlicer 2.7.2-rc2
Summary
This is the second release candidate of PrusaSlicer 2.7.2, which fixes bugs found in the previous release candidate. Please, read the change logs of 2.7.2-alpha2, 2.7.2-beta1 and 2.7.2-rc1 for the complete list of bugfixes and improvements over 2.7.1.
The release candidate saves its profiles into regular PrusaSlicer configuration directory. When you first run it, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.
Bug fixes with respect to 2.7.2-rc1
- When using the "No sparse layers" wipe tower, the print head sometimes lowered before travelling to the wipe tower, digging into an object and destroying the print (#12330).
- Fixed a crash when loading certain AMF files (#12332).
Localization
- Updated JA dictionary.
PrusaSlicer 2.7.2-rc1
Summary
This is the first release candidate of PrusaSlicer 2.7.2, which fixes a single bug found in the previous beta. Please, read the change logs of 2.7.2-alpha2 and 2.7.2-beta1 for the complete list of bugfixes and improvements over 2.7.1.
The release candidate saves its profiles into regular PrusaSlicer configuration directory. When you first run it, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.
Bug fixes with respect to 2.7.2-beta1
- Fixed incorrectly applied retraction in vase mode when ramping travels were enabled (#12305).