Uncrustify Changelog

What's new in Uncrustify 0.59

Oct 5, 2011
  • New options:
  • nl_case_colon_brace
  • indent_ctor_init
  • sp_before_tr_emb_cmt
  • sp_num_before_tr_emb_cmt
  • utf8_bom
  • utf8_byte
  • utf8_force
  • sp_after_new
  • nl_after_struct
  • nl_after_class
  • nl_property_brace
  • nl_after_func_body_class

New in Uncrustify 0.58 (May 20, 2011)

  • tok_split_gte
  • sp_catch_paren
  • sp_scope_paren
  • sp_version_paren
  • cmt_insert_oc_msg_header

New in Uncrustify 0.56 (Mar 29, 2010)

  • indent_continue
  • indent_cmt_with_tabs
  • indent_first_bool_expr
  • indent_braces_no_class
  • indent_braces_no_struct
  • indent_var_def_cont
  • sp_assign_default
  • sp_after_oc_at_sel_parens
  • sp_inside_oc_at_sel_parens
  • align_oc_decl_colon
  • nl_after_vbrace_close
  • nl_using_brace
  • mod_full_brace_using

New in Uncrustify 0.55 (Nov 30, 2009)

  • See the GIT history for a full list of changes
  • Fix align_left_shift with array indexes
  • Objective C changes (Andre Berg)
  • Fix a close paren added inside a preprocessor line
  • Fix handling of 'mutable'
  • New options1
  • sp_endif_cmt
  • nl_func_decl_start_single
  • nl_func_decl_end_single
  • nl_after_vbrace_open_empty
  • Improved options
  • sp_before_ellipsis
  • nl_struct_brace
  • align_on_tabstop
  • align_with_tabs
  • align_left_shift
  • nl_func_type_name
  • nl_create_if_one_liner
  • pos_assign

New in Uncrustify 0.54 (Oct 17, 2009)

  • Add mod_case_brace
  • Add sp_after_semi_for and sp_after_semi
  • Add align_oc_msg_colon
  • ObjC: Do not set the parent of everything in a message at OC_MSG (was breaking casts)
  • ObjC: sp_before_square does not apply in "if (i < [a count])"
  • Fix crash bug in chunk_get_prev() at the start of the file
  • Fix issue with #if COND followed by a cast on the next line
  • Add nl_func_decl_empty
  • Add nl_func_type_name_class
  • Add cmt_reflow_mode (Ger Hobbelt)
  • A case statement starts an expression. Fixes "case -1:"
  • Improve semicolon removal test
  • fix marking of brace/paren pairs that have a preproc inside
  • fix nl_func_type_name where the return type contains a template
  • Add mod_full_brace_if_chain
  • fix detection of deref in a macro function
  • fix detection of "std::vector functions;"
  • Remove extra semicolons on an 'else if'
  • Add sp_before_ellipsis
  • treat a constructor the same as a function regarding nl_func_decl_*
  • Add nl_brace_brace
  • Allow any number of spaces between multi-line comments when combining them
  • Add pos_compare
  • Add pos_conditional
  • Fix indent_relative_single_line_comments
  • Add sp_after_oc_return_type and sp_after_oc_at_sel (Andre Berg)
  • Add indent_namespace_level (James LewisMoss)
  • Add indent_namespace_limit (Maciej Libera)

New in Uncrustify 0.53 (Oct 6, 2009)

  • Fix sp_inside_braces* options, which were broken by the fix to issue #2629652
  • Fix sp_after_cast, which was broken by a previous fix
  • Be a little more agressive in removing unecessary semicolons
  • Fix one case where the parser leaves a preprocessor #define
  • Fix indent of line starting with '(' after a function name
  • Add align_var_def_attribute
  • Fix nl_func_type_name for function without a return type (ie, cast operator)
  • Reset up state variables after processing a file
  • Fix a case where a semicolon was incorrectly removed
  • Fix a case where braces were incorrectly removed
  • Fix handling of 'force' setting for many newline options
  • Add func_wrap type for use with 'set func_wrap FSUB'
  • Add type_wrap type for use with 'set type_wrap STACK_OF'
  • Make file replacement more atomic - write to a temp file then rename
  • With the 'replace' option, only replace if the file content changes
  • Handle C# wide literal string prefix S"foo"
  • Handle the ObjC '@protocol' the same as '@interface'
  • Add 'make check' and 'make clean' (Ger Hobbelt)
  • Add align_right_cmt_at_col (Ger Hobbelt)
  • Add sp_pp_concat and sp_pp_stringify (Ger Hobbelt)
  • Add mod_add_long_ifdef_{else,endif}_comment (Ger Hobbelt)
  • Objective C improvements (Etienne Samson)
  • Only mess with escaped newlines in a comment if inside a preprocessor
  • Fix pos_xxx options when a preprocessor is near
  • Apply Debian patch to man file
  • Fix '

New in Uncrustify 0.52 (Mar 2, 2009)

  • Add sp_before_assign and sp_after_assign
  • Add sp_enum_before_assign and sp_enum_after_assign
  • Add indent_var_def_blk
  • Add sp_inside_sparen_close for the 'CGAL' style
  • First pass at supporting ECMAScript (.es) files
  • Add support for the C# '??' operator
  • Fix conflict between nl_after_func_proto_group and nl_squeeze_ifdef
  • Add sp_cmt_cpp_start
  • Add align_on_operator
  • Fix nl_func_type_name for operators
  • Allow '$' to be part of identifiers (global change)
  • Fix detection of the '*' in 'int a = b[0] * c;'
  • Fix and improve the description of nl_multi_line_cond
  • Fix handling of global namespace type such as '::sockaddr'
  • Add nl_after_brace_close
  • Add nl_func_scope_name
  • Add cmt_insert_file_footer

New in Uncrustify 0.51 (Feb 13, 2009)

  • Prefer to split at ',' and then '=' in for() statements if at paren level
  • Fix a NULL deref crash
  • Fix nl_namespace_brace when something trails the open brace
  • Get sp_after_sparen and sp_sparen_brace to play well together
  • Ignore trailing comments when inserting the function header comment
  • Combine two C comments when they have no space between them "/***//***/"
  • Add cmt_insert_before_preproc
  • Add mod_remove_empty_return
  • Add nl_comment_func_def
  • Fix aligning of anonymous bit fields
  • Add indent_align_assign
  • Add sp_before_case_colon
  • Fix D 'invariant' handling
  • Add sp_invariant_after_paren and sp_invariant_paren
  • Fix handling of the C# [assembly: xxx] construct
  • Fix handling of the C# 'base()' construct
  • Add sp_range for the D '..' range operator as in [start .. end]
  • Update $(fclass) and $(function) to handle operators
  • Improve handling of inserted comments
  • Enable 'finally' blocks for C#
  • Add nl_after_try_catch_finally
  • Add nl_between_get_set and nl_around_cs_property