5 years ago today, this happened:
commit 11a94957dc038fc27c5ff976197ad2b2d0352d20 Author: Florian Bruhin <firstname.lastname@example.org> Date: Sat Dec 14 22:15:16 2013 +0100 Initial commit
That's how qutebrowser looked a day after that (and that commit still seems to run!): https://imgur.com/a/xoG1r4G
Exactly a year later, things were finally ready for a v0.1 release, after spending two weeks of holidays with fixing bugs.
Originally, qutebrowser was born because the dwb project was discontinued: https://portix.bitbucket.io/dwb/
That's what I (and many others) were using at the time, and all alternatives were stuck with an unmaintained WebKit1. Since everything was using WebKitGTK which was horribly buggy (and WebKit2 in WebKitGTK lacked a lot of basic features), I decided to start my own thing, based on Qt instead.
Back then, there were already discussions about QtWebEngine, and I originally wondered whether I should just wait with starting qutebrowser until it's ready. QtWebEngine support was finally added in July 2016, a lot later than I imagined. Initially, many features didn't work yet, but in September 2017 it finally became the default backend.
Later, it turned out that qutebrowser also was a viable alternative for many Pentadactyl/Vimperator refugees, and qutebrowser got more popular than I ever imagined.
So far, there have been:
- 17,227 commits
- 3,193 issues
- 1,273 pull requests
- 242 contributors
- 47 releases
- 2 crowdfundings
- dozens of t-shirts
- thousands of stickers
Thanks a lot to the whole community - y'all are awesome! I never imagined I would be working on this for so long, or that it'd gain so much traction. I also didn't believe the crowdfunding thing would work. You showed me otherwise o/
Some 3-4 years ago, I noticed there were a couple of big things I'll be busy with for a while:
- Adding a testsuite because things broke a lot
- The new config system
- An extension API
I'm currently working on the fourth one. Not many new very big tasks have appeared (except maybe a testsuite which isn't as unreliable and slow, and some refactorings to keep my sanity when working on the code).
I'm really looking forward to the point where I can work on smaller things (and new features) again - for a long time, most of my time was spent reviewing contributions, fixing bugs, putting out fires with Qt upgrades, and working on those four major things.
- CVE-2018-10895: Remote code execution due to CSRF in qutebrowser
- qutebrowser v1.3.3 released (security update!)
- qutebrowser v1.2.0 released!
- T-Shirts shipped, initial implementation of per-domain settings
- Current state of per-domain settings
- qutebrowser v1.0.0 released!
- qutebrowser v1.0.0 is coming closer
- New config merged!
- Config revolution - Part 1 finished
- Refactoring more things, a working YAML config, and more!
- Refactoring all the things!
- First week
- First 2 days
- Getting started again
- Second qutebrowser crowdfunding launched!
- qutebrowser v0.10.0 released
- Wrapping up and looking at the future
- Days 39/40/41: Lots of features!
- Days 37/38: Hints in master, tests
- Day 36: Hints!
- Days 33-35: Mouse functionality, and rewriting hints
- Days 31/32: More web elements
- Days 29/30: Web elements
- Days 27/28: Settings and web inspector
- Day 24-26: Refactoring the WebElement API
- Day 21-23: After Europython and releases
- Day 19/20: Bugs everywhere!
- qutebrowser v0.8.0 released
- Day 17: Printing and searching
- Sending out qutebrowser and pytest stickers
- Day 15/16: Merged!
- Day 13/14: Almost merged!
- Day 12: Tests running!
- Day 10/11: Refactoring!
- Day 9: A bit of everything
- Day 8: More fixing and pytest sprint/training
- Day 7: Fixing things
- Day 6: Branching off
- qutebrowser v0.7.0 released
- Day 4: Playing whack-a-mole
- Day 3: Last pull requests and managing requirement files
- Day 2: More pull requests and nicer test output
- Day 1: Merging pull requests, and a stupid bug
- About and Timeline