Change Log

The changelog shows selected changes that are most noticable. View complete changes in the project's commit history.

Balthisar Tidy 4.3.0 (May 2021)

  • Balthisar Tidy and Balthisar Tidy Classic:
    • Native Apple Silicon Support.
    • New, modern toolbar icons.
    • New, modern Preferences icons.
    • New, modern UI icons.
    • Balthisar Tidy web version get Balthisar Tidy for Work features.
    • Balthisar Tidy is now Balthisar Tidy Classic.
    • Balthisar Tidy for Work is now Balthisar Tidy.
    • Validator Preference panel now simply uses localhost; using the hostname didn't work with secure transport.
    • Sample AppleScripts are no longer included int the application bundle, but can be downloaded from the Help menu.
    • Sample AppleScripts have been updated, and the disk image is now notarized.
    • Help Book has been updated with modern images and updated content.
    • Updated to HTML Tidy 5.7.47.
    • Updated to Nu Validator 21.5.16.
    • Fix hovering behavior on macOS prior to 10.14
    • Alternating Row Colors is no longer the default.
    • No longer possible to use system tidy dylibs. Security for macOS is getting tighter these days, so we'll just build Tidy directly into Balthisar Tidy.
    • Improve the input encoding helper due to issue #8. Thanks @ihemsen.

Balthisar Tidy 4.2.0 (October 2019)

  • Balthisar Tidy and Balthisar Tidy for Work:
    • System Services now really work again.
    • The web-distributed version is not notarized. This is proving tricky with a JRE that we don't build ourselves. Because we're an older developer, we'll be fine when Apple starts requiring notarization in January. Not good forever, but enough to buy time.
    • The Nu HTML Checker is version 19.10.24.
    • Balthisar Tidy (not for Work) has a new icon.

Balthisar Tidy 4.1.4 (September 2019)

  • Balthisar Tidy and Balthisar Tidy for Work:
    • System services now work again.
    • Sparkle (the web-distributed version’s automatic updater mechanism) now works once again.
    • The web-distributed version is notarized by Apple now.

Balthisar Tidy 4.1.1 (September 2019)

  • Balthisar Tidy and Balthisar Tidy for Work:
    • HTML Tidy is 5.7.28.
    • Nu HTML Checker is 19.9.8
    • The OpenJDK JRE is 12.0.2.

Balthisar Tidy 4.1.0 (September 2018)

  • Balthisar Tidy and Balthisar Tidy for Work:
    • Update to W3C Nu HTML Checker version 18.9.16.
    • Update to JRE 10.0.2.
    • Update application for macOS 10.14 Dark Mode
      • Fragaria to newest version.
      • DCOAboutWindow to newest version.
      • MMTabBarView to newest version.
    • Rebuilt Help with newest Eagle engine.

Balthisar Tidy 4.0.0 (May 2018)

  • Balthisar Tidy and Balthisar Tidy for Work:
    • Update to HTML Tidy 5.7.16.
    • Offer validation using the W3C Nu HTML Checker.
      • Include a built-in version of this checker. When selected as an option and Balthisar Tidy is running, it operates as a local server and can be used from a web browser, as well.
      • Also include the ability to use an online version of the validator.
    • Preferences added to support the new Validator.
    • When switching the aspect of the source code view, splitters now remember their previous positions.
    • The Balthisar Tidy Help has been updated with all of the new content.
    • The Balthisar Tidy Help has been redesigned to use Apple’s native "Eagle" system to display native-looking help.
    • Tasteful animations where appropriate, such as hiding panels and changing the source text orientation.
    • The Quick Tutorial has been updated to show off new features to upgraders.
  • Developer changes:
    • The built-in Validator is a Java application. As such, a reduced version of the Java Runtime Engine is now included in the source and the binary. Note that the Jave.runtime is packaged as a bundle, and signed as such. If you want to build your own, signed version of Balthisar Tidy, you will have to re-codesign this directory with your own credentials.
    • JSDTidyFramework has been exposed as a module in Xcode.
    • HTML Tidy has been exposed as a module in Xcode.
    • Project directories have been reorganized. Some of the modules now have external dependencies, but it avoids code duplication. I'll work on this if I ever make these standalone public modules.
    • Transitioning towards PDF image templates with tinting via code. This is an effort to reduce the executable sizes, but now that we have an embedded JRE, it seems to kind of not matter any more.
    • Added categories to JSDTidyModel and other data sources to make generic how the source view controller gets display data.
    • Help is now built using Middlemac version 3.0. As of release date, this version is not publicly available, but look for it soon, or get it from Github.

Balthisar Tidy 3.7.1 (March 2018)

  • Balthisar Tidy and Balthisar Tidy for Work:
    • Fixed the ability of the Balthisar Tidy Service Helper to respond to AppleScript (Balthisar Tidy for Work).
    • Updated Sparkle (the self-updater mechanism) to a version that works with sandboxed applications. This means that this and future versions of Balthisar Tidy (distributed from the website) can upgrade themselves once again on future releases.
    • Several small grammar and wording changes in Preferences, as well as a new updater Preference for the web-distributed version.
    • Help Book images updated as a result of Preferences changes.

Balthisar Tidy 3.7.0 (November 2017)

  • Balthisar Tidy and Balthisar Tidy for Work:
    • Update to HTML Tidy 5.7.0.
    • New Tidy options such as add-meta-charset, priority-attributes, show-meta-change, keep-tabs.
    • You can now double-click into a Tidy Option with a text field, and the text field will activate.
    • You can triple click a text field that uses lists, and the list editor will pop up. This can be much nicer than managing long lists in a single string.
    • Tidy Option text fields that are lists now reflect the proper formatting for lists.
    • Adopted all of the new Tidy Option categories offered by the latest HTML Tidy.
    • We now issue advice to turn on force-output if a loaded document produced no content.
    • Removed the markup Tidy option, because Balthisar Tidy handles this automatically.
    • Updated the Help book to include updates to Tidy options.
  • Developer changes:
    • Internal changes to make future maintenance of Balthisar Tidy better.
    • I've removed all of the different, redundant targets, and now different versions are built via the xcconfig files.
    • Built versions of Balthisar Tidy are now a smaller. The Tidy Extensions and Tidy Service Helper now rely on Balthisar Tidy's frameworks where possible rather than including their own, duplicate copies.

Balthisar Tidy 3.6.3 (August 2017)

  • Balthisar Tidy and Balthisar Tidy for Work:
    • Updated to HTML Tidy 5.5.32, which brings support for autonomous custom elements, as well as bug fixes.
    • Minor code fixes for future growth and maintainability.
  • Balthisar Tidy for Work
    • Sample AppleScripts improvements. As always these can be found in the disk image within the application package, or look for “Open the disk image now” in the “Use AppleScript to Control Balthisar Tidy” section of the help.

Balthisar Tidy 3.6.2 (January 2017)

  • Updated to HTML Tidy 5.3.14
  • Sample AppleScripts improvements
  • Updated third-party libraries to current.
  • Improved the help system with macOS Sierra changes.
  • Minor code fixes for future growth and maintainability.

Balthisar Tidy 3.6.0 (June 2016)

  • Restore Mac OS X 10.10 Compatibility
    • Sorry, everyone! There was a compatibility issue with a third party library on Mac OS X 10.10, and I didn't perform due diligence. This is corrected, and Balthisar Tidy works once again on this OS.
  • Feature Enhancements for version 3.6.0
    • Added Find menu and actions to the editor panels.
    • Updated Spelling and Grammar menu to current standards.
    • Enable the Substitutions standard menu items.
    • Added the standard Transformations menu.
    • Enabled standard Speech menu.
    • Added several additional items to the Edit menu to enable things that were previously hidden in context menus:
      • Shift left/right
      • Entab/detab
      • Trim whitespace
      • Remove line endings.
    • Help file updates.
    • A Transpose command with keyboard shortcut has been added to the Edit menu, and it will immediately place the Tidy text into the Source HTML panel.
    • Support for error filters.
    • Added import Tidy options feature to Pro.
    • Allow use of the Tab key in the Source HTML editor. Previously it was used to change focus to and from the editor.
    • Added an export Source HTML command in the File menu. Reveal it with the option key.
    • Added a Preferences option to control whether or not a new, Untitled document is or isn't created at launch or when bringing it to the front.

Balthisar Tidy 3.5.0 (June 2016)

  • New Features
    • Update to HTML Tidy 5.3.1
      • Includes bug fixes from the HTACG team.
      • Adds the new escape-scripts Tidy option.
    • Activated the multipage features of the Feedback panel. This moves the Tidy Messages table into a tabbed view.
    • Added a Browser Preview feature to the Feedback panel. Get a live, always updated preview of your Tidy’d HTML.
    • Balthisar Tidy for Work adds a split-view Browser Preview so that you can look at the before and after versions side-by-side. Optionally these two views can be scrolled locked.
  • Visible Changes
    • Fixed some unpleasant graphic images in the Tidy pane of Preferences.
    • Corrected some horrible wording in the Document pane of Preferences.
    • Several string updates in the descriptions of Tidy options.

Balthisar Tidy 3.0.2 (February 2016)

  • New Features
    • Update to HTML Tidy 5.1.41
      • Adds a new option (strict-tags-attributes) to ensure that the tags and attributes in documents match the version of HTML being generated.
      • This is now the minimum supported version for libtidy-balthisar.dylib users is now 5.1.41 due to HTML Tidy API requirements.
    • Update to the newest version of Sparkle (doesn't apply to App Store versions) in order to eliminate a man-in-the-middle attack vulnerability. See https://sparkle-project.org/documentation/security/.
    • Updated to the latest modern Fragaria, which offers several minor improvements and faster performance of the text editor.
    • Holding Command-Shift while launching provides the opportunity to delete all user defaults.
  • Visible Changes
    • Incorrect information about NoodleKit removed from the About… window and proper attribution given for modern Fragaria.
    • Descriptions updated, e.g., alt-text and the new strict-tags-attributes.
  • Bug Fixes
    • Fixes to the exporting Unix config file.
      • "Config: missing or malformed argument for option: css-prefix" (fixed by updated libtidy)
      • Warning: replacing invalid character code 128
      • Warning: replacing invalid character code 153
    • Fixed memory leaks identified by Instruments.
    • Removed dependence on libtidy enum values.
  • Miscellaneous Fixes
    • Balthisar Tidy’s (from the website) disk image has been updated to indicate that while you can test it from the disk image without installing, some of the features won’t work. In particular System Services and Action Helpers are prevented by Mac OS X from running off of a disk image.

Balthisar Tidy 3.0.0 (November 2015)

  • Backwards Compatibility
    • Balthisar Tidy is now targeted for Mac OS X 10.10 and above and will no long run on older operating systems. This decision will help us develop Balthisar Tidy into a better application using the latest features and APIs of Mac OS X.
  • New Features
    • Update to HTML Tidy 5.1.24.
    • New Tidy option: indent-with-tabs
    • New Tidy option: skip-nested
    • New Text Editor Features
      • Syntax highlighting of the source and Tidy'd HTML. Although Tidy proper doesn’t perform syntax highlighting, Balthisar Tidy makes your code even easier to read and work on.
      • The line number gutter will indicate lines with errors, if line numbers are enabled.
        • These indicators can be clicked for a description of the errors on the line.
        • Lines with multiple errors will have a severity icon before each error description.
        • New toggles and Preferences added for this.
      • Lines with errors in the source are highlighted and errors are squiggly-underlined.
        • New toggles and Preferences added for this.
      • Lots and lots of other new editor features, such as auto-complete, revealing invisible characters, and more.
      • Visible right margin when Tidy is wrapping its output, and Preference to inhibit this.
    • Revamped Preferences dialogs in order to support all of the new features.
  • New Features Balthisar Tidy for Work
    • Editor color themes give you full control over the colors used for syntax highlighting and the source code display.
    • AppleScript love
      • Balthisar Tidy for Work:
        • Provide a new developer identifierOfVisiblePrefsWindowPanel property.
        • Provide a new developer titleOfVisiblePrefsWindowPanel property.
        • Provide a new developer documentWindowIsInScreenshotMode property.
      • Balthisar Tidy Service Helper:
        • New sourceText property.
        • New tidyText property.
        • New tidyBodyText property.
    • Bundle a disk image in the application bundle with useful AppleScripts.
    • Can export RTF of the colored, Tidy'd text
  • Visible Changes
    • About… window changes
      • Link to HTACG Tidy to report Tidy proper issues.
      • Links to App Store rating/reviews for our generous, lovely users to use.
      • Proper credit with links given to major component developers.
      • libtidy version displayed in About…
    • Cleaned up some residual garbage that was shown on the application icon at certain sizes.
    • Update the Help book with updates for the new features.
  • Invisible Changes
    • If using a custom dylib Balthisar Tidy will pick up new Tidy options automatically.
    • libtidy version checking – minimum 5.1.24
  • Bug Fixes
    • tidy-mark once again properly displays Balthisar Tidy.
    • Fixed the poor behavior of show/hide Tidy descriptions in options lists.
    • Make sorting Tidy messages by location not use the string value, but number value.
  • Changes developers will notice
    • JSDTidyFramework uses instances of JSDTidyMessage now instead of
    • NSDictionary entries in the errorArray. This provides lazy property values when needed, but also allows implementation of a custom comparator for location.
    • TidyDocument has improved MVC architecture and reduced component interdependence.
    • Messages have been moved out of the document window controller into a new feedback view controller. This will allow us to add cool, new stuff.

Balthisar Tidy 2.2.1 (October 2015)

Please note that this release is made only for Balthisar Tidy distributed from balthisar.com, as the only functional difference does not apply to App Store versions.

  • Bug Fixes
    • Updated Apple Transport Security settings so that Balthisar Tidy web version can check for updates.
  • Changes developers will notice
    • README updated with information about building the project.
    • Header and implementation documentation improved.
    • Updated bundled binaries' bundle versions to match the containing application, as the App Store verification process now flags differences.

Balthisar Tidy 2.2.0 (October 2015)

  • New Features
    • New built-in version of Tidy. Now uses HTACG HTML Tidy 5.1.9.
    • Balthisar Tidy will automatically use /usr/local/lib/libtidy-balthisar.dylib instead of the built-in version (if present).
    • New System Service and Extension can selectively Tidy text without producing a full document. As a result the existing System Service and Extension will always produce a full document, ignoring Balthisar Tidy’s show-body-only setting.
  • Visible Changes
    • Fixed the horrible appearance in the Tidy options panel introduced in Mac OS X 10.11 El Capitan.
  • Bug Fixes
    • Fixed a condition in which the messages table would not be updated in certain circumstances.
    • Print now works again. We overlooked a sandbox permissions setting, which previously caused users who tried to print to see a message indicating that Balthisar Tidy didn't have permission.
  • Other Changes
    • Significantly reduced file size by using PDF instead of icns for the messages table images.

Balthisar Tidy 2.1.3 (January 2015)

  • New Features
    • Added system service "Tidy selection in new Balthisar Tidy document" (Mac OS X 10.8 and above)
    • Added system service "Tidy selection using Balthisar Tidy" (Mac OS X 10.9 and above)
    • Added Action Extension "Balthisar Tidy" (Mac OS X 10.10+ only)
  • Visible Changes
    • Updated Tidy Options list to assume default Yosemite appearance.
    • Updated support contact information in About… and in Help.
    • Fixed a view updating bug when used via external sources such as AppleScript. In some cases when setting a document's source text with .sourceText via AppleScript the Tidy'd text would not update.
    • Fixed reversion wherein the Preference for showing/hiding the Tidy and Options panes preferences weren't honored.
    • Fixed reversion wherein is wasn't always possible to show/hide the description text in the Tidy Options panel.
    • New help content to support new features.
    • Updated help images to Yosemite images.
  • Additional Release Notes
    • Services — To enable the new services you may have to logoff your user account and login again (this is a Mac OS X restriction). The services will then be available in most apps after enabling them in System Preferences > Keyboard > Shortcuts > Services in the Text group.
    • Action Extension — To enable the new extension run the updated Balthisar Tidy one time. Then enable the extension in System Preference > Extensions > Balthisar Tidy > Actions check box.

Balthisar Tidy 2.0.3 (November 2014)

  • New Features
    • You can drag contents of files into the source HTML Panel.
      • On Mac OS X 10.10 and above, Mac OS X will attempt to decode the input encoding, even if the file is a bitmap. Non-readable files (e.g., folders) will paste the filename.
      • On Mac OS X 10.9 and below, only UTF files will allow their contents to be dragged in, otherwise the filename will be pasted.
  • Visible changes
    • Version change to 2.0.3.
    • Contact information added to help file.
    • Contact information added to About… box.
    • Fixed instructions in help for deleting preferences.
    • Word-wrap in non-vertical layout fixed.
    • New version of Tidylib
      • New base source
      • Aria attributes corrected.
      • Role attribute corrected.
      • Itemscope series of microdata support added.
    • Properly deal with legacy line endings. This previously could cause a problem where closing body and html tags were missing.
    • Properly respect newline setting upon saving files.
    • Run-in meta tags in head section fixed.
    • Fixed Encoding helper logic so it only offers help when opening file.
    • Not properly updating the error table when opening a file. This was infamously seen as adding missing title tag.
  • Changes developers will notice
    • Added a non-signed dev target to the Xcode project.
    • Updated to latest versions of third party libraries such as Sparkle.

Balthisar Tidy 2.0.1 (October 2014)

  • Visible Changes
    • Changed the appearance of the Quick Tutorial for better appearance in Yosemite.
    • Fixed several typographic errors in the help file.
    • Reorganized the help content slightly.
    • Added a table of contents to the Reference section of the help file.
    • Added breadcrumbs to the help file.
  • Changes developers will notice
    • Updated project files to Xcode6.
    • Compiled against the Mac OS X 10.10 (Yosemite SDK).
    • Improved the help build system considerable (introducing Middlemac).

Balthisar Tidy 2.0.0 (July 2014)

  • New Features
    • Toolbar with quick access to Balthisar Tidy's new features.
    • Show/Hide the Tidy Options panel on documents.
    • Show/Hide the Tidy Messages panel on documents.
    • Can display the source code view vertically now in addition to the traditional, horizontal layout.
    • Tidy options are much more beautiful with groups headers to indicate option categories.
    • New, modern Preferences system with lots of new options.
    • Brand new, improved help file.
    • New application and document icons.
    • New main menu items to support new functionality.
    • Fixed a bug that allows two first-run helpers to be opened at the same time, which caused a crash.
    • Renamed the "first run helper" to "Quick Tutorial."
  • New Features (Balthisar Tidy for Work)
    • Introducing Balthisar Tidy for Work.
    • Can export option settings to Unix configuration files.
    • AppleScript support.
  • Changes developers will notice
    • JSDTidyModel has been refactored just a little bit.
    • The entire TidyDocument architecture has been re-written from the ground up in order to implement a better MVC object model and break apart the massive DocumentController.
    • OptionPaneController has been slightly refactored to become a ViewController.
    • Bit the bullet and use my own fork of TidyLib. Source is still compatible. This was done in order to incorporate the community pull requests that haven't been accepted by the maintainer yet.
    • New help building automation system.

Balthisar Tidy 1.5.0 (May 2014)

  • Visible Changes
    • The application in general has had several improvements.
      • New application and documents icons retaining the trademark Tidy Broom.
      • Added missing View menu in the main menu.
      • Added support for printing the Tidy'd text.
      • Added a Show New User Helper to the Help Menu.
    • The documents window is now improved.
      • New documents retain the position and size of last-used document.
      • New documents splitter positions are retained based on last-used document.
    • The Tidy options panel is improved.
      • It is now a modern Mac OS source list, including new controls.
      • Apply document's Tidy options to preferences (in a document).
      • Reset document options to preferences settings (in a document).
      • Revert to Tidy factory presets (while in Preferences).
    • The Messages panel has some improvements.
      • It now has some pretty icons to help distinguish severity.
      • Columns are now all sortable.
  • Changes developers will notice
    • Project directory layout changes.
    • Back to icns files for all icons.
    • Separated JSDTidyModel .strings into its own file.
    • Modified base TidyLib to allow a new callback filter to enable localization of output messages.
    • Added lots of strings to the new JSDTidyModel.strings to allow easy localization.

Balthisar Tidy 1.1.0 (April 2014)

  • Keyboard shortcuts! You can cycle through the values in nearly every option with the left and right cursor keys while the options list is focused
  • Now works with nearly any file type and extension
  • First-run helper reworked to prevent annoying users
  • Auto-size the description for items in the list of Tidy options
  • Description can be hidden or shown
  • Changes to many of the Tidy options descriptions
  • Pretty, styled descriptions of the Tidy options to increase legibility
  • Removed extraneous menu items in the application menus
  • Prevent automatic text substitutions in source editor
  • Tidy properly Tidy's new, blank documents
  • Pasting into a new, blank document now properly Tidy's immediately
  • Fixed a crash related to messages table when a change to the HTML source fixes an error but doesn't cause the Tidy'd document to change
  • Fixed an issue where messages table didn't update after saving a file
  • New default font in editor views
  • Existing preferences will be lost. Sorry, this is a one time occurrence. We changed a 12 year old preferences system into a modern one. We hope that a little bit of change after 12 years is acceptable

Balthisar Tidy 1.0.1 (March 2014)

  • Introduced backward support to Mac OS X 10.8 Mountain Lion
  • Added a "first run helper" to give an overview to new users
  • Added an Apple Help Help Book to provide fairly good documentation
  • Added a file encoding helper to help users when Tidy thinks that the input-encoding is set wrong
  • Added the Sparkle update engine to offer automatic updates
  • Added preferences to support Sparkle
  • Tweaked other preferences’s layouts for better usability and to support Cocoa bindings
  • Other code tweaks, changes, and simplification

Balthisar Tidy 0.7 (December 2013)

  • Visible changes
    • Built for Mac OS X 10.9 (now minimum supported OS)
    • Added Mac OS X full-screen support
    • Added developer signature to make Gatekeeper happy
    • Added Retina display App icons
    • New file icons including support for Retina displays
    • Improved the line numbers for the HTML and Tidy’d View
    • Added and changed information in Tidy->About
    • Default document window is larger.
    • Tweaked the document window layout and appearance
    • Tweaked the preferences window
    • Adopted the most recent version of W3C TidyLib (more options!)
    • Cleaned up remaining batch mode references. Will add in roadmap later.
    • Cleaned up file encoding mechanism
  • Invisible changes
    • Significant source code cleanup for legibility
    • Some refactorization
    • Some migration to modern Objective-C style
    • Patched some memory leaks
    • Removed all deprecated calls
    • Started ivar to property conversion
    • Eliminated all compiler warnings (except for TidyLib proper)

Balthisar Tidy 0.6 (November 2007)

  • Added support for universal binary.
  • Now requires Mac OS X 10.4 or higher.

Balthisar Tidy 0.5 (February 2003)

  • Added support for a live error list in the document window.

Balthisar Tidy 0.1 (December 2002)

  • Initial release of Balthisar Tidy.
  • Requires Mac OS X 10.2 or higher.