После более двух лет, прошедших с выхода предыдущего релиза, наконец-то вышла новая версия сверхлёгкого браузера Dillo. Как известно, его разработка была заморожена в 2007-м году, но в начале этого года возобновилась и результат не замедлил себя ждать. Главные изменения коснулись интерфейса - он был полностью переписан с GTK1 на FLTK2, что позволило сократить вдвое требования к памяти, а также реализовать поддержку UTF-8. Кроме того, в списке нововведений присутствуют табы, сглаживание шрифтов и прочие вкусности.
Анонсируя новую версию, авторы Dillo призывают всех заинтересовавшихся разработчиков помочь и присоединиться к проекту.
+- Ported Dillo from GTK1 to FLTK2.
- Ported a susbstantial part of the code from C to C++ (FLTK2 is in C++).
- Wrote a new library: Dlib. With "Dlib" Dillo doesn't need glib anymore.
- Ported all the code to Dlib.
- Fixed Http_must_use_proxy() to be case insensitive.
- Fixed some leaks and bugs in the cookies dpi.
- Made Dillo's UI Control Panel resizable on-the-fly.
- Implemented a new, simpler, dillorc parser.
- Added handling of "localhost" in file URIs.
- Fix: recognize "
http://foo" and "
http://foo/" as the same URL (BUG#497).
- Reimplemented the Concomitant Callback chains into a uniform scheme!
(two query branches and a single answer branch). It simplifies a lot the
former CCC paths and allows for easier error control.
- Added a new method for internally-generated urls: a_Cache_entry_inject().
- Switched the cache to use Dlib's Dstr for its data storage.
- Removed threads from IO. Now it only uses select-based watches.
- Reimplemented IO.c and dpi.c to use Dlib's Dstr as its main buffer.
- Turned Klist into a sorted list.
- Removed one data-copy stage in Html_write_raw().
- Switched gcc's "fmt..." syntax to ISO C __VA_ARGS__.
- Fixed Dillo and its dpis to work from "/tmp" (for easy device unmount).
- Simplified http.c by reusing the new non-blocking writes in IO.
- Reworked the capi API so cache is only accessable from capi.
- Rewrote the CCC's OpAbort handling.
- Rewrote the DNS API and the Dpid start code inside Dillo.
- Implemented Stop button to not only stop rendering but also networking.
- Fixed the problem of scrolling position (remember position in a page).
- Implemented a new scheme of scroll-position remembering. This is one per
visited page intead of one per url (this is more standard).
- Fixed a subtle bug in klist that was affecting IO.
- Fixed the position of the Bug Meter popup menu.
- Hooked vertical scrolling to the mouse wheel.
- Reimplemented plain.cc using a class, and hooked memory-release.
- Reimplemented html.cc using a class, removed the linkblock,
and hooked memory-release to dw destruction.
- Switched UI shortcuts from a global event handler to UI::handle.
- Bound Ctrl+Space to toggle fullscreen mode.
- Switched dillo to push a URL with fragment (anchor) into the stack.
- Added a workaround for a CCC reentrancy segfault.
- Bound FltkMultiLineTextResource to the html parser (TEXTAREA).
- Added code to ignore the first
after
.
- Added a http_referer preference. See details in dillorc.
- Added a text placeholder: "[IMG]" for img_off mode.
- Fixed a SEGFAULT bug in http.c (handling of web->url).
- Fixed handling of #anchors with repush, and other operations.
- Implemented a_Dialog_choice5(). May be used by dpis and dillo.
- Improved parsing of collapsing white space.
- FTP dpi: Fixed algorithm bugs and improved the mime-type detector.
- CCC: added reentrancy control to the OpEnd and OpAbort operations.
- CCC: enhanced the debug function and implemented OpAbort for dpi.
- Hooked a decoder for text/plain with charset.
- Forbid dpi GET and POST from non dpi-generated urls.
- Cleaned up a_Url_new().
- Implemented tabbed browsing.
Patches: Jorge Arellano Cid
+- Connected signals to elements (fixes links within lists).
- Enabled text, background-color, panel_size, geometry, fullscreen,
start_page, geometry offset, proxy_user and limit_text_width in preferences.
- Enabled clicking over image links.
- Improved notification upon leaving links.
- Implemented image-link URL showing in status bar.
- Added missing size-parsing for the
element.
- Hooked "Activate" to the form_receiver.
- Connected the plain page context menu.
- Added code for the image menu and hooked it to dw2 signals.
- Hooked the page and link menus.
- Added a image-loading toggle button to the UI.
- Enabled hiding widgets of the control panel from dillorc.
- Added a save-directory preference (save_dir in dillorc).
- Fixed page-popup-menu to use the stack's top URL instead of base_url.
- Added the "static" qualifier where missing.
- Bound "Copy link location".
- Bound preliminar find text support.
- Added line numbers and enabled wrapping in the "View Source" window.
- Added HTTP-1.1's chunked transfer support!
- Made the stop button sensitive when loading an image.
- Added more statics in dpi, const in pixmaps, and removed redundant includes.
- Made cleanups in prefs (hiding local data/defs/symbols).
- Fixed a segfault in cookies.c when no .dillo directory exists.
- Added a MSG_HTTP for HTTP/1.1's warning headers.
- Added support for multi-line header fields.
- Added support for "charset" in the HTTP header field for Content-Type.
- Added support for progressive display of progressive jpegs.
- Fixed progressive display of interlaced pngs.
- Enabled colspan=0 in tables parsing.
- Fixed a memory leak in cookies.c
- Added "standard_widget_colors" preference. It allows a more stylish look.
- Fixed the return value of Cache_parse_multiple_field.
- Added the multipart/form-data encoding method to form submission.
- Fixed a bug in Html_parse_entity.
- Fixed a bug in a_Url_cmp.
- Fixed a bug in Cookies_parse_one. Set it to a single return point too!
- Added dStr_memmem() and dStr_printable() to dlib.
- Split Html_append_input() into smaller functions.
- Implemented ISINDEX.
- Added input image for FORMS.
- Added button for FORMS.
- Added nesting checks for BUTTON, SELECT and FORM.
- Fix: shape=default is the background in a client-side image map.
- Enabled client and server-side image maps.
- Switched Window::destroy to Window::delete, fixing side effects.
- Made zlib a configure requirement, and cleaned up configure.in.
- Fixed a segfault bug in Nav.c.
- Switched from charset to content-type for handling data.
- Moved charset decoding into cache.
- Implemented OBJECT as link (similar to FRAME).
- Enabled the file dpi to look inside gzipped files.
- Allowed form inputs outside the FORM element (it's in the standard).
- Fixed a segfault bug in VERBATIM mode.
- Made image inputs less of a special case by using x,y in ComplexButton.
- Made forms show their action URL upon enter/leave mouse events (safety).
- Fixed a memory leak in plain.cc.
- Switched from DEBUG_MSG to MSG.
Patches: place (AKA corvid)
+- Fixed a problem with locally-installed dpis.
- Added code for optional image loading (nice interface) very advanced!
- Added an experimental gzip decoder!
- Implemented "Load Images" in the page menu and cleaned up html.hh.
- Added shortcuts: PgDn=Spc, PgUp=b, Back=BackSpace, Forw=Shift+Backspace.
- Made a cleanup in cache's parse header code.
- Added support for "charset" in the META element.
- Added a_Capi_get_flags(). It requests a cache entry's status as flags.
- Switched URL_DATA type from char* to a dStr.
- Implemented the file input control for forms.
- Fixed data guesser to detect ASCII, LATIN1, UTF8, KOI8-R, CP-1251 as text.
Patch: place, Jorge Arellano Cid
+- Fixed a cookies-related dillo freeze bug happening at:
http://www.fltk.org/n...eneral+v:24912
Patch: Andreas Kemnade, Jorge Arellano Cid
+- Fixed a va_list-related SEGFAULT on 64bit-arch in dStr_vsprintfa().
Added const declarations in html parser.
Patch: Vincent Thomasset
+- Fixed void to int conversions for 64bit-arch.
Patch: Jorge Arellano Cid, higuita
+- Set the url resolver to escape illegal chars instead of stripping.
Patch: Jorge Arellano Cid, Jeremy Henty
+- Added suport for old iconv() (const char** as 2nd arg).
Patch: Jorge Arellano Cid, Christian Kellermann
+- Added a strndup() replacement in dw2
Patch: Alexander Becher, Johannes Hofmann, Jorge Arellano Cid
+- Fixed calcHashValue() to only return non-negative numbers (was SEGFAULT).
- Improved scrolling performance on large pages by copying screen data
instead of rendering.
- Updated configure.in to check only for fltk2-config.
- Implemented drag-scrolling with the mouse's middle button.
- Disabled double buffering (good for debugging redraws).
- Switched dns.c from gethostbyname* to getaddrinfo (& removed libc5 code).
- Made "New browser window" inherit the panel style of its parent.
- Made TopGroup a PackedGroup, simplifying UI code and removing workarounds.
- Added a redraw(DAMAGE_HIGHLIGHT) call to Back, Forw and Stop buttons.
- Fixed a segfault bug when closing a bw under active networking.
- Removed the unused SPCBuf variable.
- Fixed a freeze-bug in IO.c where the IOwatch for reading was not removed.
Patches: Johannes Hofmann
+- Made progress bars resize automatically.
Patches: Johannes Hofmann, Jorge Arellano Cid
+- Improved FLTK library detection at configure time.
Patch: Frank Gevaerts
+- Bound Ctrl-R to reload.
- Made dialogs use font_factor (e.g. view source).
- Implemented the SELECT element in FORMS!
- Implemented MULTIPLE SELECT in FORMS.
- Fixed a memory leak in nav.c
!- html.cc cleanup (in progress). New classes, form API, source split.
- Fixed a bug in style caching.
Patches: Jeremy Henty
+- Added int32_t, EAI_NODATA and iconv tests for FreeBSD.
Patch: Thomas-Martin Seck
+- Made CTRL-l focus the location bar instead of popping up a dialog.
- Set key bindings with modifiers to work when alone only.
- Replaced the findtext dialog with an in-window widget!
Patches: Justus Winter
TODO:
- test no_proxy (set a list in dillorc).