Artistic Style

Artistic Style Release Notes

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.