Skip to content

Releases: ryankiley/mahonia

September 11, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:13
a4f824b

Added

  • A route can come from a Garmin FIT file, the format watches and bike computers record. A planned course's named stops are offered as pins.
  • Each day on the Trip tab shows its hours of daylight, and the figure comes forward when the walk runs past the light.
  • Every shared list has a Markdown twin: add .md to its share link for the same list as plain text tables.
  • Mahonia is an MCP connector at mahonia.app/mcp: an assistant can read a shared list, search the catalog, and with an edit link change one.

Changed

  • A row shows its brand and product, and its variant only where the list holds the same product in two variants.
  • Signing in or out in one tab now reaches your lists in your other tabs straight away.

Fixed

  • A share link pasted into an AI assistant can be read by it now. Shared lists still stay out of search results.
  • “Import map file” in the trail panel opens the file picker again instead of closing the panel.
  • Opening the app offline brings back the list you had open last, including one opened from your account.
  • Your lists stay in the switcher when you go offline.
  • Opening a list offline that this device hasn't saved says so, and opens it once you're back online.
  • The Trip map draws the whole route as soon as a map file is imported, not just the days planned on it.

September 7, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:13
64ae67e

Changed

  • In packing mode, checking a group checks everything nested under it. A half-packed group shows a dash.
  • A group with a weight of its own is something to pack too, so its check covers it as well as the items inside.
  • Pack progress counts the boxes you tick; a group that only holds other items isn't a check of its own.

September 6, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:13
64ae67e

Changed

  • A list left open with no edits checks for other people's changes less often, and catches up the moment you return to it.

Fixed

  • An item whose name already starts with its brand, like an Apple Watch, no longer reads the brand twice.

September 5, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:13
fed77c5

Added

  • A group's row shows the calories of the items inside it, beside its total weight.
  • An imported list recognises rows that name a catalog product word for word, and says how many matched. Your weights are kept as they were.
  • The import dialog asks what to call the list.
  • A shared list can be reported from its menu. The report reaches the maintainer the way feedback does.

Changed

  • A group row no longer shows a count or worn/consumable marks of its own, unless it carries a weight or calories.
  • Naming a group no longer offers catalog or My Gear suggestions. A group is a heading you write.
  • A group's total weight is set in italic, so it reads as the sum of the items inside rather than a weight of its own.
  • A row's gear-type and note lines, the Export group and the sharing log open and close more gently.
  • Selected controls (the view tabs, a person filter, a colour swatch, a row's Worn or Consumable mark) deepen a shade under the cursor.
  • The list switcher is labelled "Your packs"; the count sits inside it.
  • Mahonia keeps six cookieless tallies of in-app actions, like making a list. Nothing about who; the Legal page says so.
  • The feedback box's character count sits on its own line, and Cancel stands further from Send in every dialog.
  • On a laptop, a row's Save, Nesting, Duplicate and Remove icons appear when the pointer is on the row. Phones are unchanged.
  • A group's total weight, and a water row's, read as figures rather than fields. The unit is still yours to change.
  • Opening mahonia.app takes you back to the list you had open last. New list is one click away in the packs menu.
  • The list menu no longer offers Export or Duplicate for an empty, unsaved list.
  • The bare address goes straight to your last list, or a fresh one, without a blank page on the way.
  • The editor and shared-list pages load sooner, most noticeably on a slow connection.
  • The Base, Worn and Consumable figures under the total no longer carry small icons, so they and Carried read as one row.
  • The editor's third tab is called Trip, the name the shared page already used.
  • About describes the Trip tab, and About and Legal no longer mention a publish step that never existed.
  • The import dialog says it also takes a JSON backup made by Export.
  • The sign-in box now says what an account is for: it holds My Gear, from any device, and lists never need one.
  • Adding a trail explains the two ways in: a link, or a map file read in your browser and never uploaded.
  • The import dialog keeps the CSV column order on screen under the paste box instead of only in the placeholder.
  • The suggestion list folds up into the field when it closes.
  • The totals row reads Base, Consumable, Carried, then Worn, Calories and Per day, so each run adds up to the figure after it.
  • Trip dates leave out the year when the trip is in the current year, and name it again when it isn't.
  • Typing a kind of gear (tent, socks) lists that kind first, across brands, rather than one product in every size.
  • Typing into a long list is quicker on a phone: rows that are off screen are no longer laid out on every keystroke.
  • While packing, the top of the list keeps just its name, the tabs and the total, so the checklist starts higher on a phone.

Fixed

  • A weight typed into a group's name, like "Cook kit 540 g", is no longer added to the group; only the name is.
  • A row whose only entry is its calories is no longer discarded when you click away from it.
  • The quantity field shows its cursor and full-strength digits again.
  • Duplicating a list keeps its unit, description, trail link, route and trip dates.
  • On Safari, a nested group no longer leaves a blank space the height of its children below it.
  • On a phone, a group's total weight now starts at the left edge of its line instead of floating after a blank space.
  • If the list you last used was deleted elsewhere, opening the app takes you to your next list instead of an error.
  • On a desktop, a saved item's vault mark stays visible instead of waiting for the mouse to find the row.
  • The installed app opens offline again from its start page.
  • A name or note stops at the length the list keeps, instead of being cut down after you leave the field.
  • A list imported from LighterPack gets the same folder colours a hand-built one does.
  • An edit link that has lost its key (the part after the #) says so and offers the read-only view.
  • The suggestion list is no longer cut off at the row while it closes.
  • Suggestions that only share a few letters with what you typed no longer pad the list.
  • Typing a weight like .9oz (no leading zero) now reads as 0.9 oz, not 9 oz.

September 4, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:13
3644db5

Added

  • Duplicate a gear row with everything on it, from the row's menu or by holding Alt and dragging it by its handle.
  • A keyboard-shortcuts sheet, in the editor's actions menu or by pressing ?.

Changed

  • A group of nested items can show its total in any weight unit, from the same picker its items have.
  • A long note on an item now wraps onto as many lines as it needs, instead of stopping at the width of the row.
  • "Duplicate this list" has its own mark in the editor's ⋯ menu, instead of the one the copy-to-clipboard buttons wear.
  • In the lists menu, the hover highlight slides onto "New list" the way it slides between lists.
  • My Gear opens and closes as one movement, with the list easing out of the way instead of jumping.
  • In the editor, the account menu no longer repeats My Gear, and its entries carry icons.
  • On a shared list, the worn and consumable marks are quieter and appear only on rows that differ from their folder.
  • Shared lists no longer print "×1" on every single-item row, and show the route's distance beside its name.
  • Pulling an item out of a group, or tucking one under the row above, is a sideways drag you hold to the end.
  • The keys on the shortcuts sheet are a step smaller, so a chord sits in its line.
  • The note under the route map reads at caption size rather than body size.
  • The link back from a shared or public list now reads "Make a list" instead of "Make your own."
  • Every row of the ⋯ menu leads with an icon, including the four export formats.
  • Keyboard shortcuts is marked with a keyboard rather than a ⌘, a key only some keyboards have.
  • Send feedback is marked with a bug.
  • The ⋯ menu on a shared list now marks every row with an icon, matching the editor's, and lists them in the same order.
  • The nesting button on an item row shows a branch-and-plus icon in place of the indent arrow.
  • An item row's menus put an icon beside every entry, so a menu row and the button that does the same thing look alike.
  • Items in no folder are headed Unfiled, on screen and in an export. A group is only ever a row's nested items.
  • The packs menu in the top-left now appears as soon as you have one list, instead of waiting for a second.
  • New list lives only in the packs menu now. The ⋯ menu's Create a list has gone.
  • The unit beside the big total is set at the size it takes everywhere else, instead of a step smaller.
  • The box at the top of the lists menu says Search.

Fixed

  • On a phone, an item's marks, its ⋯ and its drag handle stay together on one line.
  • On a phone, a long name in the People list no longer squeezes the item's own name down to a couple of letters.
  • Opening the ⋯ menu or My Gear no longer leaves the button's tooltip sitting on top of what it opened.
  • Picking someone's colour on a touchscreen no longer leaves the colour you tapped before it looking chosen as well.
  • A long weight keeps its last digit. The number no longer runs out of room beside its unit.
  • Gear you already own stops asking to be saved to My Gear again.
  • A row's tooltips line up with the icon they describe instead of sitting slightly to its left.
  • A weight typed as "32.5 oz (921 g)" is one weight, not two, so pasting a spec line no longer doubles the row.
  • A number that names no unit is no longer added to the weight beside it: "size 2 / 400 g" is 400 g.
  • A long item name with nothing to break on wraps instead of running off the screen.
  • A folder name with no spaces in it stays inside the category legend.
  • A very large total no longer has its last digits and its unit cut off the edge of a phone screen.
  • A JSON backup restores a quantity of zero as zero, so a restored list weighs what the file said.
  • Exporting to CSV and importing it back keeps a row you weighed but haven't named yet, and keeps weights under a gram.
  • An item name can no longer carry hidden characters that reverse how it reads. What a list shows is what it says.
  • A person or folder named with an invisible character now falls back to a readable name instead of a blank chip.
  • An edit that used to fail to save now saves.
  • The trail link under a list title is easier to read in dark mode.
  • Searching the gear catalog without accents ("fjallraven") now highlights the match it found.
  • The Base / Worn / Consumable line stays inside the preview card a shared link unfurls, however heavy the pack.
  • Correcting a weight on gear you've already saved offers to update My Gear again.
  • You're no longer asked whether to add a list's gear to My Gear when My Gear already has all of it.
  • The drag cursor now shows while you drag a row, and shows a copy cursor when you're about to duplicate one.
  • A menu's hover highlight no longer slides in from the top of the card the first time you point at a row.
  • Open My Gear and the toolbar menus beside it no longer open behind the panel.
  • On a phone, an item's count, weight, unit and marks line up on one line.
  • On a shared list, the trail and the dates line up with each other when they stack onto two lines on a narrow screen.
  • A shared water row counts its whole line, so two 1 L bottles read "2 L" instead of "1 L".
  • Printing a list no longer draws the top bar's dividing line across the page.
  • Printing a list no longer underlines the item names.
  • Dragging an item up or down inside a group keeps it in the group, even if the drag wanders a little sideways.
  • Saving gear to My Gear reliably reports what happened, and gear you remove there stops counting as saved.
  • Saving gear you'd removed from My Gear says it's in your removed gear, instead of asking you to try again.
  • The ⋯ menu is wide enough for its longest row again, so a label can't run into the edge of the highlight behind it.
  • With exactly one saved list, a fresh draft gave you no way back to it. It does now.
  • The unit and its chevron brighten together when you point at the big total.
  • What's new lines up with the rest of the About page, in the same column as the text above it.
  • Bullets in a list sit level with the line they belong to instead of floating above it.
  • The page for a list that isn't there lines up with every other page, and its Create a list button shows its label again.
  • Every chevron that opens a menu turns while it's open, smoothly, including My Gear's folder picker, which never turned at all.
  • The buttons in the feedback dialog sit where every other dialog's do.
  • A box you type into on a panel or a dialog is visible against the surface behind it, and clearer when you're in it.
  • The feedback box's bottom-right corner is rounded like its other three.

September 2, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:13
f8d6fcb

Changed

  • A list's folders no longer offer a sort menu (name, heaviest, lightest); items stay in the order you drag them into.
  • Editing an item's name now also offers its gear type and note underneath; the separate add-a-note icon is gone.
  • My Gear's folders no longer have their own sort menu; the page's order (A–Z, heaviest, lightest, recent, most used) is the one way to sort.
  • On a phone, an item's gear type and note now sit directly under its name instead of under the count and weight.
  • A new item's blank fields read “Name of item” and “Type of gear”.
  • The people chips above a list are squared off to match the view switcher, instead of pill-shaped.

Fixed

  • The edit hint beside a list's name now fades in and out instead of popping.
  • The Export row in a list's ⋯ menu now highlights when you point at it, like the rows around it.
  • On small screens the row's ⋯ menu says "Move out of the group", the same words as on desktop.
  • The trail link panel's "Import map file" row no longer sits flush against the link field.
  • Two people on a trip can no longer share a name, so who carries what survives an export and import.
  • A group kept on screen only because one of its items is yours no longer shows a weight that isn't part of your total.

August 29, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:13
04dc89e

Added

  • Name the people on a trip and mark who carries each item, then filter the list, and its totals, down to one person.

August 22, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:12
04dc89e

Added

  • Give a piece of gear in My Gear a note and what it cost.
  • My Gear totals what your kit cost, beside what it weighs.
  • What a piece of gear cost comes with it into every list you add it to, along with its product link.
  • Download everything in My Gear as a CSV or a JSON backup, from the ⋯ menu in the top bar.
  • Import gear into My Gear from a CSV or a JSON backup. It adds what you don't already have.

Fixed

  • A note written on a list row now travels with the gear into My Gear instead of being left behind.

August 15, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:12
ecf3f92

Added

  • The Legal page now credits the open-source code Mahonia is built on, and links the full list of licenses.

August 14, 2026

Choose a tag to compare

@ryankiley ryankiley released this 12 Sep 18:12
ecf3f92

Added

  • The sharing panel can add a list to your account in one press.

Changed

  • A brand plus a kind of gear ("sleeping pad", "quilt") finds catalog items whose names never say what they are.
  • Water rows now wear a droplet instead of the cookie. Still counted as a consumable, just easier to spot in a list.

Fixed

  • A list made before accounts existed joins your account when you sign in, so it turns up on your other devices.
  • A list no longer offers to save gear already in My Gear while the page is still working out that you're signed in.
  • A list built before accounts existed no longer stays stranded on one device; signing in picks it up.
  • The worn and consumable marks stayed round on a narrow window instead of stretching into tall ovals.