Category Archives: Midori

Back from a successful FrOSCon

As I posted earlier I organized the first proper Midori booth for FrOSCon. From my humble perspective it was a success despite the rainy weather. All sorts of different folks who’d never heard about it got curious about Midori when they walked by the booth, asked what it is and what makes it special. A number of people asked about specific bug reports or availability on distributions. And among them some very interesting feature discussions came up.

CIMG2502

Session management was a recurring point of interest. Opening many tabs and windows, managing multiple sessions, storing away sessions for later and restoring after a crash. This is a good time as Tabby, the new session backend, is about to land, and it will make it much easier to keep many sessions or throw away the last open tabs on startup. One point in particular I’d like to take away here is that restoring tabs is something to be decided after startup, or after a crash instead of a fixed preference as it is now.

Another hot topic was sync. Firefox Sync appears to be quite popular for being easy to setup on a server. In one case the university provides logins to students as part of their infrastructure, which encrypts all session data. A very nice solution I would be keen to see is pluggable backends. Besides Firefox Sync there’re plans for a Midori sync server based on PGP encryption.


As for the booth itself, it appears that stickers were popular. But apart from the poster we had nothing with the URL written on it to hand out. Definitely
for the next Midori we will need business cards. Overall it was very exciting and I am looking forward to the next event in November.One thing different kinds of people asked about is writing extensions. I saw some eyes flashing when I mentioned that using Python will soon be possible, besides Vala and C, thanks to libpeas. The API in general will become easier to use and we brainstormed a bit for a third party extension website.

Midori with its first ever booth at FrOSCon 24/ 25th of August

t-shirts and stickers

t-shirts and stickers

My humble self has been helping with Geany and Xfce booths in the past. Though I originally left the organisational aspects to somebody else I got accustomed to the process. So I figured why not go the whole way. There’s one more person besides me by the looks of it and we’re going to wear these fancy t-shirts you see in the picture. Anyone who’s attending FrOSCon feel free to stop by on the 24th and 25th of August, in Sankt Augustin, it’s easy enough to find and there’s other reasons besides Midori to come!

Apples and Oranges

Time for a Midori 0.5.5 with a whole lot of exciting changes. Let’s have a look together at some of the highlights:

The proxy server support received improvement. Hostname prefetching is automatically disabled when a proxy is in use which plugs a potential privacy leak and the way we hook into the global proxy server settings is using offical API now, which should make it more robust.

Another improvement happened in the cookie department. Since a new enough libSoup is required we’re now sharing the cookie jar implementation (no pun here, that is its technical name). Our maximum cookie age code got much more robust, so when you set eg. 1 Week no cookie will survive longer than that even if a website tries to re-create it within that time (anyone interested in the gory details may use MIDORI_DEBUG=cookies to monitor it).

The context menu was in large parts rewritten. The code re-using built-in default menus from the time before WebKit had a sensible API is gone. It was a source for many buglets. At the same time it just got so much easier to extend context menus in Midori extensions.

The web app (and profile) support received more polish and got better integrated.

For WebKit2 we still have a long way to go, truth be told. But we’re making progress. It is at this point at the bare minimum of browsing the web, though still many small details are missing, not all icons show up, many extensions still don’t work. Anyone interested here will find this is a great area to get involved.

And…drums rolling the NoJS extension is here in all its glory. It surely is one of the most-requested features, which allows you to take control of scripts on a per-domain basis. It’s opt-in or opt-out depending on your personal preference.

The next release is incidentally going to be a 4/ 2 cycle with 4 weeks of features and 2 weeks of freeze, or bug fixes in other words. The pattern has worked very well and we’re not abandoning it but it may be beneficial to have more time to focus solely on existing bugs.

As always see the file Changelog for more details.

So download Midori v0.5.5 now (0.3 MB)

Some downloads are still being refreshed right now, so be patient if you think the option of your choice isn’t there yet.

You are welcome to join #midori on irc.freenode.net and party for the release!

Depanelitis spedalia

Skipping versions is becoming a bit of a habit. Midori 0.5.4 is out, the reason is in part due to the version control move and in part to the new website. Overall nothing to worry about, development is going on as fast as ever as you can see in the changelog.

Error pages are looking quite a bit nicer now and also try to be more informative. Alexander popped out of nowhere to work on it and other little improvements to the speed dial.

Bookmarks are also improving at an increasing pace thanks to André. Several bigger changes are already in the pipeline for the next cycle.

Another worthy highlight are the increased minimum requirements. Glib 2.23.3, GTK+ 2.24, Vala 0.16.0 and WebKit 1.8.3 are required now. If you wonder why that’s good news consider the large chunks of backwards compatibility code we were able to drop, which paved the way for improving thumbnail generation and favicon handling among other things.

As always see the file Changelog for more details.

So download Midori v0.5.4 now (0.3 MB)

Some downloads are still being refreshed right now, so be patient if you think the option of your choice isn’t there yet.

You are welcome to join #midori on irc.freenode.net and party for the release!

A new public face for the little browser

Following up on the little hint I gave in the last post. We skipped a release as some may have noticed. And why you ask, for good reason, because not only did we do a big migration to bzr and Rosetta but thanks to Lewis Goddard we now have a completely new website with decent screenshots, integration of the FAQ, our new Contribute page and a proper downloads page. And much of it is automatically regenerated from the existing contents in the wiki, blog and released packages. So apart from looking nice it also reduces some manual labour related to release management. Even better, the new website is hosted on github and you can file bugs and propose changes.

Switching to bzr for tight Launchpad integration

Judging by what the duck says Midori must be the only project in the world migrating from git to bzr. Or maybe, it was just so surprisingly quick and simple that there’s no need to brag about it. In fact Launchpad itself performed the import automagically and the switch is really about updating documentation and a cuple of hyperlinks. It might’ve been harder if I wasn’t familiar with bzr yet; pushing the new trunk and flipping an option to make it the focus branch was all that was needed.

The old world

Why did we actually make this step? To make project management more efficient. Midori as a project roughly might be split into

  • bug triaging
  • reviewing contributions
  • implementing code
  • design decisions
  • roadmap

It turns out a huge bottle neck was the manual effort standing between these separate aspects. For example anyone doing bug triaging wouldn’t have direct access to code. And code review was always separate from both code and bug management. To the point that people end up waiting on, looking for and blocking on each other. And losing contributors, which is the worst thing to happen to any free software project.

The new world

  • There’s an obvious, easy way for anyone to push branches
  • Code review is integrated with branches and bugs
  • Anyone can become a reviewer, merge and push code

bzr vs. git

I do enjoy a proper emotional project bashing as much as the next guy, especially with a beer in front of me. But really, these days bzr and git both have a comparable share, personally I work on either one on and off. And at the end of the day what counts is the health of Midori as a project. Bazaar may well have the weaker storage efficiency and performance compared to git in a benchmark, but in this case git had the higher human cost.

Go ahead and contribute now

And, with a miserable impersonation of River Song I’ll say “There is more exciting changes to come… spoilers”.

WebKit2, downloads, web apps and clang

With a slightly prolongued freeze period Midori 0.5.1 0.5.2 is out of the door. We made a big leap on the promised WebKit2 support – it’s not fully done yet but very, very usable despite not having context menus and some extensions are to be done. Definitely worth giving a go for anyone curious about multi-process goodness who can live without adblock if need be.

Downloads and web app support have both received major refactoring, making the code much more modular and approachable, and fixing buglets and adding polish along the way. Downloads work more reliably across windows and more quality control across panel and toolbar. The way is paved for even more goodness. For the first time you can manage web apps/ launchers created from within Midori graphically. This is also up for even more improvements.

To round it up a whole lot of code improvements have come from static analysis such as clang (LLVM) and other sources and a number of buglets were squashed. Despite all the bigger changes QA is looking very good. Note to self: having strict feature freeze periods before every release is paying off, even if it’s hard in a small team.

Update: I apparently goofed up the release process and 0.5.1 insists it is still 0.5.0. To reduce confusion this is 0.5.2 now, same thing, but with a proper version.

So download Midori v0.5.2 (1.1 MB) (MD5) (ChangeLog) already!

Also Midori v0.5.2 32-bit Portable for Windows (32 MB) or Midori v0.5.2 32-bit Installer for Windows (34 MB) now. You are welcome to join #midori on irc.freenode.net and help testing pre-releases for Windows. You can make the difference by helping out!

High five

Time for Midori 0.5.0. I’ll say upfront the big number 5 doesn’t convey any major amazements or surprises. What this number does mean is two things that will unfold their true meaning in the near future: We’re adding support for WebKit2 behind the scenes, much of which didn’t make the feature freeze. Another behind the scenes feature is improved extension loading, which will enable extensions in private browsing or in app mode.

A small highlight is in fact the Cookie Security Manager. What’s hiding behind this name you may wonder. Accepting, or rejecting and managing cookies per site as they come in real-time with infobars. The perfect augmentation for Cookie Manager and of course nice in combination with Clear Private Data and Adblock.

On the command line and kiosk use case front, -e or –execute has become a great deal more powerful. It’s now trivial to update any settings at startup or during runtime, as well as enabling or disabling extensions.

The speed dial has always been a cause of heated discussions. Many people want to have a custom page in new tabs, others want just the bare empty page to keep focussed on the task at hand (or even the subjective efficiency of not loading the speed dial). So we finally allow configuring what new tabs display. It’s now also possible to use speed dial as your homepage, from a bookmark or even the command line. about:version lists the new alias URLs, including about:dial and about:home.

There’s more treats to be found, such as completely configurable Mouse Gestures, waiting for a GUI to be added, maybe a good starting point for a new contributor. And History List finally supports ColorFul Tabs fully.

As of this release, any proxy server type supported by libproxy will in fact be accepted. The server including the protocol can be set via its curl-esque syntax in the preferences.

So download Midori v0.5.0 (1.1 MB) (MD5) (ChangeLog) already!

Also Midori v0.5.0 32-bit Portable for Windows (32 MB) or Midori v0.5.0 32-bit Installer for Windows (34 MB) now. You are welcome to join #midori on irc.freenode.net and help testing pre-releases for Windows. You can make the difference by helping out!

WebKit2, Cookie Policies and more

It’s this time of the month again. Midori 0.4.9 is there, 3 weeks of features and 1 week of bug fixes is the new mantra, giving everyone higher quality as a result.

Anyone experiencing crashes on closing Adlock preferences, using Backspace in the urlbar under the wrong circumstances or attaching the inspector will rejoice, those buglets were resolved. Along with a resizing issue in the news feed extension and possible loss of the saved tab session if the disk is full.

A new extension is being developed to manage cookie accept behavior per domain. Too late for feature freeze it’s excempt from stable installs, but interested folks can try it in a build from source, likely to be available in the next cycle.

Midori relies on GTK+ 3.4 touchscreen support now, including kinetic scrolling. This lets us drop extra support code and rely on the same code used by other applications.

As a small bonus, ‘Google Translate (gt)’ was added to the default search engines. Use “gt WORD” or “gt URL” to translate using Google’s translation service. You can also right-click a selected word and use ‘Search with’ to the same effect.

Evidently the coolest thing to announce is WebKit2 preparation – again, preparation not full support. Indeed –enable-webkit2 will build Midori with the multi-process API. Most non-trivial features are silently missing but it’s the first step into a shiny new world.

So download Midori v0.4.9 (1.1 MB) (MD5) (ChangeLog) already!

Also Midori v0.4.9 32-bit Portable for Windows (31.9 MB) or Midori v0.4.9 32-bit Installer for Windows (33.2 MB) now. You are welcome to join #midori on irc.freenode.net and help testing pre-releases for Windows. You can make the difference by helping out!

64-bit Windows and FlashGet

Here we go with the Windows build following Midori 0.4.8. For the first time, an experimental 64-bit version is available – no HTML5 video just yet. FlashGet is supported as an external download manager: just like on Linux and BSD, in the Preferences under the Extensions tab it can be activated.

Again, portable mode is officially supported. The 7z versions include a “portable.bat” which runs Midori out of the folder. It can be copied to a USB stick and will keep all data in the “profile” folder in the same folder instead of storing files in the system user folder.

Get Midori v0.4.8 32-bit Portable for Windows (31.9 MB) or Midori v0.4.8 64-bit Portable for Windows (22.8 MB) or Midori v0.4.8 32-bit Installer for Windows (33.2 MB) now. You are welcome to join #midori on irc.freenode.net and help testing pre-releases for Windows. You can make the difference by helping out!