Amelinium 0.8.7 - Web browser for classic Amiga
================================================
Support author on patreon:
https://www.patreon.com/user?u=3166416
Always new version here: http://juen.in
Early development release. Expect bugs.
Compatibility first, speed later. Work in progress.
Requirements:
- bsdsocket.library v4+ (works with IMPBOX bsdsocket.library!)
- AmiSSL v5 for HTTPS support (without that still http:// sites works fine)
Included builds:
- Amelinium - 68000 (works on all Amigas, slowest)
- Amelinium_020 - 68020+
- Amelinium_040 - 68040+
- Amelinium_060 - 68060+ (fastest, recommended for RTG)
- Amelinium_low - AmigaOS 1.3 (Kickstart 34+), no images
- Amelinium_020_JS - 68020+ with built-in JavaScript (experimental)
- Amelinium_040_JS - 68040+ with built-in JavaScript (experimental)
- Amelinium_060_JS - 68060+ with built-in JavaScript (experimental)
Known issues:
- Some CSS2.1 features not yet implemented
- Many CSS3 features not yet implemented
- JavaScript: experimental (in the _JS builds) - DOM scripting and
some of jQuery work; heavy frameworks (e.g. Google's Closure) still not
- Many pages may render incorrectly
- Slow on 68000, usable on 68030+ (faster from cache)
Keyboard shortcuts:
- Up/Down - scroll
- Shift+Up/Down - page scroll
- Space - page down
- Backspace - page up
- Home/End - top / bottom of page
- Amiga = / - - zoom in / out (also on the Page menu)
- Esc - stop loading / close
- F5 - reload
- Amiga-C/X/V - copy / cut / paste the URL
Acknowledgments:
ttengine.library by Grzegorz Kraszewski (krashan@teleinfo.pb.bialystok.pl) -
high-quality TrueType rendering for AmigaOS / MorphOS / OS4.
http://amiga.pl/ttengine - used with author's permission.
Liberation Fonts (Red Hat, SIL OFL 1.1) - metric-compatible Arial /
Times / Courier replacements.
DejaVu Sans (DejaVu Fonts project, Bitstream Vera license) - used
when CSS names Verdana or Tahoma; matches their wider metrics
where Liberation Sans (Arial-metric) would be too narrow.
AmiSSL by Oliver Roberts - TLS for HTTPS.
stb_image (public domain) - PNG/GIF decoding.
TJpgDec by ChaN (BSD-style, 2021) - tiny JPEG decoder with
scale-on-decode (1/2, 1/4, 1/8). http://elm-chan.org/fsw/tjpgd/
Replaces stb_image for JPEG - same input, half the RAM and
much faster on oversized photo thumbnails.
Amiga Core Fonts for the Web (Amiga Information Center, 2000) -
bitmap fallback when TT is unavailable.
History:
0.8.7 - CSS :hover works: links, buttons and menu entries
reaction when the mouse is over them.
Forms that post in the background with JavaScript (a
form's onsubmit that does an AJAX call and returns false)
now do just that, instead of reloading the whole page.
Several JavaScript-engine fixes (regular-expression line
handling and group backtracking, RegExp/Date type tags,
and full HTTP response headers).
Scrollable boxes: an element with its own scrollbar
(CSS overflow:scroll/auto) now really scrolls with the
mouse wheel or by dragging the bar, instead of just
showing a dead scrollbar.
A link pointing at a place on the SAME page (like a
comment permalink) now just scrolls there, instead of
reloading the whole page.
Inline frames: pages that embed another page with
<iframe> now render it in place, scroll it with the
wheel, and follow links inside it. Pages shown inside
frames and iframes now load their own stylesheets too,
so they look the way they should instead of unstyled.
"mailto:" links now open your e-mail program through
openurl.library. And the same for ftp:, news:, telnet:
JavaScript pages that use the History API (pushState /
back / forward) to change the address without reloading
now work, plus element.querySelector and document-order
node sorting, and a wider range of responsive @media
style rules.
0.8.6 - Fixed a freeze of the whole machine when the window was
resized two or three times in a row.
When a new version is out, the update window can now
install it for you: it downloads exactly the build you
are running, saves it over the program file (the old one
is kept as .old) and restarts the browser.
Buttons and links that do their work through JavaScript
- "javascript:" links and handlers that return false, like
the ppa.pl news and forum vote "+" - now do just that
instead of jumping to a wrong page or the front page. Such
AJAX actions also send the request header servers expect,
so the vote actually registers.
0.8.5 - Downloads now open their own window (like a classic
browser) with a progress bar, speed and time remaining,
plus Pause/Resume and Cancel - and the browser stays
usable while they run. Each file gets its own window, a
finished download closes itself, and closing the browser
while downloads are still going leaves them running until
they finish or you cancel them. The download window
reopens where you last left it, and the last folder you
saved to is remembered across launches.
Settings -> "Save mode as default" remembers the screen
mode you're on (or Workbench).
Fixed a crash (yellow guru) on some sites whose
stylesheets were in the disk cache - e.g. DuckDuckGo.
Save and download dialogs now work with EITHER asl.library
or reqtools.library
Big forms (e.g. cookie-consent pages like Google's) now
submit correctly instead of failing with a server error -
the form data is no longer truncated, and when a page has
two forms with the same target (Accept / Reject) only the
clicked form's fields are sent.
More JavaScript-heavy sites now work: dynamically
added <script> tags run, real XMLHttpRequest and
fetch(), and a wider set of browser APIs, so modern
single-page-app code loads instead of stalling.
0.8.4 - Right-click context menu (Chrome-style pop-up) with
actions for whatever is under the pointer: over a link
- Copy link address, Save link as; over an image - Save
image, Copy image address, Open image; in a text field
- Cut, Copy, Paste; plus Back, Forward, Reload, Save
page and add/remove bookmark. Right-click empty page
area and the normal Amiga menu bar opens instead.
Copy, cut and paste in the address bar (right-Amiga
C/X/V, or the new Edit menu) - share a URL, or paste
one in. Icon ToolTypes: set URL, PROXYHOST, PROXYPORT,
AGA, WB or DEBUG from the program icon's Information
window - no Shell needed. Home and End jump to the top
and bottom of the page. Amiga +/- zooms the page in and
out (Page menu too). The Stop button now reacts while a
page is rendering or pulling many stylesheets, not only
between fetches. New "Firefox (Linux)" choice in the
Agent menu, to look like a desktop browser to sites that
turn Amiga browsers away.
0.8.3 - Grab the scroll knob and drag it - the page now scrolls
live while you hold the mouse, instead of only jumping
when you release. Save Page As reopens in the last
drawer you saved to (now with asl.library too, not just
ReqTools).
0.8.2 - Frames! Classic <frameset>/<frame> pages now render
properly. New Stop button (next to Go) aborts a slow page.
The whole interface - title bar, menus,
toolbar, address and status bars - now uses your system
default font and grows to fit its size (page content
keeps its own fonts). The HTTP proxy now fetches page
images too, not just the HTML. Pages with large
stylesheets keep their look on reload. Much more
JavaScript runs - jQuery 3.x now parses - plus
URLSearchParams, Image(), FontFace, insertAdjacentHTML
and location/navigator fixes. Table-layout click fix.
Cookie-consent banners now display and respond correctly.
Faster scrolling on content-heavy pages, and table cell
backgrounds no longer spill past their blocks.
0.8.1 - HTTP Basic Auth: pages behind .htpasswd now prompt for a
login/password. Much smoother screen updates - JavaScript
changes, checkbox/radio clicks and typing in text areas
redraw only what changed instead of flashing the whole page.
Links inside JavaScript menus (e.g. a mobile "log in") now
follow through. Tables with align=center are centred.
0.8.0 - Optional built-in JavaScript (NodeAmiga engine), experimental.
DOM scripting, events, timers, jQuery; cookies and localStorage
from script. See jsdemo.html for a live tour.
0.7.6 - Big CSS layout-conformance pass.
Client-side image maps - clickable <area> regions.
Smoother image downscaling on truecolor RTG.
Non-AGA fix: an own screen below 8 bitplanes.
0.7.5 - Big RTG overhaul, every depth now renders correctly:
exact text colour and images/backgrounds on 8-bit and
16-bit RTG (including alpha icons and tiled/strip
backgrounds), and crisp TTF text on 16-bit (rendered via
TTEngine coverage maps composited over the real
background - no more glitched word backgrounds). On-the-fly
screen-mode switch redraws the whole page at the new depth;
light toolbar forced on 8-bit. Forms: POST with an empty
action="" keeps the page's query string.
Disk image cache fixes: no more recoverable-guru memory
crash on chipset/AGA (interleaved-bitmap planes were
saved/loaded past their buffer); cached images now carry
the screen depth in their key, so reopening a page at a
different colour depth re-fetches instead of showing
garbled pictures.
0.7.4 - TJpgDec replaces stb_image for JPEG
with scale-on-decode (1/2, 1/4, 1/8). Parsed CSS
disk cache (cp_<crc>) - warm visits skip the full
cascade pass. Lazy off-screen image decode - only
images that land in the viewport are decoded; the
rest stay encoded until you scroll them in. Raw
image bytes cached on disk (r_<crc>) so F5 / next
visit skips the network for off-screen images.
Stage-2 fast path: keep parsed DOM + computed
styles from stage 1, re-run only layout when image
dims become known. RTG gradient one-shot
WritePixelArray, eviction skipped on RTG.
Fixes around ASL/ReqTools save dialogs.
Much faster style resolution on big pages.
0.7.3 - Alpha-mask cache (per-image, native size).
Warm-visit skips stage-1 paint
when manifest hits. Menu text uses DETAILPEN
explicitly (was washed-out gray).
Bugfixes! Find now works again...
Menu reorganization: Search, Amiga, Debug, Test.
0.7.2 - Light GUI option, triple-slot keep-alive image
cache, TTF metrics consistency fix across
TTF toggle and page nav and more
0.7.1 - Fix: TTF rendering on Workbench screen at startup
0.7.0 - TTF, GUI, many CSS3 features, and many CSS2.1
bugfixes and also new features, and also
new bugs :)
0.6.0 - Real flexbox (all directions, wrap, grow/shrink,
justify/align/order), real CSS Grid (tracks, gap,
template-areas), :before/:after content +
counter() / counter-reset, linear-gradient
backgrounds (truecolor RTG, banded chipset),
var() + CSS custom properties, :first-letter,
@media px/em/rem, border-collapse Sec.17.6.2.1
conflict resolution, <col width>, table-layout:
fixed, HTML5 auto-tbody injection, <del>/<ins>/
<mark>, cookie Max-Age/Expires, vh/vw, font:
numeric weight + lighter, ::lang(), extended
list-style-type, fixes for shrink-to-fit autotables,
inside-marker spacing, font-size quantization
0.5.3 - Local pages from disk (Work:..., PROGDIR:...,
file://...), binary file check (executables /
archives go to Save-As instead of showing),
bookmarks sidebar, prefs file with per-mode
window position/size memory, AmigaOS 4 mouse
wheel
0.5.2 - Save-As goes where you pick, position:fixed CB,
@media em units, auto-refresh etc...
0.5.1 - Download fix, pointer, faster draw
0.5.0 - HTML forms, basic table/flex/grid
layout, and many more...
0.4.0 - More CSS, some CSS3, better fonts,
real shadows, rounds, transparent svg and many many more
0.3.0 - More CSS 2.1 compatibility, Proxy etc...
|