![]() | |
![]() K-Meleon 76 on Windows 10 | |
Developer(s) | Christophe Thibault, Sebastian Spaeth, Brian Harris, Jeff Doozan, Mark Liffiton, Rob Johnson, Ulf Erikson, Jordan Callicoat, Dorian Boissonnade, Roytam, et al. |
---|---|
Initial release | August 21, 2000 |
Stable release | |
Repository | |
Written in | C++, JavaScript |
Engines | Gecko, Goanna layout engine |
Operating system | Microsoft Windows |
Standard(s) | HTML5, CSS3, Atom |
Available in | 7 languages |
Type | Web browser |
License | GPL |
Website | kmeleonbrowser |
K-Meleon is a free and open-source, lightweight web browser for Microsoft Windows. Unlike cross-platform browsers, it uses the native Windows API to create its user interface. Early versions of K-Meleon render web pages with Gecko, Mozilla's browser layout engine. The Firefox web browser and the Mozilla Thunderbird email client also use Gecko. K-Meleon became a popular browser for Windows and was available as an optional default browser in Europe via BrowserChoice.eu. After Mozilla deprecated embedding Gecko, K-Meleon continued to use it for several years. Current versions of K-Meleon use the Goanna layout engine. Goanna is a fork of Gecko created for the Pale Moon browser.
K-Meleon began with the goal of being faster and lighter than Mozilla's original internet suite. Until 2011, K-Meleon embedded Gecko in a stripped-down interface. Throughout its lifespan, K-Meleon has required small amounts of memory. K-Meleon 76 uses the Goanna fork to support platforms no longer supported by Mozilla after the Firefox Quantum rewrite. K-Meleon supports legacy platforms like the early Pentiums' SSE and MMX processors. It maintains active support for Windows XP and Windows Vista.
Customization is another primary design goal of K-Meleon. Users can change the toolbars, menus, and keyboard shortcuts from text-based configuration files. Besides conventional extensions, K-Meleon also supports macros. Macros are small, human-readable extensions. Users can examine, write, or edit them in a text editor. K-Meleon's custom configuration files can trigger macros. Due to its adaptability, experts recommended K-Meleon for internet cafes and libraries in the early 2000s.
Christophe Thibault started the K-Meleon project in the early 2000s.[1] During that time, more of the web was made of static web pages,[2] and many projects were formed to create new browsers.[3] Netscape founded the Mozilla project to open-source their once-dominant Netscape Communicator internet suite.[4] When Mozilla released an embeddable version of their Gecko web engine, K-Meleon was one of several browsers to use Gecko in a stripped-down interface.[5] The Mozilla Application Suite used Gecko to both render pages and also create graphical interface elements like toolbars and menus. Christophe Thibault designed K-Meleon to combine Gecko with native Windows interface elements. This approach was less resource-intensive and allowed the browser to blend into its environment.[6]
Christophe Thibault released K-Meleon 0.1 on August 21, 2000.[7] While working at Nullsoft, Thibault created the first release during a single day off. He began by building and branding Mozilla's test application for embedding the Gecko layout engine. K-Meleon 0.1 was simple but quickly attracted attention to the project.[1] For the 0.2 release, Thibault implemented expected features including context menus, and he moved development to SourceForge to welcome contributors.[8]
Thibault handed the project over to new developers,[9] notably Brian Harris, Sebastian Spaeth, Jeff Doozan, and Ulf Erikson.[10] The new developers began moving browser functions into a modular system of Kplugins.[11] The K-Meleon team released new versions of the browser to fix bugs, improve stability, and add features like pop-up blocking, cookie management,[12] encrypted downloading of web pages via SSL, and online proxies for anonymity or content filtering.[13] The developers introduced text-based configuration files or configs. The config files provided a way to fully customize the browser's interface and hide interface elements on publicly accessible computers.[14] The developers also created a macro language for users to personalize the browser.[15] In K-Meleon, macros are a smaller type of browser extension designed to be human-readable and modified or created by end-users.[16]
K-Meleon was built with open-source code from Mozilla but its narrower focus offered advantages over the Mozilla Application Suite.[17] The suite bundled components beyond a web browser including applications for email, news, chat, and webpage editing. To create a stand-alone browser, the Galeon project embedded Mozilla's rendering engine. However, Galeon was only available on Linux as it used GNOME's widget toolkit, GTK.[18] The K-Meleon browser brought a similar approach to Windows. It used the native Windows application programming interface (API) to create a lightweight user interface. The K-Meleon developers were able to release a stand-alone web browser on Windows two years before the Firefox alpha release.[19] Mozilla created user interfaces via their cross-platform XML User Interface Language (XUL) layer. XUL allowed Mozilla to build one application for multiple operating systems, but it increased the size of the application. By design, XUL generated graphical controls that did not match the rest of the system. Gecko, not the operating system, rendered XUL.[20] K-Meleon required less memory and was more closely integrated into the Windows desktop. It could even use the native bookmarking system to access Internet Explorer's favorites.[7] The approach that Galeon had taken on the GNOME desktop and K-Meleon had taken on Windows was later used by Camino on macOS.[21]
Mozilla programmers cited the existing stand-alone browsers K-Meleon, Galeon, and Camino when they began developing Firefox,[22] and Mozilla publicly referred to K-Meleon in Firefox's initial alpha release.[23] Dave Hyatt was a founding developer for Safari, Firefox, and Camino.[24] Hyatt criticized Mozilla and Netscape's work on the internet suite in contrast to focused browser projects. He stated, "You don't see Galeon UI designers trying to co-develop their UI with the rest of the world, nor do you see that with [...] K-Meleon."[25] During the time that Mozilla maintained an embeddable Gecko engine, they showcased stand-alone browsers including K-Meleon as examples of the embedding technology.[26]
By October 2002, K-Meleon 0.7 included many of the browser's core features and rendered pages with the Mozilla 1.0 engine.[27] Version 0.7 implemented skins to theme the browser's appearance.[28] It also provided support for Netscape Plugin Application Programming Interface (NPAPI) plugins.[29] NPAPI plugins, also known as third-party plugins, were a de facto industry standard for embedding media and interactive content in web pages.[30] Ulf Erikson implemented tabbed browsing functionality via "layers" which provided the functionality of tabbed browsing and worked with other Kplugins including macros and mouse gestures.[31] Layers, however, on an API level implemented tabs as separate stacked windows. As a side effect, the operating system would repaint the window and perform the animation for opening a new window each time a different tab was selected.[32] Despite AOL disbanding upstream parent company Netscape in 2003, K-Meleon experienced a relatively stable year. Mozilla continued work on Gecko, and K-Meleon itself was refined with service packs and the incremental 0.8 release.[33]
In 2005, Ulf Erikson announced that version 0.9 would be the final version he would build. He was the project's developer but stated that he was no longer using K-Meleon as his primary browser after moving to Linux.[34] In January 2006, Dorian Boissonnade became the lead developer and began working towards a 1.0 release.[35]
Boissonnade had co-developed an unofficial build of K-Meleon with Hao Jiang for the Chinese-language Classic Club Forum (CCF) before becoming an official developer. They brought features first introduced in K-Meleon CCF to the official releases, including an improved localization system.[36] Released in July 2006, K-Meleon 1.0 made the browser fully translatable. Previous versions could be translated because they were open-source. The source code could be downloaded, the source files could be translated, and the browser code recompiled.[37] Version 1.0 stored localizations in separate library and config files within existing K-Meleon installations.[38](§ Menus) The layout engine was also updated to the latest Gecko release from Mozilla. This brought improvements to security and usability, including support for favicons, a flexible search engine system, and better support for multi-user environments.[39](v. 1.0) K-Meleon maintained support for its existing system of text-based configuration files and introduced a new graphical interface to change preferences from within the browser.[40]
Version 1.1 expanded the macro system. Earlier versions placed all of the macros into a single config file. Initial releases came with under 50 lines of macro code and instructions for end users to create their own macros.[38](§ News) Later versions came with over a thousand lines of macro code in addition to the macros that users wrote and shared online. By 2008, users were sharing macros as an alternative to the add-ons for Mozilla Firefox.[41] To make the macros more manageable, K-Meleon developers separated them into module files. The modules could be more easily shared, downloaded, and edited.[38](§ News) K-Meleon versions released since have retained compatibility for this system.[39](v. 1.1-75.1) Macro modules, skins, and configuration files were also split into a default stored in the browser's folder, and customizations stored in a user's profile as part of the transition to a multi-user design.[39](v. 1.1)
Version 1.5 introduced a true tabbed interface.[39](v. 1.5) Earlier versions relied on the optional "layers" Kplugin. That had limitations like repainting the entire window when switching tabs.[42] First introduced in the unofficial K-Meleon CCF, true tabs supported drag and drop, could have individual close icons, could be placed on the bottom of the window, and sets of tabs could be restored as a session when restarting the browser.[43] In Europe, version 1.5 was an optional default Windows browser through Microsoft's browser ballot. Due to accusations of abusing their market position to push Internet Explorer, Microsoft introduced a browser ballot in the European Economic Area.[44] By 2010, they offered Windows users a choice of the 12 most popular web browsers including K-Meleon.[45]
In 2011, Mozilla dropped support for embedding the Gecko layout engine. As K-Meleon had previously relied on this API to combine Mozilla's display engine with its native Windows interface, this left the future of the browser uncertain.[46] Mozilla's change resulted in the end of the Camino web browser which embedded Gecko within a native interface for macOS. The Camino developers initially explored transitioning to the WebKit rendering engine.[47] When the WebKit transition did not work, the developers discontinued the Mac-only browser altogether.[48] Marco Gritti, the lead developer of Galeon had already forked that project to create GNOME Web and switched to a WebKit backend. GNOME Web developer Christian Persch described Mozilla's support for embedding Gecko on Linux as, "unmaintained and stagnant."[49]
After years without an official, stable release, the K-Meleon group released version 74 in 2014.[50] While Mozilla had ended support for embedding Gecko, they still maintained a technology called XULRunner. XULRunner was a stand-alone implementation of the Gecko engine designed to launch cross-platform applications.[51] K-Meleon 74 was the first official release to use XULRunner instead of Mozilla's deprecated embedding software.[52] Outside of the new engine, version 74 brought small improvements including a new default theme, better CPU usage, and minor bug fixes.[53] This was the final version to support Windows 2000 and therefore still received occasional updates.[54]
K-Meleon 75 was released in 2015 with a Mozilla 31 backend, Transport Layer Security (TLS) 1.2 support, a new skin system, a new toolbar implementation, spellcheck, and form auto-completion.[55] Prior to version 75, buttons were defined in pixel size by their skin or theme.[55] For high-resolution monitors, this could result in either tiny icons or a blurry up-scaled browser.[56] Version 75 introduced a skin system that allowed end users to adjust the icon size, and would automatically adjust the default icon size to a degree.[55] K-Meleon 75 also expanded and included the previously optional, JSBridge. JSBridge offered partial support for Mozilla-style add-ons.[39](v. 75) A few Mozilla add-ons like NewsFox and Cookie Keeper took advantage of it but were not direct ports. Yvon Tanguy, the developer of Cookie Keeper, commented that "the only way [he] found to perform" a crucial routine on K-Meleon was to include "cookiekeeper.kmm", a small file that users would have to manually extract.[57] Boissonnade began work on version 76 but suffered a disk failure during beta testing.[58]
Since 2017, all active development on K-Meleon has taken place using a fork of the Goanna engine.[59] With Firefox Quantum, Mozilla rewrote most of the Gecko engine from the ground up.[60] The Goanna engine is a maintained fork of the pre-Quantum Gecko engine created by Pale Moon developers.[61]
Roytam forked the most recent version of K-Meleon in 2017 to run on the Goanna engine.[62] The project's lead developer, Boissonnade, expressed enthusiasm and approval of this new branch but stepped away from the project without formally transferring control or ownership.[63] Using this forked engine allows K-Meleon to support platforms abandoned by mainstream browsers. K-Meleon remains compatible with Windows XP and can run on as low as 20 megabytes of random access memory (RAM).[64] K-Meleon has the lowest memory requirements of actively developed browsers; although this also means that it cannot leverage extra RAM to increase rendering speed.[65]
Goanna is actively developed but has not fully implemented recent web features introduced by Google like Shadow DOM.[66] Shadow DOM was originally released by Google as a non-standard feature in Chrome.[67] The implementation in Goanna is incomplete and disabled by default.[68]
K-Meleon also does not support the online Digital Rights Management (DRM) introduced in 2017. The Free Software Foundation (FSF) criticized the World Wide Web Consortium for including DRM in the web's specification as antithetical to free and open-source software. FSF executive director John Sullivan responded to the standardization of DRM by saying, "We're mourning the Web."[69] Larger free software projects including Kodi and Firefox have handled the incompatibility of DRM and free software by signing an agreement with Google to side-load their proprietary Widevine DRM implementation.[70] Smaller projects like GNOME Web,[71] Basilisk,[72] K-Meleon, and Metastream have been unable to support these proprietary encryption methods.[73]
K-Meleon is updated on a weekly rolling release schedule. By default, the browser is a multi-lingual portable application that can run directly from the host computer or removable media.[74] As a fork from the official release chain, K-Meleon will not update automatically; it can be manually updated.[62] It is also included in the PortableApps.com repository.[75]
K-Meleon's interface can be controlled by the end user or system administrator.[14] Many features can be changed from the graphical user interface. Toolbars can be enabled, disabled, or positioned from the browser window. Preferences can be adjusted from a graphical panel. Deeper customization is possible using text-format configuration files, or configs.[76] The menus, keyboard shortcuts, icons, toolbars, and buttons can all be customized via K-Meleon's configuration files. These configuration files can, in turn, call upon macros. K-Meleon's macros are a type of small extension that can also be opened in a text editor by end users.[16]
A simple "Hello, World!" program could be written in K-Meleon's macro language as below. This would pop up a small window with a message.[77]
HelloWorld{
alert("Hello world!");
}
To trigger the macro above, a user or administrator could add a keyboard accelerator by adding the code below to their accelerator configuration file. This would cause macro to launch if the Ctrl, Alt, and H keys are pressed at the same time.[78]
CTRL ALT H = macros(HelloWorld)
Custom toolbars offer more options but the syntax is similar. The example below would create a new toolbar with a button to trigger a macro.[79]
NewToolbar{
!NewButton{
macros(HelloWorld)
}
}
This combination of configuration files and macro modules provides users a greater degree of flexibility than in other browsers.[80] It also creates a learning curve for customization that is not present in most browsers. Popular browsers rely on systems like WebExtensions for customization where there is a distinct divide between end users and extension programmers.[81]
K-Meleon never had a community of extension developers as large as those of Firefox or Chrome.[82] The most popular browser in 2020 was Google Chrome which had over 130,000 WebExtensions available for download.[83] K-Meleon did support XUL-based extensions similar to but not compatible with those previously used by other Mozilla applications.[84] Mozilla Firefox supported XUL-based extensions until 2018. When the Classic Adds-Ons Archive preserved the add-ons for Firefox in 2017, there were over 16,000 available.[85] In contrast K-Meleon never had more than a few hundred extension developers,[86] despite support for a small number of major extensions like AdBlock Plus.[87]
K-Meleon's flexibility was a reason that it was recommended in the early 2000s for environments where the browser needed to be customized for general public use, such as libraries and internet cafés.[88] It allowed an administrator to create a custom browser interface for patrons, save this interface in the file system, and then distribute the interface to all public-facing computers.[89]
K-Meleon supports legacy versions of Windows that other browser vendors have abandoned.[90] The current version supports Windows XP, Windows Server 2003, Windows Embedded POSReady 2009, and Windows Vista. Windows XP was released as far back as 2001,[91] and all of these operating systems are disconutinued as of 2019.[92] The latest major browser releases to support these platforms are Microsoft's Internet Explorer 8 from 2014,[93] Google Chrome 50 from 2016,[94] and Mozilla Firefox 52 from 2018.[95] ReactOS, the open-source implementation of Windows, is currently only compatible up to Windows Server 2003.[96]
Web browsers cannot access most modern websites if they do not support Transport Layer Security (TLS) encryption via HTTPS.[97] It was initially used for sensitive data transfers like banking. However, by 2018 the majority of web pages used TLS encryption.[98] Most browsers including Chrome, Edge, Safari, Opera, and Internet Explorer rely on the operating system for client certificates. This poses a barrier to accessing the web on discontinued operating systems. Pre-Quantum Firefox and related applications like K-Meleon can use client certificates directly from the browser.[99]
Older versions of K-Meleon receive occasional updates for TLS certificates.[64] When TLS 1.2 was released in 2008, major browser vendors were no longer targeting Windows 2000 or earlier.[100] K-Meleon 74 can access secure websites on Windows 2000 using an older version of the Goanna engine combined with up-to-date ciphers. It provides both access to HTTPS sites and greater web compatibility than other web browsers released for the OS.[54] K-Meleon 1.5 can access secure websites on Windows 9x releases like Windows 98 and Windows Me using TLS patches but receives no updates to the web engine.[101]
Browser | Version | Last Update | HTML5test Score[102] |
---|---|---|---|
Internet Explorer | 6[103] | 2010 | 19 |
Firefox | 12[104] | 2012 | 274 |
Opera | 12[105] | 2013 | 269 |
K-Meleon | 74[54] | 2021 | 349 |
TLS 1.2 Supported[106] |
Released in 2000, K-Meleon has been under development for over two decades and is still maintained. The most recent version, K-Meleon 76, is updated on a rolling release schedule. All versions of K-Meleon are written for the Microsoft Windows operating system. All versions support Windows XP and Vista.[107] All versions support 32-bit, SSE and MMX processors. Thus, K-Meleon can still run on machines built circa 2000, using then-popular chipsets like the Pentium III.[108] Version 74 is the latest version to support Windows 2000. Version 1.5.4 is the latest stable release to support Windows 98. K-Meleon is not designed for Unix but can run on POSIX-compliant systems if they have an implementation of the Windows API like the Wine compatibility layer.[109]
Version | Initial Release | Latest Update | Gecko Version | Notes |
---|---|---|---|---|
Key: Old release; not supported. Old release; still supported. Current stable release. | ||||
0.1 | Aug 21, 2000 | Aug 21, 2000 | M17 | [110] |
0.2 | Nov 26, 2000 | Jan 29, 2001 | M18 | [note 1][111][112] |
0.3 | Feb 13, 2001 | Feb 13, 2001 | 0.8 | [note 2][113] |
0.4 | May 11, 2001 | May 11, 2001 | 0.9 | [note 3][114] |
0.5 | Sep 27, 2001 | Sep 27, 2001 | 0.9.4 | [115] |
0.6 | Oct 30, 2001 | Oct 30, 2001 | 0.9.5 | [116] |
0.7 | Oct 31, 2002 | Feb 12, 2003 | 1.2b | [note 4][117] |
0.8 | Nov 10, 2003 | Dec 23, 2003 | 1.5 | [118] |
0.9 | Jan 18, 2005 | Apr 25, 2006 | 1.7.13 | [note 5][119] |
1.0 | Jul 15, 2006 | Sep 22, 2006 | 1.8.0.7 | [note 6][120][121] |
1.1 | May 22, 2007 | Jul 18, 2008 | 1.8.1.17 | [note 7][122] |
1.5 | Aug 8, 2008 | Dec 9, 2022 | 1.8.1.24 | [note 8][123][124] |
1.6 | May 5, 2010 | Dec 12, 2011 | 1.9.1.20 | [125] |
74 | Sep 8, 2014 | Aug 14, 2021 | 24.7 | [note 9][126][54] |
75.0 | Nov 25, 2014 | Jun 24, 2015 | 31.5 | [note 10][127] |
75.1 | Sep 19, 2015 | Jan 14, 2023 | 31.8 | [128] |
76 | Dec 23, 2015 | Dec 20, 2016 | 38.8 | [129] |
76.G | Nov 28, 2017 | Dec 15, 2018 | — | [note 11][130] |
76.2.G | Jan 10, 2019 | Aug 22, 2020 | — | [131] |
76.3.G | Aug 29, 2020 | Feb 5, 2021 | — | [132] |
76.4.G | Feb 12, 2021 | Mar 4, 2023 | — | [133] |
Notes
General references for this table include K-Meleon file releases,[134] release notes,[135] changelogs,[39](v. 1.0–75.1) and the Announcements forum.[136] |