Maxim Integrated's IoT development kit
Dependencies: MAX30101 MAX30003 MAX113XX_Pixi MAX30205 max32630fthr USBDevice
Diff: tools/AStyle_3.0.1_windows/doc/news.html
- Revision:
- 1:efe9cad8942f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/AStyle_3.0.1_windows/doc/news.html Tue Mar 13 14:52:59 2018 +0300
@@ -0,0 +1,665 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+ <title>Artistic Style - News</title>
+ <meta http-equiv="Content-Language" content="en-us" />
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+ <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
+ <link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+
+<body>
+
+ <h1>Artistic Style News</h1>
+
+ <p>
+ </p>
+
+ <h3>Artistic Style 3.0 (April 2017)</h3>
+
+ <p>
+ Release 3.0.1 (May 2017) is a maintenance release and no new features were added. A list of changes is in
+ the Release Notes. The following information is for the original 3.0 release. Thanks to Juan Alday for his
+ contribution. </p>
+
+ <p>
+ In the Artistic Style documentation, in General Information, Other Considerations, there is a list of
+ terminology used for special characters used in programming. The terms used by Artistic Style have been
+ different than is used by Visual Studio, Clang, and others. In this release the terms used by Artistic Style
+ have been changed to the ones most commonly used in programming documentation. The following chart indicates
+ the changes.</p>
+
+ <center>
+ <table>
+ <thead>
+ <tr>
+ <td><strong>NEW</strong></td>
+ <td></td>
+ <td><strong>OLD</strong></td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>braces or curly braces</td>
+ <td> { } </td>
+ <td>brackets</td>
+ </tr>
+ <tr>
+ <td>parens or round brackets</td>
+ <td> ( ) </td>
+ <td>parens</td>
+ </tr>
+ <tr>
+ <td>square brackets</td>
+ <td> [ ] </td>
+ <td>block parens</td>
+ </tr>
+ <tr>
+ <td>angle brackets</td>
+ <td> < > </td>
+ <td>angle brackets</td>
+ </tr>
+ </tbody>
+ </table>
+ </center>
+
+ <p>
+ Parens and angle brackets do not change. Brackets has been changed to braces. Block parens has been changed to
+ square brackets. Brackets can now collectively refer to the group containing round brackets (parens), square brackets,
+ and angle brackets. The documentation has been updated and the variable names in the source code have been
+ changed. </p>
+ <p>
+ There are four options affected by the change, "break-closing-brackets", "add-brackets", "add-one-line-brackets",
+ and "remove-brackets". These have been changed to the corresponding "break-closing-braces",
+ "add-braces", "add-one-line-braces", and "remove-braces". Also, the option "max-instatement-indent"
+ has been changed to "max-continuation-indent". The old options and method names have been depreciated,
+ but will continue to be accepted for the next several releases. </p>
+ <p>
+ The source code now uses the C++11 standard. Compilers that need a standard declared should use C++11. Visual
+ Studio 2010 is currently still currently supported. The classes were made independent of the containing
+ source code files (the source files contain multiple classes). The dependency on global variables in the console
+ build was removed. </p>
+ <p>
+ A new option, "indent-after-parens", will indent continuation lines following lines that contain an
+ opening paren '(' or an assignment '='. This includes function definitions and declarations
+ and return statements. This option may be preferred for editors displaying proportional fonts.</p>
+ <p>
+ A new option, "attach-closing-while", will attach the closing "while" of a
+ "do-while" statement to the closing brace. It has precedence over both the brace style and the break
+ closing braces option. </p>
+ <p>
+ The option "break-closing-braces" has been included in "style=stroustrup". This is the
+ correct style according to <a href="https://en.wikipedia.org/wiki/Indent_style#Variant:_Stroustrup" target="_blank"
+ title="open new window">Wikipedia</a>. The new option "attach-closing-while" is not included in
+ the style but can be used if you want. If there is a problem with the new format, change to the K&R style
+ using the same options as for Stroustrup.</p>
+ <p>
+ If you are using Windows XP, there is a download file available that has an XP compatible executable. Artistic
+ Style will still compile with Visual Studio 2010.</p>
+ <p>
+ Thanks to Jochen Tucht and Matthew Woehlke for their contributions.</p>
+ <p>
+ The following are additional topics.</p>
+
+ <h4>Version 3</h4>
+
+ <p>
+ Artistic Style was written in the 1990's when personal computers were much slower and compilers were not as
+ sophisticated as today. It used a lot of global variables instead of class members. In previous releases, classes
+ were created for the astyle_main.h source code. With this release, the classes have been made independent
+ of the source file containing them and the shared and global data has been eliminated. The classes could now be
+ separated into separate source files. They have not been actually separated because it seems more convenient
+ to leave them combined.</p>
+ <p>
+ As explained previously, the terminology for special characters has been changed to agree with various
+ development environments and compilers. The variable and method names in the source code were changed as well
+ as the documentation. This was a major renaming. If not for the "rename" refactoring feature in Visual
+ Studio, and the AStyleTest programs, it would probably not have been attempted.</p>
+ <p>
+ Artistic Style has also started using C++11. Older compiler versions and compilers without C++11support cannot
+ be used. If your compiler requires a compiler directive for C++, such as -std=c++11 or -std=c++0x, it will
+ need to be used. </p>
+
+ <h4>Library File Names</h4>
+
+ <p>
+ The shared library object (DLL) compile was originally intended to be a local library used by a single program.
+ Users could update the library at their convenience. Recently, it has started being distributed as a system library
+ for some distributions. In the past was not maintained for doing this. Since it is already being offered as
+ a distribution, the library soname on Linux has been standardized. </p>
+ <p>
+ It can still be used as a local or a static library if you want to control the changes. Or the system library
+ can be used. The system library version, of course, may change at any time. With this release the system
+ library will be available on Debian based systems, as well as possibly others.</p>
+ <p>
+ The Windows library name has been changed also. This Windows version is AStyle30.dll. The "30" refers
+ to the Artistic Style release number "3.0". The Linux library name is a soname version number, not the
+ Artistic Style release number.</p>
+
+ <h4>Artistic Style Wx</h4>
+
+ <p>
+ There is a new GUI test program AStyleWx that uses wxWidgets. This replaces the old AStyleWin program. AStyleWx
+ is multi-platform and has more features simply because they are easier to implement with wxWidgets.</p>
+ <p>
+ It has download files and a website in a new sub-project directory of Artistic Style. The downloads contain
+ source code, documentation, and scripts. The Windows download contains an executable. The needed Artistic Style
+ source files are included. </p>
+ <p>
+ It is licensed under the MIT license. The source code may be used and modified for any purpose you
+ choose. Developers using Artistic Style in another project may use any part of AStyleWx in their project. The
+ modified source code does NOT need to be made available to others.</p>
+
+ <h4>Code::Blocks Support</h4>
+
+ <p>
+ Code::Blocks is a free, open-source cross-platform IDE that supports multiple compilers. It currently gets over
+ 100,000 downloads per week. It is used by Artistic Style to test compilers on various systems. Code::Blocks build
+ files for several free compilers are now provided with the Artistic Style release. The "Install Information"
+ contains additional information.</p>
+
+ <h4>Embarcadero Compiler</h4>
+
+ <p>
+ Embarcadero is offering a new, free, BCC32C C++ compiler. It includes C++11 language support, the Dinkumware
+ Standard Template Library, and the Embarcadero Runtime Library. Included are a linker, a
+ resource compiler, and a number of command line tools. It is currently for Win32 only. There is more
+ information at their <a href="https://www.embarcadero.com/free-tools/ccompiler" target="_blank"
+ title="open new window">Free Tools</a> web page. They are also currently offering a free debugger and two
+ different
+ development environments.</p>
+
+ <h4>Naming Conventions</h4>
+
+ <p>
+ If you use cppcheck, it has an add-on to check naming standards for functions and variables by using regular
+ expressions. Cppcheck must be run first to generate ".dump" files. The Python program, naming.py,
+ can then be run to check the names. It is basically a shell that you will probably want to modify for regular
+ use. The add-ons must be installed with cppcheck for naming.py to be available.</p>
+
+ <h4>WinMerge 2011</h4>
+
+ <p>
+ WinMerge 2011 is a fork of the original WinMerge application published on SourceForge by Thingamahoochie
+ Software. It is has removed the ATL/MFC dependencies and added some useful features. It uses Artistic Style
+ to format the source code.</p>
+
+ <h4>Whatstyle</h4>
+
+ <p>
+ Whatstyle finds a code format style that fits given source files. This program looks at your source code and
+ generates a style definition that fits its original formatting style as closely as possible.
+ Several formatters and programming languages are supported. It is written in Python and has an interesting
+ method for finding the style options.
+ </p>
+
+ <h3>Artistic Style 2.06 (December 2016)</h3>
+
+ <p>
+ A new bracket style option, "style=mozilla", has been added. It uses linux brackets with
+ opening brackets broken from classes, structs, enums, and function definitions. Brackets are attached to everything
+ else, including namespaces, arrays, and statements within a function.</p>
+ <p>
+ A new option, "break-one-line-headers" will break a header (if, while, else, etc...) from a following
+ statement on the same line. There is more information in the "Formatting Options" section
+ of the documentation.
+ </p>
+ <p>
+ A new option, "pad-comma", will add a space following a comma. The option "pad-oper"
+ has not been changed and will also add a space following a comma.</p>
+ <p>
+ A new option, "indent-continuation", will add extra indents to continuation lines following a line that
+ ends with an opening paren '(' or an assignment '='. This includes function definitions and declarations.
+ There is more information in the "Indentation Options" section of the documentation.</p>
+ <p>
+ All spaces before a comma are now removed. Use the "disable formatting" comment tags if there are arrays
+ with vertical alignment where this is not wanted.</p>
+ <p>
+ A correction has been made to the Pico style indentation of one line blocks. And there is a fix to always compute
+ the indentation of a one line block. If you use Pico style with an indentation greater than 2, you may have a
+ lot of changes made to the code.</p>
+ <p>
+ New Objective-C options "pad-return-type" and "unpad-return-type" will add or remove space padding after
+ the Objective-C return type in a method definition. They are described in the "Objective-C" section of the
+ documentation.</p>
+ <p>
+ New Objective-C options "pad-param-type" and "unpad-param-type" will add or remove space padding after
+ the Objective-C parameter type in a method definition. They are described in the "Objective-C" section of the
+ documentation.</p>
+ <p>
+ The Objective-C "align-method-colon" option is now applied to Objective-C method calls in
+ addition to method declarations and definitions. The method call colons will be aligned, if possible. If this
+ option is not declared, the method calls will align on the first keyword. See the astyle documentation for an
+ example.</p>
+ <p>
+ The Objective-C "align-method-colon" has been changed for long keywords.
+ For multi-line arguments when the first keyword is shorter than the others the colons are aligned on the
+ longest line instead of the first line. The alignment includes room for the indentation. This aligns all colons
+ after the first line for a better appearance. Arguments that do not have a short keyword in the first line will
+ remain the same. This style conforms to the Google Objective-C style.</p>
+ <p>
+ Processing for C++14 single-quote digit separators has been added.</p>
+ <p>
+ Translations have been added for Bulgarian, Estonian, Greek, Hungarian, Norwegian, and Romanian. The translations
+ were done with an automated translation program, Google Translate, so they may not be the best translation possible.
+ The translations are at the end of ASLocalizer.cpp in the form of an English-Translation pair. If you correct
+ a translation, send the source as a bug report and it will be included in the next release. To add a language,
+ see "Internationalization" in the "General Information" section of the documentation.</p>
+ <p>
+ The C# example, in the Developer Information has been updated. Objects for the AStyle callback functions are no
+ longer required. These have been removed and the delegates used instead.</p>
+ <p>
+ There is a new C# example in the Developer Information, that loads the AStyle shared library using explicit linking.
+ This allows the shared library name to be dynamically changed so that a program compiled with "Any CPU"
+ can load
+ either a 32-bit or 64-bit shared library at run-time. It runs on both Windows and Linux.</p>
+ <p>
+ Visual Studio Code, the text editor from Microsoft, has an Artistic Style extension. The extension runs from the
+ Visual Studio Code menu and is controlled by entries in the User Settings file. It can be installed from Visual
+ Studio Code. There are links to the websites on the Artistic Style Links page. </p>
+ <p>
+ Thanks to David Faure for his contribution.</p>
+ <p>
+ The following are additional topics.</p>
+
+ <h4>New Software License</h4>
+
+ <p>
+ The Artistic Style software license has changed. It is now under the MIT license. This is a permissive license
+ which can be used in proprietary software and does NOT require modified Artistic Style source code be made available.
+ It is compatible with the GNU General Public License (GPL) and most other software licenses. The change was made
+ to remove restrictions on using the software and to make it available for any project that wants to
+ use it.</p>
+
+ <h4>Visual Studio 2015 and 2017 UTF-8 Files</h4>
+
+ <p>
+ In order to be used on both Linux and Windows, the ASLocalizer.cpp UTF-8 file in Artistic Style does not
+ contain a Byte Order Mark (BOM). With Visual Studio 2015 there has been a change in how UTF-8 files
+ without a BOM are processed. The new procedure is described
+ <a href="https://blogs.msdn.microsoft.com/vcblog/2016/02/22/new-options-for-managing-character-sets-in-the-microsoft-cc-compiler/"
+ target="_blank" title="open new window">here</a>. It affects only the language translations in the ".exe"
+ file. The shared libraries and static libraries are not affected. It is necessary only if you are using a translation
+ other than English.</p>
+
+ <p>
+ In addition to the "auto detect" option in Tools > Options... > Text Editor > General, an
+ additional compiler option is required. The option "/source‑charset:utf‑8" must be added
+ to the project properties at C++ > Command Line > Additional Options. Since the non‑unicode files
+ in Artistic
+ Style are ASCII, the option can be applied to the entire project instead of just one file. This option has been
+ added in the files distributed with Artistic Style. There is also a new "/validate‑charset" option,
+ which gets turned on automatically with the above option. This switch enables the validation of the UTF-8 input
+ files.</p>
+ <p>
+ This compiler option was not available until Update 2 of Visual Studio. If you are using an earlier version of
+ 2015, a BOM should be added to the file using File > "Advanced Save Options". Change the encoding
+ to "Unicode (UTF-8 with signature) - Codepage 65001". </p>
+ <p>
+ In the above "Visual C++ Team Blog" Microsoft mentions that in a future major release of the compiler,
+ they would like to change the default handling of BOM-less files to assume UTF-8.</p>
+
+ <h4>Assignment Operator Alignment</h4>
+
+ <p>
+ Visual Studio 2013 and 2015 have an Edit option "Align Assignments" that will align assignment operators
+ across multiple lines. There is also an extension named "Code alignment" that will align the code on
+ other items as well. Other development environments may have something similar. These will selectively align the
+ data and allow for customization of the format.</p>
+ <p>
+ These options and extensions can be used with Artistic Style. If you choose to do this, the space padding will
+ be maintained and the alignment will be preserved.</p>
+
+ <h4>Coding Styles</h4>
+
+ <p>
+ Coding style, or programming style, is a set of rules or guidelines used when writing the source code. It is
+ often claimed that following a particular programming style will help in reading and understanding source code
+ conforming to the style, and help to avoid introducing errors.</p>
+ <p>
+ This Artistic Style distribution has a new "file" folder containing AStyle options files for various
+ coding styles. Using the option files will give approximately the indicated coding style. The files can be used
+ as they are, or modified as desired.</p>
+
+ <h4>Artistic Style Wx</h4>
+
+ <p>
+ There is a new GUI test program AStyleWx that uses wxWidgets. This replaces the old AStyleWin program. AStyleWx
+ is multi-platform and has more features simply because they are easier to implement with wxWidgets.</p>
+ <p>
+ It has download files and a website in a new sub-project directory of Artistic Style. The downloads contain
+ source code, documentation, and scripts. The Windows download contains an executable. The needed Artistic Style
+ source files are included. </p>
+ <p>
+ It is licensed under the MIT license. The source code may be used and modified for any purpose you
+ choose. Developers using Artistic Style in another project may use any part of AStyleWx in their project. The
+ modified source code does NOT need to be made available to others.</p>
+
+ <h4>Windows XP</h4>
+
+ <p>
+ The executable in the Windows distribution package is now compiled with a Visual Studio version that will no
+ longer work on Windows XP. Beginning with Visual Studio 2012, auto-vectorization tries to make loops run
+ faster by automatically vectorizing the code. Auto-vectorization is on by default, and there are no compiler
+ switches, #pragmas, or hints to disable it. It uses SSE instructions not available in Windows XP. Microsoft ended
+ support and updates for XP on April 8, 2014, and the usage share percentage continues to decrease.</p>
+ <p>
+ To compile on a non-XP machine for use on XP, using a compiler other than Visual Studio should always
+ produce an XP executable. Using Visual Studio 2010 or earlier should always produce an XP executable. If
+ you are using Visual Studio 2012, 2013, or 2015 on a non-XP machine, do the following for the Artistic Style
+ configuration you want to use:</p>
+ <ul>
+ <li>"Windows XP Support for C++" must be installed. It is available as an option in the Visual Studio install
+ and can be installed as a modification to the current install.</li>
+ <li>In the Artistic Style Properties, change General > Platform Toolset, to "Windows XP" for your Visual
+ Studio version.</li>
+ <li>In the Artistic Style Properties, change C/C++ > Preprocessor > Preprocessor Definitions to include
+ _USING_V110_SDK71_.</li>
+ <li>Change other Properties if you want, such as Output Directory or Target Name.</li>
+ <li>Compile. The output should be executable on Windows XP. It will also execute on the later versions of Windows.
+ </li>
+ </ul>
+ <p>
+ In newer releases of Visual Studio 2015, the "Universal CRT" files have been moved. There is a
+ notification <a href="https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/">here</a>.
+ To compile using XP there may need to be additional include and library directories added. If the compile gets
+ errors add the appropriate directories to the project properties.</p>
+
+ <h3>Artistic Style 2.05 (November 2014)</h3>
+
+ <p>
+ Release 2.05.1 (December 2014) is a maintenance release and no new features were added. A list of changes is in
+ the Release Notes. The following information is for the original 2.05 release.</p>
+
+ <p>
+ A new bracket style option, "style=vtk", has been added. It uses indented brackets, like Whitesmith,
+ except opening brackets for classes, functions, and methods are not indented. A complete description of the VTK
+ style is available at the "Visualization Toolkit" website (http://www.vtk.org/).</p>
+ <p>
+ A new preprocessor indent option "indent-preproc-block" will indent preprocessor block statements one additional
+ indent. The block must be top-level, or included within a namespace, and there are restrictions on what can be
+ indented.
+ The option is described in the "Indentation Options" section of the documentation.</p>
+ <p>
+ A new option, "dry-run", will run Artistic Style without updating the files. The report will be output as
+ usual.</p>
+ <p>
+ Formatting of source code may now be disabled for portions of a program by embedding special comment tags in the
+ program. These are described in a new "Disable Formatting" section of the documentation. They work the
+ same as in other formatters. There are tags to disable formatting for a block of code, and a tag to disable formatting
+ of a single line. This should allow any custom formatting to be retained.</p>
+ <p>
+ The product version number has been added to the filename of shared library (DLL) compiles. This will allow multiple
+ versions of a shared library on the same system without conflicts.</p>
+ <p>
+ An attribute '__attribute__ ((visibility ("default")))' has been added to exported functions
+ on Linux shared libraries. This allows the option "-fvisibility=hidden" to be used on dynamic library
+ compiles. According to the GNU documentation, "Using this feature can very substantially improve linking
+ and load times of shared object libraries, produce more optimized code, provide near-perfect API export and prevent
+ symbol clashes. It is strongly recommended that you use this in any shared objects you distribute."</p>
+ <p>
+ Improvements have been made in the formatting of C++11 uniform initializers (enclosed by brackets). The opening
+ bracket will not be space padded unless it is padded initially. The closing bracket will not be broken from the
+ final line unless it is broken initially. And the known problems with uniform initializers in class constructors
+ have been fixed.</p>
+ <p>
+ The Windows compiler definition ASTYLE_NO_VCX (no Visual Studio exports) has been changed to ASTYLE_NO_EXPORTS.
+ It is sometimes needed for static libraries on other compilers to prevent error and warning messages.</p>
+ <p>
+ Qt and Boost macros foreach, forever, Q_FOREACH, and Q_FOREVER will now be recognized as headers.</p>
+ <p>
+ The main documentation for Artistic Style is in HTML format. Until now there has not been a way to display it
+ from the astyle console program. A new option, "html" or "-!" will display the help documentation in the default
+ browser. This documentation is more complete than the astyle "help" option. It includes examples, and has an index
+ for easier navigation. Since astyle is typically run from a script this should allow an easy way to access the
+ documentation. The option is available only from the command line.</p>
+ <p>
+ The new "html" option assumes the documentation is installed in the standard install path. This is /usr/share/doc/astyle/html
+ for Linux and the path %programfiles%\AStyle\doc for Windows. If it is installed to a different directory, use
+ the variation "html=<actual_install_path>astyle.html. This option can also be used to open other HTML files.
+ More information is in the "Command Line Only" section of the documentation.</p>
+ <p>
+ The "html" option on Linux uses the script "xdg-open" from the install package "xdg-utils" to find the default
+ browser. This should be available on most systems. If it is not available on your system you can file a
+ bug report requesting a change. It would be helpful if you could determine how it is done before filing the report.
+ You can also file a bug report if the documentation is not installed to the above "default" directories. The HTML
+ documentation takes quite a bit of effort to maintain and I would like to make it easily available.</p>
+ <p>
+ The "help" option has been changed to send the output to stdout instead of stderr. This will allow piping and
+ redirection of the output. A common way to use the option on Linux is "astyle --help | less", which
+ will page the display. The "version" option has also been changed to stdout.</p>
+ <p>
+ A shared library error handler argument has been changed from "char*" to "const char*". In
+ some cases this may cause compile errors in a user program until the references have been changed.</p>
+ <p>
+ The "Indent Style" topic on Wikipedia states that the "ANSI" style refers to K&R style brackets
+ and not Allman style as used by Artistic Style. The option "style=ansi" is therefore being deprecated and will
+ be removed in a future release. Use one of the other long options instead (style=allman, style=bsd, or
+ style=break).</p>
+ <p>
+ Some of the documentation has been removed from the distribution package. It still contains all files needed to
+ install and run Artistic Style. The included files can be used without an Internet connection.</p>
+ <p>
+ There are now build files available for Xcode on Mac. The makefile is still available for those who want it. Both
+ now use the LLVM Clang compiler. There has been a
+ change to the makefile debug locations to make them similar to Xcode. The "Install Instructions" have
+ been updated for both.</p>
+ <p>
+ The Python Example in the Developer Information now supports Iron Python. The
+ programming instructions are sometimes different since the ctypes module works differently. The example script
+ documents the differences. If you use Python Tools for Visual Studio, it now installs in the Express editions
+ (beginning with release 2.1). Node.js can also be installed in Visual Studio Express.</p>
+ <p>
+ The executable in the Windows distribution package is now compiled with Visual Studio 2013 and will no longer
+ work on XP. If you are using XP, Artistic Style will need to be recompiled on the XP machine.</p>
+ <p>
+ A new <a href="http://www.visualstudio.com/news/vs2013-community-vs" target="_blank" title="open new window">Visual
+ Studio Community Edition</a> has been released. It is free, combines all of the Express editions into a single
+ development environment, and allows the addition of Visual Studio extensions. There is an
+ <a href="https://visualstudiogallery.msdn.microsoft.com/2f3f04cd-2866-4e47-a671-d1cc9cc3fb02" target="_blank"
+ title="open new window">AStyle Extension</a> available for installation. It has a graphic interface, adds
+ menu entries, and can be used from within Visual Studio. To install it search the "Extensions and Updates",
+ "Online" entry for "astyle".</p>
+ <p>
+ Thanks to Peter A. Bigot, HyungKi Jeong, David Faure, and Carl Moore for their contributions.</p>
+
+ <h3>Artistic Style 2.04 (November 2013)</h3>
+
+ <p>
+ With a new Artistic Style release some unchanged source files will be formatted because of changes to Artistic
+ Style. You may want to format your source before making program changes in order to bring it up to date.</p>
+ <p>
+ A new programming language, Objective‑C, has been added to Artistic Style. Four new options, "align‑method‑colon",
+ "pad‑method‑colon=", "pad‑method‑prefix", and "unpad‑method‑prefix" have been
+ added to format the methods. The options are described in a new "Objective‑C" section in the documentation.
+ These new options affect only Objective‑C source code. They have no effect on the other programming
+ languages.</p>
+ <p>
+ Because of the longer continuation indents sometimes needed for Objective‑C, the option "max-instatement-indent"
+ may need to be increased. If you are not getting the paren and block paren alignment you want, try increasing
+ this value. The default minimum is 40 and the maximum is 120.</p>
+ <p>
+ A new bracket style option, "style=google", has been added. It uses attached brackets and indents the class access
+ modifiers one-half indent. A complete description of the Google style is available at the google‑styleguide
+ website (https://code.google.com/p/google-styleguide/). The website has standards for several programming languages
+ along with a python program to verify the style and an emacs script for using the style.</p>
+ <p>
+ A new indent option "indent-modifiers" will indent class access modifiers (public, protected, or 'private) one-half
+ indent. The rest of the class is not indented. It is described in the "Indentation Options" section of the
+ documentation.</p>
+ <p>
+ Four new bracket modify options, "attach-namespaces", "attach-classes", "attach-inlines", and "attach-extern-c",
+ can be used to modify your selected bracket style. They are described in a new "Bracket Modify Options" section
+ of the documentation.</p>
+ <p>
+ A new option, "remove-brackets", will remove brackets from conditional statements. The statement must be a single
+ statement on a single line. It is described in the "Formatting Options" section of the documentation.</p>
+ <p>
+ A new option, "indent-preproc-cond", will indent preprocessor conditional statements (#if #elif, #else, #endif).
+ It is described in the "Indentation Options" section of the documentation. The option "indent-preprocessor" has
+ been deprecated and will be removed in a future release. Use "indent-preproc-define" instead. The processing of
+ preprocessor #define statements has not changed.</p>
+ <p>
+ A new option, "remove-comment-prefix", will remove a leading '*' from multi-line comments. It is described in
+ the "Formatting Options" section of the documentation. With the syntax coloring of modern editors a leading '*'
+ for comment lines is not as useful as it once was. The current trend is toward code that is easier to maintain.
+ The idea is that a style that is hard to maintain will discourage modification and updating. The converted style
+ should retain most of the formatting within the comment and result in a comment that is easier to maintain. For
+ consistency the option also indents multi-line comments that are not preceded by the '*'. This may slightly modify
+ the indentation of any commented-out code.</p>
+ <p>
+ The option "pad-first-paren-out" was fixed to not pad if the following paren is empty. This makes the option consistent
+ with "pad-paren-out". To fix empty parens that have been padded run with the option "unpad-paren" in addition
+ to "pad-first-paren-out". This needs to be done only once.</p>
+ <p>
+ Processing of C++11 raw string literals has been added.</p>
+ <p>
+ The compiler definition ASTYLE_NO_VCX (no Visual Studio exports) has been changed to ASTYLE_NO_EXPORTS and can
+ be used with any Windows compiler. The Clang compiler needs this option to avoid errors on dynamic libraries.
+ It removes the "__declspec(dllexport)"
+ definition from exported functions. Linux compilers do not use this.</p>
+ <p>
+ A new shared object (DLL) entry point, AStyleMainUtf16, has been added for processing C# UTF-16 strings. C# does
+ not have built in functions for converting the UTF-16 strings to UTF-8. This entry point will accept UTF-16 strings,
+ format the source code, and return UTF-16 strings. The error handling function and version number still use UTF-8
+ strings. The C# example program in the "Developer Information" shows the new calling procedure. Changes from the
+ previous release are marked in the example.</p>
+ <p>
+ C# strings are UTF-16 on both Windows and Linux. C# does not use the UTF-32 wchar_t strings on Linux. Qt also
+ uses UTF-16 on both Windows and Linux, but has built in UTF-8 conversion functions. Qt strings can be converted
+ to UTF-8 by Qt, or the new entry point can be used. There may be other "managed code" applications on Linux that
+ use UTF-16.</p>
+ <p>
+ The "Links" page has two new sections for links mentioned in previous versions of Artistic Style. It links to
+ free software and other information.</p>
+ <p>
+ The "Developer Information" section has a new example and download for calling Artistic Style from an Objective‑C
+ program. Since it is another "C" language the only thing needed is to link the program with a library build of
+ Artistic Style. The example was developed on Windows and Linux using the GNUstep project. Since the example is
+ a console program the problems with the GNUstep GUI have been avoided. It has not been tested on a Mac, but should
+ be close to working. The "Developer Information" section also has a new page for "Objective‑C on Windows
+ and Linux" which has information on compiling and running the example on those systems.</p>
+ <p>
+ The executable included in the Windows distribution was compiled with Visual Studio 2010 (platform toolset v100).
+ Higher releases contain dependencies on Windows API functions that exist only on Windows Vista, Windows 7, and
+ Windows 8. This means that applications built with a Visual Studio 2012 C++ compiler would fail to load and execute
+ on Windows XP.</p>
+ <p>
+ If you are using Windows Vista or higher, and have a Visual Studio 2012 or higher compiler available, recompiling
+ will probably result in faster execution. If you use a compiler other than Visual Studio, you can probably get
+ better execution by compiling using the C++11 standards. Artistic Style uses a lot of string vectors and the new
+ move semantics will probably result in faster execution.</p>
+ <p>
+ Thanks to Evmenov Georgiy, Matthew Woehlke, Jiang, Ruzzz, and beta100100 for their contributions.</p>
+
+ <h3>Artistic Style 2.03 (April 2013)</h3>
+
+ <p>
+ With a new Artistic Style release some unchanged source files will be formatted because of changes to Artistic
+ Style. You may want to format your source before making program changes in order to bring it up to date.</p>
+ <p>
+ A new option, "max-code-length=#" or "xC#", will limit the length of code on a line. A new option "break‑after‑logical",
+ or "xL", will modify a line break for conditionals. See the documentation for details.</p>
+ <p>
+ A new option, "pad-first-paren-out" or "xd", will pad only the first paren in a series on the outside. See the
+ documentation for details.</p>
+ <p>
+ A new option, "indent=force-tab-tab=#" or "xT#", will allow force tab indents with a tab length that is different
+ than the indent length. See the documentation for details.</p>
+ <p>
+ The short option for delete-empty-lines has changed from "xd" to "xe".</p>
+ <p>
+ The C++11 standard for range-based "for" loops, "enum" with a base type, and rvalue references is now supported.
+ The formatting of rvalue references is determined from the existing "align-pointer" and "align-reference"
+ options.</p>
+ <p>
+ Closing the ending angle brackets of templates is now allowed by the C++11 standard. A new option, "close-templates"
+ or "xy", will close the whitespace in the angle brackets of template definitions. Be sure your compiler supports
+ this before making the changes.</p>
+ <p>
+ The C/C++ keyword 'extern "C"' in a preprocessor no longer causes an extra indent.</p>
+ <p>
+ Formatting of C++/CLI managed pointers (the '^' character) has been added to the "align-pointer"
+ option.</p>
+ <p>
+ The breaking of switch "default" statements has been fixed. The "default" statements
+ that have been incorrectly broken will be fixed in this release.</p>
+ <p>
+ The byte order mark (BOM) has been removed from ASLocalizer.cpp for all platforms. The encoding of the file is
+ UTF-8. Many Windows editors can now recognize UTF-8 encoding without the BOM. Visual Studio has an option that
+ needs to be set. With others, such as CodeBlocks, identification is automatic. On Linux, UTF-8 is the default
+ encoding.</p>
+ <p>
+ Translations have been added for Dutch, Finnish, Italian, Japanese, Korean, Polish, Portuguese, Russian, Swedish,
+ and Ukrainian. The translations were done with an automated translation program, Google Translate, so they may
+ not be the best translation possible. The translations are at the end of ASLocalizer.cpp in the form of an English‑Translation
+ pair. If you correct a translation, send the source as a bug report and it will be included in the next release.
+ To add a language, see "Internationalization" in the "General Information" section of the documentation. Send
+ the addition as a bug report and it will be included in the next release.</p>
+ <p>
+ There is a new Linux makefile for the Clang Compiler. Clang is a free compiler can be installed as a package on
+ many Linux distributions. Some of its features are fast compiles, low memory use, expressive diagnostic messages,
+ and GCC compatibility. It includes a static analyzer tool that finds potential bugs in your source code. An experimental
+ version can be installed on a Windows platform. There is more information in the Install Information
+ documentation.</p>
+ <p>
+ Visual Studio automatically creates an import library and an export file when you link a program that contains
+ exports. It will do this for even a static library if it contains a __declspec(dllexport) definition. The Artistic
+ Style library (ASTYLE_LIB) build contains such exports, which causes an import library and export file to be created
+ when they may not be needed. A new preprocessor definition, ASTYLE_NO_VCX (no Visual Studio exports) can be declared
+ to eliminate the files from the output. Use this only for static libraries or when the AStyle source is included
+ in the compile. Do NOT use this when compiled as a shared (dynamic) library. It is effective only for Visual Studio
+ 2012. It will NOT work with previous versions. It has no effect with other compilers since they require a separate
+ option to create the import library and export files.</p>
+ <p>
+ The executable included in the Windows distribution was compiled with Visual Studio 2010 (platform toolset v100).
+ Visual Studio 2012 (platform toolset v110) contains dependencies on Windows API functions that exist only on Windows
+ Vista, Windows 7, and Windows 8. This means that applications built with a Visual Studio 2012 C++ compiler would
+ fail to load and execute on Windows XP. Artistic Style was therefore compiled with Visual Studio 2010 to work
+ on computers using Windows XP.</p>
+ <p>
+ If you are using Windows Vista or higher, and have the Visual Studio 2012 compiler available, recompiling with
+ Visual Studio 2012 will probably result in faster execution. The Windows distribution has Visual Studio 2012 project
+ files available.</p>
+ <p>
+ If you use a compiler other than Visual Studio, you can probably get better execution by compiling using the C++11
+ standards. Artistic Style uses a lot of string vectors and the new move semantics will probably result in faster
+ execution. (To use C++11 on GCC and MinGW use the option --std=c++0x). This may change on future compiler
+ releases.</p>
+ <p>
+ The "Developer Information" page has a new example and download for calling Artistic Style from a Python script.
+ It will run with both Python 2 and Python 3. Using Python 3 shows an example of formatting a Unicode string with
+ Artistic Style. Unicode strings must be encoded to UTF-8 before formatting and decoded back to Unicode afterward.
+ The example script shows the technique for doing this. It also shows how to set up the function pointers and allocate
+ memory in Python.</p>
+ <p>
+ If you use Visual Studio on Windows, it can now be used for Python development. Python Tools for Visual Studio
+ (PTVS) is a free and open source plug-in for Visual Studio 2010 that supports Python and Iron Python. Other interpreters
+ such Jython can be added. It can be easily switched between Python versions or different interpreters. But the
+ best thing is the Visual Studio debugging support using the .NET debugger and the normal Visual Studio debugger.
+ It enables you to set break points, step through functions, change the current statement, inspect local variables,
+ and perform other operations while debugging. It is best to use it with a project file, a minor irritation for
+ single page scripts. And there are some minor bugs. But overall it works quite well.</p>
+ <p>
+ Thanks to Christopher Sean Morrison, Keith OHara, louis6g, and J for their contributions.</p>
+ <p>
+ </p>
+ <p>
+ <strong>Previous releases are available in the
+ <a href="http://astyle.sourceforge.net/newsArchives.html">News Archives</a>.</strong></p>
+ <p>
+ </p>
+
+ <p style="margin-left: -0.4in; text-align: center;">
+ <a href="http://sourceforge.net/projects/astyle">
+ <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=16" alt="" /></a></p>
+
+ <p>
+ </p>
+
+</body>
+
+</html>
+