Releases: prusa3d/PrusaSlicer
PrusaSlicer 2.9.4-rc1
Summary
This is the first release candidate of PrusaSlicer 2.9.4. This release focuses on the integration of Junction Deviation for Marlin 2 firmware. The Junction Deviation feature improves motion planning around the corners of an object, reducing printing time while maintaining surface quality.
The release candidate saves its profiles into the 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.
Junction Deviation Integration and Improved Time Estimation
This release integrates full support for Junction Deviation (JD) for Marlin 2 firmware. A new Junction Deviation setting (Printer Settings -> Machine Limits > machine_max_junction_deviation) will automatically output the M205 J G-code. The internal Time Estimator and G-code Viewer have been updated to simulate the JD algorithm, providing significantly more accurate time estimates and realistic speed visualizations. Note: If machine_max_junction_deviation is set to 0, the classic Jerk logic will be used for calculations, and the JD feature will be disabled. Junction Deviation (JD) is now enabled by default for the CORE One L. This begins the phased rollout of JD for other printers with future profile updates.
Bugs fixed
- Fixed an Arachne bug where the simplification of closed extrusion paths could produce extremely small G-code segments, which could lead to visible print artifacts on curved surfaces. The issue was originally investigated by @sethml in #11811. This fix was ported from OrcaSlicer. Fixes #11807 and #11573. Thanks to @sethml and @Noisyfox.
Translations
- Updated POT.
- Update CS, DE, ES, FR, IT, JA, PL dictionaries.
PrusaSlicer 2.9.3
This is final release of PrusaSlicer 2.9.3, functionally equivalent to 2.9.3-rc1. 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.
Summary of changes with respect to 2.9.2
- New "Consistent Surface" cooling: Smarter logic for improved outer wall quality on fast layers.
- Short travel acceleration: Reduces ringing by slowing only the shortest travels on external perimeters.
- Custom G-code parameters: Define your own variables in profiles for flexible G-code customization.
Please, read change logs of 2.9.3-rc1 and 2.9.3-beta1 for more detailed description of the new features.
Changes with respect to 2.9.3-rc1
Translations
- Update JA dictionary.
- Updated Ukrainian localization (thanks to @DrFOXUA).
PrusaSlicer 2.9.3-rc1
Summary
This is the first release candidate of PrusaSlicer 2.9.3. It is functionally equivalent to 2.9.3-beta1.
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.
Translations
PrusaSlicer 2.9.3-beta1
Summary
This is the first beta release of PrusaSlicer 2.9.3. This version introduces two key improvements aimed at enhancing print quality: a new "Consistent Surface" cooling strategy for smoother surface finish on small layers and targeted specific short perimeter's travels acceleration tweak to reduce ringing artifacts. It also introduces custom parameters for Custom G-code expansions.
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.
Reduced Ringing on External Surfaces: Short specific travel acceleration
To reduce ringing (ghosting) artifacts, PrusaSlicer now automatically uses a gentler, lower acceleration for very short travel moves that occur at an external perimeter, while normal travels remain fast. This targeted slowdown dampens frame vibrations, leading to cleaner surfaces near sharp corners without significantly impacting overall print time. This is controlled by the new travel_short_distance_acceleration parameter. See the image below for an example of this applied acceleration and the resulting speed profile for a short travel move.
Cooling Logic Enhancements: "Consistent Surface"
On layers with very short print times, the cooling slowdown can sometimes negatively affect the surface finish by causing vibrations or inconsistent extrusion on external walls. The new "Consistent Surface" cooling logic solves this. It prioritizes slowing down less-visible areas (like infill) first. It will only slow down perimeters when absolutely necessary, and even then, it maintains the original speed for the final segment of the loop. There is also a new Perimeter transition distance parameter, which allows to smooth out sudden speed changes between the extrusions which are slowed down and the faster perimeters. Prefer the legacy behavior? Switch to "Uniform Cooling", which applies the same slowdown to all features — just as you were used to.
Prusa CORE One, model sliced with PrusaSlicer 2.9.2 (top) and with PrusaSlicer 2.9.3 (below):

If you are interested in how we investigated and tested the new Cooling Logic, see our article: https://blog.prusa3d.com/new-in-prusaslicer-consistent-surface-finish-and-nerfing-vfas_120400/
Custom G-code Parameters (#11550)
It is now possible to define custom variables in Print, Printer, and Filament profiles and use them in any custom G-code section. There is a new "Custom parameters" section in each of the three tabs (under the "Expert" mode). This section contains a text field where you can enter your variables. The parameters must be entered in a simple, single-level JSON format. Nested objects and arrays are not supported.
Example: To define a custom temperature and a fan speed, you would enter:
{
"my_nozzle_temp": 215,
"my_fan_speed_percent": 80.5,
"use_fast_mode": true,
"material_short_name": "PETG"
}To use a custom parameter, reference it in any custom G-code field using a placeholder. The placeholder name is constructed from the prefix (custom_parameter_print_, custom_parameter_printer_, or custom_parameter_filament_) followed by your key name. For example, {custom_parameter_printer_my_nozzle_temp} would be replaced with 215.
It is possible to use numbers, strings, and booleans. You can also use null, but trying to use a null parameter in G-code will result in an error during the slicing process. The user interface will immediately notify you with a warning message if the JSON you have entered is invalid.
Translations
- Updated POT
- Updated CS, DE, ES, FR, IT, JA, PL dictionaries.
PrusaSlicer 2.9.2
Summary
This is the final release of PrusaSlicer 2.9.2. It is functionally equivalent to 2.9.2-rc2, except for an update in translations.
Please, read change logs of 2.9.2-rc1 and 2.9.2-rc2 to see all changes with respect to 2.9.1.
When you first run the final build, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.
Translations
- Updated Finnish translation (#14412, thanks to @J3r0github)
Linux build is now distributed through Flathub. Please see the respective page on our Prusa Knowledge Base for instructions.
PrusaSlicer 2.9.2-rc2
Summary
This is the second release candidate of PrusaSlicer 2.9.2. Please, read the change log of 2.9.2-rc1 to see complete list of improvements and fixed with respect to 2.9.1
The release candidate uses the regular PrusaSlicer configuration folder.
Changes with respect to 2.9.1-rc1
- Fixed incorrect shortcut mentioned in the shortcuts list available from the SLA support points tool.
- Internal changes in the built-in downloader.
Translations
- Updated POT.
- Updated CS, PL, DE, IT, ES, FR, JA dictionaries.
Linux build is now distributed through Flathub. Please see the respective page on our Prusa Knowledge Base for instructions.
PrusaSlicer 2.9.2-rc1
Summary
This is the first release candidate of PrusaSlicer 2.9.2. It mostly fixes bugs found in 2.9.1.
The release candidate uses the regular PrusaSlicer configuration folder.
Improvements with respect to 2.9.1
- When importing STEP files, the geometry is converted into triangulated mesh which PrusaSlicer internally works with. The triangulation is performed with some defined precision - higher precision results in higher memory requirements and slower slicing, but the triangulated mesh is closer to the geometry that the STEP described. Until now, PrusaSlicer used some hardcoded defaults. In this version, there is an extra dialog shown during STEP file import, where the required quality of the triangulation can be selected. Last used selection is kept and the dialog can be dismissed for good by the "Remember my choice" checkbox. However, there is an option in
Preferences -> Otherto start showing it again.
Bugs fixed with respect to 2.9.1
- Fixed a crash in the new SLA support points generator.
- Fixed freezing in the new SLA support points generator (possibly fixing #14281).
- Scarf seams were not generated at all in certain cases (#14278).
- Fixed two distinct cases of incorrect function of the sequential arrange / test feature, both resulting into extruder possibly hitting a previously printed object (#14298, #14304).
- Fixed a crash in the sequential arrange algorithm happening in rare cases when multiple instances were present.
- Fixed input data for sequential arrange XL and CORE ONE (#14354), improved precision for MK4S so the arrange is not too conservative.
- Fixed tolerance-related issue in sequential arrange test, sometimes causing rejection of valid object positioning.
- Fix a crash when loading invalid STL file (very old bug) (#14343)
- Fixed measurement of distance between parallel-aligned circles (#14360).
- Fixed inadvertent rejection of 3MFs containing only configuration and no geometry.
Translations
- Updated POT
- Updated CS, PL, DE, IT, ES, FR, JA dictionaries.
Linux build is now distributed through Flathub. Please see the respective page on our Prusa Knowledge Base for instructions.
PrusaSlicer 2.9.1
Summary
This is the final release of PrusaSlicer 2.9.1. It is functionally equivalent to 2.9.1-rc2.
Please, read change logs of 2.9.1-alpha1, 2.9.1-beta1, 2.9.1-rc1 and 2.9.1-rc2 to see all changes with respect to 2.9.0. You can also check our blog article to get the summary.
When you first run the final build, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.
Linux build is now distributed through Flathub. Please see the respective page on our Prusa Knowledge Base for instructions.
PrusaSlicer 2.9.1-rc2
Summary
This is the second release candidate of PrusaSlicer 2.9.1. This release fixes two bugs found in 2.9.1-rc1.
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.
Changes with respect to 2.9.1-rc1
- Test of sequential printability reported names of the colliding objects incorrectly in certain cases (the test itself was correct). #14238
- Fixed freezing of the new SLA support points generator in certain cases.
- In very rare cases, the new SLA support points generator was crashing. These cases are now detected and an error message is shown instead.
Linux build is now distributed through Flathub. Please see the respective page on our Prusa Knowledge Base for instructions.
PrusaSlicer 2.9.1-rc1
Summary
This is the first release candidate of PrusaSlicer 2.9.1. This release is basically equivalent to 2.9.1-beta1.
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.
Changes with respect to 2.9.1-beta1
- Linux Flatpak build uses a different runtime version to hopefully mitigate issues with some dedicated GPU cards. #13945
Localization
- Updated CS, PL, DE, IT, ES, FR, JA dictionaries.
Linux build is now distributed through Flathub. Please see the respective page on our Prusa Knowledge Base for instructions.