You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1452 lines
60 KiB

Change highlights in uncrustify-0.72.0 (November 2020)
-------------------------------------------------------------------------------
new command option:
--debug-csv-format : Dump debug info to file in csv-delimited format.
b29dfb58d6bebb79a961d0e709543a152d260dbc
Added : nl_inside_empty_func Aug 4 2020
5068a4a78d7770a7292ea7a016ab7ca0bf49cbf7
Added : debug_timeout Sep 1 2020
cf3e5acfb4d55b47b25b7e7daa2844e2998b47cc
Added : sp_inside_square_empty Sep 8 2020
b66c26c669bf9752f468115f1e6444481c0b9e6d
Added : align_eigen_comma_init Sep 9 2020
7b5fd82fa5d6fc035ddfb7c087c5aeb7cf6f4bd7
Added : pos_shift Sep 16 2020
b61b7952835be3451cd1131baeda7b54cb61a50e
Added : donot_indent_func_def_close_paren Sep 26 2020
85001632261196dc1c2f3760dc9180e4c443f9ba
Added : donot_add_nl_before_cpp_comment Oct 14 2020
Change highlights in uncrustify-0.71.0 (May 2020)
-------------------------------------------------------------------------------
6bcfb640d908038402869cb3be7bd80adcdb4708
Added : align_oc_msg_colon_xcode_like Nov 29 2019
2fd5aaf255e1d0369842f54ae8d444bcbc079c7b
Added : indent_compound_literal_return Nov 19 2019
4b74315b6cf8e91801b663c4171c1e0a9e12ea5b
Added : indent_sparen_extra Nov 19 2019
f012dd24e2d116d867404667ce15c3309466046f
Added : sp_word_brace_init_lst Jan 21 2020
Removed : sp_word_brace Jan 21 2020
466b8bcf5f8ee04686d2d7af62b5ce76241c777d
Added : nl_func_call_args Jan 24 2020
807e27e81112f28ae71b21f43718a1b859ad473a
Added : sp_before_oc_proto_list Feb 4 2020
94f18ac9c0c7c7fab64f14425aea69f0f49bb240
Added : indent_off_after_assign Feb 7 2020
25e20f9e4ab389c06fc76bcf0dcb3fe07ab91aea
Added : indent_off_after_return Feb 7 2020
cee950462787ab3b7725c5fb77fa38b992527e99
Added : indent_oc_inside_msg_sel Feb 10 2020
2d04118314be95654f29fb32ae50b8cd46af8682
Added : nl_func_call_args_multi_line_ignore_closures Dec 17 2019
369192830c01beedcfe87c432f9c26637c1e6587
Added : indent_inside_ternary_operator Dec 9 2019
100db726b938d263c6c7f07530385dec0cdd711e
Added : use_form_feed_no_more_as_whitespace_character Feb 21 2020
24e27fe8cdda55e422b1db659f255da353b3022c
Added : debug_max_number_of_loops Feb 27 2020
30da6cafa6b0819c48a02513cadbc256a5b450c5
Added : debug_line_number_to_protocol Mar 17 2020
f5d8ee093eb521ecc0c57060b0009dd5f05e039e
Added : mod_sort_incl_import_prioritize_filename Mar 27 2020
8d595cb0721b299db8f1169c22d38d45df899a51
Added : mod_sort_incl_import_ignore_extension Mar 27 2020
9f8b7754f03aa970ede730a5cd4e2cbd94f139cc
Added : mod_sort_incl_import_prioritize_extensionless Mar 27 2020
6d5829551886ee9e643e5d6019c5389dfa738c3b
Added : mod_sort_incl_import_prioritize_angle_over_quotes Mar 27 2020
27b33d779e7aa33c1ebc39a52e54c3a95bc153d4
Added : mod_sort_incl_import_grouping_enabled Mar 27 2020
ac62be9498fa195a54c0e2c76c438c641d68a917
Added : disable_processing_nl_cont Apr 12 2020
e2b17b724e00c6180c6bd6cb5b592e969c47b6a9
Added : nl_before_opening_brace_func_class_def Apr 22 2020
981c761da5a4a71b059361a883c4bfff69148c49
Added : nl_before_whole_file_endif Apr 24 2020
Added : nl_after_whole_file_endif Apr 24 2020
Added : nl_after_whole_file_ifdef Apr 24 2020
Added : nl_before_whole_file_ifdef Apr 24 2020
d55e9d21cd6377a38f741854baf1a561b984de36
Added : nl_func_call_end Apr 29 2020
Change highlights in uncrustify-0.70.1 (November 2019)
-------------------------------------------------------------------------------
5114ea856acd79cbf52fd4261b83d423fafd98da
Added : nl_before_member Nov 17 2019
Added : nl_after_member Nov 17 2019
1e911250996a7138e33006af1b664362b255f4b5
Added : nl_template_end_multi_line Nov 17 2019
Added : nl_template_start_multi_line Nov 17 2019
Added : nl_template_args_multi_line Nov 17 2019
948bc227c46f89207346ad596e6199acb12d162f
Added : sp_before_vardef_square Nov 18 2019
1ff6fc2da0b1cdef35089a2d6ac3364fbba304be
Added : nl_template_start Nov 21 2019
Added : nl_template_args Nov 21 2019
Added : nl_template_end Nov 21 2019
Removed : nl_template_end_multi_line Nov 21 2019
Removed : nl_template_start_multi_line Nov 21 2019
Removed : nl_template_args_multi_line Nov 21 2019
2df82073bb1e3bc85f75c2165a541ba906f76b8d
Added : indent_macro_brace Nov 18 2019
8cb5f1be52bcbcca4148cf0514b103dec5313c55
Added : indent_switch_break_with_case Nov 25 2019
Change highlights in uncrustify-0.70.0 (is not released)
-------------------------------------------------------------------------------
710b9b90d063e1fac853b77ad9509bed37ff31ee
Added : mod_sort_case_sensitive May 12 2019
40c028454904f4fc87bd93b9703eaeb58fa57dd0
Added : sp_before_square_asm_block Jul 29 2019
b9b7f2fffb2c73925906ca7e5c8536d03c93c4bc
Added : nl_multi_line_sparen_open Aug 3 2019
Added : nl_multi_line_sparen_close Aug 3 2019
83a014197001ea815f92d977fc30aa36dec39e1b
Added : sp_cpp_lambda_square_paren Aug 20 2019
Added : sp_cpp_lambda_square_brace Aug 20 2019
Added : sp_cpp_lambda_paren_brace Aug 20 2019
Removed : sp_cpp_lambda_paren Aug 20 2019
8b6455c08c4f70b04b03b48c32fa14b9014354b4
Added : use_sp_after_angle_always Sep 13 2019
264ec3c988b5667c971b0d6508b17d0c9337c82c
Added : sp_cpp_lambda_fparen Sep 13 2019
883ccefc3bf8c8cdf6b159f280e22c2d72ce83f5
Added : sp_func_type_paren Oct 11 2019
8284db41edbb777829f26d247470c75d3d317641
Added : nl_before_namespace Oct 8 2019
Added : nl_after_namespace Oct 8 2019
3af190ceda3f8025028b5f8aae7541d35bda39c7
Added : nl_template_class_def Oct 2 2019
Added : nl_template_func_def_special Oct 2 2019
Added : nl_template_using Oct 2 2019
Added : nl_template_func_def Oct 2 2019
Added : nl_template_class_decl Oct 2 2019
Added : nl_template_var Oct 2 2019
Added : nl_template_class_decl_special Oct 2 2019
Added : nl_template_func Oct 2 2019
Added : nl_template_func_decl_special Oct 2 2019
Added : nl_template_func_decl Oct 2 2019
Added : nl_template_class_def_special Oct 2 2019
e9bc08c3baa3b7545a592b5e1d0d23e530c58b7f
Added : sp_trailing_return Oct 23 2019
d783ecfe7f08b525eb882ff3a7c6525d8866d54b
Added : nl_oc_before_interface Oct 28 2019
Added : nl_oc_before_implementation Oct 28 2019
Added : nl_oc_before_end Oct 28 2019
3741e59342c5741020b84eba147b0c1dfde0154b
Added : indent_func_def_param_paren_pos_threshold Nov 6 2019
829b4124c02e36156489d06a8b33e3552e58d30b
Added : sp_brace_close_while Nov 8 2019
Added : sp_while_paren_open Nov 8 2019
Added : sp_do_brace_open Nov 8 2019
ea6f4ac515c0ad5651be020a3295dcae01c3baf9
Added : nl_create_list_one_liner Nov 11 2019
Change highlights in uncrustify-0.69.0 (May 2019)
-------------------------------------------------------------------------------
Changing option:
- The option name is changed from 'align_assign_func_proto' to 'align_assign_func_proto_span'
Mar 4 17:19:40 2019
New options:
- align_constr_value_gap Apr 24 2019
- align_constr_value_span Apr 24 2019
- align_constr_value_thresh Apr 24 2019
- align_func_proto_thresh Apr 5 2019
- indent_col1_multi_string_literal Mar 31 2019
- sp_paren_noexcept Jan 13 2019
- sp_paren_qualifier Jan 11 2019
- sp_type_question Jan 11 2019
- sp_inside_angle_empty Dec 27 2018
- nl_fdef_brace_cond Nov 29 2018
- nl_func_call_start Nov 29 2018
Change highlights in uncrustify-0.68 (November 2018)
-------------------------------------------------------------------------------
New options:
- align_same_func_call_params_span Nov 9
- align_same_func_call_params_thresh Nov 9
- nl_class_leave_one_liner_groups Oct 17
- nl_inside_namespace Aug 26
- sp_return_brace Aug 21
- align_assign_decl_func Jul 24
- sp_brace_brace Jul 23
- sp_after_decltype Jul 22
- sp_decltype_paren Jul 22
- align_right_cmt_same_level Jul 14
- nl_oc_mdef_brace Jul 8
- mod_enum_last_comma Jul 8
- sp_type_ellipsis Jun 15
- sp_paren_ellipsis Jun 15
- sp_sizeof_ellipsis Jun 15
- sp_sizeof_ellipsis_paren Jun 15
- indent_continue_class_head May 30
Bugfix:
- Issue # 1709, 1713, 1729, 1736, 1739, 1740, 1748, 1752, 1755, 1758, 1760,
1762, 1763, 1776, 1778, 1782, 1783, 1784, 1786, 1788, 1789, 1804, 1827,
1832, 1838, 1839, 1854, 1865, 1867, 1870, 1875, 1876, 1888, 1904, 1916,
1917, 1918, 1919, 1942, 1946, 1947, 1958, 1960, 1962, 1965, 1969, 1979,
1982, 1985, 1997, 2000, 2001, 2009, 2014, 2015, 2024, 2028, 2032, 2033,
2035, 2037, 2046, 2055
Change highlights in uncrustify-0.67 (May 2018)
-------------------------------------------------------------------------------
Changing option:
Removed option:
New options:
- indent_first_for_expr Apr 29
- indent_semicolon_for_paren Apr 29
- nl_oc_interface_brace Apr 13
- nl_oc_implementation_brace Apr 13
- indent_cpp_lambda_only_once Mar 24
- indent_cs_delegate_body Mar 18
- sp_after_noexcept Mar 18
- indent_single_newlines Mar 6
- sp_after_ptr_block_caret Feb 24
- sp_after_oc_synchronized Feb 24
- sp_inside_square_oc_array Feb 23
- sp_oc_catch_paren Feb 23
- sp_oc_catch_brace Feb 23
- sp_oc_brace_catch Feb 23
- nl_oc_catch_brace Feb 23
- nl_oc_brace_catch Feb 23
- nl_cs_property_leave_one_liners Feb 16
- indent_member_single Feb 10
- sp_func_call_user_paren_paren Feb 5
- sp_func_call_user_inside_fparen Feb 5
- sp_inside_braces_oc_dict Feb 5
- nl_create_func_def_one_liner Jan 17
- nl_namespace_two_to_one_liner Jan 15
- nl_squeeze_paren_close Jan 15
- sp_fparen_brace_initializer Jan 12
- sp_cpp_before_struct_binding 2018 Jan 12
- indent_align_paren Dec 14
- nl_tsquare_brace Dec 9
- indent_single_after_return Nov 28
- indent_off_after_return_new Nov 28
- indent_ignore_asm_block 2017 Nov 05
New keyword:
- __unused Apr 21
- @synchronized Feb 24
- @available Feb 23
- fixed Feb 16
- @protected Feb 4
- @public Feb 4
- __autoreleasing Feb 4
- __bridge Feb 4
- __bridge_retained Feb 4
- __bridge_transfer Feb 4
- __declspec Feb 4
- __has_include Feb 4
- __has_include_next Feb 4
- __strong Feb 4
- __typeof Feb 4
- __unsafe_unretained Feb 4
- __weak Feb 4
- self Feb 4
- unsafe_unretained 2018 Feb 4
- where 2017 Dec 6
Bugfix:
- Debian issue #881249 "FTBFS on armel/i386/mips64el/s390x: cpp_33057 fails"
is fixed
- Adopt many bugfix and tests from UT:
10000, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10011,
10012, 10013, 10014, 10015, 10016, 10018, 10019, 10020, 10021, 10022,
10023, 10024, 10025, 10027, 10028, 10029, 10030, 10031, 10032, 10033,
10034, 10035, 10036, 10039, 10044, 10045, 10046, 10047, 10048, 10049,
10050, 10051, 10052, 10053, 10054, 10054, 10055, 10056, 10057, 10058,
10060, 10062, 10063, 10065, 10066, 10067, 10069, 10070, 10071, 10072,
10073, 10074, 10075, 10076, 10077, 10078, 10079, 10080, 10100, 10102,
10103, 10104,
60001, 60002, 60003, 60004, 60005, 60006, 60007, 60008, 60009, 60011,
60012, 60013, 60014, 60015, 60016, 60017, 60018, 60019, 60020, 60021,
60022, 60023, 60024, 60025, 60026, 60027, 60028, 60029, 60030, 60031,
60032, 60033, 60034, 60036, 60037, 60038, 60039, 60040
New:
- Add crash handling for Windows
Change highlights in uncrustify-0.66 (November 2017)
-------------------------------------------------------------------------------
New options:
- sp_arith_additive Oct 17
- sp_angle_colon Oct 17
- nl_func_call_empty Sep 30
- nl_func_call_paren_empty Sep 30
- align_func_params_span Sep 29
- align_func_params_thresh Sep 29
- align_func_params_gap Sep 29
- nl_func_call_paren Jul 25
- indent_paren_after_func_def Jul 21
- indent_paren_after_func_decl Jul 21
- indent_paren_after_func_call Jul 21
- nl_func_paren_empty Jul 07
- nl_func_def_paren_empty Jul 07
- indent_switch_pp Jun 22
- pp_indent_case Jun 22
- pp_indent_func_def Jun 22
- pp_indent_extern Jun 22
- pp_indent_brace Jun 22
Changing option:
- The option name is changed from 'align_number_left' to 'align_number_right'
Bugfix:
- Issue # 548, 1098, 1103, 1108, 1112, 1127, 1134, 1158, 1165, 1170, 1187,
1200, 1203, 1236, 1249, 1310, 1315, 1340, 1349, 1352, 1366 are fixed
Change highlights in uncrustify-0.65 (May 2017)
-------------------------------------------------------------------------------
New options:
- nl_before_if_closing_paren May 12
- sp_after_type_brace_init_lst_open May 09
- sp_before_type_brace_init_lst_close May 09
- sp_inside_type_brace_init_lst May 09
- sp_type_brace_init_lst May 09
- nl_type_brace_init_lst May 09
- nl_type_brace_init_lst_open May 09
- nl_type_brace_init_lst_close May 09
- mod_sort_oc_property_class_weight May 05
- mod_full_brace_nl_block_rem_mlcond Mar 17
- sp_inside_newop_paren_open Mar 13
- sp_inside_newop_paren Mar 13
- sp_after_newop_paren Mar 13
- sp_inside_newop_paren_close Mar 13
- pp_ignore_define_body Feb 18
- sp_enum_colon Feb 13
- nl_enum_class Feb 13
- nl_enum_class_identifier Feb 13
- nl_enum_identifier_colon Feb 13
- nl_enum_colon_type Feb 13
- indent_param Feb 01
- include_category_0 Jan 24
- include_category_1 Jan 24
- include_category_2 2017 Jan 24
- force_tab_after_define 2016 Dec 29
- nl_max_blank_in_func Nov 26
- indent_ternary_operator Nov 24
- indent_using_block Oct 20
New:
- emscripten interface
- removal of autogen / configure build
- list options that are now AT_UNUM type
- change option name from align_number_left to align_number_right
Removed option:
- dont_protect_xcode_code_placeholders
Removed MS calling convention keywords:
- __cdecl, __clrcall, __fastcall, __stdcall, __thiscall, __vectorcall
Bugfix:
- Issue # 324, 398, 404, 497, 525, 575, 633, 638, 643, 646, 663, 666,
679, 682, 687, 726, 752, 753, 793, 815, 825, 842, 857, 859, 869, 870,
889, 902, 916, 917, 928, 935, 938, 940, 972, 1002, 1005, 1020, 1030,
1032, 1041, 1068, 1117, 1139 are fixed
- Proposal #381, 876 are adopted.
Change highlights in uncrustify-0.64 (October 2016)
-------------------------------------------------------------------------------
New:
- Support for new C#6 language elements. (Bug #672)
Expression filter with the keyword 'when' in try/catch is now supported.
Null conditional operator (?.) is now supported.
New options:
- align_var_class_span Aug 23
- align_var_class_thresh Aug 23
- align_var_class_gap Aug 23
- pos_enum_comma Aug 14
- indent_token_after_brace Aug 3
- cmt_multi_first_len_minimum Aug 2
- nl_enum_own_lines Aug 1
- nl_func_class_scope Jul 26
- nl_squeeze_ifdef_top_level Jul 24
- sp_super_paren Jul 21
- sp_this_paren Jul 21
- sp_angle_paren_empty Jul 21
- sp_after_operator_sym_empty Jul 20
- sp_skip_vbrace_tokens Jul 13
- indent_cs_delegate_brace Jul 9
- cmt_insert_before_inlines Jun 29
- cmt_insert_before_ctor_dtor Jun 29
- mod_full_brace_if_chain_only Jun 28
- nl_func_decl_start_multi_line Jun 28
- nl_func_def_start_multi_line Jun 28
- nl_func_decl_args_multi_line Jun 28
- nl_func_def_args_multi_line Jun 28
- nl_func_decl_end_multi_line Jun 28
- nl_func_def_end_multi_line Jun 28
- nl_func_call_start_multi_line Jun 28
- nl_func_call_args_multi_line Jun 28
- nl_func_call_end_multi_line Jun 28
- use_options_overriding_for_qt_macros Jun 16
- sp_func_def_paren_empty Jun 15
- sp_func_proto_paren_empty Jun 15
- sp_func_class_paren_empty Jun 15
- nl_oc_block_brace May 26
- nl_split_if_one_liner May 26
- nl_split_for_one_line May 24
- nl_split_while_one_liner May 24
- nl_after_func_class_proto May 12
- nl_after_func_class_proto_group May 12 2016
Bugfix:
- Bugs #620, #651, #654, #662, #663, #664, #670, #671, #672, #674 are fixed
- Issues #322, #323, #359, #405, #408, #412, #478, #481, #495, #503, #509, #512, #513, #514,
#518, #519, #520, #521, #522, #524, #529, #530, #533, #536, #539, #542,
#543, #544, #546, #568 are fixed
- Proposals #409, #477 are implemented
- Issue #411 is partialy fixed
Change highlights in uncrustify-0.63 (Mar 2016)
-------------------------------------------------------------------------------
New:
- The branch uncrustify4Qt is now merged.
- A configuration file for the sources of uncrustify is provided:
forUncrustifySources.cfg
- Some considerations about the problem "stable" are described at
forUncrustifySources.txt
- Simplify expressions such as:
if ((cpd.lang_flags & LANG_PAWN) != 0)
to
if (cpd.lang_flags & LANG_PAWN)
- introduce CT_STDCALL to work with typedef void (__stdcall *func)(); Bug # 633
- introduce some more MS calling conventions: __cdecl, __clrcall, __fastcall, __thiscall, __vectorcall
https://msdn.microsoft.com/en-us/library/984x0h58.aspx
New options:
- nl_before_func_class_def Apr 16
- nl_before_func_class_proto Apr 16
- nl_before_func_body_def Apr 25
- nl_before_func_body_proto Apr 25
- use_indent_continue_only_once Mar 7 2016
Bugfix:
- Simplify some more expressions.
- Bugfix for win32 for the flags.
- make test c/ 00617 stable
- make test c/ 02501 stable
- The issue #467 and the test tests/output/c/02100-i2c-core.c are not yet fixed.
- uncrustify all the sources with forUncrustifySources.cfg
- better descriptions for options
- bug #631 is fixed
- produce a better dump output
- DbConfig::configuredDatabase()->apply(db); is NOT a declaration of a variable
- bug # 657 is fixed: change 'mode' if necessary for 'pos_class_comma'
- fix 3 calls of unc_add_option for "align_oc_msg_colon_span",
"indent_oc_block_msg", "indent_oc_msg_colon"
- bugs #664, #662, #654, #653, #651 and #633 are fixed
Reverse:
- space: drop vbrace tokens... 2014-09-01 06:33:17
I cannot anderstand this change.
It makes some troubles: Bug # 637
No test file for it found
Reverse the change until more informations could be found
Change:
- CT_DC_MEMBER + CT_FOR into CT_DC_MEMBER + CT_FUNC_CALL
Some more Qt-macros:
- Q_GADGET
- for_each
Change highlights in uncrustify4Qt-0.62 (Oct 2015)
-------------------------------------------------------------------------------
This is an extention of uncrustify to support Qt-macros
- Q_OBJECT
- Q_EMIT
- SLOT
- SIGNAL
- Q_FOREACH
- Q_FOREVER
Change highlights in uncrustify4Qt-0.62 (Oct 2015)
-------------------------------------------------------------------------------
New options:
- use_indent_func_call_param
Change highlights in uncrustify-0.62 (2 Feb 2016)
-------------------------------------------------------------------------------
This release is just a roll-up of the past year.
Many bugs were squashed and many options were added.
New options:
- string_replace_tab_chars
- disable_processing_cmt
- enable_processing_cmt
- enable_digraphs
- indent_class_on_colon
- indent_shift
- indent_min_vbrace_open
- indent_vbrace_open_on_tabstop
- sp_after_mdatype_commas
- sp_before_mdatype_commas
- sp_between_mdatype_commas
- sp_cmt_cpp_doxygen
- sp_cmt_cpp_qttr
- sp_between_new_paren
- nl_while_leave_one_liners
- nl_synchronized_brace
- nl_before_synchronized
- nl_after_synchronized
- nl_after_label_colon
Change highlights in uncrustify-0.61 (22 Dec 2014)
-------------------------------------------------------------------------------
This release is just a roll-up of the past two years.
Many bugs were squashed and many options were added.
New options:
- indent_paren_open_brace
- indent_namespace_single_indent
- indent_constr_colon
- indent_oc_msg_prioritize_first_colon
- indent_oc_block_msg_xcode_style
- indent_oc_block_msg_from_keyword
- indent_oc_block_msg_from_colon
- indent_oc_block_msg_from_caret
- indent_oc_block_msg_from_brace
- sp_enum_paren
- sp_cparen_oparen
- sp_after_ptr_star_qualifier
- sp_after_constr_colon
- sp_before_constr_colon
- sp_fparen_dbrace
- sp_word_brace
- sp_word_brace_ns
- sp_cond_colon_before
- sp_cond_colon_after
- sp_cond_question_before
- sp_cond_question_after
- sp_cond_ternary_short
- align_keep_extra_space
- nl_cpp_lambda_leave_one_liners
- nl_brace_square
- nl_brace_fparen
- nl_constr_init_args
- nl_cpp_ldef_brace
- nl_paren_dbrace_open
- nl_constr_colon
- pos_constr_comma
- pos_constr_colon
- mod_add_long_namespace_closebrace_comment
- cmt_convert_tab_to_spaces
Change highlights in uncrustify-0.60 (1 Jan 2013)
-------------------------------------------------------------------------------
Objective C support was greatly enhanced in this release.
Many bugs were squashed and many options were added.
New options:
- align_oc_msg_colon_first
- align_pp_define_together
- indent_ctor_init_leading
- indent_func_def_force_col1
- indent_oc_block
- indent_oc_block_msg
- indent_oc_msg_colon
- ls_code_width
- nl_after_annotation
- nl_before_return
- nl_between_annotation
- nl_brace_struct_var
- nl_oc_msg_args
- nl_oc_msg_leave_one_liner
- nl_remove_extra_newlines
- nl_scope_brace
- nl_typedef_blk_end
- nl_typedef_blk_in
- nl_typedef_blk_start
- nl_unittest_brace
- nl_var_def_blk_end
- nl_var_def_blk_in
- nl_var_def_blk_start
- nl_version_brace
- sp_after_for_colon
- sp_after_oc_dict_colon
- sp_after_oc_msg_receiver
- sp_after_oc_property
- sp_after_throw
- sp_after_tparen_close
- sp_annotation_paren
- sp_before_for_colon
- sp_before_oc_dict_colon
- sp_before_pp_stringify
- sp_before_template_paren
- sp_cpp_lambda_assign
- sp_cpp_lambda_paren
- sp_extern_paren
- sp_inside_sparen_open
- sp_inside_tparen
- sp_permit_cpp11_shift
- sp_ptr_star_paren
Changed default:
- sp_pp_stringify = ignore (was add)
See commit.log for details.
Change highlights in uncrustify-0.59 (4 Oct 2011)
-------------------------------------------------------------------------------
The biggest change in this release was to rework the string handling to add
proper support for UTF-8 and UTF-16.
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
See commit.log for details.
Change highlights in uncrustify-0.58 (19 May 2011)
-------------------------------------------------------------------------------
New options:
- tok_split_gte
- sp_catch_paren
- sp_scope_paren
- sp_version_paren
- cmt_insert_oc_msg_header
See commit.log for details.
Change highlights in uncrustify-0.57 (25 Nov 2010)
-------------------------------------------------------------------------------
New options:
- sp_func_call_paren_empty
- nl_func_def_start
- nl_func_def_start_single
- nl_func_def_paren
- nl_func_def_args
- nl_func_def_empty
- nl_func_def_end
- nl_func_def_end_single
See commit.log for details.
Change highlights in uncrustify-0.56 (27 Mar 2010)
-------------------------------------------------------------------------------
New options:
- 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
See commit.log for details.
Change highlights in uncrustify-0.55 (27 Nov 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 options
- 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
Changes in uncrustify-0.54 (16 Oct 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<void (*)(void)> 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)
Changes in uncrustify-0.53 (16 May 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 '<<' indenting/aligning (moved from indent.cpp to align.cpp)
- Rework the sp_before_nl_cont option
- Fix a few other bugs
Changes in uncrustify-0.52 (28 Feb 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
Changes in uncrustify-0.51 (27 Nov 2008)
-------------------------------------------------------------------------------
- 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
Changes in uncrustify-0.50 (25-Oct-2008)
-------------------------------------------------------------------------------
- Fix sp_before_unnamed_ptr_star in 'char ** n'
- Fix crash when a open brace is at the end of a file
- ObjC class definitions do not need { }
- Fix ObjC msg detection
- Add sp_after_ptr_star_func, sp_before_ptr_star_func
- Add sp_after_byref_func, sp_before_byref_func
- Treat an ObjC msg decl more like a function def
- Add indent_func_const, indent_func_throw (Thanks, Ron)
- Fix detection of prototype inside extern or namespace braces
- Add align_left_shift to handle aligning of '<<'
- Add sp_cpp_cast_paren
- Add support for ObjC '@property' statements
- Add sp_brace_typedef and sp_case_label
- Merge in the lastest UniversalIndent support (Thanks, Thomas!)
- Fix extra '\r' in multi-line comments and strings
- Add sp_throw_paren
- Assume a '<' in a preprocessor can't be part of a template
- Don't align a constructor with class variables
- Fix ending column error when tokenizing strings
Changes in uncrustify-0.49 (22-Aug-2008)
-------------------------------------------------------------------------------
- Allow the MSVC++ '64' suffix on numbers
- Initialize align_stack class members for the MSVC++ compiler
- Indent a line that starts with '='
- Add pos_arith and pos_assign (Thanks, Ron!)
- Fix pos_bool & code_width interaction (Thanks, Ron!)
- Fix cmt_width, which was going one word over the limit. (Thanks, Ron!)
- Major rework of the aligning code to better handle the gap options
- Indent comments before 'case' at the same level as 'case'
- mod_add_long_*_closebrace_comment adds the right comment type. (Thanks, Ron!)
- Relax number parsing even further to accept stuff like "3A"
- Add sp_after_oc_colon (Thanks, Kevin!)
- Add better detection and labeling of Objective C messages
- Add sp_after_send_oc_colon and sp_before_send_oc_colon (Thanks, Kevin!)
- Fix detection of '*' in "return n * f();"
- Add the 'set' config option which lets you create arbitrary keywords
- Add sp_func_call_user_paren and the 'func_call_user' keyword type
Changes in uncrustify-0.48 (18-Jul-2008)
-------------------------------------------------------------------------------
- Fix classification of '(' in '#if defined (FOO)'
- Add sp_defined_paren
- Fix handling of negative in '#if X < -1'
- Revert a change that broke indent continuation in an assignment
- Fix interaction between nl_squeeze_ifdef and nl_after_{if,for,while,switch,do}
- Preprocessor indents are indents, so indent_with_tabs=1 should do tabs
- Add pp_indent_count
- Handle C++ style casts, such as 'int(42.0)' a bit better
- Another rework of template detection
- Add sp_before_nl_cont, defaults to 'add'
- If a statement starts with 'operator', it is a function call
- Change sp_angle_word to be more generic
- Add sp_after_operator_sym for "operator ++(" vs "operator ++ ("
- Add sp_template_angle for "template<" vs "template <"
- Add support for " *INDENT-OFF* " and " *INDENT-ON* "
- Shuffle around spacing priorities
- Add handling for '...' in variadic templates
- Extend nl_template_class to handle anything after 'template <...>'
- Treat the template '<' the same as '(' for indenting
- Add indent_template_param
- Split internal CT_CAST into CT_C_CAST, CT_CPP_CAST and CT_D_CAST
- Swap priority of sp_after_angle and sp_before_ptr_star
- Change cmt_multi_indent=false to disable all reformatting (needs more work)
- Fix align_var_def_span - it wasn't counting newlines when it recursed
- Add nl_else_if
- mod_full_brace_if: Don't remove braces around certain 'else' statements
- Tweak template detection a bit more
- Rework and simplify multi-line comment indenting
- Add indent_else_if
- Improve right-comment aligning
- Fix detection of functions with a 'const' return type
- Add sp_cond_colon and sp_cond_question
- Fine-tune the right comment align stuff
- Add cmt_multi_check_last
- Add align_right_cmt_gap
- Add nl_return_expr
- Indent FPAREN_OPEN if after a newline but not before a newline
- Give sp_after_operator_sym priority over sp_func_call_paren
- Add align_same_func_call_params
Changes in uncrustify-0.47 (06-Jun-2008)
-------------------------------------------------------------------------------
- Fix inifinite loop bug in reindent_line
- Fix prototype detection with template parameter types
- Fix off-by-1 error on positive values for indent_access_spec and indent_label
- Add indent_extern to control indent extern-type namespaces
- Add initial support for Objective C++ (extension '.mm')
- Add nl_before_throw and indent 'throw' if after a prototype
- Extend line numbers to 32 bits (used for logging)
- Remove alternate token support for '<%', '%>', '<:', ':>', '%:', and '%:%:'
- Fix recently-broken mixing of right-comment aligning (PP_ENDIF/PP_ELSE issue)
- Indent a 'break' that follows a fully-braced 'case' at the level of the
close brace
- Add mod_move_case_break
- Fix '&' and '*' after 'delete'
- Escape opening '/*' when converting C++ comments to C comments
- Add sp_inside_braces_empty
- Fix cmt_sp_after_star_cont
- Fix cmt_sp_before_star_cont
- Explicitly disallow a tab after a space
- Improve multi-line comment indenting a bit
- Add sp_before_unnamed_byref and sp_before_unnamed_ptr_star
Changes in uncrustify-0.46 (22-Apr-2008)
-------------------------------------------------------------------------------
- Load the config file, if available, before handling '--universalindent'
- Add align_var_def_gap, align_var_def_colon_gap, align_var_struct_gap,
align_func_proto_gap, align_mix_var_proto, align_single_line_brace_gap
- (internal) Eliminate the 'trailer' stuff, simplify aligning
Changes in uncrustify-0.45 (7-Mar-2008)
-------------------------------------------------------------------------------
- Fix buffer overflow in logger code
- Add sp_enum_assign
- For elipses handling in the GCC extension "case 1 ... 5:"
- Add sp_after_class_colon, sp_before_class_colon, and sp_after_type
- Send usage text to stdout instead of stderr
- Fix mod_add_long_function_closebrace_comment if the file doesn't end in a newline
- Redo alignments after splitting long lines
- Add indent_relative_single_line_comments
- Add indent_access_spec_body
- Fix indent_func_proto_param to work on constructors
- Add cmt_indent_multi
- Add align_single_line_brace and align_single_line_func
- Fix interaction of virtual braces and #pragma
- Fix indenting problem with an assignment the last part of a for()
- Fix the order of opening files so that '-f' and '-o' can be used together
- Added a man file
- Many improvements thanks to Stas Grabois
- Fix a D problem due the lack of semicolons after struct/enum definitions
- Improve the way aligning is done
Changes in uncrustify-0.44 (12-Feb-2008)
-------------------------------------------------------------------------------
- Fix issue with #else and unmatched braces (issue 1868493)
- Update UnivarsalIndentGUI config output
- Add the version to generated config files
- Add nl_multi_line_define
- Minimize distance between code and the backslash-newline in macros
- Properly handle stuff like '#define MYHEADER <asm/arm.h>'
- Fix detection of 'int foo(int);' in C++ (func proto, not class variable)
- Improve handling of multi-line comments in a macro
- Fix crash bug with some ctype implementations
- Fix incorrect indenting of nested #endif with pp_if_indent_code
- Fix problem with nl_after_if and nl_before_if w/ trailing comments
Changes in uncrustify-0.43 (08-Jan-2008)
-------------------------------------------------------------------------------
- Add align_right_cmt_mix to control aligning of comments after '}' and '#endif'
- Allow a line split after an assignment
- Fix infinite loop bug
- Add sp_sign and sp_incdec
- Fix vbrace conversion where some are converted and some aren't
- Add a vbrace before a #pragma instead of after
- Improve Objective C support
- Add sp_before_oc_colon, sp_after_oc_scope, and sp_after_oc_type for ObjC
- Add align_oc_msg_spec_span for ObjC
- Add sp_member for spacing around '->' and '.'
- More template handling improvements
- Fix a NULL dereference related to __attribute__
Changes in uncrustify-0.42 (30-Nov-2007)
-------------------------------------------------------------------------------
- Fix bug that would remove a newline after a C++ comment
- Add "--mtime" command line option to preserve the mtime
- Remove extra semicolons before inserting newlines after semicolons
- Fix broken struct initializer alignment
- Fix problem with pos_class_comma in a #define
- Fix problem with an incomplete statement in a #define and virtual braces
- Add indent_func_proto_param and indent_func_def_param
- Add nl_func_proto_type_name, split from nl_func_type_name
- Add mod_add_long_switch_closebrace_comment, mod_add_long_function_closebrace_comment
- Add mod_sort_import to sort import statements (Java/D)
- Add mod_sort_using to sort using statements (C#)
- Add mod_sort_include to sort #include (C/C++) and #import (ObjC) statements
- Add indent_func_class_param, indent_func_ctor_var_param, and
indent_func_param_double
- Fix inserting a newline before a preprocessor
- Don't split empty function parens for code_width stuff
Changes in uncrustify-0.41 (07-Nov-2007)
-------------------------------------------------------------------------------
- Add cmt_insert_func_header, cmt_insert_file_header, and cmt_insert_class_header
- Fix detection of prototypes without named parameters
- sp_after_byref and sp_after_ptr_star only are applied if before a word
- internal rework
- Add pp_define_at_level
- Fix detection of deref in "sizeof *x"
- Fix broken output of backslash-newline in certain situations
- Fix pp_indent_if stuff
- Add nl_after_brace_open_cmt
- Properly handle anonymous namespaces
- Add pp_space_count
Changes in uncrustify-0.40 (12-Oct-2007)
-------------------------------------------------------------------------------
- Simplify preprocessor indenting
- Add pp_indent_region and pp_region_indent_code
- Add pp_indent_at_level
- Add pp_indent_if and pp_if_indent_code
- Add initial VALA support
- Fix a problem with mod_full_paren_if_bool and functions
- Add nl_func_paren
- Fix function type parameter marking (broken in the last few releases)
- Don't remove newline chunks before/after a preprocessor
Changes in uncrustify-0.39 (25-Sep-2007)
-------------------------------------------------------------------------------
- Improve conversion operators
- Prevent undesired chunk combining ("~ ~" vs "~~" in D)
- Add nl_after_multiline_comment
- Fix handling of try/catch/finally blocks in virtual braces
- Add sp_inv, sp_not, sp_addr, sp_deref (default to remove)
- Fix nl_class_brace
- Fix indent_func_call_param
- Add nl_create_if_one_liner, nl_create_for_one_liner, nl_create_while_one_liner
- Add indent_preserve_sql
- Fix one-liner detection with multiple statements on one line
- Add nl_func_leave_one_liners and nl_if_leave_one_liners
- More template improvements
Changes in uncrustify-0.38 (04-Sep-2007)
-------------------------------------------------------------------------------
- Fix line splitting WRT the CT_SPACE token
- Improve function call/prototype/definition detection
- Fix some spacing issues
- More template improvements
- Allow for a C++ struct constructor
- Add nl_before_access_spec and nl_after_access_spec
- Add cmt_width, cmt_c_group, cmt_c_nl_start, cmt_c_nl_end
- Handle conversion operators
Changes in uncrustify-0.37 (16-Aug-2007)
-------------------------------------------------------------------------------
- A bunch of D language improvements
- Add sp_d_array_colon, nl_assign_square, nl_after_square_assign
- Fix static keyword sort order
- Improve typedef detection and aligning
- Split nl_ds_struct_enum_close_brace out of nl_ds_struct_enum_cmt
- Add indent_paren_close
- Add indent_comma_paren and indent_bool_paren
Changes in uncrustify-0.36 (04-Aug-2007)
-------------------------------------------------------------------------------
- Add nl_after_vbrace_open
- Improve option descriptions
- Fix seg faults (check for NULL)
- Fix spacing for operators () and []
- Add sp_before_dc and sp_after_dc to control spacing around '::'
- Split pos_class_comma from pos_comma
- Improve line splitting a little - no longer break at '::' or '->' or '.'
- Add nl_enum_leave_one_liners and nl_getset_leave_one_liners
- Add mod_remove_extra_semicolon
- Fix handling of macro-open and macro-close
- Add align_var_struct_thresh
- Improve handling of comments after braces
- Add support for Qt slots and signals
- Add align_typedef_amp_style and align_var_def_amp_style
- Add sp_attribute_paren and handling of the '__attribute__' macro
- Add align_typedef_func, improve aligning of typedefs
- Add sp_after_semi_for_empty
Changes in uncrustify-0.35 (14-Jul-2007)
-------------------------------------------------------------------------------
- Fix bug with nl_func_type_name and empty param list: int foo() { ... }
- Don't parse pragma bodies
- Properly indent multiline #error and #warning
- Change nl_after_func_body to force the newline count (was a minimum)
- Fix handling of CT_PTR_STAR when all options are AV_IGNORE
- Fix problem when the first token in the file isn't in column 1
- Properly mark catch clauses that contain parameters, ie catch (Exception *e)
- Add a newline after the open brace for nl_catch_brace, nl_do_brace,
nl_else_brace, nl_try_brace, nl_getset_brace, nl_finally_brace
- Add nl_multi_line_cond
- Fix a bug with mod_full_paren_if_bool
- Fix handling of templated variables: Buffer<T>* buf
- Fix handling of dynamic_cast<T*>(obj) stuff
- Fix detection of templates in for() statements:
for (std::map<Key, Value*>::iterator it = map.begin(); ...
- Add --no-backup command-line option to replace w/o a backup file
- Fix nl_class_leave_one_liners when set to false
- Add nl_class_colon, which split the functionality of nl_class_init_args
- Improve detection of reference variable declarations (A& B)
Changes in uncrustify-0.34 (11-May-2007)
-------------------------------------------------------------------------------
- Add sp_angle_paren and sp_angle_word
- Properly handle multi-line CPP comments
- Add sp_inside_paren_cast
- improve indent_class_colon
- fix indenting on open parens
- Add sp_before_semi_for_empty
- Fix detection of while if the do is in a preprocessor chunk (1675673)
- (pawn) Don't add vsemi after case/switch brace close (1684840)
- Add nl_assign_leave_one_liners to allow "foo_t foo = { 0, 1 };"
- Change handling of #region stuff so that it is indented at brace level
- Fix handling of missing semicolon after while-of-do.
- Fix crash-bug in handling bad code: "if (a && );"
- Add pos_comma
Changes in uncrustify-0.33 (05-Mar-2007)
-------------------------------------------------------------------------------
- Fix converting C++ comments with embedded C comments
- Fix nl_func_var_def_blk with class variables
- Fix some output issues with the 1st line and C++ comments
- Eliminate indent_case_body, which wasn't used
- Change rules for indenting case braces and the use of indent_case_brace
- Fix variable declaration detection at the start of a code block
- Add support for custom open/close indenting macros
MACRO_OPEN, MACRO_ELSE, MACRO_CLOSE
- Fix the config updating routines to NOT lose custom types and stuff
- Add nl_after_func_body_one_liner
- Fix nl_class_init_args
- Add --universalindent option to output an ini file for UniversalIndentGUI
Changes in uncrustify-0.32 (20-Feb-2007)
-------------------------------------------------------------------------------
- Enable align_proto_var_def for constructors
- Fix while-of-do handling inside virtual braces
- Fix problem with comments between a close brace and else
- Add sp_before_comma
- Change align_var_def_star to align_var_def_star_style
- Change align_proto_var_def to align_func_params
- Add ls_func_split_full and ls_for_split_full
- Rework code width code a bit
- Start Objective C support
- Add cmt_sp_before_star_cont and cmt_sp_after_star_cont
- Fix spacing between (( and ))
- Add nl_try_brace, nl_catch_brace, nl_finally_brace, nl_brace_catch,
nl_brace_finally, sp_catch_brace, sp_brace_catch, sp_finally_brace,
sp_brace_finally, sp_try_brace
- Treat typedef functions the same as other function for param aligning
- Turn any word after a enum/struct/union into a type
- Add sp_getset_brace and nl_getset_brace
- Add mod_full_paren_if_bool
- Add nl_before_c_comment and nl_before_cpp_comment
- Fix nl_class_leave_one_liners
- Add nl_ds_struct_enum_cmt
- Add sp_balance_nested_parens
Changes in uncrustify-0.31 (24-Jan-2007)
-------------------------------------------------------------------------------
- Improve mixed tab indent / space align
- Try to fix spacing around embedded comments
- Add indent_access_spec
- Add __func__ and __FUNCTION__ detection for non-C99 compilers
- General code cleanup (Thanks Tom!)
- Add indent_xml_string
- Add align_proto_var_def to align variables in prototypes
Changes in uncrustify-0.30 (24-Nov-2006)
-------------------------------------------------------------------------------
- Use environment variable UNCRUSTIFY_CONFIG if no '-c' option (non-WIN32)
- Default to ~/.uncrustify.cfg if no '-c' option and no env var (non-WIN32)
- Add '-q' option to the usage info
- Added initial embedded SQL support
- Many bug fixes
- New options: indent_braces_no_func, indent_sing_line_comments, nl_before_if,
nl_before_for, nl_after_for, nl_before_while, nl_after_while,
nl_before_switch, nl_after_switch, nl_before_do, nl_after_do
Changes in uncrustify-0.29 (26-Oct-2006)
-------------------------------------------------------------------------------
- Add support for the 'Klaus' style
- Fix a bunch of c++ template bugs
- Add option nl_class_leave_one_liners
Changes in uncrustify-0.28 (06-Oct-2006)
-------------------------------------------------------------------------------
- Fix D range array detection a[1..4] => a[1 .. 4]
- Fix D delegate variable aligning
- More documentation updates (thanks Dirk!)
- New options: nl_after_semicolon and nl_after_open_brace
Changes in uncrustify-0.27 (23-Sep-2006)
-------------------------------------------------------------------------------
- Improve template detection again (allow CT_TYPE in a template)
- Fix bad formatting in "[ABC * 123]" and "[0xf & *val]"
- Add --replace option to convert files in-place
- Use a map for the options
- Major configuration/option cleanup
- add -o option to write to a file instead of stdout
Changes in uncrustify-0.26 (09-Sep-2006) (removed a number from the version)
-------------------------------------------------------------------------------
- Fix preprocessor labeling WRT comments
- Fix an indenting problem
- Add sp_after_byref
- Fix alignment of global variable definitions
- Fix detection of deref inside squares: a[*p]
- Fix a weird indenting bug
- Fix D template ! spacing
- Add sp_after_operator
- Add nl_template_class
- Add start to detailed docs inside the program
- Add --prefix and --suffix command line args
- Add align_enum_equ_thresh and fix align_enum_equ_span
- Fix formatting of function typedefs
- Add indent_member
- Simplify the indenting code a bit
- Improve type_cast stuff (ie, dynamic_cast<> or static_cast<>) and templates
Changes in uncrustify-0.0.25 (26-Aug-2006)
-------------------------------------------------------------------------------
- Add sp_after_ptr_star, sp_before_ptr_star, sp_between_ptr_star
- Fix D tokenizing for numbers and strings
- Fix a bug with cast detection and with nl_after_func_proto
- Improve template detection
- Rename nl_bool_pos to pos_bool
- Add pos_class_colon
- Add indent_class_colon
- Add nl_class_init_args
- Add nl_collapse_empty_body
- Add indent_square_nl
Changes in uncrustify-0.0.24 (05-Aug-2006)
-------------------------------------------------------------------------------
- Add initial PAWN support (thanks to Derek Evan Mart for testing and motivation!)
- Fix parsing of numbers like 10.0
- Fix double negative (- -x) vs (--x)
- Add ability to convert C++ (//) comments into C (/* */) comments
- Fix usage of indent_columns; output_tab_size is only needed if using tabs
- Add first small step in code width handling
- New options: sp_fparen_brace, sp_macro, sp_marco_func,
nl_elseif_brace, mod_pawn_semicolon, cmt_cpp_to_c, cmt_cpp_group,
cmt_cpp_nl_start, cmt_cpp_nl_end, sp_after_tag
Changes in uncrustify-0.0.23 (22-Jul-2006)
-------------------------------------------------------------------------------
- Fix some crash bugs and some formatting problems
- Fix Windows CRLF issues (binary vs text mode)
- Add indent_class and indent_namespace
- Add nl_class_brace and nl_namespace_brace
- Add handling of operator stuff in CPP
- Improve the test script a bit
- Add sp_inside_fparens
- Add ability to define types in the config file
- Started work on improving #ifdef handling by evaluating the preprocessor
Changes in uncrustify-0.0.22 (15-Jul-2006)
-------------------------------------------------------------------------------
- Implement nl_max, nl_before_block_comment, nl_after_func_body,
nl_after_func_proto, nl_after_func_proto_group
- Improve detection of function prototypes
- Improve marking of function prototype-related tokens
- Improve variable definition aligning
- fix align_var_def threshold
- Improve handling of "private:" style stuff
- Handle types with "::" in them
- Add preprocessor spacing and indenting
- Fix tab indenting style 1 (tab indent, space align)
- Improve multi-line comment formatting
Changes in uncrustify-0.0.21 (01-Jul-2006)
-------------------------------------------------------------------------------
- Clean up some memory leaks & uninitialized variables
- Add option to process multiple files at once
- Change the newlines values from [UNIX, DOS, MAC] to [LF, CRLF, CR]
- Properly mark the parens for functions
- Implement control over the format of the function prototypes and definitions
- Update configuration.txt
Changes in uncrustify-0.0.20 (10-Jun-2006)
-------------------------------------------------------------------------------
- Fix cast on a sizeof: (INT32)sizeof(x)
- Fix this: "#define SOME_JUNK /*lint -e123 */(const mytype_t *)-1"
- Don't align function typedefs (fixed again)
- Finally fix the DOS and MAC line-ending support
- Add line-ending autodetection
- Add Windows build support
Changes in uncrustify-0.0.19 (27-May-2006)
-------------------------------------------------------------------------------
- Fix C/C++/C# casts
- Improve D casts
Changes in uncrustify-0.0.18 (12-May-2006)
-------------------------------------------------------------------------------
- Add nl_bool_pos to move boolean ops between eol and sol
- Improve C99 array initializer aligning/formatting
- Replace nl_eat_start, nl_eat_end, and nl_eof_min with nl_start_of_file,
nl_start_of_file_min, nl_end_of_file, and nl_end_of_file_min
Changes in uncrustify-0.0.17 (03-May-2006)
-------------------------------------------------------------------------------
- Add nl_eat_start to remove newlines at the start of the file
- Add nl_eat_end to remove newlines at the end of the file
- Add nl_eof_min to set the minimum number of newlines at the end of file
- Add newlines setting to configure the newline output
- Add '-q' command line option to turn off logging
- Fix bug in nl_func_var_def_blk handling
Changes in uncrustify-0.0.16 (21-Apr-2006)
-------------------------------------------------------------------------------
- Add a stack alignment helper class
- Improve typedef formatting
- Add aligning thresholds for typedefs and assignments
- update the automake/autoconf stuff
Changes in uncrustify-0.0.15 (14-Apr-2006)
-------------------------------------------------------------------------------
- Switch to C++
- Improve C++ template formatting
- Improve C++ class handling
Changes in uncrustify-0.0.14 (09-Apr-2006)
-------------------------------------------------------------------------------
- Read from stdin if no file is specified
- Build on OS X
Changes in uncrustify-0.0.13 (07-Apr-2006)
-------------------------------------------------------------------------------
- Rewrite the indent code
- Fix a bunch of small problems with C casts
- Rename a few files
- Add more tests
Changes in uncrustify-0.0.12 (30-Mar-2006)
-------------------------------------------------------------------------------
- Add support for D template format "Foo!(int,char)"
- Fix a format bug in a log
- Fix elipsis spacing (remove space before elipsis)
- Don't use getopt as it isn't all that portable (at least for QNX)
- Rename some files
- Bugfix: don't add virtual braces on the same line as a preprocessor
- Bugfix: clean up indexed array aligning
Changes in uncrustify-0.0.11 (27-Mar-2006)
-------------------------------------------------------------------------------
- fix brace analysis on else statement
- allow options to depend on other options
- set the parent for case braces
- handle/indent the C++ class colon thingy
- handle C++ constructors and function defs
- special handling for '::' operator
- implement case indenting
- handle cout '<<' indenting
- handle DOS and MAC line endings in multiline comments
- rename some indent options
- fix ifndef handling
- fix volatile handling
- fix private/public/protected 'label' handling
- alternate punctuators are also part of C++
- handle C++ wide L"strings"
- improve C# get/set handling
- fix spacing bug "a++;" vs "a ++;" due to statement start misdetect
- add nl_assign_brace
- fix parent of vbrace close
- more test enhancements
Changes in uncrustify-0.0.10 (22-Mar-2006)
-------------------------------------------------------------------------------
- Complete rewrite of tokenizer and brace parser
- Added support for D nested comments
- Fixed some virtual brace bugs
- Added some documentation for the brace parsing stuff
- Add more tests to improve coverage (still lacking)
Changes in uncrustify-0.0.9 (18-Mar-2006)
-------------------------------------------------------------------------------
- Major enhancements for D
- Add handling for special "[]" sequence for C#/D
- add some more tests
Changes in uncrustify-0.0.8 (13-Mar-2006)
-------------------------------------------------------------------------------
- update TODO list
- add a threshold for brace removal
- improve brace removal
- keep track of whether a token follows a tab
- add option to preserve non-indenting tabs
- major keyword and operator cleanup for C++, C#, D, and Java
- add 'string' variants for ARITH, COMPARE, etc
- add C# get/set detection
- add template <type> detection
- add colon handling for class stuff and anonymous bitfields
- pop the whole indent stack when leaving a preprocessor
- fix embedded return handling in C#, ie: [ this should return negative ]
- fix a problem with the ifdef frame stack (still a problem lurking...)
- handle literal strings (C#)
- handle non-keyword words (C#) -- example: @if @switch
- set the parent on 'do' braces
- handle C# #region preprocessor stuff
- partially implement align on tabstop
- fix virtual brace spacing (no more "else return;" => "elsereturn;")
- add some more tests