github prusa3d/PrusaSlicer version_2.9.3-beta1
PrusaSlicer 2.9.3-beta1

pre-release3 days ago

PrusaSlicer

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.

travel_short_distance_acceleration_v2

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):
vokoscreenNG-2025-08-27_21-56-00-ezgif com-optimize
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.

Don't miss a new PrusaSlicer release

NewReleases is sending notifications on new releases.