Artistic Style - Release Notes

Artistic Style
Artistic Style Menu

# Artistic Style Release Notes

### Artistic Style 3.6.18 (August 2026)

- Added option pad-semicolon=none (--unpad-semicolon) to remove space padding before a semicolon
- Fix unpad-paren being suppressed for the remainder of a file after a typedef struct (https://gitlab.com/saalen/astyle/-/issues/80 follow-up)
- Fix statement alignment with noexcept keyword and -xb option (https://gitlab.com/saalen/astyle/-/work_items/112)
- Reduced the documented command-line option surface: trimmed pure-synonym spellings (e.g. style=bsd/break) and composite shortcut options (--pad-paren, --pad-brackets, --break-blocks=all) from --help/the man page/shell completions; all previously accepted option spellings still parse identically. Also fixed --attach-extern-c's short form, which collided with -xk and had never worked; it is now -xa.
- Added optional "in"/"out" parameters to --pad-paren and --pad-brackets (e.g. --pad-paren=in) to replace --pad-paren-in/--pad-paren-out and --pad-brackets-in/--pad-brackets-out; the older option names still work but are no longer documented.
- Extended the same "option=value" consolidation to more option pairs: --pad-paren=none, --pad-brackets=none, --pad-method-prefix=none, --pad-return-type=none, --pad-param-type=none, --break-return-type=decl and --attach-return-type=decl now replace --unpad-paren, --unpad-brackets, --unpad-method-prefix, --unpad-return-type, --unpad-param-type, --break-return-type-decl and --attach-return-type-decl respectively; the older option names still work but are no longer documented.

### Artistic Style 3.6.17 (July 2026)

- Added option remove-braces=one-line (https://gitlab.com/saalen/astyle/-/work_items/70)
- Fix address-of after a pointer cast padding (https://gitlab.com/saalen/astyle/-/work_items/14)
- Added sanitation of terminal output
- Added new file pattern option --include and auto-detect local project options (https://gitlab.com/saalen/astyle/-/work_items/64)
- Added new options --style=none --indent=none (https://gitlab.com/saalen/astyle/-/work_items/25)
- Added empty line before first method without all option (https://gitlab.com/saalen/astyle/-/merge_requests/20)
- Added the "no-indent-if-after-else" and "line-between-members" parameters
- Added new option --max-code-length-mode=ignore-side-comments (https://gitlab.com/saalen/astyle/-/work_items/93)
- Fix indent of upcoming long lines with total mode (https://gitlab.com/saalen/astyle/-/work_items/67)
- Apply more consistent indentation after line wrap (https://gitlab.com/saalen/astyle/-/work_items/98)
- Fixed `--align-pointer=name` for Function Arguments.

### Artistic Style 3.6.16 (May 2026)

- Fix regression: incorrect spacing for negative return literal with type cast (https://gitlab.com/saalen/astyle/-/work_items/110)
- Fix regression: function signature opening bracket indentation collapses (https://gitlab.com/saalen/astyle/-/work_items/111)

### Artistic Style 3.6.15 (May 2026)

- Fix indent of consecutive variable assignments (https://gitlab.com/saalen/astyle/-/work_items/104)
- Fix pad-oper after a function call (https://gitlab.com/saalen/astyle/-/work_items/105)
- Fix indent of function calls within initializer lists (https://gitlab.com/saalen/astyle/-/work_items/108)
- Added parameter max-code-length-mode to add indent count to line length for line wrapping (https://gitlab.com/saalen/astyle/-/work_items/67)
- Fix indent of code following C# verbatim triple quotes (https://gitlab.com/saalen/astyle/-/work_items/107)
- Set C++17 language standard for all VS project configurations

### Artistic Style 3.6.14 (January 2026)

- Fix indent after comma with align-pointer=type option (https://sourceforge.net/p/astyle/bugs/605/)
- Fix preprocessor indent with align-pointer=type option (https://sourceforge.net/p/astyle/bugs/604/)
- Fix padding of C# template delimiters with --pad-oper (https://gitlab.com/saalen/astyle/-/issues/102)
- Fix indent of concatenated raw strings (https://sourceforge.net/p/astyle/bugs/596/)

### Artistic Style 3.6.13 (October 2025)

- Fix indent of continued string literal as argument (https://gitlab.com/saalen/astyle/-/issues/99)
- Fix regression related to template delimters (https://gitlab.com/saalen/astyle/-/issues/85)

### Artistic Style 3.6.12 (August 2025)

- Improved complex lambda body indentation

### Artistic Style 3.6.11 (July 2025)

- Fix regression related to diff markers (https://gitlab.com/saalen/astyle/-/issues/92)

### Artistic Style 3.6.10 (July 2025)

- Fix comment recognition after macro definition (https://sourceforge.net/p/astyle/bugs/600/ )
- Fix indent of switch statements within structs (https://gitlab.com/saalen/astyle/-/issues/91)
- Fix Win32 build
- Improved lambda body indentation
- Ignore lines with git conflict markers (https://gitlab.com/saalen/astyle/-/issues/88)
- Replaced platform file functions by C++ filesystem library

### Artistic Style 3.6.9 (April 2025)

- Fix --mode parameter in generation script
- disable old isInTemplate flag only within structs (https://gitlab.com/saalen/astyle/-/issues/85)

### Artistic Style 3.6.8 (March 2025)

- Adjust --break-blocks to break structs and functions only with all option (https://gitlab.com/saalen/astyle/-/issues/83)
- Fix space between pointer references with --align-pointer=type (https://sourceforge.net/p/astyle/bugs/594/)
- Define <<< and >>> operators for Java only (https://sourceforge.net/p/astyle/bugs/595/)
- Fix indentation of class modifiers within structs (https://sourceforge.net/p/astyle/bugs/585/)
- Fix parsing of nested structs (https://sourceforge.net/p/astyle/bugs/586/)
- Another approach to fix interpretation of closing nested templates as operator (https://gitlab.com/saalen/astyle/-/issues/69)
- Fix indent of multiline strings with macros (https://gitlab.com/saalen/astyle/-/issues/82)

### Artistic Style 3.6.7 (February 2025)

- Add --error-on-changes option (https://gitlab.com/saalen/astyle/-/issues/68)
- Add c++17 flags in VS2022 project files; avoid VS2022 compilation warnings
- Prevent --squeeze-ws of removing whitespace before comments (https://gitlab.com/saalen/astyle/-/issues/74)
- Adjust --pad-include to ignore macros in include directives (https://gitlab.com/saalen/astyle/-/issues/73)
- Adjust --pad-include section in the docs (https://gitlab.com/saalen/astyle/-/issues/78)
- Fix interpretation of closing nested templates as operator (https://gitlab.com/saalen/astyle/-/issues/69)
- Use standard filesystem API to retrieve absolute file paths (https://gitlab.com/saalen/astyle/-/issues/79)
- Add operator --preserve-ws (https://gitlab.com/saalen/astyle/-/issues/78)
- Disable --unpad-paren in structs for leading whitespace (https://gitlab.com/saalen/astyle/-/issues/80)
- Do not remove space after opening parens and align-pointer=type (https://sourceforge.net/p/astyle/bugs/584)
- Fix issue with --pad-oper and *= operand (https://gitlab.com/saalen/astyle/-/issues/81)

### Artistic Style 3.6.6 (December 2024)

- Fix indent after assignment operators (correct cause) (https://gitlab.com/saalen/astyle/-/issues/61)
- Adjust delete-empty-lines feature description (https://sourceforge.net/p/astyle/bugs/517/)
- Support non-English versions of VS2022 in CMakeLists

### Artistic Style 3.6.5 (November 2024)

- Add option --accept-empty-list (https://sourceforge.net/p/astyle/tickets/70/)
- Fix indent regression due to method extraction (https://gitlab.com/saalen/astyle/-/issues/63)
- Fix indent in blocks after assignment operators (https://gitlab.com/saalen/astyle/-/issues/62)
- Fix indent of multi line strings after preprocessor or comment sections (https://gitlab.com/saalen/astyle/-/issues/65)
- Fix indent after assignment operators (https://gitlab.com/saalen/astyle/-/issues/61)
- Fix --align-pointer=middle with existing whitespace (https://sourceforge.net/p/astyle/tickets/124/)

### Artistic Style 3.6.4 (October 2024)

- Fix indent of brace initializers within constructor init list (https://sourceforge.net/p/astyle/bugs/467/)
- Improve indent of continued string literals (https://sourceforge.net/p/astyle/bugs/172/)
- Fix space after opening paren for GSC (https://gitlab.com/saalen/astyle/-/issues/55)
- Update astyle.html layout
- Add deprecation hint for --html
- Update install docs
- Delete old IDE project files
- Move build/cmake scripts content into main CMakeLists.txt

### Artistic Style 3.6.3 (October 2024)

- Fix indent after single open parenthse (https://gitlab.com/saalen/astyle/-/issues/45)
- Fix padding of operator char * methods (https://sourceforge.net/p/astyle/bugs/273/)
- Fix padding of user defined type cast (https://sourceforge.net/p/astyle/bugs/250/)
- Fix bitfield line break with macros (https://sourceforge.net/p/astyle/bugs/148/ )
- Fix GSC modulo padding (https://gitlab.com/saalen/astyle/-/issues/55)
- Removed flawed option --add-braces=nested (https://gitlab.com/saalen/astyle/-/issues/27)

### Artistic Style 3.6.2 (September 2024)

- Reverted alignment of user defined types using --align-pointer (https://gitlab.com/saalen/astyle/-/issues/35)

### Artistic Style 3.6.1 (September 2024)

- Fix setting of --pad-negation and --pad-include options (https://sourceforge.net/p/astyle/bugs/580/)
- Fix --pad-include with UTF-8 BOM (https://sourceforge.net/p/astyle/bugs/580/)
- Improve multiplication recognition with --align-pointer=type (https://sourceforge.net/p/astyle/bugs/572/)
- Improve --align-pointer=type after parens and brackets (https://sourceforge.net/p/astyle/bugs/578/)
- Removed VMS compilation options
- Updated JNI interface to use Arduino IDE conventions

### Artistic Style 3.6 (August 2024)

- Add option --pad-include (https://sourceforge.net/p/astyle/tickets/117/)
- Combined GHC and GSC style options
- Improve combination of --align-pointer=type and --pad-oper (https://sourceforge.net/p/astyle/bugs/578/)
- Improve multiplication recognition with --align-pointer=type (https://sourceforge.net/p/astyle/bugs/572/)
- Update compiler options in build files
- Fix indent of assignments within macros ( https://gitlab.com/saalen/astyle/-/issues/47)

### Artistic Style 3.5.2 (July 2024)

- Fix library compilation errors (https://gitlab.com/saalen/astyle/-/issues/48)

### Artistic Style 3.5.1 (June 2024)

- Fix crash concerning macro continuation (https://sourceforge.net/p/astyle/bugs/574)
- Fix EOL handling for Windows builds (https://gitlab.com/saalen/astyle/-/issues/43)
- Fix GSC comment recognition (https://gitlab.com/saalen/astyle/-/issues/46)
- Fix MSVC compiler warnings (https://sourceforge.net/p/astyle/bugs/575)

### Artistic Style 3.5 (June 2024)

- Add option --pad-negation (https://sourceforge.net/p/astyle/bugs/571)
- Apply align-pointer=type only if type is present (https://sourceforge.net/p/astyle/bugs/573)
- Avoid deletion of empty lines after continuation (https://sourceforge.net/p/astyle/bugs/574)
- Fix alignment of logical AND operators (https://sourceforge.net/p/astyle/bugs/572)
- Fix recognition of Java/C# multi line strings (https://gitlab.com/saalen/astyle/-/issues/42)

### Artistic Style 3.4.16 (May 2024)

- Fix padding of scientific notation literals (#570)
- Fix of reference args alignment (https://gitlab.com/saalen/astyle/-/issues/35)

### Artistic Style 3.4.15 (May 2024)

- Fix parsing of floating point literals (#566)
- Fix "--break-block" handling of class and function blocks (#569)
- Fix "--align-pointer=type" option for all types in lambda parameter lists (https://gitlab.com/saalen/astyle/-/issues/35)
- Fix padding of lambda capture with align-pointer option
- Exclude files ending with backup suffix from input file names list (#560)

### Artistic Style 3.4.14 (April 2024)

- Fix split references with "-k1" option (#565)
- Fix "--align-pointer=type" option for fundamental types in lambda parameter lists (https://gitlab.com/saalen/astyle/-/issues/35)
- Fix "--indent-after-parens" indent count (https://gitlab.com/saalen/astyle/-/issues/29)

### Artistic Style 3.4.13 (March 2024)

- Fix comment indent after string macro with R suffix (https://gitlab.com/saalen/astyle/-/issues/39)
- Do not break single line block after enum in mozilla mode (https://gitlab.com/saalen/astyle/-/issues/38)
- Adjust cmake policy for new versions only (https://gitlab.com/saalen/astyle/-/issues/40)
- Update man page path
- Add support for scikit-build-core

### Artistic Style 3.4.12 (February 2024)

- Add "--pad-brackets-in" and "--pad-brackets-out" options (https://gitlab.com/saalen/astyle/-/issues/33)
- Fix indentation of initializer lists (https://gitlab.com/saalen/astyle/-/issues/28)
- Fix crash with "--add-braces=nested" applied to if-else blocks (https://gitlab.com/saalen/astyle/-/issues/36)

### Artistic Style 3.4.11 (January 2024)

- Add new option "--add-braces=nested" to add braces in nested single line statements (https://gitlab.com/saalen/astyle/-/issues/27)
- Fix indent after double template brackets (https://gitlab.com/saalen/astyle/-/issues/28)
- Fix indent after dot (https://gitlab.com/saalen/astyle/-/issues/28)
- Option "--squeeze-lines=1" is no longer default with Linux builds (#559)
- Add experimental GHC mode (https://gitlab.com/saalen/astyle/-/issues/31)
- Fix indent after raw string (https://gitlab.com/saalen/astyle/-/issues/32)

### Artistic Style 3.4.10 (October 2023)

- Fix missing indent in function parameter list (https://gitlab.com/saalen/astyle/-/issues/16)

### Artistic Style 3.4.9 (October 2023)

- Apply one wording for Objective-C in the docs
- Fix more CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)
- Fix inserting space with combined "--pad-oper" and "--align-pointer" options (#557)

### Artistic Style 3.4.8 (September 2023)

- Fix lambda broken brace after auto keyword (#554)
- Fix line break after comment in asm block (#226)
- Fix padding of multiply operator (#126)
- Fix indentation of method calls (#434)
- Fix empty line after closing while block (https://gitlab.com/saalen/astyle/-/issues/18)
- Add outer padding for empty parens pairs (https://gitlab.com/saalen/astyle/-/issues/19)
- Fix more CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)

### Artistic Style 3.4.6 (August 2023)

- Add VS2022 project files (https://gitlab.com/saalen/astyle/-/merge_requests/3)
- Fix CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)
- Add CS coalesce assignment operator (https://gitlab.com/saalen/astyle/-/issues/17)

### Artistic Style 3.4.1 (August 2023)

- Fix padding of & following a comma (#552)
- Fix indent of function declarations following access modifiers (#504)
- Fix indent of C# allocation blocks (#464)
- Fix indentation of comments after CS interpolation quotes (https://gitlab.com/saalen/astyle/-/issues/16)

### Artistic Style 3.4 (June 2023)

- Fix formatting of CS interpolation literals (https://gitlab.com/saalen/astyle/-/issues/8).
- Fix false lambda recognition (https://gitlab.com/saalen/astyle/-/issues/11)
- Fix indentation of member declarations (https://gitlab.com/saalen/astyle/-/issues/10)
- Fix indentation of struct assignments (https://gitlab.com/saalen/astyle/-/issues/12)
- Add new option "--indent-lambda" to enable new lambda recognition (https://gitlab.com/saalen/astyle/-/issues/7)
- Add link to astyle Python distribution projects (https://gitlab.com/saalen/astyle/-/issues/6)

### Artistic Style 3.3 (May 2023)

- Add new option "--squeeze-ws" to remove superfluous whitespace (experimental)
- Add new option "--squeeze-lines" to remove superfluous empty lines (experimental, #19, #22, #43, #72, #84, #93, #105, #517)
- Add new options "--pad-brackets" and "--unpad-brackets" to add or remove whitespace around square brackets (experimental)
- Fix indent of lambda bodies in fct calls (#121)
- Fix indent of struct names including "struct" (#526)
- Fix indent of C++11 initializer lists (#516)
- Fix padding of pointers separated by comma (#537)
- Refactor namespace std usage

### Artistic Style 3.2.1 (March 2023)

- Fix struct recognition related to SF #534 (https://gitlab.com/saalen/astyle/-/issues/1)

### Artistic Style 3.2 (March 2023)

- Add new option "style=webkit" for the WebKit brace style.
- Improve recognition of pointer variable types.
- Change CMake files to the "modern" format.
- Fix formatting of raw string literals with the opening '(' at the end of line (#519).
- Fix indentation of comments in a preprocessor define indented with tabs (#506).
- Fix vector limit segfault with g++-8, recursive, and -D_GLIBCXX_ASSERTIONS (#503).
- Refactoring:
  - Extract new method for options in ASOptions class to avoid compiler limits.
  - Change vector push_back to emplace_back except for vector<bool>.
  - Changes from clang-tidy to modernize code.
- added man page
- removed deprecated options
- added shell completion scripts
- added "--mode=js" option
- added INVALID_TYPE constant
- removed upper limit of "max-continuation-indent"
- fixed raw string parsing (#535)
- fixed recognition of rvalue operator as reference (#543)
- fixed reverting effect of AttachReturnType option (#527)
- fixed padding of dereference operator (#544)
- added C++ spaceship operator (#538)
- fixed case indent after enum return value (#550)
- fixed space deletion when aligning ref value name (#546)
- fixed reverting effect of maxCodeLength and AttachReturnType options (#545)
- fixed break of continued preprocessor strings with colon (#533)
- fixed struct bitfield indentation (#534)
- replace PATH_MAX by realpath (#549)
- fixed negative integer literal breaks initializer list (#485)
- fixed documentation of --delete-empty-lines short option (#508)
- fixed project file search (#541)
- fixed indent of ObjectiveC statements (#525)
- fixed parsing of C# interpolation strings (#483)
- fixed break-blocks format after struct (#518)
- fixed project file search with wildcard input paths (https://gitlab.com/saalen/astyle/-/issues/1)
- https://sourceforge.net/p/astyle/tickets/130/ better description for stat errors
- https://sourceforge.net/p/astyle/tickets/129/ applied IT localization patch
- improved DE localization

### Artistic Style 3.1 (January 2018)

- Add new options "project", "project=####", and "project=none" (#11).
- Add new options, "break-return-type" and "break-return-type-decl" (#358, 286, 205, 16).
- Add new options, "attach-return-type" and "attach-return-type-decl" (#358, 286, 205, 16).
- Add new option "style=ratliff", as an alternate name for banner style.
- Add new environment variable ARTISTIC_STYLE_PROJECT_OPTIONS (#11).
- Add multiple extensions to the command line file paths option.
- Improve recognition of unary + and - when using pad-oper.
- Change the Windows default options file location from USERPROFILE to APPDATA.
- Change options file input to accept UTF-16, or UTF-8 with a BOM (or signature).
- Change "unsigned short" data type to c++11 "char16_t".
- Change translations for new project options file.
- Fix utf8LengthFromUtf16() calculation being less than the actual length.
- Fix multiply followed by a dereference for "align-pointer=type".
- Fix recognition of a uniform class initializer in a base class initialization (#441).
- Fix indentation of "volatile" keyword not used in a method definition (#450).
- Fix indentation of "final" keyword not used in a method definition (#450).
- Fix indentation of compound literals in an argument list (#456).
- Fix indentation of trailing return type method following a constructor (#463).
- Fix space padding of closing brace before a dot (#468).
- Fix Objective-C to allow for "Extern C" statements in the source files (#443, 444, 446).
- Fix Objective-C to allow for method definitions without a specified return type (#447).
- Fix Objective-C to allow for method definitions with multiple param types.
- Fix Objective-C to replace tabbed padding with a space.
- Fix Objective-C formatting of line-end comments with "unpad-return-type".
- Fix Objective-C "align-method-colon" to ignore ternary (?) operators.
- Fix C# base class constructor indentation (#459).
- Fix C# indentation of method declaration containing a colon (#465)
- Fix C/C++ to allow "interface" as a non-keyword (#445).
- Fix Java to allow "default" as a non-switch keyword.
- Fix line ends initialization if no line end has been read.
- Fix Java build from including ASLocalizer in the shared library.
- Fix to check for AStyleWx line tags after C style comments.
- Fix boundary conditions and other errors discovered by fuzzing.
- Refactoring:
  - Extract method isNumericVariable() in ASFormatter class.
  - Extract method isTopLevel() in ASBeautifier class.
  - Extract method fileExists() in Console class.
  - Rename ASEncoding variable from "utf8_16" to "encode".
  - Rename ASBeautifier vector from squareBracketDepthStack to parenDepthStack.
  - Combine style options in ASOptions class to avoid compiler limits.

Previous releases are available in the Release Notes Archives.