Releases: maxmilton/new-tab
Releases · maxmilton/new-tab
v0.16.1
Removed
- Debounce delay on search input (no real downside to searching on every character change + now search feels snappy)
Changed
- Code golfing for output bundle byte savings
v0.16.0
Change highlights
- Migrated to new JS framework stage1 (my fork of stage0 with various improvements)
- Performance improvements; initial load speed, especially with many open tabs in particular, has a noticeable improvement
- File size optimisations
- Migrate package manager from yarn to pnpm
- Add test tooling and tests
- Improve linting and CI
- Automate creating Github releases via https://github.com/maxmilton/action-create-release
v0.15.0
First release that includes the big refactor. Even better performance and significantly smaller files.
Note: This refactor is still WIP so this version will not be published on the Chrome Web Store. It works with known bugs so it's here for early adopters.
Change Highlights
- New JS framework; migrated from svelte to stage0
- New bundler; migrated from rollup to esbuild
- New CSS preprocessor; migrated from postcss to ekscss (xcss)
- Rewrote the entire thing from scratch to take advantage of stage0
NOTE: From this release onwards the release notes will be in each release on GitHub. To view old release notes see the old
CHANGELOG.md
file.
v0.14.0
Added
- Extract search results list into new reusable component.
- Extract bookmarks folder into separate component and make a new bookmark node functional/routing component which conditionally renders a folder or link item. This avoids Svelte's logic to insert comment DOM nodes to anchor an
if
block in case the condition changes. - Some extra JSDoc comments for better development feedback in VS Code.
- Replace many packages with the new
@minna-ui/*
packages.
Changed
- Rename most internal names (variables, props, functions, etc.) to remove the leading underscore and to be more descriptive and to be unique so closure compiler mangles it.
- Use a kind of
line-height
hack to align things with minimal CSS. - Use
OffscreenCanvas
instead ofdocument.createElement('canvas')
— Chrome v69+. - Move global click handler logic from menu component to
src/common.js
. - Better click event capture.
- Tweak shadow colours and animation timing.
- Move
manifest.js
intosrc
directory. - Move most tooling configs into
package.json
for a cleaner and less intimidating root directory. - Updated dependencies.
Removed
- Automatic search input focus on document click as this feature was mostly unknown and we now match the UX of the default new tab page.
- Custom HTML build code, now replaced with
makeHtml
from@minna-ui/rollup-plugins
. - Automatic
:global()
around styles, now these need to be added manually. - Unnecessary dependencies.
- Excessive (and broken) exports information during production build.
Fixed
- Can't open
chrome://
bookmarks sometimes due to click event race condition (still an issue but is now triggered less). - Favicon alignment and all favicons have a right margin even if there is no adjacent text.
- Excessive use of event listeners; click listener on every link item instead of just on open tab links.
- Unnecessary white space textNodes present in DOM. Uses
trimCustomFragments
option ofhtml-minifier
which means now we need to add special ignore comments in some places to avoid breaking the app due to collapsed white space in attributes and props. - New linting errors.
- Clean up externs and build config.
v0.13.0
Added
- New setting to sort the list order.
- Show stats about exports at build time.
- Customised settings for rollup watch mode.
Changed
Light
theme is now the default.- Extension settings are now stored locally and do not sync to your account.
- Big refactor of the whole app — same features but changed to do the minimum necessary computation:
- Rename various variables and methods to be more understandable and mark private objects with
_
instead of__
. - Move app click handler outside of Svelte component since it doesn't need to interact with the component.
- Reorder top level components for better initial load JS parsing.
- Place menu static HTML into a
{@html}
block to avoid unnecessary work and for smaller JS bundle size. - Refactor settings app for smaller JS bundle size.
- Set up bookmark bar resize handler in the component to avoid Svelte setting up a remove handler (the event never needs to be removed)
- Refactor bookmark bar resize handler loop.
- Add a new reusable
LinkItem
component which is shared between the bookmarks bar and the search result. - Complete refactor of
BookmarkItem
andSearch
components to do the minimum necessary to achieve the desired functionality.
- Rename various variables and methods to be more understandable and mark private objects with
- Updated dependencies.
Removed
- Background script was keeping the extension in memory for fast loading... but after some testing it's not necessary. Now the browser can manage the extension memory use better.
Fixed
- Move theme loader code into a script tag in the HTML page to make sure it's executed as early as possible. This should reduce the chance of a flash of the dark theme when the user has the light theme setting enabled.
v0.12.4
v0.12.3
v0.12.2
v0.12.1
Changed
- Switch from Travis to Circle CI for faster and better continuous integration.
- Clean up and improve
package.json
.
Fixed
- Bookmarks not overflowing correctly due to incorrect calculation of width ("Other Bookmarks" not taken into consideration correctly).
- Don't show "Other Bookmarks" folder if it's empty.