Short: Web browser with JS + HTML mail client Uploader: biuro@cdlabel.info (Pawel Nowak) Author: Juen/APX+NAH+R3D (Pawel Nowak) Type: comm/www Version: 1.1.4 Architecture: m68k-amigaos; i386-aros; x86_64-aros; aarch64-aros Amelinium 1.1.4 - web browser AND mail client for classic Amiga =============================================================== Support me: http://juen.in/support Always new version here: http://juen.in A browser AND a mail client. The archive holds two programs that share one rendering engine, so a message with HTML and CSS looks the same in your inbox as a page does in the browser: Amelinium - the web browser Emalinium - the mail client (POP3 / IMAP / SMTP). It is not a plain-text reader: a message is laid out by the SAME engine as a web page. Requirements: - bsdsocket.library v4+ (works with IMPBOX bsdsocket.library!) - AmiSSL v5 for HTTPS support (without that still http:// sites works fine) The AROS builds (Amelinium_AROS_i386 and Amelinium_AROS_x86_64) need NO extra library at all - not AmiSSL, and nothing to copy into LIBS:. Only the AROS system itself and its bsdsocket.library. Their TLS (1.2 and 1.3) is BUILT INTO the executable, so the download is one file and there is no library drawer to install. Why: AmiSSL has no AROS release at all. What ships for Amiga is m68k HUNK code, and an AROS system loads ELF - so the choice was a built-in TLS or no https at all on that machine. Third-party code in the AROS builds: Mbed TLS 3.6.7 (https://www.trustedfirmware.org/projects/mbed-tls/) is compiled into those executables, unmodified. It is dual-licensed Apache-2.0 OR GPL-2.0-or-later - you may take it under either. The full text is in mbedtls-LICENSE.txt next to this readme. No other build contains it. !! HTTPS is encrypted but the server's CERTIFICATE IS NOT VERIFIED - i do not check who is on the other end. Treat it as protection against passive eavesdropping, not against an attacker who can redirect your traffic. The same applies to Emalinium's mail passwords. 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, no downloads and NO MENU BAR - so no settings, bookmarks, tabs or About. - Amelinium_020_JS - 68020+ with built-in JavaScript - Amelinium_040_JS - 68040+ with built-in JavaScript - Amelinium_060_JS - 68060+ with built-in JavaScript - Emalinium - the mail client (any 68020+) - Amelinium_AROS_i386 - AROS on i386 (32-bit x86 PC), with JavaScript - Amelinium_AROS_x86_64 - AROS on x86_64 (64-bit PC, ABI v11), with JavaScript - Amelinium_MOS - MorphOS - in development - Amelinium_OS4 - AmigaOS 4 - in development Known issues: - JavaScript: in the _JS builds. DOM scripting works, and so do jQuery, Prototype, script.aculo.us and Lightbox - including a jQuery packed with the Dean Edwards packer. Heavy frameworks (e.g. Google's Closure) still do not. A page whose scripts do a great deal of work will be slow: the interpreter is not fast, and that is the honest limit. - No : a page that draws with it shows nothing there. - rotate() / skew() / matrix() are parsed but not drawn (translate() and scale() are) - Some pages may still render incorrectly - please report them - Slow on 68000, usable on 68030+ (faster from cache) If the browser will not start after an update: The update keeps the previous program next to it as .old, so rename that back over and you are running the old version again. Up to 1.1.1 an update download that stalled could be installed even though it was incomplete, which leaves a file the system cannot load; from 1.1.2 the download is checked and a broken one is refused. Command line: Amelinium [URL] [options] -screen WxH[xD] open an own screen of that size, skipping the mode requester - e.g. `-screen 1024x768x24` on an RTG card or `-screen 1280x512` on AGA. Picks the deepest mode the size offers when D is left out. This is the quickest way to a usable window on a big screen. -aga 640x512 8-bitplane PAL screen, no requester -wb open on the Workbench screen -js run page scripts everywhere, ignoring the per-site list. By default scripts are OFF until you allow a site, because one advertising bundle can exhaust the machine's memory. -proxy-host H -proxy-port P send everything through an HTTP proxy The same settings are available from the icon's Tool Types: URL, PROXYHOST, PROXYPORT, AGA, WB. 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 / stop a runaway script / close - F5 - reload - Amiga-C/X/V - copy / cut / paste the URL - Amiga-T / W - new tab / close tab (also on the Tabs menu) - Ctrl+click - open link in a background tab - Middle-click - open link in a background tab (3-button mouse) - Shift+click - open link in a new tab and go there - Amiga-B / F - back / forward - Amiga-H - home page - Amiga-G - go to the address in the bar - Amiga-S - save this page - Amiga-/ - find on page - Amiga-. - random page - Amiga-? - about Pictures: GIF, JPEG, PNG, BMP and ICO are decoded on the Amiga, by the browser itself. Decoded pictures are cached on disk, so a second visit paints them without decoding again. !! SVG, WebP and AVIF cannot be decoded here - there is no code on this machine that reads them. Those go out to a PUBLIC RASTERISER (images.weserv.nl), which converts them to PNG and sends that back. The address of the picture therefore leaves your machine and reaches a third party, which is worth knowing: it is the price of seeing an icon set that a modern site ships as SVG. Everything else is fetched straight from the site. Turning images off in the Settings menu stops both. Fonts: Amelinium reads TrueType fonts ITSELF - it opens the .ttf file, reads the glyph outlines and rasterises them with its own scanline renderer. That path needs no FPU, no maths libraries and no external library at all, so TrueType text works on every Amiga from a plain 68000 upwards. It is on by default whenever the font files are present; the TT button turns it off. The AA button switches edge smoothing, which needs a truecolor screen - on a palette screen there is nothing to blend with, so the button is greyed. Acknowledgments: 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: Recorded from 1.1.0 onwards. Earlier releases were not kept this way. 1.1.4 - Two more sites in the WWW menu: whdownload.com and amigaworld.net - A page can now be scrolled while its pictures are still loading - the mouse wheel, the cursor keys and the scrollbars all work from the moment the text is on screen - The address bar now uses the largest font that fits the toolbar row instead of the smallest one - Fixed styling being dropped on pages that use very long class names, as CSS modules generate them - github lost part of its layout that way - Fixed icons drawn as SVG inside the page not appearing at all on pages that use many of them - github lost its logo and its menu button - Fixed background-color: currentColor doing nothing on an element (it worked on ::before / ::after), which is how github draws its menu button - Fixed colours and spacing on pages whose stylesheet writes custom property names with capital letters (github, a1k) - Fixed rules with more than one :where() being thrown away - Fixed long declarations using var() being cut in half and dropped - Fixed font: 1.4rem/1.5 ... being read as 1 pixel, which shrank whole menus on pages that size text in rem - Fixed selectors written as .a > * > .b matching nothing - Fixed an icon being placed BEFORE the text it belongs to, so it appeared on the wrong side of a button - Fixed line-height: 0 having no effect, and rows staying too tall - Fixed grid columns written as minmax(0, auto) coming out zero wide, which made button labels disappear - Fixed flex: 100% being read as three separate values, so flex rows that should wrap stayed on one line and ran off screen - Fixed the first line of an inline-flex or inline-grid box sitting too high, which made whole rows of links too tall - Fixed style="width:0%" and style="width:150%" being ignored - this is how progress bars and sliders are written - Fixed attribute selectors: only 17 of about 60 attribute names were known, so [hidden] and most others matched nothing - Fixed a :not() naming a class longer than 15 characters excluding nothing while still winning over the rule it was written to refine - Fixed an inline-flex or inline-grid box coming out too narrow, so an icon next to a label stuck out of its own link - Fixed an empty flex item taking one pixel of the row instead of none - Fixed grid columns written as min-content or max-content being widened to fill the container, which pushed button labels out of place and broke short words across two lines - Fixed an icon inside a grid button overflowing its own slot, which shifted the label left by the icon margin - Fixed a grid column of zero width still taking one pixel - Fixed a box positioned inside a flex container ignoring the container's alignment unless that container was itself positioned - github placed the buttons above its file list 40 pixels too low - Fixed the Search button and Enter doing nothing on a form written between and (whdownload.com) - Fixed a frame staying blank when its address is relative - the other frames of the same page hid the problem (triumph.no) - Fixed pictures inside a frame losing their transparency, so GIFs with a transparent background came out on a solid block - Fixed a frame ignoring its own character set, so accented letters were drawn wrong even though the frame declared the encoding - Fixed pictures being lost for good when a server asks the browser to slow down (HTTP 429) - it now waits as long as the server asks and tries again - Fixed aminet.net stalling on Kickstart 1.3 and on any machine short of memory: every stylesheet reserved almost 2 MB whatever its size, and now takes only what its text needs - Fixed Amiga-V typing a letter into a form field instead of pasting, and doing nothing at all in the address bar - Fixed pressing Amiga-V in the address bar loading the downloads page over and over and locking the browser up - a menu item nobody picked - Fixed the status bar staying on "Converting image" for good after the page had finished, once scrolling brought a new icon into view 1.1.3 - New target Amelinium_AROS_aarch64 - AROS on 64-bit ARM (Raspberry Pi 3/4/5). Same engine as every other target. - Settings: the WEBP/SVG image proxy can now be switched off - Fixed a page getting a horizontal scrollbar because a line refused to break before a nowrap element - Fixed the page background jumping when only part of the page was redrawn, e.g. under the mouse pointer - Fixed tables built with a between
and - rows are no longer pulled out of the table - Fixed a crash on start on machines with no TCP/IP stack 1.1.2 - New target Amelinium_AROS_x86_64 - AROS on 64-bit PCs. Same browser as everywhere else: https, pictures, TrueType fonts and JavaScript all work - Fixed the AROS x86_64 build crashing on the first picture of any page - The user agent now says which build is running (AROS i386 or AROS x86_64), instead of just "AROS" - Fixed 1.1.1 hanging with corrupted graphics on every page - a rewrite of the tag scanner had dropped the line that sets where a tag's attributes begin, so every tag of every page was parsed from a stray address - Fixed pages showing raw markup as text when an attribute value contains a literal > - the tag now ends at the quote that closes the value, in both parsers (this is the EAB "The Zone" report) - Fixed text meant only for screen readers being painted over the page: clip: rect() now really clips - Fixed elements hidden with large negative offsets (left:-9999px) coming back on screen - the value was being read as a percentage - Fixed table columns growing instead of shrinking when a cell states a width: the stated width is now a hint for the column, not its minimum - Fixed a form field set to width:100% stretching its table and squeezing the button beside it narrower than its own label - Fixed pictures and form controls coming out too wide on pages that use box-sizing: border-box - Fixed a table cell that is floated or absolutely positioned losing its layout and rendering nothing - Fixed grid columns written as 1.45fr being laid out as 1.4fr - Old table layouts without a DOCTYPE: a collapsible space no longer makes a row taller, and a cell no longer takes on its children's margins - Fixed flex rows overflowing when one item could not shrink - Fixed the last word of a broken-up long word being measured too narrow - Back, Forward and switching tabs now follow server redirects - Addresses typed with a capitalised scheme are shown lower-case, and a site is recognised whatever the case of its host name - Fixed connections to older (HTTP/1.0) servers being kept after the server had closed them - Two more phone user agents in the Agent menu - An interrupted update download is no longer installed over the browser: a transfer that stalls is reported as a failure, and the downloaded file is checked for completeness before it replaces the program 1.1.1 - JavaScript now works in the AROS i386 build - the JS button is no longer greyed out there - Added the Popover API: an element with the popover attribute stays hidden until it is shown, and popovertarget buttons open it without JavaScript - Fixed images going missing on pages that load many at once - our own decoding time was being charged against the other downloads - Fixed one failed connection writing off a whole host, so the rest of a gallery was skipped - Fixed frameset images: they now reuse connections, retry once, and can go through the SVG/WebP rasteriser like every other picture - Fixed addresses typed HTTP:// or HttpS:// being treated as unknown - the scheme is case-insensitive (RFC 3986) - Fixed the URL field text sitting one pixel too high and too far left 1.1.0 - New target Amelinium_AROS_i386, with TLS 1.2 and 1.3 BUILT IN - no AmiSSL and no extra library to install; AmiSSL has no AROS release at all - Images now load six at a time instead of two, and the browser backs off by itself when a server refuses that many - Fixed three separate ways pictures could silently go missing - Faster layout and text measurement on heavy pages - Fixed "no AmiSSL for https" on AROS sending the user after a library that does not exist for that machine