Change highlights in uncrustify-0.78.0 (November 2023) ------------------------------------------------------------------------------- 50b364e02d4e6ebe5fa99d2d1de642f1a3fb6570 Added : align_nl_cont_spaces May 11 2023 7c53d3cc66d939dc5b0de25868e947508e2353d5 Added : sp_after_bit_colon Jun 28 2023 Added : sp_before_bit_colon Jun 28 2023 b4af21a59630315f79ec28bc5449c31f48194111 Added : sp_between_ptr_ref Jul 14 2023 84780fef16da0552e7f44785d63d23a2b0e6a8b4 Added : nl_min_after_func_body Aug 3 2023 d8931537292a5cb897cfd561adf581d27087bfe4 Added : sp_before_keyword_ptr_star Aug 10 2023 8ffe999d3382c6f516372627bd529917bc6611ae Added : sp_before_global_scope_ptr_star Aug 10 2023 Added : sp_before_scope_ptr_star Aug 10 2023 f493e4d9e003648753e6574ba2cd61f5c0bd1352 Added : sp_before_operator_ptr_star Aug 10 2023 Added : sp_before_qualifier_ptr_star Aug 10 2023 Removed : sp_before_keyword_ptr_star Aug 10 2023 adbb82b0f6e551ef976e64a1351ca0eb05acf932 Added : debug_use_the_exit_function_pop Aug 15 2023 2e0e019dc28cac0844b5cff81d05859ee1a02394 Added : nl_max_after_func_body Aug 28 2023 cb44fe733a2c1e0391cfa5afdac77f7e66d688e1 Added : sp_cpp_lambda_argument_list_empty Sep 12 2023 e058aafd4ee5e407e250a6b921886d2c00d6a622 Added : align_func_proto_span_ignore_cont_lines Oct 21 2023 Change highlights in uncrustify-0.77.0 (May 2023) ------------------------------------------------------------------------------- ea6c54eefe2f3272a4867d30920408c327167199 Added : sp_cmt_cpp_pvs Jan 28 2023 74cf6ca40a0ce1b0d2499a92128ccde34bb48428 Added : sp_inside_rparen Feb 15 2023 Added : sp_func_call_user_inside_rparen Feb 15 2023 Added : sp_inside_rparens Feb 15 2023 70fac8d68b8a697132a21c5c59a09fd91e0a0486 Added : sp_cmt_cpp_lint Mar 18 2023 73d9ab72ce736e9689f56406302f6d62ddfc3835 Added : sp_qualifier_ptr_star_trailing Apr 13 2023 Added : sp_qualifier_unnamed_ptr_star Apr 13 2023 Added : sp_qualifier_ptr_star_func Apr 13 2023 8b639a0b31637204da3d17dc29cc659def6f4cf7 Added : mod_add_force_c_closebrace_comment Apr 19 2023 Change highlights in uncrustify-0.76.0 (November 2022) ------------------------------------------------------------------------------- 1aea3d1fcb55dc2ca40dfe2b1d548685a415ef3a Added : nl_collapse_empty_body_functions Apr 29 2022 c7f5df072f56bb0e3a9b897e16b8e5fc283f3bcf Added : set_numbering_for_html_output May 29 2022 92e4a36a5a78d9af523008aeb71e7acfe199269a Added : mod_infinite_loop Jun 22 2022 6e807bcec01382b164562c8ae5939d2b5ee76877 Added : mod_short_int Jun 28 2022 Added : mod_long_int Jun 28 2022 Added : mod_unsigned_int Jun 28 2022 Added : mod_signed_int Jun 28 2022 baad5db83faf5fb771cea8898760ad582227ccda Added : mod_int_prefer_int_on_left Jul 6 2022 Added : mod_int_long Jul 6 2022 Added : mod_int_signed Jul 6 2022 Added : mod_int_unsigned Jul 6 2022 Added : mod_int_short Jul 6 2022 e6a5458d32ca26c8b7d24f514115ebc36fce2348 Added : nl_oc_msg_args_min_params Jul 9 2022 862369a315763ce1286732da3713414cd2533227 Added : pp_space_after Jul 14 2022 Added : pp_space_before Jul 14 2022 Removed : pp_space Jul 14 2022 be0d1664f901d1cbfa7bf7697a883adf4b709444 Added : nl_throw_expr Jul 19 2022 Added : mod_paren_on_throw Jul 19 2022 9e65feefa2d66c5d08049e53468cae682f66800d Added : debug_sort_the_tracks Aug 2 2022 b58f1298a3ddcd256ecb0688f6b18ca7c623f594 Removed : pp_space_before Aug 6 2022 a31e5c100de768b4fec45a3e1c2d1e008824b2c6 Added : nl_var_def_blk_end_func_top Aug 11 2022 Removed : nl_func_var_def_blk Aug 11 2022 56e2159b29c372ebd1e240d427c842b5bb0b2147 Added : pp_indent_with_tabs Sep 6 2022 35075d50967014dd7127640d2505bca5dc21dfe5 Added : pp_multiline_define_body_indent Sep 15 2022 5b88110f5bb685a9b298b247207e32c305366d18 Added : nl_oc_msg_args_max_code_width Sep 20 2022 0c8e5e827d3b5a007247ef3d5ed937cf18378680 Added : debug_decode_the_flags Oct 9 2022 Change highlights in uncrustify-0.75.0 (May 2022) ------------------------------------------------------------------------------- 52131d9fa22fd0c655ae2510563ff85306d4bd27 Added : mod_move_case_return Nov 25 2021 d0008e933daca163ef8f7258f526e75fb8b5b160 Added : sp_ptr_star_func_type Dec 8 2021 a17751ae534cb7d1a8b505a111d7b8b50c9842d4 Added : pp_indent_at_level0 Dec 14 2021 498c1b3a6c96c9dd8ec13a4c0f616acdb7a03cc5 Added : align_braced_init_list_thresh Dec 16 2021 Added : align_braced_init_list_span Dec 16 2021 8e811b9a57bc43d280aa592d8838cff93227968e Added : align_assign_on_multi_var_defs Dec 18 2021 75d3c536789ef23d2d8568d891a4e3ba73aa7045 Added : sp_byref_paren Dec 24 2021 d8507bb212aa317dce0f51227b8fd862354e03c2 Added : sp_not_not Dec 28 2021 d9e2ae9aad5481f9da818909893e2f55d51ba392 Added : indent_ignore_comma_paren Jan 4 2022 Added : indent_ignore_comma_brace Jan 4 2022 8eff5202a58732e17f063af8360ff3e2691713aa Added : indent_ignore_bool_paren Jan 13 2022 2c02f5c8285882ddf756992d842db12d0f98188a Added : indent_ignore_arith Jan 18 2022 0664cacee7689cf838425e83f38fb84f5e71bc63 Added : mod_full_paren_return_bool Jan 21 2022 Added : mod_full_paren_assign_bool Jan 21 2022 d593f257e88161a3ed1cff15b354c85e3da68992 Added : sp_type_colon Jan 25 2022 026162b8da51660126863b42d00245e21a47d7c0 Removed : indent_ignore_comma_paren Jan 28 2022 Removed : indent_ignore_bool_paren Jan 28 2022 Removed : indent_ignore_comma_brace Jan 28 2022 6cb50031c5e2e3681d69c3dafdbb865a5b6b6a2c Added : indent_ignore_semicolon Feb 1 2022 b6f55dd25fb6a12c7f81c0090f8ee42e8823ee93 Added : sp_enum_brace Feb 2 2022 8aa0522fcc2ad468f1122943443f5ebf426fffc1 Added : indent_ignore_before_class_colon Feb 4 2022 133fe55d6fc0b2e1695bd7a70ccd6d2dcd1b2262 Added : indent_ignore_before_constr_colon Feb 4 2022 c95460809c74a73459c61712ff2d9142dff101d7 Added : indent_ignore_bool Feb 25 2022 b37091110063b5c24b64516a49af09b8ca3cc18c Added : indent_ignore_first_continue Feb 25 2022 e84f08879a7cf53b0301099a64faadeacf04a3a5 Added : indent_ignore_assign Mar 1 2022 6ef69ee2a359f2e1bd8517ba4af25b969951fa71 Added : indent_ignore_case_brace Mar 9 2022 02a5e50419fd1bf7c9bf0ff9d208035b47db6fbf Added : indent_namespace_inner_only Apr 12 2022 9040b9f068a179c3a09e0cf202a5ed7f91b2a12b Added : pp_warn_unbalanced_if Apr 15 2022 df2ef721c95105b62a9e0cb0e9985947a739a44b Removed : sp_type_question Apr 30 2022 Change highlights in uncrustify-0.74.0 (November 2021) ------------------------------------------------------------------------------- 4714d5d673d5b9c8f45d70c179f508d60130b18a Added : nl_before_struct Mar 12 2021 dbb2903a94668e147b588d3eebc3be917ac4ebca Added : nl_before_ignore_after_case Jun 22 2021 e97b93418c03cde680d6fd46209d7e43c5e09bfe Added : sp_before_ptr_star_trailing Jul 1 2021 Added : sp_after_ptr_star_trailing Jul 1 2021 dd5a7c3b2ab64b903e888a264693a9edb7a98ee5 Added : sp_sparen_paren Jul 19 2021 94941c2f9aa8952debab1f8257eb0625bc459392 Added : pp_indent_in_guard Jul 28 2021 84d3b9276c007642c4bb73ff562008253e4fe014 Added : indent_single_line_comments_before Jul 31 2021 Added : indent_single_line_comments_after Jul 31 2021 Removed : indent_sing_line_comments Jul 31 2021 0d956a006d64fddd4f8131e6a16a23f7e447cca3 Added : sp_after_ellipsis Jul 31 2021 40bbb979ecf7ad36128150f5540a462c890d5e2c Added : mod_remove_duplicate_include Aug 15 2021 97d24f3a05a53521ff2ce94928534f4bab0cc0af Added : sp_between_semi_for_empty Aug 22 2021 63109e6253387480b8bfe7f73a7f2949865fc380 Added : nl_before_brace_open Aug 27 2021 03c9ac261c9282b3cf5e92d69de70d6b4566d8e9 Added : cmt_trailing_single_line_c_to_cpp Sep 1 2021 1525722486dba45aa053f2c83e3015fa64880443 Added : sp_ellipsis_parameter_pack Sep 16 2021 Added : sp_parameter_pack_ellipsis Sep 16 2021 2e33ac4314dfbfc18c56ec694b0eba3e6a1318f5 Added : sp_byref_ellipsis Sep 21 2021 Added : sp_ptr_type_ellipsis Sep 21 2021 f19bf09cdce5822cf3d71065cb3900ea52f6e5c7 Added : indent_ctor_init_following Sep 30 2021 b1274c20bea3f8e2a8d6cd05cbb23c8d66f187a7 Added : sp_before_emb_cmt Oct 8 2021 Added : sp_num_after_emb_cmt Oct 8 2021 Added : sp_before_tr_cmt Oct 8 2021 Added : sp_num_before_emb_cmt Oct 8 2021 Added : sp_num_before_tr_cmt Oct 8 2021 Added : sp_after_emb_cmt Oct 8 2021 Removed : sp_before_tr_emb_cmt Oct 8 2021 Removed : sp_num_before_tr_emb_cmt Oct 8 2021 563d72fcae6e0aad6e5f0ff998992a48a6767986 Added : pp_include_at_level Oct 11 2021 28486dbadcc4d0ff9376776eb63f3c3bd800cf2d Added : sp_return Oct 12 2021 86105064d13fc60d14cfd134a8c3d402e7d27492 Added : indent_comment_align_thresh Oct 13 2021 964db2ac20372c45621a55313cdfb1eeb8298800 Added : indent_comment Oct 18 2021 92b9047256ece8d9ace2da5c743be2b9cc2b54d8 Added : align_func_proto_amp_style Oct 23 2021 Added : align_func_proto_star_style Oct 23 2021 094c79e06f6ec3111684b37b77063cf7af658105 Added : indent_case_comment Oct 26 2021 7eb595caa38ced024a42ba1602d69e0387b8e3a1 Added : indent_switch_body Nov 3 2021 cf845deb008b45783ff94a1986131eb180fb54a8 Added : sp_inside_for_close Nov 6 2021 Added : sp_inside_for Nov 6 2021 Added : sp_inside_for_open Nov 6 2021 2caaa17866c3b421de7e28670e85c8f8dade5a77 Added : indent_ignore_label Nov 10 2021 d8436ef370027bcfd289b19037c39ffdaf0ad4ff Added : sp_ptr_star_func_var Nov 15 2021 Change highlights in uncrustify-0.73.0 (May 2021) ------------------------------------------------------------------------------- b514f25120b12db7b1ca57cdb93dd929a5bf43c4 Added : indent_before_class_colon Nov 16 2020 39c969b69663f6e6cee9673e23d349a308edc44a Added : sp_cmt_cpp_region Dec 9 2020 9ca37d0c32729570de2e51c97338bc567e124ae3 Added : cmt_sp_before_doxygen_javadoc_tags Dec 24 2020 Added : cmt_align_doxygen_javadoc_tags Dec 24 2020 84e2c750d19b47bbe2547141b092855ec1f64424 Added : cmt_reflow_fold_regex_file Dec 24 2020 3a8e33a12839ca3bac2e1e0b49eb279362a2ab89 Added : processing_cmt_as_regex Dec 31 2020 c622135751824705979d37681fe16d9a60e3d77a Added : cmt_reflow_indent_to_paragraph_start Jan 9 2021 9c0799aa096b68550507980a32a529099caf97c5 Added : sp_cpp_lambda_argument_list Jan 19 2021 02054b1085166903e8c1384308ac7922cb57bd59 Added : nl_do_leave_one_liners Jan 29 2021 6a4d27914fca0c64273fad979355e16021626f8a Added : debug_truncate Feb 7 2021 a711e96ef7be6afc9f014c4c7e1e5ea5347aad0d Added : indent_comma_brace Mar 9 2021 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 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 ' - 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* buf - Fix handling of dynamic_cast(obj) stuff - Fix detection of templates in for() statements: for (std::map::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 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