Changelog
Every release. Updates arrive in the app through Sparkle.
0.1.5 26 Sep 2026
- A hand-edited or imported profiles.json can no longer add a line to /etc/hosts: the managed block only accepts blank lines, comments, and address+hostname lines, invalid entries are dropped, and hostnames are cleaned before they are written.
- profiles.json is checked every time it loads: a bad name, hour, date, id, or entry is fixed or switched off, and a notice explains what changed.
- Only administrators can turn a profile on, or otherwise change /etc/hosts, through HostBar; a standard account is told to ask an administrator or sign in as one. Flush DNS Cache only ever signals the system's own mDNSResponder.
- /etc/hosts edits keep each line's own ending, the byte-order mark, and any non-UTF-8 bytes; a stray Latin-1 byte in the file no longer stops writes or expiry.
- Writes to /etc/hosts happen one at a time, and any change that adds a line — including editing an already-active profile — needs a license. Expiry and edits never put back a line you deleted by hand. Adopt now switches off only the entries whose lines are actually gone, and the drift warning clears only once the file matches what HostBar expects.
- Editor: Save applies only the edits you made to the profile as it is right now, and can no longer turn an override back on by itself. Unsaved changes when you switch profiles, switch tabs, or close the window, and deleting a profile, are all confirmed first. New profiles get a unique name and never open to an error.
- The helper badge in the menu opens setup directly. A missing or unapproved helper error offers Install Helper or Open Login Items. Settings explains that the helper expires overrides on its own. Uninstall and Reinstall ask you to confirm; Uninstall turns overrides off first and won't proceed if that fails. The broken-marker warning can no longer be dismissed until it's fixed, and it offers Reveal /etc/hosts and Copy Path. Reapply and Adopt each explain what they're about to do.
- Import Profiles, Export All Profiles, and Export “name” for the selected profile, from the File menu and the toolbar: an imported profile always starts off, a name that clashes with an existing one is renamed, the contents are checked the same way profiles.json is, and a file over 1 MB is refused.
- Resolve now notes when Chrome's Secure DNS setting can skip /etc/hosts entirely; hostname and IPv6 columns are wider, every row shows in the results table, popovers size correctly, and a lookup that used to hang now actually times out.
- The helper now refuses connections from anything that isn't a Developer-ID-signed, non-debuggable copy of HostBar, and every call to it fails after a short wait instead of hanging.
- HostBar asks once to update its helper. Until you do, writes and expiry keep working through the installed helper; the administrator-only rule and the stricter checks take effect once it is updated.
0.1.4 23 Sep 2026
- Update checks now go to updates.uresk.net and include the app version and license state (trial, licensed, trial ended, or needs attention), which we count per day to see how many copies are in use. Nothing that identifies you is sent or stored; see the privacy page.
0.1.3 23 Sep 2026
- License problems are easier to fix: if a key stops validating, the License window says why and offers Try Again, and a key removed from this Mac in the customer portal is re-activated automatically when a slot is free.
- A brief license-server hiccup can no longer mark a paid license as invalid.
- When turning a profile on or flushing the DNS cache is refused because a paid license needs attention, HostBar now says so and points to the License window, instead of saying your trial has ended.
0.1.2 19 Sep 2026
- The popover counts down the last five days of the trial, and afterwards says what needs a license, with a button to the License window. Before, the trial ended without a word until an action was refused.
- Overrides now expire on time even when HostBar is not running: after you quit it, or after a restart with "Launch at login" off. The helper keeps the deadlines and takes expired overrides out of /etc/hosts itself. It only ever removes: lines you deleted by hand are never put back. This needs the helper to be updated once (HostBar asks); until then everything works as it did in 0.1.1.
- Fixed: if HostBar's start marker was in /etc/hosts without its end marker (a hand edit that removed one line is enough), HostBar treated everything from there to the end of the file as its own and replaced it on the next change, including lines other tools had added below. HostBar now refuses to write, says which line to look at, and leaves the file alone until the block is delimited again.
0.1.1 16 Sep 2026
- Fixed: the welcome window showed "helper not found in app bundle" and grayed out Install on a Mac that had never had the helper, so it could not be installed. The helper was in the bundle all along; macOS reports a never-registered helper as "not found" and HostBar took that literally.
0.1.0 16 Sep 2026
- Profiles of hostname overrides written to a managed block in /etc/hosts through a root helper.
- Profiles expire automatically (8 hours by default) and are turned off on launch if they expired while HostBar was not running.
- Menu bar icon shows how many profiles are active.
- Resolve panel: hosts file match, system answer, and what every configured DNS server (per interface, per VPN scope, per /etc/resolver file) answers.
- One-click DNS cache flush.
- Hosts file changes made by other tools are detected; Reapply or Adopt from the banner.
- Quitting with active overrides asks whether to turn them off; the answer can be remembered.
- Copy Summary on the Resolve tab produces plain text for Slack or a bug report.
- Demo mode for screenshots.