{"componentChunkName":"component---src-templates-post-jsx","path":"/blog/polypane-23/","result":{"data":{"mdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nconst _frontmatter = {\n  \"title\": \"Polypane 23\",\n  \"cover\": \"/img/mail/icon.svg\",\n  \"date\": \"2025-01-16\",\n  \"type\": [\"announcement\"]\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n    components\n  } = _ref,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, `Polypane 23 runs on Chromium 132 and includes a number of quality of life improvements and bug fixes.`), mdx(PolypaneIntro, {\n    mdxType: \"PolypaneIntro\"\n  }), mdx(\"h2\", {\n    \"id\": \"happy-new-year\"\n  }, `Happy new year!`), mdx(\"p\", null, `I took some time off at the end of the year, so this release is a bit smaller than usual. I hope you all had a great holiday season and are ready for a new year of web development!`), mdx(\"p\", null, `As a true dev, my \"time off\" was mostly spent working on a secret new addition to the Polypane family. I can't wait to share more about that soon!`), mdx(\"h2\", {\n    \"id\": \"undocked-panel-on-windows\"\n  }, `Undocked panel on Windows`), mdx(\"p\", null, `When you have an `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/intro-to-panel/#customizing-the-panel-location\"\n  }), `undocked panel`), ` or `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/devtools-panel/#undocking-the-chromium-devtools\"\n  }), `undocked devtools`), ` on Windows they now have their own taskbar icon rather than being grouped with the main Polypane window. This makes it easier to switch/tab between the different windows, and is similar to other browsers. Thanks Charles for suggesting this!`), mdx(\"h2\", {\n    \"id\": \"mac-installer-icon\"\n  }, `Mac installer icon`), mdx(\"p\", null, `I found out that the installer/dmg on mac can have its own icon, so now Polypane's installer icon is different from the app icon!`), mdx(\"img\", {\n    src: macinstallericon,\n    className: \"imgshadow\",\n    style: {\n      maxWidth: 'min(100%, 30rem)'\n    },\n    alt: \"The new Mac installer icon\"\n  }), mdx(\"h2\", {\n    \"id\": \"polypane-portal-now-supports-bonjourmdns\"\n  }, `Polypane Portal now supports Bonjour/mDNS`), mdx(\"p\", null, `Bonjour/mDNS is a networking protocol that allows devices to discover services on the local network. It's used by Apple sharing, Samba, Chromecast and many other services.`), mdx(\"p\", null, `Polypane Portal now also announces itself using Bonjour, so you can use Bonjour (or similar mDNS zeroconf protocols) to find Polypane Portal on your network without needing to know the IP address.`), mdx(\"p\", null, `If your device or app supports it, that means you no longer have to manually type the IP address or `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/link/\"\n  }), `scan the QR code`), ` in Polypane to open the Portal.`), mdx(\"h2\", {\n    \"id\": \"pane-resizing-with-arrow-keys\"\n  }, `Pane resizing with arrow keys`), mdx(\"p\", null, `You can `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/pane-sizes/\"\n  }), `resize panes`), ` in many ways, one of which is by clicking the width or height and using the arrow keys (and optionally holding `, mdx(ShortCutDisplay, {\n    shiftKey: true,\n    mdxType: \"ShortCutDisplay\"\n  }), ` or `, mdx(ShortCutDisplay, {\n    cmdKey: true,\n    mdxType: \"ShortCutDisplay\"\n  }), ` for larger increments).`), mdx(\"p\", null, `This now happens instantly, rather than waiting for the `, mdx(ShortCutDisplay, {\n    letter: \"Enter\",\n    mdxType: \"ShortCutDisplay\"\n  }), ` or `, mdx(ShortCutDisplay, {\n    letter: \"Tab\",\n    mdxType: \"ShortCutDisplay\"\n  }), ` key. Thanks Michael for suggesting this!`), mdx(\"h2\", {\n    \"id\": \"chromium-132\"\n  }, `Chromium 132`), mdx(\"p\", null, `Polypane 23 runs on Chromium 132, the most recent release. For all the experimental features enabled in this release, check out the `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/experimental-web-platform-features/\"\n  }), `experimental web platform features overview`), `.`), mdx(\"h2\", {\n    \"id\": \"get-polypane-23\"\n  }, `Get Polypane 23`), mdx(\"p\", null, `Polypane is available for Windows, Mac and Linux (.deb or AppImage) in both 64 bit and ARM versions.`), mdx(\"p\", null, `Polypane automatically updates on Mac, Windows and on Linux when using the AppImage. Otherwise, go to `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/download/\"\n  }), `the download page`), ` to download the latest version!`), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Don't have Polypane yet? There is a 14 day trial available. `, mdx(\"a\", _extends({\n    parentName: \"strong\"\n  }, {\n    \"href\": \"https://dashboard.polypane.app/register\"\n  }), `Try it for free`), `.`), ` No credit card needed.`)), mdx(\"h2\", {\n    \"id\": \"polypane-2301-changelog\"\n  }, `Polypane 23.0.1 Changelog`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Improvements`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Spelling throughout the app (Thanks qton!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Colors in the session manager in dark mode (Thanks qton!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Updated list of Google fonts`)), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Fixes`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Opening screenshot folder on mac and windows now works again (Thanks Eric!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Opening Polypane with a URL didn't create a new tab for the URL`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Vertical overview screenshot never completing (Thanks Travis!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Tooltips in browse panel being clipped`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Debug tools: Clear up text spacing on first load`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Matching Debug tools are now case insensitive and backwards compatible (Thanks Eric!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Console panel: uncaught exceptions now show properly`)), mdx(\"h2\", {\n    \"id\": \"polypane-23-changelog\"\n  }, `Polypane 23 Changelog`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `New`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Undocked panel and devtools now have their own task bar icon on Windows (Thanks Charles!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Separate Mac Installer icon`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Polypane Portal now supports Bonjour`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Chromium 132`)), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Improvements`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Changing the pane size with Arrow keys now happens instantly (Thanks Michael!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Speed up the creation of `, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `window.__polypane`), ` in the page context (Thanks James!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Color contrast checker now no longer shows tooltips for valid contrast pairs`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Disabling Content-security-policy now more accurarely rewrites headers for better support`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Elements panel: After setting a forced state, the element styles are automatically reparsed`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Elements panel: support for `, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `::details-content`)), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` The traffic lights on macOS now show and hide depending on the apps state`)), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Fixes`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Elements panel: specificity errors for deeply nested css functions`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Crash when switching to new tabs in some cases`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Header toggle button backgrounds in light mode`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Tooltip for buttons in header no longer show behind window controls`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Pane reordering buttons weren't visible (Thanks Ryan!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Elements panel: Class editor didn't update after selecting a new element (Thanks Marc!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Elements panel: pressing Arrow up in a style editor now selects the last item rather than the second-last in the suggestion list`)));\n}\n;\nMDXContent.isMDXComponent = true;","timeToRead":3,"tableOfContents":{"items":[{"url":"#happy-new-year","title":"Happy new year!"},{"url":"#undocked-panel-on-windows","title":"Undocked panel on Windows"},{"url":"#mac-installer-icon","title":"Mac installer icon"},{"url":"#polypane-portal-now-supports-bonjourmdns","title":"Polypane Portal now supports Bonjour/mDNS"},{"url":"#pane-resizing-with-arrow-keys","title":"Pane resizing with arrow keys"},{"url":"#chromium-132","title":"Chromium 132"},{"url":"#get-polypane-23","title":"Get Polypane 23"},{"url":"#polypane-2301-changelog","title":"Polypane 23.0.1 Changelog"},{"url":"#polypane-23-changelog","title":"Polypane 23 Changelog"}]},"excerpt":"Polypane 23 runs on Chromium 132 and includes a number of quality of life improvements and bug fixes. Happy new year! I took some time off at the end of the…","frontmatter":{"title":"Polypane 23","cover":"/img/mail/icon.svg","date":"2025-01-16","updated":null},"fields":{"slug":"/blog/polypane-23/","date":"2025-01-15T23:00:00.000Z","ogFileName":"polypane-23"}}},"pageContext":{"slug":"/blog/polypane-23/"}},"staticQueryHashes":["4164364741","425175329"]}