Skip to content

Releases

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 14 Nov 16:20

What changed

Since v0.10.0.

pdk

Features

  • sis: ROM stubs for image components released as a SIS, and the ROM-upgrade flag (72d8732)
  • zdata: generate the About notices from each repository's NOTICE and LICENSES (7253bd0)
  • mif: no_mifs, the icon targets of a registered group whose binary the image does not ship (ebc7624)
  • rom: NGA images on x86: the surface manager device, the phecomp option, CPU composition (cd39263)
  • rom: PHECOMP=2 -- phecomp compose mode (CHANGETRACKING + PHECOMPTILE, default Calculator and Notes) (9a11612)
  • package: fail a package build on link stubs in its images (2ec1c45)
  • make_sis: --run-on-install, an installed executable the installer also runs when the install is done (af11bd2)

Fixes

  • stub-audit: schemedispatcher's HttpHandler.cpp is our own implementation of the release's handler (D16) (a3a23a4)
  • sis: rom_stubs.py imports paths first (the registry's path) (28ac468)
  • zdata: keep a NOTICE list item's indented continuation in one paragraph (33cf3db)
  • casefix: no bare-name links into STLport's internal stl/ folder (features.h hid glibc's in the x32 Qt build) (4ef380a)
  • sis: make_sis skips static libraries among the keys (built for the package's executables, nothing to install) (f6028f9)
  • sis: the package's UID and caps from its first component with an image (3248e0f)
  • stub-allow: libpthread's lock-free key copies (6986aff)
  • stub-allow: the generated charconv plug-ins (D19) and three patched copies (84377b7)
  • stub-allow: orientationssy's SsyChannel.cpp is core's patched copy (D1) (9ef2b6e)
  • stub-allow: wserv_nga's scrdev.cpp is core's patched copy (D1, phecompat's per-app rotation) (18d5b5c)
  • ci: board-setup checks a repo out once when the list names it twice (core broke GITHUB_OUTPUT) (ddaecdc)

Other changes

  • phe: regenerate the command reference (8d98512)
  • relicense Phorepoc code to AGPL-3.0-only with a build output exception and section 7 terms (aab343b)

core

Features

  • settings: Screen orientation in the Control Panel (Automatic / Portrait / Landscape) (300b3bb)
  • settings: default browser -- links open in the browser the user picks (1536b42)
  • phebrowser: the browser frontend as an installable SIS (arm, x32) (f3aa4cb)
  • about: Phorepoc legal texts, notice files from Z: and C:, and the Control Panel entry (c7bdef8)
  • about: list About in the launcher's Applications folder too (848a107)
  • registry: Control Panel entries for date and time, profiles, security and the app settings (d89d7b5)
  • charconv: the cnvtool-generated plug-ins (67c5a8c)
  • phecomp: the window compositor's first render stage: a trace of the window tree (0a797c7)
  • phecomp: compose mode -- each window group into its own off-screen target, composed back to front, two apps tiled (00b6835)
  • phecomp: pointer mapping, click-to-focus, tile drag, stale-pixel clearing, targets only for shown groups (515c744)
  • phecomp: overlays above the tiles, compose only what changed (3338f77)
  • s4: calist and the target hbbincssmaker, the two S^4 components of ours the registry names (ab1b2f8)
  • loader: name the refused image and the failing check when efile is built with TRACE_CHECK_FAILURES (3a54cb9)
  • pheorientssy: an orientation sensor channel from the screen orientation choice (d427756)
  • hb: build Hb's stock device dialog plug-ins (781ced2)
  • hsw: build the release's profiles and silent homescreen widgets (f2a3f98)
  • wserv: phecompat, a per-app screen-mode rotation and minimum touch hold from a profile repository (f8a8242)
  • config: the phecompat profile repository, empty (0xE7016E00; written by the phecompat package) (842f076)

Fixes

  • settings: Screen orientation decides by the current screen mode's shape (0a2d01f)
  • swi: the install server rebuilds its ROM SID cache when the ROM changes (sw.txt kept beside it) (7982bce)
  • settings: the UI shell item shows with a single shell too (915f4ef)
  • settings: Default browser sorts right after Screen orientation; the UI shell item keeps its place (e04b2bb)
  • settings: gsphbrowser includes apparc's service-info header (54fafeb)
  • settings: gsphbrowser stores the choice with InsertDataMapping (apparc's call for it) (88f108a)
  • openvg: rotated quarter-turn drawImage and image-to-image blits off the per-pixel pipe (a955ae4)
  • filemanager: no WSERV background on the list container (dc138c7)
  • bsengine: ship bs_config.xml, the back-stepping configuration its bld.inf exports (5511bc7)
  • openvg: reuse the upload staging buffer; per-draw timers only in timing builds (2d8fd51)
  • libpthread: pthread_getspecific without locks (5813025)
  • phebrowser: no WSERV background on the view window (dad3380)
  • phecomp: tiles are drawn above the other groups (ad7ff47)
  • wserv: window shapes on NGA (RWindowBase::SetShape) (781ce4d)
  • phorepoc-s4: fetch FreeType 2.3.9 for the host Qt in the container (the port dropped the host-side download) (5e6105e)
  • qt48: configure the host Qt without ICU (libicu-dev in the toolchain image turned it on; its headers need C++11) (f686561)
  • shims: hs_board, the homescreen launcher's repository and the clock CenRep keys header the S^4 registry names (595a763)
  • phorepoc-s4: extract the Engl...
Read more

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 17:50

What changed

Since v0.9.2.

pdk

Fixes

  • ci: a component that still fails after the relink passes fails the board build (9caddfc)
  • ci: a bulk component build that exits non-zero without naming a component fails the board build too (6a795be)
  • ci: a non-zero bulk exit that names no failed component is a warning, not a failure (d58d3d6)
  • emitter: a target with no sources and no .def is skipped (exit 0); a missing archive is a LINK FAIL (3ec97d5)
  • ci: a non-zero bulk exit that names no failed component fails the board build again (48d51ce)
  • phonelab: skip a repeated file-reply end frame, and retry a lost fs_write chunk (29f0783)

Other changes

  • ci: two comments no longer name a board release (layering) (a56608e)

core

Fixes

  • swi: the install server hashes each extracted file with 64 KB reads (ce355ea)
  • phebrowser: pass data:, about: and javascript: URLs to the engine as typed (2b21763)

cxxrt

Fixes

  • phcompat: report a failed allocation to the engine's shim (weak ph_oom_report) (f1c9ccc)

proteus

Features

  • per-app settings (c:\proteus\apps<exe>.cfg, cpu interp|jit) and the settings app pheproteus in proteus.sis (5b580f3)

Fixes

  • pheproteus: app entries fit an RArray (USER 129); list an app by the EXE the loader starts (\sys\bin search) (dd95099)
  • stage: drop the base disk's SWI SID cache (made under another ROM, it refused proteus.sis) (16e09f3)

Built from (repository commit)

pdk 29f0783ad491544b42cbc16c0d49c4cf396498f6
core 2b217636ccdd720e005d3cbcf5836cc1593a50e1
cxxrt f1c9ccc1351fc2e892587cd18eab65430212dd24
proteus 16e09f3f7bce8ae1e9244d5893d8590bfc62c3aa

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 12 Nov 05:28

What changed

Since v0.9.1.

pdk

Other changes

  • stub-audit: list avkon's discreet-popup fix copy (D1, core 4605bf3) (fed53c3)

core

Fixes

  • avkon: discreet popup touches nothing after reporting EEventRequestExit (akncapserver deletes it there) (4605bf3)

proteus

Fixes

  • bridge: build one guest thread's translator at a time; 64 code chunks (bc09d2b)

Built from (repository commit)

pdk fed53c3c5372cf8678949add1ba1c1ce4d5e3316
core 4605bf3bdbcf2da3c4101328bb6a8c1759f1d43a
cxxrt 433ce6766a75a62b03bcf6d1ffbc23b7a5594fa4
proteus bc09d2b9b3d6076fb25512b1c77c6179d5862b7d

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 01:29

What changed

Since v0.9.0.

core

Fixes

  • phebrowser: send a page field's Enter as EKeyEnter so WebKit submits the form (371b678)

proteus

Fixes

  • bridge: RLibrary::Lookup on a guest library handle from any guest thread (f6baba6)

Built from (repository commit)

pdk e3b4d8d29efd2578d715d4b71936179845b83a69
core 371b678be43483232b571261d92e61c384f01269
cxxrt 433ce6766a75a62b03bcf6d1ffbc23b7a5594fa4
proteus f6baba6c4393b7d5ce481e30421f110aa1d178fe

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 00:06

What changed

Since v0.8.0.

pdk

Fixes

  • phlink: type_chars defaults to PureKeycode + Ctrl, which the FEP passes as typed (digits and # too) (e3b4d8d)

core

Fixes

  • phebrowser: draw the password mask in the bar in its own field and ink colours (c7e50c5)
  • phebrowser: close a page field's editor when the page starts a new load (b9661bf)

proteus

Features

  • proteus: native euser/efsrv/libc/libpthread by default: proteus.sis installs bridge.cfg, closures skip them (70606f2)
  • bridge: bridge.cfg 'arm ' / 'arm all' takes a DLL back to its staged ARM copy (11b53c5)

Fixes

  • bridge: per-row kinds made once, no heap switch for rows that cannot allocate; bridge.cfg profile (761873e)
  • proteus_closure: stage the compiler run-time DLLs for every app (run-time modules import dfpaeabi) (34b3b5e)
  • bridge: the struct-return probe reads r0/r1 only when they can be objects (an integer argument faulted) (52ff4f6)
  • bridge: skip the allocator switch only for libc functions that cannot allocate (malloc is User::Alloc) (7011cc4)
  • closure: stage libssl and libcrypto for PyS60 (kf__ssl.pyd loads them at run time) (e2da32d)
  • bridge: give guest-created native threads a 256 KB host stack (the JIT runs on it) (014b6db)
  • bridge: adopt the guest's window-server session on the native-euser path (EGL window surfaces) (6288cb6)
  • bridge: run the MMF controller thread natively on the native-euser path (aa60782)

Built from (repository commit)

pdk e3b4d8d29efd2578d715d4b71936179845b83a69
core b9661bf5a3001ccedc7ee8e8d9b6a4ad6d844c30
cxxrt 433ce6766a75a62b03bcf6d1ffbc23b7a5594fa4
proteus aa6078282aead995ec08ad93bb7ca9675f408b2f

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 12:07

What changed

Since v0.7.0.

pdk

Features

  • phonelab: type_chars types text as character key events through the window server (phfs op 14) (4f25355)

Fixes

  • phonelab: type_chars sends a modifiers word (default EModifierPureKeycode, which carries '!' past the FEP) (ed5e6ac)

Other changes

  • phonelab: type_chars comment matches what passes the FEP (15ff3f5)

proteus

Features

  • bridge: patch the ARM vtable of 'this' for native members of polymorphic classes (CBufSeg/CBufFlat) (0bbdabc)

Built from (repository commit)

pdk 15ff3f5b5dbd56ad137cfe2a295b52da38940a90
core 81c37cbe2ca22f7d64a4a04c9352341e5dd4cb4e
cxxrt 433ce6766a75a62b03bcf6d1ffbc23b7a5594fa4
proteus 0bbdabcbae74f3530865232ccc5e1c04cb6ea87e

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 11:32

What changed

Since v0.6.0.

pdk

Features

  • rom: device.txt states the image -- core= (core commit UTC time, YYYY.MM.DD.HHMMSS) and image= (the release) (6924a8d)

core

Fixes

  • phebrowser: the password text buffer holds the secret editor's maximum (GetText panicked EIKCTL 13) (81c37cb)

proteus

Features

  • bridge: bridge.cfg trace and traceonload ; name a guest library handle reaching native code (04bdada)

Fixes

  • bridge: define the libc handlers in proteus, not proteus::proteus (they linked to unimpl stubs) (18fe9b5)
  • bridge: RLibrary::FileName and Type of a guest library handle (native euser panicked KERN-EXEC 0) (4504d6f)
  • bridge: RLibrary::FileName took the Type branch (wrong name index) (5c53ed9)

Other changes

  • bridge: layoutcheck covers Open C: the types libc/libpthread exports name, records and sizeof/alignof (abe1340)

Built from (repository commit)

pdk 6924a8d41113d360cc750d5f8ffea44a6dfa671a
core 81c37cbe2ca22f7d64a4a04c9352341e5dd4cb4e
cxxrt 433ce6766a75a62b03bcf6d1ffbc23b7a5594fa4
proteus 5c53ed977b672e6975150d450f137ba8405186ed

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 09:45

What changed

Since v0.5.1.

pdk

Features

  • ci: index-refresh action starts the Catalogue index publish after a release (INDEX_DISPATCH_TOKEN) (06c6f7a)

core

Fixes

  • phebrowser: a tap from a page field to the next reaches the page; password fields edit in a secret editor (5777777)
  • loader: a process run by a CPU handler carries the foreign program's UIDs; a handler process its own image's (aaf5f43)

proteus

Features

  • bridge: Open C libc and libpthread tables (symabi dump, overrides, generated rows, table test) (77eedad)

Fixes

  • bridge: struct-return probe reads only vtables in the callee's image; libc/libpthread run natively (cf463fa)

Other changes

  • bridge: bridge.cfg traceheap traces only the allocator rows and native virtual calls (106c805)
  • bridge: bridge.cfg watch logs every change of a guest word at the bridged calls (c2c7d3e)

Built from (repository commit)

pdk 06c6f7a5d7d75e93580280373bca5667922995aa
core aaf5f43f5f5ceebadc6866fcdb96c1b6346ce112
cxxrt 433ce6766a75a62b03bcf6d1ffbc23b7a5594fa4
proteus cf463fa3a1e5d8dbc3f44d1b52682cefe040b9fc

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 11 Nov 07:05

What changed

Since v0.5.0.

core

Fixes

  • hal: the x32 HAL census compiles the board's own board/hal/*.cpp handlers (PC boardhal.cpp) (e4e60ee)

proteus

Fixes

  • bridge: keep Proteus on its own heap while the guest switches allocators; native code runs on the guest's (b4a7f9a)
  • bridge: RHandleBase::Duplicate of a guest library handle stays in the guest (libdl's dlopen) (48deb0c)
  • bridge: reverse stubs generated at run time, 256 per code block, hashed; cpuhandler_arm.exe 6.20 -> 3.88 MB (0691751)

Other changes

  • bridge: trace shows two stack arguments and the result of every bridged call (5ac34ca)

Built from (repository commit)

pdk f5367ad8259e62b2a5ecf871e9a09c40d7234929
core e4e60ee3f5cd1caef62f8d9c6b1117776e282c70
cxxrt 433ce6766a75a62b03bcf6d1ffbc23b7a5594fa4
proteus 5ac34ca315e56728254f0500437abc3a043729cc

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 06:09

What changed

Since v0.4.4.

pdk

Fixes

  • board-lock: no self-pin for the board repository; the base check skips it (f5367ad)

proteus

Features

  • bridge: audit table of the process/thread self-queries; RProcess::ExeExportData answers for the program (fef033d)

Fixes

  • proteus: name the handler process after the ARM program, so every name query answers for it (8a0bbf3)
  • bridge: ntcall is clang's canPassInRegisters; the TBuf bases return in rax:rdx, checked against x32 (c5c15e9)
  • bridge: User::CommandLine reads the native line into a buffer of its own length before removing the path (4fd6149)
  • proteus: remember the DLLs with no ARM file and check a native DLL's CPU from its header only (6542859)
  • bridge: 4096 reverse stubs per kind, filled by a log-depth template (cf87339)

Built from (repository commit)

pdk f5367ad8259e62b2a5ecf871e9a09c40d7234929
core 33e122b8ad5b25069fd31ad46a4912bafc839498
cxxrt 433ce6766a75a62b03bcf6d1ffbc23b7a5594fa4
proteus cf873392bf83a03515fd99b859510149a3d08e7d