Releases: joshwcomeau/guppy
v0.3.0
So many things!
v0.3 is a huge milestone for Guppy. A dozen new features were added, a bunch of bugs were fixed, and the quality of our codebase has increased as we've adopted more scalable coding patterns. I'm really proud of this one, and the work that so many hard-working contributors put into it.
The following list isn't comprehensive, but serves as a good indication of how much good stuff is in this release!
New Features
Queue and batch dependency actions
In 0.2, dependencies had to be installed one at a time. If you needed to add 5 dependencies, it could take quite a while, as you had to wait for each one to finish installing before adding another! It was a huge burden when setting up new projects and installing your go-to dependencies.
This was a surprisingly complex problem, as it's a fundamental limit with NPM; when you start installing a dependency, it effectively write-locks the project's package.json
, so installing another dependency will fail. This feature skirts that issue by setting up a queue system, and batching not-yet-started actions together.
Contributed by @superhawk610.
Allow projects to be edited and deleted
Project management was an essential bit of functionality missing from past releases. Now, projects can be modified by clicking a settings icon, and deleted through the application menu.
Contributed by @AWolf81 and @melanieseltzer
Auto-Update
Behind the scenes, we switched packaging systems, and our new one (electron-builder) allows for auto-updates! No more having to come back to this releases page to download new versions, the app will prompt you when new versions are available :D
Contributed by @Jtfinlay and @AWolf81
Customize project path
A critical bit of functionality is being able to choose where projects are created. You can do that now!
Contributed by @kermit-xuan
Whimsical interactive while creating projects
Creating a new project is slowww, because it has a bunch of work to do behind the scenes. We added a whimsical Windows-98-style animation, and made it interactive, to make the process feel faster
Contributed by @joshwcomeau
Add "Clear console" button and menu item
A cluttered console is no fun - worse still, it could lead to performance degradation when it gets too full. Consoles can now be cleared, through a dedicated button as well as a menu item.
Contributed by @prasoc and @melanieseltzer
Add "Open in Finder" and "Open in Editor" controls
Being able to quickly open a project in finder/explorer, as well as being able to open it in your code editor, is a big quality-of-life win. Can be done through dedicated buttons, or the main application menu.
Contributed by @AWolf81 and @joshwcomeau
Additional features
In addition to the ones already mentioned, our team contributed a bunch of amazing new features for this release. We could go on forever about them, but to keep these release notes brief, here's a quick summary:
- Add "Report an issue" menu item (@mathieudutour)
- Prompt to "Move to Applications Folder" when not already there, on MacOS (@rfbotto)
- Add Mixpanel analytics (@joshwcomeau)
- "Clear State" menu item for resetting Guppy state (@AWolf81)
- Switch between projects from the menu (@AWolf81)
- Lots of work improving our documentation (@superhawk610, @joshwcomeau, @joshuahhh)
- Improvements to performance, so that animations are less janky, and the app opens more smoothly (@joshwcomeau)
- Add loading indicator when deleting projects (@melanieseltzer)
- Warn when closing the app while actions are ongoing (@AWolf81)
- Sidebar can now be scrolled, when you have lots of projects (@beyersito)
Bugfixes
- Fix bug where processes would continue running when Guppy was quit (@superhawk610)
- Ensure Gatsby projects are named correctly (@melanieseltzer)
- When reimporting a project that was previously managed by Guppy, its original settings are used for things like icon and color (@melanieseltzer)
- Really long stroked buttons no longer have visual glitches (@prasoc)
- Fix links to docs in Help menu (@melanieseltzer)
- Fix handling of long-running task failure (@joshwcomeau)
- Show a helpful error message and open docs, if no Node installation can be found (@AWolf81)
- Fix for various onboarding issues, related to the Sidebar and Application Menu (@melanieseltzer)
Code Health
This release features a bunch of under-the-hood work to make Guppy more stable and flexible. There are far too many improvements to list them all, but some highlights:
- A BUNCH of code health stuff, including using Redux Saga for our async orchestration, removing React Router, switching to Electron Builder, adding Storybook and a bunch of stories, improving test coverage, better ESLint rules, and so much more.
- Shout-out to code-health changes from new contributors:
- @raerpo created a ProjectIconSelection component to remove duplication.
- @V1shvesh refactored our Task reducer
- @AbhiPrasad for adding tests for our Projects reducer
Privacy
One other important thing to mention: we're starting to collect data on usage. Our goal is really just to understand how people are using Guppy, so that we know where to invest our time. The data is non-personal, and we tried to collect as little as possible. For example, we care whether you're creating a "vanilla react" or a "gatsby" project, because features depend on that choice, but we don't care (or collect) what you name your project, since that veers into personally-identifiable territory.
If you're curious to see exactly what we're collecting, you can do a project-wide search for logger.logEvent
. That'll show you exactly what we're collecting.
We plan to allow users to opt out of this behaviour, but we don't have that functionality yet. If you're uncomfortable with this data collection, you can continue to use 0.2 (which collects zero info, not even download stats) until we create an opt-out mechanism.
For full information, see our new Privacy Policy.
v0.2.0
Windows support!
Huge thanks to @bennygenel for the initial work on this, and @AWolf81 for pulling it all together.
.cmd
formatting for Windows, from @bennygenel- Modify
findAvailablePort
to work on all platforms, from @bennygenel - Use
%HOME%/Documents/guppy-projects
for default Windows projects directory, from @bennygenel - Changed package manager from NPM to yarn, from @AWolf81
- Add
cross-env
to allow package scripts to work on all platforms, from @superhawk610 - Add
react-devtools
,devtron
, andChromeLens
to Electron, from @mathieudutour - New application icon, from @superhawk610
Bugfixes/Improvements
- Recognize
devDependencies
in all projects, from @melanieseltzer - Highlight matching search results in dependency search, from @melanieseltzer
- Move app-wide settings into
src/config/app.js
, from @AWolf81 - Change spawn process to use promises, from @AWolf81
- Stub
electron.remote
for headless testing, from @AWolf81 - Add
yarn
as local dependency to allow usage without global installation, from @AWolf81 - Forward host environment to Electron process, from @mathieudutour
- Properly kill all spawned processes on app quit, cross-platform, from @superhawk610
- Exit main process when Electron application quits during development, from @superhawk610
- Added unit test for services, from @scottwarren
- Add issue/pull request templates, from @joshwcomeau
- Improve contributing experience for VS Code users, from @joshwcomeau
- Add license and code of conduct, from @superhawk610
- Fix crash when deleting last dependency in list, from @superhawk610
- Miscellaneous code cleanup, from various contributors
Grab a release build for your platform to get started!
v0.1.0
Woohoo, our first post-launch release!
This release was made possible entirely by new contributors. Y'all are awesome, thanks so much!!
- Linux support from @patcito
- Graceful failure when importing projects that aren't supported during onboarding, from @melanieseltzer
- Edit menu, so that copy/paste/emoji is now possible, from @karlsander
- Fix link to Github repo in dependencies pane from @karlsander
- Chinese docs from @chinanf-boy (technically not part of the bundled release, but a huge win since the last release!)
- Fix issue when trying to import projects without
json.dependencies
from @melanieseltzer - Fix color issues in MacOS Mojave "Dark Mode" from @icarlossz
- Doc fix + constants refactor from @karlsander
So thrilled that we're getting true community support on this project. Can't wait to see how it progresses!
v0.0.1
Initial Release 🎉🎉🎉🎉
This is the initial, early-AF version of Guppy. It's only really been tested on a couple machines, and there are undoubtedly bugs and pretty important features missing, but it mostly works and it can actually be used. I've been using it to work on another side project, and IMO it's pretty friggin' neat.