diff --git a/Gemfile.lock b/Gemfile.lock
index 47e66c36..5a9fe22f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -38,6 +38,7 @@ GEM
     faraday-net_http (3.1.0)
       net-http
     ffi (1.16.3)
+    ffi (1.16.3-x64-mingw-ucrt)
     forwardable-extended (2.6.0)
     gemoji (4.1.0)
     github-pages (231)
@@ -233,6 +234,8 @@ GEM
       uri
     nokogiri (1.16.3-arm64-darwin)
       racc (~> 1.4)
+    nokogiri (1.16.3-x64-mingw-ucrt)
+      racc (~> 1.4)
     nokogiri (1.16.3-x86_64-linux)
       racc (~> 1.4)
     octokit (4.25.1)
@@ -270,19 +273,23 @@ GEM
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.9.1)
+    unf_ext (0.0.9.1-x64-mingw-ucrt)
     unicode-display_width (1.8.0)
     uri (0.13.0)
+    wdm (0.2.0)
     webrick (1.8.1)
     yell (2.2.2)
 
 PLATFORMS
   arm64-darwin-22
+  x64-mingw-ucrt
   x86_64-linux
 
 DEPENDENCIES
   github-pages (= 231)
   html-proofer (~> 3.19.4)
   json
+  wdm (>= 0.1.1)
   webrick (~> 1.8)
 
 BUNDLED WITH
diff --git a/_docs/instructor/autograding/hidden_testcase_examples.md b/_docs/instructor/autograding/hidden_testcase_examples.md
new file mode 100644
index 00000000..a18cf31d
--- /dev/null
+++ b/_docs/instructor/autograding/hidden_testcase_examples.md
@@ -0,0 +1,52 @@
+---
+title: Hidden Testcase Examples
+category: Instructor > Autograding
+redirect_from:
+  - /instructor/assignment_configuration/hidden_testcase_examples
+---
+
+### Hide Testcase Details and Score, Never Release
+
+In your `config.json`, add this line to the testcase:
+```
+"hidden": true
+```
+
+This is what it will look like for students:
+
+#### Image goes here
+
+#### Discussion of use
+
+### Hide Testcase Details and Score, Release With Grades
+
+In your `config.json`, add these lines to the testcase:
+```
+"hidden": true,
+"release_hidden_details": true
+```
+
+This is what it will look like for students:
+
+#### Image goes here
+
+#### Discussion of use
+
+### Hide Testcase Details, Show Score
+
+In your `config.json`, **do not** change the `hidden` field.
+Instead, add these lines to the validation of the testcase:
+```
+"show_actual": never,
+"show_expected": never
+```
+Additionally, if working with image differences, add this line:
+```
+"show_difference_image": never
+```
+
+This is what it will look like for students:
+
+#### Image goes here
+
+#### Discussion of use
\ No newline at end of file
diff --git a/_docs/instructor/autograding/specification.md b/_docs/instructor/autograding/specification.md
index a809bef6..73a3a2cc 100644
--- a/_docs/instructor/autograding/specification.md
+++ b/_docs/instructor/autograding/specification.md
@@ -128,6 +128,16 @@ executables.
   **type:** _boolean_  
   **default value:** ``false``  
 
+  _Students will not know how many points hidden test cases are worth or
+  how many points they recieve for that test case. For similar functionality
+  while still allowing students to see how many points they receive, adjust
+  ``show_message``, ``show_actual``, and ``show_expected`` in validation instead._
+
+
+* **field:** ``"release_hidden_details"``  
+  **type:** _boolean_  
+  **default value:** ``false`` 
+
 
 * **field:** ``"extra_credit"``  
   **type:** _boolean_  
diff --git a/navtreedata.js b/navtreedata.js
index a8d8adf0..5285973f 100644
--- a/navtreedata.js
+++ b/navtreedata.js
@@ -128,6 +128,7 @@ var NAVTREE =
                 [ "Validation", "/instructor/autograding/validation", null ],
                 [ "Batch Regrade Submissions", "/instructor/autograding/batch_regrade", null ],
                 [ "Sample Assignments", "/instructor/autograding/sample_assignments", null ],
+                [ "Hidden Testcase Examples", "/instructor/autograding/hidden_testcase_examples", null ],
                 [ "Docker Images", "/instructor/autograding/docker_images", null ],
                 [ "Docker UI", "/instructor/autograding/docker_ui", null ],
                 [ "Static Analysis", "/instructor/autograding/static_analysis/index", [