Skip to content

Releases: GowangInc/PacePaper

PacePaper 0.1.0-demo.13

Pre-release

Choose a tag to compare

@GowangInc GowangInc released this 10 Sep 03:45

PacePaper 0.1.0-demo.13 release notes

Watch candidate work live during a sitting.

What is new since 0.1.0-demo.12

  • Watch work. While a sitting is live, its session row on the dashboard offers Watch work. The teacher picks a candidate and reads their paper as it is being written: current answers, choice selections, drawing pages, flags, and the candidate's notepad — read-only, in the same layout used for reviewing a finished paper.
  • It follows the candidate. The view refreshes as candidates save, so progress is visible without walking the room or making anyone stop. Each candidate row shows their candidate code, how many questions they have answered, and when they last saved.
  • Candidates are told. The candidate sign-in screen and the waiting room both state that the teacher can see their work during a sitting — answers, drawings, notes, and flagged questions — and that this covers PacePaper only, not the rest of their computer. There is no hidden monitoring, and nothing on the candidate's screen changes while a teacher is watching.
  • Read-only, and only the teacher. Watching cannot change a candidate's paper, cannot submit, and is not visible to the candidate. It reuses the existing teacher-only response endpoint; no new student endpoint, no new storage, and no schema change.
  • Everything from 0.1.0-demo.12 remains: the candidate rehearsal preview, the classroom address chosen from a physical network adapter, the descriptive per-view tab titles, and the single generic Sample paper.

Verification

  • 310 automated tests pass across 45 files, TypeScript checking is clean. The session action model test covers the new Watch work action for a live sitting.
  • The live view was exercised end to end in a real browser against a running installation with a started sitting and a signed-in candidate: the dashboard offered Watch work on the live row, the dialog opened with the candidate listed as "1 of 34 answered", and after a fresh candidate save the view updated on its own to "2 of 34 answered" and showed the new answer text and notepad — with no action in the candidate's browser and no signal to the candidate.
  • The candidate notice was read back from the running application on both surfaces it appears: the sign-in screen and the waiting room.
  • The screenshot in the README and the guide was captured from the running application at the same size as the other documentation images.
  • Linux native startup smoke is run on the published tarball (see the release page); a Windows native smoke is still not possible from this fleet — the Windows bundle is exercised through the shared code path only.

Honest limits of the live view

  • It shows what a candidate has saved. The candidate screen saves about a second after typing stops, so the newest keystrokes can lag, and unsaved work in a browser that closes mid-question is never seen.
  • A candidate whose browser is offline, closed, or crashed simply stops updating: the view keeps their last saved work and its timestamp. Treat a stalled view as "no new saves", not as evidence of what the candidate is doing.
  • It cannot show anything outside PacePaper — not other tabs, other applications, or the screen itself. That would require software on the candidate's computer, which this product deliberately does not install and which Safe Exam Browser or a managed kiosk already prevents.
  • Focus-loss alerts remain the separate, best-effort signal for a candidate leaving the exam window.

Important boundaries

  • PacePaper is practice and familiarisation software. It is not an official examination-delivery system and is not affiliated with or endorsed by the International Baccalaureate, Cambridge University Press & Assessment, Pearson, College Board, or any awarding body.
  • A candidate preview and a live view are teacher-facing aids, not marking: PacePaper still does not mark or grade responses.
  • Classroom sharing uses ordinary HTTP on the local network; class codes and responses are not encrypted in transit. Use fake candidates and non-sensitive practice content.
  • Students must be on the same network as the teacher's computer, and the teacher should confirm the displayed address matches the network students use. Guest networks that isolate clients, a phone VPN, or a different subnet will show "site can't be reached" independently of this app.
  • Video stimulus requires network access at exam time unless the file is hosted on the local network. A packaged release ships exactly one generic Sample paper; no video sample is bundled.
  • Live timing corrections remain limited to simple reading/writing papers; fixed multi-phase schedules and ended exams stay read-only.
  • The product retains its demo-era storage identifiers (environment variables, database file names, and the .digitaldp-paper portable format) so existing data and papers keep working across upgrades.

PacePaper 0.1.0-demo.12

Pre-release

Choose a tag to compare

@GowangInc GowangInc released this 10 Sep 03:01

PacePaper 0.1.0-demo.12 release notes

Rehearse any paper as a student before the lesson.

What is new since 0.1.0-demo.11

  • Preview as student. Every paper in the Paper library now has a Preview as student action. It opens the real candidate interface in a new tab — the same reader, questions, tools, phase banner, timer, and audio player a candidate gets — so a teacher can check what the class will actually see instead of reading the paper's settings.
  • The preview uses the paper's own timings. Reading time, phase changes, locked sections, calculator and tool rules, and the final-submission window behave exactly as they will in the sitting. A teacher can therefore confirm that a long paper flows correctly before a lesson, not during one.
  • Nothing is recorded. The preview saves no answers, submits nothing, counts no audio listens, and creates no class, session, or response. There is no cleanup afterwards, and the dashboard, clock, and focus alerts are unaffected.
  • The preview is teacher-only. It requires the teacher session, so the link does not expose a paper to a student who happens to guess the address. Opening it without a signed-in teacher explains that sign-in is needed and links to the dashboard.
  • Audio previews work. A listening paper plays in the preview with the same two-listen limit the class gets, counted in that tab, so a rehearsal never spends a candidate's listens. Reloading the preview tab starts a fresh rehearsal.

Verification

  • 310 automated tests pass across 45 files, TypeScript checking is clean. The new app-level test boots the packaged application, signs in as the teacher, and checks that the preview endpoint refuses an unauthenticated request, rejects an unknown paper, returns the candidate state for a real paper, and leaves the database with zero exam sessions and zero responses.
  • The preview was exercised in a real browser against a running installation: the candidate interface rendered 34 question cards from the bundled Sample paper and 4 from an imported listening paper, the preview banner and Preview · responses are not saved status were present, typed answers produced no student API request, audio played to the listening phase without a server ticket, and final submission reported that nothing is submitted without opening the confirmation dialog.
  • The database was checked directly after that browser session: zero rows in responses, exam_sessions, and student_focus_events.
  • The preview's listen counting is covered by its own tests: two listens are counted, a third cannot buy another, recordings are counted separately, and every other endpoint is left to the real API. This is tested at the counter rather than through playback because a headless browser has no audio output: playback starts and the player reports "first listen in progress", but the recording never reaches its end in that environment.
  • The screenshots in the README and the user guide were captured from the running application, at the same size as the existing documentation images.
  • Linux native startup smoke is run on the published tarball (see the release page); a Windows native smoke is still not possible from this fleet — the Windows bundle is exercised through the shared code path only.

Important boundaries

  • A preview is not a marked or stored sitting. It proves what candidates see; it does not produce a response, a mark, or an audit trail.
  • A preview's own clock and listen counts live in that browser tab: reloading it starts the rehearsal again, and nothing about the tab appears on the dashboard or the clock.
  • PacePaper is practice and familiarisation software. It is not an official examination-delivery system and is not affiliated with or endorsed by the International Baccalaureate, Cambridge University Press & Assessment, Pearson, College Board, or any awarding body.
  • Classroom sharing uses ordinary HTTP on the local network; class codes and responses are not encrypted in transit. Use fake candidates and non-sensitive practice content.
  • Students must be on the same network as the teacher's computer, and the teacher should confirm the displayed address matches the network students use. Guest networks that isolate clients, a phone VPN, or a different subnet will show "site can't be reached" independently of this app.
  • Video stimulus requires network access at exam time unless the file is hosted on the local network. A packaged release ships exactly one generic Sample paper; no video sample is bundled.
  • Live timing corrections remain limited to simple reading/writing papers; fixed multi-phase schedules and ended exams stay read-only.
  • The product retains its demo-era storage identifiers (environment variables, database file names, and the .digitaldp-paper portable format) so existing data and papers keep working across upgrades.

PacePaper 0.1.0-demo.11

Pre-release

Choose a tag to compare

@GowangInc GowangInc released this 10 Sep 01:59

PacePaper 0.1.0-demo.11 release notes

Chooses the classroom address from a real network adapter, not a container bridge.

What is new since 0.1.0-demo.10

  • The default classroom address is now a physical interface. Private addresses belong to bridge, container, and tunnel adapters too. On a machine running Docker the first private address was often 172.17.x/172.18.x from docker0, and Windows lists Hyper-V and WSL adapters the same way. Those adapters are usually unreachable from a student device, so the app now offers physical network interfaces first and lists virtual adapters after them.
  • Nothing was removed. Every detected private address is still shown in the Classroom sharing panel, so a teacher who really does serve students from a virtual adapter can select it deliberately; it is simply no longer chosen automatically.
  • Everything from 0.1.0-demo.10 remains. Classroom sharing is active at launch, students open the bare classroom address (it redirects to candidate sign-in), each view names itself in the browser tab, and the teacher-facing worked marking guides are gone.

Verification

  • 305 automated tests across 45 files pass; TypeScript checking is clean.
  • Interface ordering is covered by unit tests: a physical adapter is offered before docker0, br-*, and utun* adapters, and the same ordering drives the automatic first-run choice.
  • The ordering was checked against a real Linux host that runs Docker: its private addresses are 192.168.0.103 (physical) plus 172.17.0.1, 172.18.0.1, and 172.19.0.1 (bridges), and the default is now the physical address.
  • A startup check boots the packaged app and asserts, before any teacher action, that the student address reported at launch is served with HTTP 200 over the private network address, that the dashboard advertises that same address, and that a restart with the saved address serves it again.
  • Linux native startup smoke is run on the published tarball (see the release page); a Windows native smoke is still not possible from this fleet — the Windows bundle is exercised through the shared code path only.

Important boundaries

  • PacePaper is practice and familiarisation software. It is not an official examination-delivery system and is not affiliated with or endorsed by the International Baccalaureate, Cambridge University Press & Assessment, Pearson, College Board, or any awarding body.
  • Classroom sharing uses ordinary HTTP on the local network; class codes and responses are not encrypted in transit. Use fake candidates and non-sensitive practice content.
  • Sharing is a default, not a lock: a teacher who chooses This computer only gets exactly that until the next launch.
  • Students must be on the same network as the teacher's computer, and the teacher should confirm the displayed address matches the network students use. Guest networks that isolate clients, a phone VPN, or a different subnet will show "site can't be reached" independently of this app.
  • Video stimulus requires network access at exam time unless the file is hosted on the local network. A packaged release ships exactly one generic Sample paper; no video sample is bundled.
  • Live timing corrections remain limited to simple reading/writing papers; fixed multi-phase schedules and ended exams stay read-only.
  • The product retains its demo-era storage identifiers (environment variables, database file names, and the .digitaldp-paper portable format) so existing data and papers keep working across upgrades.

PacePaper 0.1.0-demo.10

Pre-release

Choose a tag to compare

@GowangInc GowangInc released this 10 Sep 01:48

PacePaper 0.1.0-demo.10 release notes

Classroom sharing is active from launch, so student devices join on the first try instead of waiting for a dashboard click.

What is new since 0.1.0-demo.9

  • Classroom sharing is on by default. A packaged PacePaper now activates the classroom network as it starts. The address saved last time is reused, and a fresh installation chooses and saves the machine's first private network address. Students on the same network can open the shown address immediately; the teacher no longer has to enable sharing for each sitting.
  • The advertised address is the accepted address. Previously the dashboard displayed a private-network student address while the server rejected every non-loopback request until sharing was enabled, so students saw {"error":"Misdirected request"}. The address shown on the dashboard, the address printed at startup, and the address the server accepts now come from one value.
  • Teachers still control sharing. The Classroom sharing panel switches to another detected address or to This computer only for the current sitting; the panel can no longer be changed while an examination is live.
  • Documentation corrected. The README and the illustrated user guide no longer describe the old "starts in This computer only every launch" behaviour; both now describe sharing at launch and what the panel is for.
  • Clearer browser tabs. Each view names itself in the tab: Teacher dashboard, Exam clock, Candidate sign-in, and Exam in progress, instead of one vague title everywhere.
  • The student address is now the bare classroom address. The dashboard and the projected exam clock show http://<classroom-address>:<port> without the /student suffix, since opening the address goes straight to candidate sign-in. Students type less; the /student path keeps working.
  • Worked marking guides removed. The teacher-facing Mock marking guides pages are gone: the sidebar link, the /mock-guides route, and the generated docs/mock-marking/index.html index. Practice papers ship without answers or point allocations, since teachers are expected to know the tasks they set. Paper files never contained these notes, so existing papers and exports are unaffected; the app still does not mark or grade responses.

Verification

  • 303 automated tests across 44 files pass; TypeScript checking is clean.
  • A startup check boots the packaged app and asserts, before any teacher action, that the student address reported at launch is served with HTTP 200 over the private network address, that the dashboard advertises that same address, and that a restart with the saved address serves it again. It also asserts a teacher can still switch sharing off for the sitting.
  • The same flow was verified manually on a real private network address, including the student join API answering normally (rather than being refused) from a non-loopback client.
  • Linux native startup smoke is run on the published tarball (see the release page); a Windows native smoke is still not possible from this fleet — the Windows bundle is exercised through the shared code path only.

Important boundaries

  • PacePaper is practice and familiarisation software. It is not an official examination-delivery system and is not affiliated with or endorsed by the International Baccalaureate, Cambridge University Press & Assessment, Pearson, College Board, or any awarding body.
  • Classroom sharing uses ordinary HTTP on the local network; class codes and responses are not encrypted in transit. Use fake candidates and non-sensitive practice content.
  • Sharing is a default, not a lock: a teacher who chooses This computer only gets exactly that until the next launch.
  • Students must be on the same network as the teacher's computer. Guest networks that isolate clients, a phone VPN, or a different subnet will show "site can't be reached" independently of this app.
  • Video stimulus requires network access at exam time unless the file is hosted on the local network. A packaged release ships exactly one generic Sample paper; no video sample is bundled.
  • Live timing corrections remain limited to simple reading/writing papers; fixed multi-phase schedules and ended exams stay read-only.
  • The product retains its demo-era storage identifiers (environment variables, database file names, and the .digitaldp-paper portable format) so existing data and papers keep working across upgrades.

PacePaper 0.1.0-demo.9

Pre-release

Choose a tag to compare

@GowangInc GowangInc released this 09 Sep 15:51

PacePaper 0.1.0-demo.9 release notes

First downloadable build to carry the post-demo.8 feature set, plus two new candidate-facing capabilities.

What is new since 0.1.0-demo.8

  • Teacher password Settings. The dashboard has a Settings section: change the saved teacher password (current password required, new password at least 10 characters). Changing it signs every teacher device out, and the saved password persists across restarts. Fresh installs still start with admin / admin.
  • Independent light/dark themes. The teacher top bar, the student waiting screens, and the candidate exam toolbar each offer a light/dark toggle. Teacher and student choices are stored separately per device and default to the operating-system preference. Printed output always uses the light palette.
  • IB MYP eAssessment exam system. The Paper Builder gains an IB MYP eAssessment option (six subject groups, an On-screen level, May/November sessions), alongside IB DP, Cambridge IGCSE Mathematics 0580, Pearson Edexcel International GCSE Mathematics A, selected 2027 AP formats, and school-custom practice. MYP-style papers are adapted practice, not official papers.
  • Video and YouTube stimulus material. Paste a video link as a shared paper material or attach one to an individual question. Candidates see an embedded player: YouTube links play via youtube-nocookie.com, and direct https video URLs stream inline. Links are validated structurally at import. Streaming requires internet access at exam time unless the video is hosted on the school network.
  • Full-screen suggestion on the candidate exam. One click enters browser full screen; the suggestion returns if full screen exits, and an explicit dismissal is remembered for the sitting. It is a harmless no-op in Safe Exam Browser or managed-kiosk environments that already run full screen.
  • Paper Builder drafts remember video links. The shared video URL and per-question video links survive draft save/restore like every other builder field.
  • Documentation overhaul. The README now walks the whole workflow with fresh PacePaper-branded screenshots (including a live focus alert and a filled writing-time response area), and the user guide was corrected and updated: current exam systems, the Settings password flow, appearance toggles, focus alerts, and accurate scoping of what ships in a release versus the development course library.
  • Open source. The repository is public under the MIT License; the PacePaper name and icon artwork are excluded from the grant (see the LICENSE notice).

Verification

  • 296 automated tests across 43 files pass; TypeScript checking is clean.
  • The MYP + video pipeline was exercised end to end in a real browser: import a prepared MYP package with a YouTube link, start a live session, and confirm the candidate view renders the youtube-nocookie embed.
  • The full-screen flow was exercised in a real browser: entering the exam shows the suggestion, the button enters full screen, exiting re-shows it, and dismissal persists across a reload.
  • The password change flow, restart persistence, and per-role theme independence were verified in prior browser regression runs on this source.
  • Linux native startup smoke is run on the published tarball (see the release page); a Windows native smoke is still not possible from this fleet — the Windows bundle is exercised through the shared code path only.

Important boundaries

  • PacePaper is practice and familiarisation software. It is not an official examination-delivery system and is not affiliated with or endorsed by the International Baccalaureate, Cambridge University Press & Assessment, Pearson, College Board, or any awarding body.
  • MYP eAssessment papers built from this profile are adapted practice format rehearsal, not official eAssessments; teachers should moderate every paper before classroom use.
  • Video stimulus requires network access at exam time unless the file is hosted on the local network. A packaged release ships exactly one generic Sample paper; no video sample is bundled.
  • Live timing corrections remain limited to simple reading/writing papers; fixed multi-phase schedules and ended exams stay read-only.
  • The product retains its demo-era storage identifiers (environment variables, database file names, and the .digitaldp-paper portable format) so existing data and papers keep working across upgrades.

PacePaper 0.1.0-demo.8

Pre-release

Choose a tag to compare

@GowangInc GowangInc released this 09 Sep 13:28

PacePaper 0.1.0-demo.8 — Windows/Linux practice demo

This is the first release under the PacePaper name. It ships a new linework icon and one generic Sample paper with no subject, level, or IB branding, so anyone can try the full exam workflow before building their own. The demo.7 timing and focus features remain: a teacher can change reading or writing minutes on the examination clock while an exam is live, and the dashboard raises a visible notification when a candidate leaves the exam window.

Downloads and update instructions

  • Windows x64: extract the complete ZIP, then open PacePaper.exe.
  • Linux x64 (glibc): extract the archive, then run PacePaper.
  • macOS: no Mac app is included in this release. Apple Developer ID signing and notarization credentials are not configured. Use the source with Start PacePaper.command or bun run start:app after the one-time Bun setup.
  • The illustrated HTML guide, text guide, these release notes, and SHA-256 checksums accompany the executables. This is a portable demo, not an installer or automatic updater. Windows may display a warning because the executable is not publisher-signed.

Before replacing an older app, finish all exams, stop PacePaper, and back up its complete data folder using the guide. Replace the executable, not the data folder. Restart the app and refresh all browser pages to use the new code.

What changed

  • PacePaper name and icon. The product and its downloads are branded PacePaper, with a new flat linework icon: a navy tile holding an ivory paper sheet and a rising beat-arc with teal beats and a vermilion finish. The macOS bundle and Windows executable carry the icon; the Linux archive includes the matching PNG.
  • Generic Sample paper. A fresh installation now seeds one Sample paper instead of an English B labelled example. It has no subject, level, or IB branding: three original reading texts with short-answer and multiple-choice questions across a reading period, chosen to demonstrate the main question styles and the student experience. Teachers can delete it and build or import their own papers.
  • Retained from demo.7: live reading/writing corrections from the examination clock for a simple ready or live exam, always-classroom-network student addresses, dashboard focus-loss notifications, focus audit telemetry, and the preloaded Paper Builder for creating new exams.

What to review

  • On first launch, confirm the Paper library shows a single Sample paper (Sample · Demo · Paper) with no subject or IB branding, then start a live session and join it as a candidate to try the reading questions.
  • Confirm the app window and taskbar show the new beat-arc icon (Windows) and that the Linux PNG appears in the file manager.
  • With classroom sharing off and on, confirm the dashboard Student sign-in and the clock Students connect at always show the private-network address, never 127.0.0.1 or localhost.
  • During a live exam, leave the candidate window and confirm a notification box appears on the dashboard within a second, with the time, candidate name, and candidate code.
  • Confirm that live timing corrections still move candidate phase boundaries and deadlines immediately, and that ended exams and fixed multi-phase papers remain read-only.

Important boundaries

  • Live timing corrections change the room schedule for every candidate immediately; only adjust writing time before a candidate's individual deadline has already been auto-submitted. Ending a sitting still submits every outstanding response.
  • Focus telemetry is audit evidence and a deterrent, not proof of candidate compliance. A browser crash, disconnect, or deliberate local bypass can prevent an event from arriving.
  • The Sample paper is a generic demonstration; it is not aligned to any subject syllabus. Build or import real practice materials only when you are permitted to use them.
  • The product retains its demo-era storage identifiers (environment variables, database file names, and the .digitaldp-paper portable format) so existing data and papers keep working across upgrades.
  • This is independent practice and familiarisation software, not an official examination-delivery system.
  • The demo teacher credentials remain admin / admin and are not suitable for real student data.

DigitalDP 0.1.0-demo.7

Pre-release

Choose a tag to compare

@GowangInc GowangInc released this 09 Sep 12:54

DigitalDP 0.1.0-demo.7 — Windows/Linux practice demo

This release makes timing corrections practical and the student address trustworthy. A teacher can now change reading or writing minutes on the examination clock while a simple exam is live, and candidate deadlines move immediately. The dashboard and clock always advertise the classroom-network address students open on their own devices — never a loopback 127.0.0.1 — and the dashboard raises a visible notification when a candidate leaves the exam window.

Downloads and update instructions

  • Windows x64: extract the complete ZIP, then open DigitalDP.exe.
  • Linux x64 (glibc): extract the archive, then run DigitalDP.
  • macOS: no Mac app is included in this release. Apple Developer ID signing and notarization credentials are not configured. Use the source with Start DigitalDP.command or bun run start:app after the one-time Bun setup.
  • The illustrated HTML guide, text guide, these release notes, and SHA-256 checksums accompany the executables. This is a portable demo, not an installer or automatic updater. Windows may display a warning because the executable is not publisher-signed.

Before replacing an older app, finish all exams, stop DigitalDP, and back up its complete data folder using the guide. Replace the executable, not the data folder. Restart the app and refresh all browser pages to use the new code.

What changed

  • Live timing corrections from the examination clock. For a simple paper (one reading period, one writing period), changing Reading minutes or Writing minutes and selecting Save exam timing and update display now works while the exam is ready and while it is live. A live save moves the reading/writing boundary and the deadline for every candidate on their next refresh, so a teacher can extend a sitting or repair a wrong duration without restarting anything. Ended exams and fixed multi-phase (sectioned) papers remain read-only on the clock; the Paper Builder prepares those schedules.
  • The student address is always the network address. When classroom sharing is on, the clock and dashboard show that origin. When sharing is off, they show this computer's detected private-network address instead of http://127.0.0.1, because student devices can never reach a loopback address. The clock adds an amber note when classroom sharing is off so the teacher knows students cannot connect yet.
  • Focus-loss notifications. When a candidate leaves the exam window during a live exam, the teacher dashboard now raises a notification box (bottom-right, auto-dismissing, with a Dismiss control) in addition to updating the Focus alerts list. Events that happened before the dashboard was opened stay silent in the list and do not spam notifications.

What to review

  • Start the seeded English B Paper 2 Reading session as a live exam, join it as a candidate, and change the Writing minutes on the examination clock. Confirm the clock confirmation message and that the candidate's on-screen deadline moves to the new time.
  • With classroom sharing off and on, confirm the dashboard Student sign-in and the clock Students connect at always show the private-network address, never 127.0.0.1 or localhost.
  • During a live exam, leave the candidate window and confirm a notification box appears on the dashboard within a second, with the time, candidate name, and candidate code.
  • Confirm that opening the dashboard after events have already occurred does not raise notifications for that past history.
  • Confirm a fixed multi-phase paper still shows read-only timing fields on the clock.

Important boundaries

  • Live timing corrections change the room schedule for every candidate immediately; only adjust writing time before a candidate's individual deadline has already been auto-submitted. Ending a sitting still submits every outstanding response.
  • Focus telemetry is audit evidence and a deterrent, not proof of candidate compliance. A browser crash, disconnect, or deliberate local bypass can prevent an event from arriving.
  • Showing the private-network address while classroom sharing is off does not admit student traffic: the server still rejects non-loopback clients until sharing is applied. The clock note says so.
  • This is independent practice and familiarisation software, not an official examination-delivery system.
  • Every included question is original. Protected guides, past papers, and the private resources/ collection are not packaged.
  • The demo teacher credentials remain admin / admin and are not suitable for real student data.

DigitalDP 0.1.0 demo.5 — Windows/Linux

Choose a tag to compare

@GowangInc GowangInc released this 05 Sep 13:16

DigitalDP 0.1.0-demo.5

Windows x64 and Linux x64 portable practice demo. Extract the entire platform archive before launching it. Back up the application data folder after stopping DigitalDP before updating.

Included

  • Updated teacher dashboard, exam-system-first setup, and 52 original papers, including 15 full-length non-IB mocks and teacher-only worked marking guides.
  • Synchronized linked clocks, stale-edit protection, preserved AP section plans, and explicit limits on live timing changes.
  • Recoverable paper-building drafts with attachments, question-removal undo, End exam confirmation, and clearer student save/recovery controls.
  • Step-by-step HTML user guide with screenshots, a text guide, detailed release notes, and SHA-256 checksums.

Platform availability

There is no macOS app in this release. Apple Developer ID signing and notarization credentials are not configured. Mac users can run the updated source using Start DigitalDP.command or bun run start:app after the one-time Bun setup. Earlier Mac downloads remain unsupported. Windows may show a warning because its demo executable is not publisher-signed.

Verification

Source checks: 292 tests passed, 10,475 assertions, TypeScript passed. Eight test-order regressions cover an incomplete UI mock exposed by the first Linux CI run.

Native Windows and Linux checks passed: archive checksum and extraction, startup from an empty working/data directory, all 52 seeded papers, teacher login, empty classroom data, embedded browser modules and illustrated guide, teacher-only marking guides, and blocked private-resource/database routes. The uploaded asset digests match SHA256SUMS.txt; downloaded guides and notes match the release source.

Successful build and native checks. Application source is tagged at 241ef6c; the workflow-only Windows archive-tool correction is on main at 926ac86. These checks do not replace a classroom LAN trial or subject-teacher moderation of mock papers.

This is independent practice software, not an official exam system. Use fictional candidates and non-sensitive content with the temporary admin / admin login. Protected reference papers, classroom databases, and raw QA files are excluded. Subject teachers should review mock content before classroom use.

Source and operating instructions · Detailed release notes

DigitalDP 0.1.0 demo.4 — Mac download unsupported

Choose a tag to compare

@GowangInc GowangInc released this 03 Sep 06:20

Do not use the macOS asset in this release. Although its bundle signature is structurally valid, it is ad-hoc signed and not notarized; Gatekeeper can report that DigitalDP.app is damaged and may offer no Open Anyway option.

The Windows and Linux assets remain available as prerelease demos. On Arboghast, run the current source with Start DigitalDP.command from the project folder.

The release pipeline on main now refuses unnotarized Mac output. A new Mac download will be published only after it is Developer ID signed, notarized by Apple, stapled, and Gatekeeper-verified. The source tag and assets are retained for traceability.

DigitalDP 0.1.0 demo.3 — superseded

Pre-release

Choose a tag to compare

@GowangInc GowangInc released this 03 Sep 06:11

Superseded. Do not use the macOS asset in this release: its universal executable has an invalid signature and Gatekeeper can report that the app is damaged.

The Windows and Linux assets are retained for traceability. On Arboghast, run the current source with Start DigitalDP.command from the project folder. A replacement Mac download will be published only after Developer ID signing and Apple notarization.