@edpire/sdk 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,61 @@ integrators pin a version and had no way to tell what a bump would change.
9
9
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
10
10
  the package follows [semantic versioning](https://semver.org/spec/v2.0.0.html).
11
11
 
12
+ ## [0.9.0] - 2026-10-26
13
+
14
+ ### Changed
15
+
16
+ - **Long exercise texts are read in the documents panel.** An exercise's
17
+ reference text over 80 words, with more than one picture or video, or with a
18
+ table over 6 rows, now shows in the panel beside the questions (after the
19
+ assessment's own documents, under an "Exercise N" heading that links back to
20
+ the exercise). In the exercise's place, a line says the text is in the panel,
21
+ with a link that opens it there. On a wide screen the panel follows the
22
+ learner: reaching that exercise brings its text into view. Short texts stay
23
+ above their questions. An assessment whose only long text is an exercise's
24
+ now has the panel too.
25
+ - Exercise reference texts read at the questions' size: on a wide screen they
26
+ used to show twice as large.
27
+
28
+ ### Fixed
29
+
30
+ - In right-to-left layouts, the documents tab and card on a narrow screen open
31
+ from the right.
32
+ - Answering a question no longer redraws every question of the assessment:
33
+ long assessments stay responsive while the learner answers (runtime 3.16.0).
34
+
35
+ ### Upgrade notes
36
+
37
+ Nothing to change in your code. The learner's view of long exercise texts
38
+ changes, as above (runtime 3.15.0, then 3.16.0).
39
+
40
+ ## [0.8.3] - 2026-10-24
41
+
42
+ ### Fixed
43
+
44
+ - **No hydration error with a time limit.** On a server-rendered page (Next.js,
45
+ Remix), the countdown worked out the time left while rendering, so the HTML
46
+ from the server and the first render in the browser differed and React
47
+ threw a hydration error. The countdown now appears once the page runs in the
48
+ browser.
49
+
50
+ ### Added
51
+
52
+ All optional; nothing changes for a host that doesn't pass them.
53
+
54
+ - `AssessmentShell` `initialAnswers`: answers saved earlier in the attempt,
55
+ filled in and editable, and part of what `onSubmit` receives even if the
56
+ learner changes nothing.
57
+ - `AssessmentShell` `onAnswersChange`: the whole set of answers on every
58
+ change, for hosts that save progress.
59
+ - `AssessmentShell` `saveState` (`"saving" | "saved" | "failed"`, type
60
+ `ShellSaveState`): shown quietly in the top bar; `"failed"` says plainly that
61
+ answers aren't being saved.
62
+ - `AssessmentShell` `resumed`: a short note when the learner comes back, with
63
+ the time left when there is a limit.
64
+ - `SubmitResult.showVerdict`: `false` shows the score without "passed" or "not
65
+ passed". Default `true`.
66
+
12
67
  ## [0.8.2] - 2026-10-17
13
68
 
14
69
  ### Fixed
package/README.md CHANGED
@@ -3,6 +3,8 @@
3
3
  Embeddable assessment SDK for Edpire. Deliver, render, and grade assessments from your own application.
4
4
 
5
5
  > 📚 **Full documentation** lives in the Edpire docs site under [**SDK Reference**](https://docs.edpire.com/developer/sdk/overview) — complete option/prop/type tables for the Embedded Player, React components, Custom Flow, server client, and branding. This README is a condensed quick-start.
6
+ >
7
+ > 📝 **What changed in each version:** the [Changelog](https://docs.edpire.com/changelog). Pin a version and read it before you bump.
6
8
 
7
9
  ---
8
10
 
@@ -90,7 +92,7 @@ embed.unmount()
90
92
  **CDN (no bundler):**
91
93
 
92
94
  ```html
93
- <script src="https://cdn.jsdelivr.net/npm/@edpire/sdk@0.8.1/dist/umd/index.global.js"></script>
95
+ <script src="https://cdn.jsdelivr.net/npm/@edpire/sdk@0.9.0/dist/umd/index.global.js"></script>
94
96
  <script>
95
97
  EdpireSDK.EdpireAssessment.mount({ token, container: "#root", onComplete: handleDone })
96
98
  </script>
@@ -328,7 +330,7 @@ The integration uses two parts:
328
330
  </head>
329
331
  <body>
330
332
  <div id="root"></div>
331
- <script src="https://cdn.jsdelivr.net/npm/@edpire/sdk@0.8.1/dist/umd/index.global.js"></script>
333
+ <script src="https://cdn.jsdelivr.net/npm/@edpire/sdk@0.9.0/dist/umd/index.global.js"></script>
332
334
  <script>
333
335
  EdpireSDK.EdpireAssessment.mount({
334
336
  token: "{{EMBED_TOKEN}}", // replace server-side before loading
package/dist/index.d.mts CHANGED
@@ -91,6 +91,11 @@ interface SubmitResult {
91
91
  maxScore: number;
92
92
  percentage: number;
93
93
  passed: boolean;
94
+ /**
95
+ * False when the assessment has no pass mark: the banner shows the score in
96
+ * ink, with no "passed" / "not passed". Default true (unchanged).
97
+ */
98
+ showVerdict?: boolean;
94
99
  /** If null/undefined, the shell hides the "View Full Report" button. */
95
100
  returnUrl?: string | null;
96
101
  exerciseFeedback: ExerciseFeedbackData[];