Highlighted Changes Since v2.3.1
Node Type toggle replaced by "Active/Suspend" and "Preferences" icons
In short, we moved "node type" toggle to Preferences screen and added action icons (on/off and preferences) in its place. Detailed background on this change can be found in #500.
It is the first step in an effort to improve UX of backend control. See #491 for future plans in that area.
Feel free to provide feedback/ideas there.
Enabled users to remove window.ipfs
attribute
Firefox users can disable creation of
window.ipfs
attribute via Preferences screen (or temporarily via a global "active/suspend" toggle) providing a fix for fingerprinting issue. More details in PR #495.
Chrome does not provide
contentScripts
API so it will continue to statically loadcontent_script
via manifest and disablingwindow.ipfs
via Preferences will simply block access to API without removingwindow
attribute. Hopefully with time, Chrome and other vendors will adopt the new content script API.
Switched build from Browserify to Webpack
Finished internal refactor of the build process: removed Browserify, switched to webpack (#498, #499)
Immediate gains introduced by this change:
- more control over build process, no surprises
- time required by subsequent
yarn build
decreased from ~100s to ~30s- size of
window.ipfs
content script from 1.1M to 869K- size of entire
add-on/dist
from 6.5M to 5.5Myarn watch
produces human-readable code that is easier to debug
Other
- feat: use browser.contentScripts API in Firefox (52b0190)
- fix: avoid window.ipfs in non-HTML context (4482b40)
- fix: avoid UI jitter by keeping disabled menu items (8bc5b7a)
- fix: hide unused options when embedded node is active (7706f62)
- fix: hide unavailable actions in incognito mode (29d7bb1)
- fix: skip content script injection when inactive (1d29ba9)
- chore: sync translations: https://crowdin.com/project/ipfs-companion
Known Issues
- action icons in browser menu were reported to render in an odd way under MacOS
- a PR from a Mac user is welcome!
Installation via Stable Channel
- Firefox: Install from Mozilla Add-ons
- Chrome: Install from Chrome Web Store
- Other: use
*generic.zip
above or build and install it manually