Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: BlitterStudio/dopus5

DOpus5 5.101

09 May 10:20
@github-actions github-actions
c10f1e8
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

Directory Opus 5.101 is a maintenance and portability release with new target packages, FTP/SFTP upgrades, filesystem compatibility fixes, refreshed documentation, and several late-cycle UI and stability fixes.

Downloads

  • DOpus5_101_os3.lha - AmigaOS 3, 68020+
  • DOpus5_101_os3-68000.lha - AmigaOS 3, plain 68000 systems
  • DOpus5_101_os4.lha - AmigaOS 4
  • DOpus5_101_mos.lha - MorphOS
  • DOpus5_101_i386-aros.lha - AROS i386 ABIv0
  • DOpus5_101_x86_64-aros.lha - AROS x86_64 ABIv11

OS3 68000 Package Replacement

The DOpus5_101_os3-68000.lha archive was replaced on May 9, 2026 to fix a startup Guru 8000 0003 on plain 68000 AmigaOS 3 systems. The crash was caused by an odd-aligned built-in CatComp string block being parsed with word/long reads while scanning modules at startup.

  • Previous OS3 68000 asset: sha256:e16c9c8134444148c8101adaf4e1e60173e840a7f4d2f384f68f1ee6204a14cb, 1,566,581 bytes.
  • Replacement OS3 68000 asset: sha256:9f0b9cc186bba29cc92f36a7ea8bf2a18c5ea8316b065e6ed629764fc0039132, 1,566,638 bytes.
  • Commit with the fix: c71745f.

Highlights

  • Added SFTP support to the FTP module and improved FTP/FTPS/SFTP UTF-8 filename handling through codesets.library when available.
  • Added first-class AROS i386 and x86_64 release packages, plus a separate AmigaOS 3 68000 package for plain 68000 machines.
  • Improved format.module handling for Long File Names, including FastFileSystem version gating and PFS awareness.
  • Improved backdrop and icon-mode behavior, including Workbench-order type sorting, row-fill cleanup, stable label baselines, and Resize to Fit menu gating.
  • Added GUI controls for previously hidden Environment options and cleaned up dead ENV: variables.
  • Refreshed DOpus5.guide, clarified public headers, updated package layout, and aligned drawer naming under DOpus5.

Late-Cycle Fixes

  • Fixed OS3 titlebar drawing so the clock, memory text, and custom title text use the real screen bar height on newer intuition.library versions.
  • Restored Environment / Lister Options spacing around the Icon Action double-click row.
  • Fixed the About requester copyright block so it stays within the requester.
  • Removed the dead Custom Screen Title Internet Time code from the formatter, configuration popup, and translated catalogs.
  • Fixed Custom Screen Title memory substitutions so plain byte values honor the locale thousands-separator setting, matching the K/M/G/S forms. This closes issue #81.
  • Hardened print.module string handling for user-supplied title, output path, wrap buffer, and header/footer text, closing the V-001 CWE-120 buffer-overflow report.
  • Kept that print.module hardening compatible with the OS3 toolchain by using local bounded copy/append helpers instead of unavailable BSD strl* symbols.

Validation

The 5.101 tag was built by GitHub Actions run 25598614157. The run passed host FTP/SFTP tests, AROS debug builds, debug and release package builds for OS3, OS3 68000, OS4, MorphOS, i386 AROS, and x86_64 AROS, and uploaded the release assets above.

The replacement OS3 68000 archive was built locally with sacredbanana/amiga-compiler:m68k-amigaos using make os3-68000 release debug=no. The packaged DOpus5/Libs/dopus5.library was extracted and compared against the rebuilt source/bin.os3-68000/dopus5.library.

Full changelog: 5.100...5.101

Assets 8
Loading

5.100

27 Apr 19:29
@github-actions github-actions
d8aab3f
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

Explicit FTPS support and archive lister fix

Program bumps to 5.100, library and modules to 73.4, and commands remain at 65.1.

FTP / FTPS

  • Add explicit FTPS support backed by AmiSSL/OpenSSL, including protected control/data channels and optional TLS certificate verification.
  • Expose FTP security settings in FTP Options and FTPConnect, including ftps:// and ftp:// URL scheme handling plus common FTPS mode aliases.
  • Prefer EPSV passive transfers, fall back safely for unroutable PASV hosts, and harden command/list parsing.
  • Improve MLSD fallback behavior, reconnect handoff, stale error cleanup, and FTPS copy fallbacks.
  • Block direct FTPS site-to-site copy because the data channel cannot be protected end-to-end there.
  • Add host-side FTP parser, LIST command, and TLS tests, and run them in CI before the platform release builds.

Covers PR #7 (feature/ftp-ftps), 34 non-merge commits.

XADOpus

  • Avoid empty lister entries for trailing-slash directory records when browsing archive subfolders.
  • Keeps lister directory detection aligned with the 5.99 extraction fix for non-Amiga LHA directory entries.

Covers PR #8 (fix/xadopus-archive-lister-empty-entries).

Release / Build

  • Ensure release archives preserve executable protection bits for the library and modules when built from Linux.

Validation

  • make -C source/Modules/ftp -f makefile.tests clean test
  • Release archive filename dry-runs for OS3, OS4, and MorphOS confirm Dopus5_100_* output names.
  • GitHub Actions Makefile CI tag workflow passed for 5.100, including host FTP tests, OS3/OS4/MorphOS debug builds, OS3/OS4/MorphOS release builds, and release asset upload.

Downloads

  • Dopus5_100_os3.lha
  • Dopus5_100_os4.lha
  • Dopus5_100_mos.lha

Full Changelog: 5.99...5.100

Loading
FeralChild64 and simolg reacted with heart emoji mibosshard and Buyukcaglar reacted with rocket emoji
4 people reacted

5.99

24 Apr 22:01
@midwan midwan
9174c1c
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

Picasso96 migration, OS4 bug fixes and features

Program bumps to 5.99, library and dopus5.module to 73.3, and commands remain at 65.1.

Picasso96 / RTG display overhaul

  • Migrated the RTG subsystem from cybergraphics.library to Picasso96API.library with a CyberGraphX fallback, fixing drag-mask rendering and 24-bit ILBM decoding on modern graphics cards across all platforms.
  • Fixed 24-bit ILBM handling: route decisions through colour-plane count, clamp uncompressed chunky decode to width, decode all source planes into the chunky buffer for DIF_WRITEPIX, and prevent 24-bit decode into the 8-bit fallback buffer.
  • Hardened drag-mask handling: validate P96 stride before per-row reads, read Memory / BytesPerRow via p96LockBitMap, fix hicolor compare, stop P96 re-entry under lock, and probe RTG via p96GetBitMapAttr.
  • OS4: validate interface acquisition for both P96 and CGX, and guard NULL in teardown.
  • AROS: compile out P96 call sites and route RTG through CyberGraphX.
  • Cleaned up dead P96Base / IP96 globals from all module init files.
  • Added full Picasso96 SDK headers: proto, inline, ppcinline, and pragmas.

Covers PR #2 (p96-migration), 26 non-merge commits.

OS4 bug fixes ported from derfsss/dopus5-os4

  • Fix filetype editor crash: remove spurious REG(a2) from OS4 proc_init.
  • Fix anti-aliased font progressive bolding: use JAM2 draw mode instead of JAM1 so previous weight layers accumulate correctly.
  • Fix Escape key not closing requesters on OS4.
  • Fix backdrop disappearing on settings save: FUNKOFF was mistyped as FUNK0FF, so the backdrop-off code never compiled in.
  • Port defensive lock validation and 255-character filename support.

Covers PR #5 (port/derfsss-os4-bugfixes), 5 commits.

OS4 features ported from derfsss/dopus5-os4

  • Raise font requester cap from 30pt to 96pt for 4K / HiDPI displays.
  • Add a full-path-in-lister-title option: new LISTEROPTF_FULL_PATH flag shows the complete expanded path instead of volume:objectname.
  • Show human-readable free memory on the OS4 screen title bar using BytesToString, for example 324.5 MB free.
  • Fix CatCompBlock binary encoding for the two new catalog strings; lengths must include null separator bytes.
  • Fix a pre-existing buffer overflow in lister title construction: unbounded strcpy / strcat into the 300-byte title buffer, plus overflow of last_status[80] from the 300-byte title.

Covers PR #6 (port/derfsss-os4-features), 6 commits.

Other fixes

  • XADOpus: handle non-Amiga LHA directory entries during extraction. Covers PR #4.

Full Changelog: 5.98...5.99

Loading

5.98

22 Apr 20:05
@github-actions github-actions
e4ecb1e
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

Backdrop tooltip fix + About window polish

Bundled follow-ups to 5.97's tooltip work plus a couple of unrelated quality-of-life fixes.

Fixes

  • Finish the tooltip regression fix. The 5.97 fix only covered the lister's own IDCMP handler. The backdrop IDCMP handler (active in icon view, same window handle as the lister, and the first dispatch target for icon-area events) had the same pattern and was also stripping IDCMP_INTUITICKS on every idle tick / gadget release / mouse-button click / drag end. In icon mode the idle-tick path alone was enough: the very first tick after switching to icon view unsubscribed INTUITICKS and the hover timer was then permanently off, so tooltips stayed dead even after returning to name mode. Removed all five strip calls across backdrop_idcmp.c and backdrop_drag.c, and set handled = 0 on idle ticks so the dispatcher still lets lister_toolbar_tooltip_tick run in icon / icon-action mode.

  • About window: fit the extended copyright. The single-line COPYRIGHT string grew long enough that it overflowed the About dialog's fixed-width copyright area. Split the displayed text into two shorter lines inside the About caller, keeping the COPYRIGHT macro (used verbatim for every library/module's $VER string) intact.

Under-the-hood

  • Archive filename now tracks the version bump. source/makefile's REVISION literal was hand-maintained and had silently stayed at 95 since 5.95, so 5.96 and 5.97 both shipped as Dopus5_95_*.lha even though the binaries reported the higher version. REVISION is now derived from PROG_REVISION in version.h via $(shell awk ...), so a single edit to version.h updates the archive name too.

Version bumps

  • Program: 5.97 → 5.98
  • Library / dopus5.module: 73.1 (unchanged)
  • Commands (viewfont, dopusrt5, LoadDB): 65.1 (unchanged)

No API, IPC or on-disk format changes - safe drop-in over 5.97.

Full Changelog: 5.97...5.98

Loading

5.97

22 Apr 09:03
@github-actions github-actions
d7e21f5
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

Window-close leak + tooltip regression fixes

Two targeted fixes to the lister window machinery, unrelated to each other but worth shipping together.

Fixes

  • Zoom-gadget memory leak on lister window close. lister_open_window hijacks the screen's system zoom gadget by clearing GTYP_SYSGADGET | GTYP_SYSTYPEMASK and setting GadgetID = GAD_ZOOM so our IDCMP handler can route it. Intuition only frees gadgets it still recognises as system gadgets, so after this mutation the storage leaked on every open/close cycle. The original GadgetType and GadgetID are now saved on open and restored immediately before CloseWindow, so Intuition cleans up normally; custom IDCMP routing stays intact for the window's lifetime.

  • Tooltips silently disappearing after any gadget click. The IDCMP_GADGETUP handler was stripping IDCMP_INTUITICKS from the window's IDCMP mask on every release, which turned off the toolbar tooltip hover timer for the remaining lifetime of the lister. A freshly opened Name-mode lister showed tooltips (INTUITICKS is in the initial IDCMP mask), but the moment the user clicked anything — including the menu-driven Icon↔Name mode switch — they stopped. GADGETUP now keeps INTUITICKS subscribed, matching the intent already documented in the neighbouring IDCMP_MOUSEBUTTONS path.

Version bumps

  • Program: 5.96 → 5.97
  • Library / dopus5.module: 73.1 (unchanged)
  • Commands (viewfont, dopusrt5, LoadDB): 65.1 (unchanged)

No API, IPC or on-disk format changes — safe drop-in over 5.96.

Full Changelog: 5.96...5.97

Loading
Manger74, miloat, keisyone, Buyukcaglar, lomdar67, and christian100kodehode reacted with thumbs up emoji
6 people reacted

5.96

22 Apr 07:55
@github-actions github-actions
ebe26ec
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

Leak/resource fixes and Galileo UI/UX ports

Version bumps to 5.96 / library 73.1 / commands 65.1, copyright notice extended to 2026. Groups two bodies of work ported from the Hagbard-Celin/galileo fork plus one fix found during review.

Leak and resource fixes

  • ViewFont: save and restore PROGDIR: lock on exit (font.c/font.h).
  • clock_task: free ScreenDrawInfo after use.
  • start_menu: free ScreenDrawInfo on hide.
  • environment: free outer lister node in FreeListerNode.
  • cleanup / event_loop / ipc / images / toolbar / filetype: plug small leaks around pool / port / drawinfo ownership on failure and teardown paths.

Covers all 10 v0.1 + v0.2 leak fixes from Galileo plus one additional OpenListerNode wrapper leak found during review. Copyright headers on each affected file extended to credit the DOPUS5 Open Source Team and the dopus5allamigas fork.

UI/UX fixes

  • lister / lister_idcmp: do not track titlebar-minimised listers as GUI->current_lister (Galileo faf369c). Prevents actions targeting a lister the user can no longer see.
  • lister_function: ActivateWindow after Lock/Unlock Position reopens the lister (Galileo 5564d91). Restores focus that the close+open cycle drops.
  • lister_window: parent button gains GACT_LEFTBORDER so Intuition treats it as part of the border (Galileo 33041d4).
  • boopsi: scrollbar gadgets gain GA_RightBorder / GA_BottomBorder on all six NewObject sites in L_AddScrollBars for the same reason.

Version bumps

  • Program: 5.95 → 5.96
  • Library / dopus5.module: 73.0 → 73.1
  • Commands (viewfont, dopusrt5, LoadDB): 65.0 → 65.1

No API, IPC or on-disk format changes.

Full Changelog: 5.95...5.96

Loading

Dopus5 5.95

21 Apr 17:16
@midwan midwan
9da560b
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

Dopus5 5.95 — MorphOS startup hang fix

Fixes

  • MorphOS startup hang in module discovery. The five modules that kept extra functions in a separate more_functions[]/module_func global (themes, ftp, misc, join, filetype, plus xadopus) now store all entries inline in a properly-sized ModuleInfo_N struct. The old pattern relied on the linker placing the auxiliary array immediately after module_info in memory; the MorphOS PPC toolchain does not guarantee that, so info->function[n] for n>=1 read garbage, hanging DirectoryOpus at startup step 8 (init_commands_scan) on the first module with multiple functions (themes).

Cleanup

  • Modernised the MorphOS IPC entry-point dispatch: IPC_EntryCode / IPC_StartupCode / IPC_EntryProto now expand to plain PPC-native functions on MorphOS (matching OS4/AROS). IPC_Launch forces NP_CodeType=CODETYPE_PPC unconditionally. The IPCF_NATIVE flag is retained for source compatibility but no longer required.

Downloads

  • Dopus5_95_mos.lha — MorphOS
  • Dopus5_95_os3.lha — AmigaOS 3 (m68k)
  • Dopus5_95_os4.lha — AmigaOS 4 (PPC)
Loading

5.94.1

21 Apr 09:00
@github-actions github-actions
9fc5be9
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

Full Changelog: 5.94...5.94.1

Loading

5.94

20 Apr 15:17
@github-actions github-actions
6cce29c
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

First release of this fork that ships builds for all three Amiga flavours (OS3, OS4, MorphOS) from CI.

New features

  • Live filter overlay for listers — View menu → "Filter..." (right-Amiga + F) opens a string gadget over the active lister's path field. Typing updates the show pattern on the fly and re-applies display rejection against already-buffered entries, so filtering is instant and skips a directory re-read. The pattern persists with the lister's format alongside Show. Name-mode listers only. New "Lister - Filter" node in the guide.
  • Hover tooltips on lister toolbar buttons — after ~0.8 s of hover a small popup lists the LMB/RMB/MMB function names bound to the button, so you can discover what each icon does without clicking through. Dismissed on click, keystroke, window move/resize, or the mouse leaving the button.

Performance

  • Pipelined icon populatelister_get_icons previously sent LISTER_SHOW_ICON with REPLY_NO_PORT, which despite the name is synchronous from an IPC task: the handle task blocked in Wait() until the lister finished drawing each icon, serialising disk I/O and draw. Switched to an async reply port (same mechanism L_IPC_ListCommand already uses) and drain replies after the loop. The handle task can now prefetch the next icon from disk while the lister finishes drawing the previous one. Largest win with plain icon.library; smaller on IconLib 46.4 + fast CPU/RTG where render is already cheap.
  • Tail-first backdrop scan — new icons are AddTail'd during populate, but lister_show_icon walked from the head, making the common path O(N) per icon and O(N2) for a drawer open. Reversed the walk (lh_TailPred / ln_Pred); common case is O(1). UAF guard still covers the window between IPC send and receive.

Platform support

  • OS4 build fixed — adjusted InputBase/UtilityBase types for the SDK, switched to cybergraphx, wrapped __stdargs exit() for m68k only, added -fcommon, dropped -lamiga for newlib, added SetRexxVar/GetRexxVar wrappers over the Rexx interface, restored newlines in aos4_ppc_libstub.c (LIBSTUB tokens were being eaten by a preceding #include), and made Format() arity conditional.
  • MorphOS build fixed — added MorphOS exit() stubs (noreturn) in library and module libinit.c, declared MathIeee*Base for diskinfo, replaced time()/localtime() in ftp_util with DateStamp()/Amiga2Date() to avoid libnix libc, stubbed libnix_mempool/ThisRequiresConstructorHandling for the ftp link under -nostartfiles, cast arrow image data to UWORD *, and downgraded GCC 14's new -Werror=incompatible-pointer-types / -Werror=int-conversion back to warnings across all makefile.mos files.
  • CI now matrix-builds os3/os4/mos in debug and release and attaches all three .lha archives to tagged releases.

Housekeeping

  • .gitignore covers the OS4/MOS/AROS bin output dirs.

Version bumped to 5.94 (PROG_REVISION, archive REVISION). LIB/CMD ABI versions unchanged — existing modules are compatible.

Full Changelog: 5.93...5.94

Loading
mibosshard and pcotter72 reacted with heart emoji
2 people reacted

5.93

20 Apr 10:29
@github-actions github-actions
44bc828
This commit was signed with the committer’s verified signature.
midwan Dimitris Panokostas
GPG key ID: 330156A68E9E0929
Verified
Learn about vigilant mode.

Choose a tag to compare

First numbered release of this fork, based on upstream mheyer32/dopus5allamigas v5.93.0. Adds a round of bug fixes (memory leaks, enforcer hits, disk-reporting), fixes a GCC 6.5.0b miscompile that crashed clock_proc, and replaces the build/release pipeline with one that attaches artifacts to tagged releases.

Only an OS3 build is attached to this release — OS4 and MorphOS builds are fixed in 5.94.

Bug fixes

  • Enforcer hits on stale lister pointersfunction_lock_paths and function_unlock_paths dereferenced node->lister after the lister window had been closed, triggering reads of freed memory at lister+0x1503 and lister+0x5E2. Both paths now validate against GUI->lister_list under the shared lock before touching the lister.
  • Disk percentage > 100% on floppies and misbehaving drives — used wrong intermediate divisions; rewritten as (used * 100) / total with a defensive 100% cap. Fixes upstream issue #7.
  • Title-bar and device-list hardening for large/bogus drives — cap Full% at 100% when id_NumBlocksUsed > id_NumBlocks, show "?" for Free/In Use in that case instead of tens-of-terabytes wrap-around, add a TB tier to BytesToString64 (legitimate multi-TB volumes show "23.5T" instead of "HUGE"), widen block counts through ULONG before promoting to UQUAD to avoid sign-extension on drives with more than 231 blocks.
  • xadopus hangs on archive drag/copy — added a 30 s LaunchCommand timeout and fixed NULL-pointer bugs in _doubleclick, _viewcommand, _copy. Module bumped to 93.
  • GCC 6.5.0b miscompile of inline library headersSysInfo.h, newicon.h, multiuser.h used the ((fn*)(base - LVO))(base) idiom with register __asm("a6"); GCC 6.5.0b (amigadev/crosstools) emitted jsr +LVO(a6) instead of jsr -LVO(a6), jumping into garbage and crashing with 80000004 on the first SysInfo.library call from clock_proc. Rewritten with LP0/LP1/... macros from <inline/macros.h>, whose inline asm hardcodes the minus sign and is immune to the miscompile. NO_INLINE_STDARG varargs helpers preserved.

Memory / resource leaks

Leaks ported from Hagbard-Celin/galileo:

  • launcher.cDeleteMsgPort(reply_port) on launcher_proc exit
  • rexx_handler.cClearRexxMsg before DeleteRexxMsg; reply port leak on sync path
  • callback_main.c — free rm_Result2 argstring in HookRexxCommand
  • fileclass_editor.c — free result argstring + ClearRexxMsg in classed_send_rexx
  • desktop_drop.cUnLock(CurrentDir(old)) in desktop_drop_on_object
  • event_loop.c — remove stray break that skipped ReplyAppMessage
  • function_launch.c — free partial allocations on failure in function_new_handle
  • themes.c — unified cleanup path in save_theme, handles CreateMsgPort failure

Additional leaks found by audit:

  • config_open.cL_OpenButtonBank bailed via return NULL on convert_button_window failure, leaking the IFF handle and buttons-drawer Lock and leaving CurrentDir pointing at a freed lock. Now uses a unified cleanup path.
  • filetype.ccreator_gui created data->app_port but never called DeleteMsgPort before FreeVec(data); leaked one port per invocation.
  • ftp_main.c — if rexport CreateMsgPort succeeded but nfyport failed, AddPort(rexport) was skipped yet cleanup unconditionally called RemPort(rexport) on the un-Added port (undefined behaviour). Split so AddPort pairs with the always-run cleanup.
  • function_filechange.calloc_filechange leaked the AllocMemH'd FileChange block if AllocDosObject(DOS_FIB) failed.

Other fixes ported from Hagbard-Celin/galileo:

  • launcher.cDupLock/UnLock around CurrentDir swap so a Project-icon launch does not clobber the WBArg lock when the default tool has no path.
  • backdrop.c — replace BOOL only_icon with ULONG mode (BTRM_WINDOW|BTRM_NOBORDER|BTRM_ICON) in backdrop_test_rmb so the group-window popup uses the WhichLayer result instead of a naive bounds check, preventing popups firing through overlapping windows.
  • filetypes_proc.c — skip GetFileVersion for directories.

Build / CI

  • OS3 build switched to sacredbanana/amiga-compiler (NDK 3.2 headers; still GCC 6.5.0b). Matrix-builds debug and release from one job, concurrency group cancels superseded runs, workflow_dispatch trigger added, upload step now fails if no archive is produced instead of silently succeeding.
  • Automated tagged releases via ncipollo/release-action. Release job accepts numeric tags like 5.93 in addition to v*, and matches the version-suffixed archive produced by the makefile (the hardcoded Dopus5_os3.zip never existed, so earlier tags attached no artifact).
  • Pack releases with lha instead of zip — AmigaOS unzip does not restore the e protection flag, so binaries extracted from the CI zip were not executable. lha is already in the compiler image; executables are chmod +x'd before packing so Amiga LHA maps the permission back to e on extract.
  • Stub creal/cimag in math_replace.h — release build (-Os -flto) pulled libm020/libm.a(cexp.o) via LTO during the diskinfo.module link; sacredbanana's libm is missing these symbols. Diskinfo never calls cexp; minimal implementations via GCC __real__/__imag__ satisfy the linker without affecting behaviour.
  • Bump CI actions off Node 20: checkout v4 → v6, upload-artifact v4 → v7.

Other

  • Copyright year updated to 2026.
  • Non-ASCII character fix.
  • Internal docs mapping module discovery/identification, module entry points and execution protocol, and the EXTCMD_* callback system (not user-visible; for future maintainers).

PROG_REVISION bumped to 93. LIB/CMD ABI versions unchanged.

Full Changelog: https://github.com/midwan/dopus5allamigas/commits/5.93

Loading

AltStyle によって変換されたページ (->オリジナル) /