Repository navigation
Releases
Releases · Phorepoc/proteus
v0.10.1
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...
v0.10.0
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
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
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
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
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
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
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
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
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