# Changelog ## v1.8.6 ### Description Beautifier has moved to https://beautifier.io ### Closed Issues * JS beautify break the angular compile ([#1544](https://github.com/beautify-web/js-beautify/issues/1544)) * base64 string is broken with v1.8.4 ([#1535](https://github.com/beautify-web/js-beautify/issues/1535)) * Bookmarklet becomes totally useless ([#1408](https://github.com/beautify-web/js-beautify/issues/1408)) * HTTPS ([#1399](https://github.com/beautify-web/js-beautify/issues/1399)) * Beautify breaks when js starts with space followed by multi-line comment ([#789](https://github.com/beautify-web/js-beautify/issues/789)) ## v1.8.4 ### Description Broader adoption of 1.8.x revealed a few more high priority fixes ### Closed Issues * Multiple newlines added between empty textarea and "unformatted" inline elements ([#1534](https://github.com/beautify-web/js-beautify/issues/1534)) * unindent_chained_methods broken ([#1533](https://github.com/beautify-web/js-beautify/issues/1533)) ## v1.8.3 ### Description ### Closed Issues * Missing Bower Assets ([#1521](https://github.com/beautify-web/js-beautify/issues/1521)) * Javascript ternary breaked with `await` ([#1519](https://github.com/beautify-web/js-beautify/issues/1519)) * Object property indented after `await` ([#1517](https://github.com/beautify-web/js-beautify/issues/1517)) * Handlebars formatting problems ([#870](https://github.com/beautify-web/js-beautify/issues/870)) * beautify.js doesn't have indent_level option ([#724](https://github.com/beautify-web/js-beautify/issues/724)) ## v1.8.1 ### Description ### Closed Issues * Why npm is a dependency? ([#1516](https://github.com/beautify-web/js-beautify/issues/1516)) * indent_inner_html not working in v1.8.0 ([#1514](https://github.com/beautify-web/js-beautify/issues/1514)) ## v1.8.0 ### Description Massive set of fixes and improvements. Thanks to contributors: @cheerypick, @swan46, @MacKLess, @Elrendio, @madman-bob, @amanda-bot, @Hirse, @aeschli, and many more. Special thanks to @astronomersiva and @garretwilson for finding key bugs in the RC releases, and to @MacKLess for driving down the open bug count with tons of regression tests. Highlights: * CSS: `newline_between_rules` support for nested rules - CSS/SASS/SCSS/LESS (@MacKLess) * CSS: @import support in CSS (@MacKLess) * HTML: inline element support (@madman-bob) * HTML: `wrap_attributes` setting `align-multiple` (@cheerypick) * HTML: optional close tags do not over indent - li, tr, etc. * HTML: Improved line wrapping in HTML - still not fully correct * HTML: 10x performance improvement in HTML beautifier * JS: ES6 BigInt support (@thejoshwolfe) * JS: ES6 Dynamic import support * CSS: :hover for @extend formatting (@MacKLess) * HTML: Incorrect line wrapping issue (@andreyvolokitin) * JS: Javascript ++ Operator Indentation (@Elrendio) * JS: Better packer handling in Python (@swan46) ### Closed Issues * list items of nested lists get indented backwards ([#1501](https://github.com/beautify-web/js-beautify/issues/1501)) * Make beautifier auto-convert options with dashes into underscores ([#1497](https://github.com/beautify-web/js-beautify/issues/1497)) * ReferenceError: token is not defined ([#1496](https://github.com/beautify-web/js-beautify/issues/1496)) * Publish v1.8.0 ([#1495](https://github.com/beautify-web/js-beautify/issues/1495)) * still probem #1439 / #1337 ([#1491](https://github.com/beautify-web/js-beautify/issues/1491)) * Duplicating HTML Code Nested In PHP ([#1483](https://github.com/beautify-web/js-beautify/issues/1483)) * Handlebars - `if` tags are broken when using helper with `textarea` ([#1482](https://github.com/beautify-web/js-beautify/issues/1482)) * TypeError: Cannot read property '1' of null ([#1481](https://github.com/beautify-web/js-beautify/issues/1481)) * Space in Self Closing Tag Issue ([#1478](https://github.com/beautify-web/js-beautify/issues/1478)) * Weird Formatting in VSCode ([#1475](https://github.com/beautify-web/js-beautify/issues/1475)) * Indent with tab issue on website ([#1470](https://github.com/beautify-web/js-beautify/issues/1470)) * Contents of hbs tags are converted to lowercase ([#1464](https://github.com/beautify-web/js-beautify/issues/1464)) * HTML tags are indented wrongly when attributes are present ([#1462](https://github.com/beautify-web/js-beautify/issues/1462)) * hbs tags are stripped when there is a comment below or inline ([#1461](https://github.com/beautify-web/js-beautify/issues/1461)) * Spaces added to handlebars with '=' ([#1460](https://github.com/beautify-web/js-beautify/issues/1460)) * jsbeautifier.org don't works ([#1445](https://github.com/beautify-web/js-beautify/issues/1445)) * Commenting code and then beautifying removes line breaks ([#1440](https://github.com/beautify-web/js-beautify/issues/1440)) * Less: Where is my space? ([#1411](https://github.com/beautify-web/js-beautify/issues/1411)) * No newline after @import ([#1406](https://github.com/beautify-web/js-beautify/issues/1406)) * "html.format.wrapAttributes": "force-aligned" adds empty line on long attributes ([#1403](https://github.com/beautify-web/js-beautify/issues/1403)) * HTML: wrap_line_length is handled incorrectly ([#1401](https://github.com/beautify-web/js-beautify/issues/1401)) * js-beautify is breaking code by adding space after import ([#1393](https://github.com/beautify-web/js-beautify/issues/1393)) * JS-Beautify should format XML tags inside HTML files ([#1383](https://github.com/beautify-web/js-beautify/issues/1383)) * python unpacker can not handle if radix given as [] and not as a number ([#1381](https://github.com/beautify-web/js-beautify/issues/1381)) * unindent_chained_methods breaks indentation for if statements without brackets ([#1378](https://github.com/beautify-web/js-beautify/issues/1378)) * function parameters merged into single line when starting with ! or [ ([#1374](https://github.com/beautify-web/js-beautify/issues/1374)) * CSS selector issue (header > div[class~="div-all"]) in SCSS file ([#1373](https://github.com/beautify-web/js-beautify/issues/1373)) * Add "Create Issue for Unexpected Output" button to website ([#1371](https://github.com/beautify-web/js-beautify/issues/1371)) * Add combobox to control type of beautification ([#1370](https://github.com/beautify-web/js-beautify/issues/1370)) * Add Options textbox to website for debugging ([#1369](https://github.com/beautify-web/js-beautify/issues/1369)) ## v1.7.5 ### Description ### Closed Issues * Strict mode: js_source_text is not defined [CSS] ([#1286](https://github.com/beautify-web/js-beautify/issues/1286)) * Made brace_style option more inclusive ([#1277](https://github.com/beautify-web/js-beautify/pull/1277)) * White space before"!important" tag missing in CSS beautify ([#1273](https://github.com/beautify-web/js-beautify/issues/1273)) ## v1.7.4 ### Description Thanks @cejast for contributing! ### Closed Issues * Whitespace after ES7 `async` keyword for arrow functions ([#896](https://github.com/beautify-web/js-beautify/issues/896)) ## v1.7.3 ### Description * Fixed broken installs Lessons learned: * Don't publish and go to bed. * I thought I had sufficient test coverage and I did not. Tests will be implemented to protect against this before the next release (#1254). * Also, this break highlights the need to create a beta channel for releases and a way to request feedback on beta releases (#1255). * The project has been maintained by mostly one person over the past year or so, with some additions by other individuals. This break also highlights the need for this project to have a few more people who have the ability address issues/emergencies (#1256). * Many projects do not not lock or even limit their version dependencies. Those that do often use `^x.x.x` instead of `~x.x.x`. Consider switching to making major version updates under more circumstances to limit risk to dependent projects. (#1257) ### Closed Issues * Version 1.7.0 fail to install through pip ([#1250](https://github.com/beautify-web/js-beautify/issues/1250)) * Installing js-beautify fails ([#1247](https://github.com/beautify-web/js-beautify/issues/1247)) ## v1.7.0 ### Description ### Closed Issues * undindent-chained-methods option. Resolves #482 ([#1240](https://github.com/beautify-web/js-beautify/pull/1240)) * Add test and tools folder to npmignore ([#1239](https://github.com/beautify-web/js-beautify/issues/1239)) * incorrect new-line insertion after "yield" ([#1206](https://github.com/beautify-web/js-beautify/issues/1206)) * Do not modify built-in objects ([#1205](https://github.com/beautify-web/js-beautify/issues/1205)) * Fix label checking incorrect box when clicked ([#1169](https://github.com/beautify-web/js-beautify/pull/1169)) * Webpack ([#1149](https://github.com/beautify-web/js-beautify/pull/1149)) * daisy-chain indentation leads to over-indentation ([#482](https://github.com/beautify-web/js-beautify/issues/482)) ## v1.6.12 ### Description ### Closed Issues * CSS: Preserve Newlines ([#537](https://github.com/beautify-web/js-beautify/issues/537)) ## v1.6.11 ### Description Reverted #1117 - Preserve newlines broken ### Closed Issues * On beautify, new line before next CSS selector ([#1142](https://github.com/beautify-web/js-beautify/issues/1142)) ## v1.6.10 ### Description Added `preserver_newlines` to css beautifier ### Closed Issues ## v1.6.9 ### Description * Fixed html formatting issue with attribute wrap (Thanks, @HookyQR!) * Fixed python package publishing ### Closed Issues * Wrong HTML beautification starting with v1.6.5 ([#1115](https://github.com/beautify-web/js-beautify/issues/1115)) * Ignore linebreak when meet handlebar ([#1104](https://github.com/beautify-web/js-beautify/pull/1104)) * Lines are not un-indented correctly when attributes are wrapped ([#1103](https://github.com/beautify-web/js-beautify/issues/1103)) * force-aligned is not aligned when indenting with tabs ([#1102](https://github.com/beautify-web/js-beautify/issues/1102)) * Python package fails to publish ([#1101](https://github.com/beautify-web/js-beautify/issues/1101)) * Explaination of 'operator_position' is absent from README.md ([#1047](https://github.com/beautify-web/js-beautify/issues/1047)) ## v1.6.8 ### Description * Fixed a batch of comment and semicolon-less code bugs ### Closed Issues * Incorrect indentation after loop with comment ([#1090](https://github.com/beautify-web/js-beautify/issues/1090)) * Extra newline is inserted after beautifying code with anonymous function ([#1085](https://github.com/beautify-web/js-beautify/issues/1085)) * end brace with next comment line make bad indent ([#1043](https://github.com/beautify-web/js-beautify/issues/1043)) * Javascript comment in last line doesn't beautify well ([#964](https://github.com/beautify-web/js-beautify/issues/964)) * indent doesn't work with comment (jsdoc) ([#913](https://github.com/beautify-web/js-beautify/issues/913)) * Wrong indentation, when new line between chained methods ([#892](https://github.com/beautify-web/js-beautify/issues/892)) * Comments in a non-semicolon style have extra indent ([#815](https://github.com/beautify-web/js-beautify/issues/815)) * [bug] Incorrect indentation due to commented line(s) following a function call with a function argument. ([#713](https://github.com/beautify-web/js-beautify/issues/713)) * Wrong indent formatting ([#569](https://github.com/beautify-web/js-beautify/issues/569)) ## v1.6.7 ### Description Added `content_unformatted` option (Thanks @arai-a) ### Closed Issues * HTML pre code indentation ([#928](https://github.com/beautify-web/js-beautify/issues/928)) * Beautify script/style tags but ignore their inner JS/CSS content ([#906](https://github.com/beautify-web/js-beautify/issues/906)) ## v1.6.6 ### Description * Added support for editorconfig from stdin * Added js-beautify to cdnjs * Fixed CRLF to LF for HTML and CSS on windows * Added inheritance/overriding to config format (Thanks @DaniGuardiola and @HookyQR) * Added `force-align` to `wrap-attributes` (Thanks @Lukinos) * Added `force-expand-multiline` to `wrap-attributes` (Thanks @tobias-zucali) * Added `preserve-inline` as independent brace setting (Thanks @Coburn37) * Fixed handlebars with angle-braces (Thanks @mmsqe) ### Closed Issues * Wrong indentation for comment after nested unbraced control constructs ([#1079](https://github.com/beautify-web/js-beautify/issues/1079)) * Should prefer breaking the line after operator ? instead of before operator < ([#1073](https://github.com/beautify-web/js-beautify/issues/1073)) * New option "force-expand-multiline" for "wrap_attributes" ([#1070](https://github.com/beautify-web/js-beautify/pull/1070)) * Breaks if html file starts with comment ([#1068](https://github.com/beautify-web/js-beautify/issues/1068)) * collapse-preserve-inline restricts users to collapse brace_style ([#1057](https://github.com/beautify-web/js-beautify/issues/1057)) * Parsing failure on numbers with "e" ([#1054](https://github.com/beautify-web/js-beautify/issues/1054)) * Issue with Browser Instructions ([#1053](https://github.com/beautify-web/js-beautify/issues/1053)) * Add preserve inline function for expand style braces ([#1052](https://github.com/beautify-web/js-beautify/issues/1052)) * Update years in LICENSE ([#1038](https://github.com/beautify-web/js-beautify/issues/1038)) * JS. Switch with template literals. Unexpected indentation. ([#1030](https://github.com/beautify-web/js-beautify/issues/1030)) * The object with spread object formatted not correctly ([#1023](https://github.com/beautify-web/js-beautify/issues/1023)) * Bad output generator function in class ([#1013](https://github.com/beautify-web/js-beautify/issues/1013)) * Support editorconfig for stdin ([#1012](https://github.com/beautify-web/js-beautify/issues/1012)) * Publish to cdnjs ([#992](https://github.com/beautify-web/js-beautify/issues/992)) * breaks if handlebars comments contain handlebars tags ([#930](https://github.com/beautify-web/js-beautify/issues/930)) * Using jsbeautifyrc is broken ([#929](https://github.com/beautify-web/js-beautify/issues/929)) * Option to put HTML attributes on their own lines, aligned ([#916](https://github.com/beautify-web/js-beautify/issues/916)) * Erroneously changes CRLF to LF on Windows in HTML and CSS ([#899](https://github.com/beautify-web/js-beautify/issues/899)) * Weird space in {get } vs { normal } ([#888](https://github.com/beautify-web/js-beautify/issues/888)) * Bad for-of formatting with constant Array ([#875](https://github.com/beautify-web/js-beautify/issues/875)) * Problems with filter property in css and scss ([#755](https://github.com/beautify-web/js-beautify/issues/755)) * Add "collapse-one-line" option for non-collapse brace styles ([#487](https://github.com/beautify-web/js-beautify/issues/487)) ## v1.6.4 ### Description * Fixed JSX multi-line root element handling * Fixed CSS Combinator spacing (NOTE: use `space_around_combinator` option) * Fixed (more) CSS pseudo-class and pseudo-element selectors (Thanks @Konamiman!) * Fixed Shorthand generator functions and `yield*` (Thanks @jgeurts!) * Added EditorConfig support (Thanks @ethanluoyc!) * Added indent_body_inner_html and indent_head_inner_html (Thanks @spontaliku-softaria!) * Added js-beautify to https://cdn.rawgit.com (Thanks @zxqfox) ### Closed Issues * css-beautify sibling combinator space issue ([#1001](https://github.com/beautify-web/js-beautify/issues/1001)) * Bug: Breaks when the source code it found an unclosed multiline comment. ([#996](https://github.com/beautify-web/js-beautify/issues/996)) * CSS: Preserve white space before pseudo-class and pseudo-element selectors ([#985](https://github.com/beautify-web/js-beautify/pull/985)) * Spelling error in token definition ([#984](https://github.com/beautify-web/js-beautify/issues/984)) * collapse-preserve-inline does not preserve simple, single line ("return") statements ([#982](https://github.com/beautify-web/js-beautify/issues/982)) * Publish the library via cdn ([#971](https://github.com/beautify-web/js-beautify/issues/971)) * Bug with css calc() function ([#957](https://github.com/beautify-web/js-beautify/issues/957)) * &:first-of-type:not(:last-child) when prettified insert erroneous white character ([#952](https://github.com/beautify-web/js-beautify/issues/952)) * Shorthand generator functions are formatting strangely ([#941](https://github.com/beautify-web/js-beautify/issues/941)) * Add handlebars support on cli for html ([#935](https://github.com/beautify-web/js-beautify/pull/935)) * Do not put a space within `yield*` generator functions. ([#920](https://github.com/beautify-web/js-beautify/issues/920)) * Possible to add an indent_inner_inner_html option? (Prevent indenting second-level tags) ([#917](https://github.com/beautify-web/js-beautify/issues/917)) * Messing up jsx formatting ([#914](https://github.com/beautify-web/js-beautify/issues/914)) * Bug report: Closing 'body' tag isn't formatted correctly ([#900](https://github.com/beautify-web/js-beautify/issues/900)) * { throw … } not working with collapse-preserve-inline ([#898](https://github.com/beautify-web/js-beautify/issues/898)) * ES6 concise method not propely indented ([#889](https://github.com/beautify-web/js-beautify/issues/889)) * CSS beautify changing symantics ([#883](https://github.com/beautify-web/js-beautify/issues/883)) * Dojo unsupported script types. ([#874](https://github.com/beautify-web/js-beautify/issues/874)) * Readme version comment ([#868](https://github.com/beautify-web/js-beautify/issues/868)) * Extra space after pseudo-elements within :not() ([#618](https://github.com/beautify-web/js-beautify/issues/618)) * space in media queries after colon &: selectors ([#565](https://github.com/beautify-web/js-beautify/issues/565)) * Integrating editor config ([#551](https://github.com/beautify-web/js-beautify/issues/551)) * Preserve short expressions/statements on single line ([#338](https://github.com/beautify-web/js-beautify/issues/338)) ## v1.6.3 ### Description Bug fixes ### Closed Issues * CLI broken when output path is not set ([#933](https://github.com/beautify-web/js-beautify/issues/933)) * huge memory leak ([#909](https://github.com/beautify-web/js-beautify/issues/909)) * don't print unpacking errors on stdout (python) ([#884](https://github.com/beautify-web/js-beautify/pull/884)) * Fix incomplete list of non-positionable operators (python lib) ([#878](https://github.com/beautify-web/js-beautify/pull/878)) * Fix Issue #844 ([#873](https://github.com/beautify-web/js-beautify/pull/873)) * assignment exponentiation operator ([#864](https://github.com/beautify-web/js-beautify/issues/864)) * Bug in Less mixins ([#844](https://github.com/beautify-web/js-beautify/issues/844)) * Can't Nest Conditionals ([#680](https://github.com/beautify-web/js-beautify/issues/680)) * ternary operations ([#670](https://github.com/beautify-web/js-beautify/issues/670)) * Support newline before logical or ternary operator ([#605](https://github.com/beautify-web/js-beautify/issues/605)) * Provide config files for format and linting ([#336](https://github.com/beautify-web/js-beautify/issues/336)) ## v1.6.2 ### Description ### Closed Issues * Add missing 'collapse-preserve-inline' option to js module ([#861](https://github.com/beautify-web/js-beautify/pull/861)) ## v1.6.1 ### Description Fixes for regressions found in 1.6.0 ### Closed Issues * Inconsistent formatting for arrays of objects ([#860](https://github.com/beautify-web/js-beautify/issues/860)) * Publish v1.6.1 ([#859](https://github.com/beautify-web/js-beautify/issues/859)) * Space added to "from++" due to ES6 keyword ([#858](https://github.com/beautify-web/js-beautify/issues/858)) * Changelog generator doesn't sort versions above 9 right ([#778](https://github.com/beautify-web/js-beautify/issues/778)) * space-after-anon-function not applied to object properties ([#761](https://github.com/beautify-web/js-beautify/issues/761)) * Separating 'input' elements adds whitespace ([#580](https://github.com/beautify-web/js-beautify/issues/580)) * Inline Format ([#572](https://github.com/beautify-web/js-beautify/issues/572)) * Preserve attributes line break in HTML ([#455](https://github.com/beautify-web/js-beautify/issues/455)) * Multiline Array ([#406](https://github.com/beautify-web/js-beautify/issues/406)) ## v1.6.0 ### Description * Inline/short object and json preservation (all rejoice!) * ES6 annotations, module import/export, arrow functions, concise methods, and more * JSX spread attributes * HTML wrap attributes, inline element fixes, doctype and php fixes * Test framework hardening * Windows build fixed and covered by appveyor continuous integration ### Closed Issues * Individual tests pollute options object ([#855](https://github.com/beautify-web/js-beautify/issues/855)) * Object attribute assigned fat arrow function with implicit return of a ternary causes next line to indent ([#854](https://github.com/beautify-web/js-beautify/issues/854)) * Treat php tags as single in html ([#850](https://github.com/beautify-web/js-beautify/pull/850)) * Read piped input by default ([#849](https://github.com/beautify-web/js-beautify/pull/849)) * Replace makefile dependency with bash script ([#848](https://github.com/beautify-web/js-beautify/pull/848)) * list of HTML inline elements incomplete; wraps inappropriately ([#840](https://github.com/beautify-web/js-beautify/issues/840)) * Beautifying bracket-less if/elses ([#838](https://github.com/beautify-web/js-beautify/issues/838)) *