Skip to content

geogebra5: Update to version 5.4.913.0, fix checkver#2696

Merged
z-Fng merged 2 commits into
ScoopInstaller:masterfrom
SorYoshino:geogebra5
Jan 22, 2026
Merged

geogebra5: Update to version 5.4.913.0, fix checkver#2696
z-Fng merged 2 commits into
ScoopInstaller:masterfrom
SorYoshino:geogebra5

Conversation

@SorYoshino

@SorYoshino SorYoshino commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Updates geogebra5 to version 5.4.913.0 and modernizes the checkver script to use a more robust redirection-tracking logic.

Related issues or pull requests

Changes

  • Update version to 5.4.913.0.
  • Optimize checkver script:
    • Replaced the previous web-scraping logic (which was hardcoded to the /5.2/ directory) with a dynamic HEAD request using System.Net.Http.HttpClient.
    • The new logic follows the redirect from the generic entry point (/package/win) to resolve the actual filename and version string.
    • Added compatibility handling for different PowerShell versions by conditionally loading System.Net.Http.

Notes

  • The previous checkver was prone to failure when the major/minor version changed (e.g., moving from 5.2 to 5.4). The new implementation is version-agnostic and relies on the official redirection service provided by GeoGebra.
  • Using a HEAD request instead of a full GET request (Invoke-WebRequest) is more efficient as it only retrieves metadata without downloading the entire page content.

Testing

The test results are as follows:
┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ develop ≡]
└─> .\checkver.ps1 -App geogebra5 -Dir 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Versions\bucket' -f
geogebra5: 5.4.913.0 (scoop version is 5.4.913.0)
Forcing autoupdate!
Autoupdating geogebra5
DEBUG[1768856424] [$updatedProperties] = [url extract_dir hash] -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:500:5
DEBUG[1768856424] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:230:5
DEBUG[1768856424] $substitutions.$match1                        5.4.913.0
DEBUG[1768856424] $substitutions.$basenameNoExt                 GeoGebra-Windows-Portable-5-4-913-0
DEBUG[1768856424] $substitutions.$buildVersion                  0
DEBUG[1768856424] $substitutions.$baseurl                       https://download.geogebra.org/installers/5.4
DEBUG[1768856424] $substitutions.$patchVersion                  913
DEBUG[1768856424] $substitutions.$dashVersion                   5-4-913-0
DEBUG[1768856424] $substitutions.$majorVersion                  5
DEBUG[1768856424] $substitutions.$dotVersion                    5.4.913.0
DEBUG[1768856424] $substitutions.$url                           https://download.geogebra.org/installers/5.4/GeoGebra-Windows-Portable-5-4-913-0.zip
DEBUG[1768856424] $substitutions.$underscoreVersion             5_4_913_0
DEBUG[1768856424] $substitutions.$version                       5.4.913.0
DEBUG[1768856424] $substitutions.$cleanVersion                  549130
DEBUG[1768856424] $substitutions.$matchHead                     5.4.913
DEBUG[1768856424] $substitutions.$matchTail                     .0
DEBUG[1768856424] $substitutions.$preReleaseVersion             5.4.913.0
DEBUG[1768856424] $substitutions.$minorVersion                  4
DEBUG[1768856424] $substitutions.$basename                      GeoGebra-Windows-Portable-5-4-913-0.zip
DEBUG[1768856424] $substitutions.$urlNoExt                      https://download.geogebra.org/installers/5.4/GeoGebra-Windows-Portable-5-4-913-0
DEBUG[1768856424] $hashfile_url = $null -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:233:5
Downloading GeoGebra-Windows-Portable-5-4-913-0.zip to compute hashes!
Loading GeoGebra-Windows-Portable-5-4-913-0.zip from cache
Computed hash: 4d3603433e9c984c5858ddd3a73b645a5e908173c50ea49904b79853ef066efc
Writing updated geogebra5 manifest

┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ develop ≡]
└─> scoop install Unofficial/geogebra5
Installing 'geogebra5' (5.4.913.0) [64bit] from 'Unofficial' bucket
Loading GeoGebra-Windows-Portable-5-4-913-0.zip from cache.
Checking hash of GeoGebra-Windows-Portable-5-4-913-0.zip... OK.
Extracting GeoGebra-Windows-Portable-5-4-913-0.zip... Done.
Linking D:\Software\Scoop\Local\apps\geogebra5\current => D:\Software\Scoop\Local\apps\geogebra5\5.4.913.0
Creating shim for 'geogebra5'.
Making D:\Software\Scoop\Local\shims\geogebra5.exe a GUI binary.
Creating shortcut for GeoGebra 5 (GeoGebra.exe)
Running post_install script... Done.
'geogebra5' (5.4.913.0) was installed successfully!
Notes
-----
To register file associations, please execute the following command:
- `reg import "D:\Software\Scoop\Local\apps\geogebra5\current\register-file-associations.reg"`
-----
  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

Summary by CodeRabbit

  • Chores
    • Updated GeoGebra Windows Portable to version 5.4.913.0 with a new installer and updated integrity hash.
    • Improved automatic update detection to follow redirects and more reliably extract the package version for future updates.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitai Bot commented Jan 19, 2026

Copy link
Copy Markdown

Walkthrough

Updated GeoGebra Windows Portable from 5.2.909.9 to 5.4.913.0: bumped version, download URL, SHA256, and extract_dir; replaced HTML-scraping checkver with a PowerShell HEAD/redirect-based script that derives the dashVersion; adjusted checkver.regex to target 5.x versions.

Changes

Cohort / File(s) Summary
GeoGebra Windows Portable manifest
bucket/geogebra5.json
Version 5.2.909.95.4.913.0; updated url, hash, and extract_dir. Replaced checkver.script HTML-scraping with a PowerShell HEAD/redirect-based script that extracts dashVersion from https://download.geogebra.org/package/win; checkver.regex changed from ([\d.]+)(5\.[\d.]+) and autoupdate continues to use derived version fields.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant Scoop as "Scoop (checkver)"
    participant PS as "PowerShell script"
    participant DG as "download.geogebra.org/package/win"
    participant Installer as "redirect -> installers URL"

    Scoop->>PS: invoke checkver script
    PS->>DG: HTTP HEAD request to /package/win
    DG-->>PS: 302 Redirect to installers URL
    PS->>Installer: follow redirect URL
    Installer-->>PS: respond with final URL containing dashVersion (e.g., 5-4-913-0)
    PS->>Scoop: output version (dashVersion converted to dotted form)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 I hopped from 5.2 to 5.4 with glee,
I sniffed the HEAD and chased the redirect tree,
No messy scrape, just a neat little trace,
PowerShell showed me the package place,
A tidy hop — hooray, more math to see! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the two main changes: updating geogebra5 to version 5.4.913.0 and fixing the checkver implementation.
Description check ✅ Passed The description includes all required sections: summary, related issues, changes with detailed explanations, notes about improvements, and testing results. Both contributing checklist items are checked as completed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

geogebra5

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@SorYoshino

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

geogebra5

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@bucket/geogebra5.json`:
- Around line 47-49: The code disposes $response (and related objects) before
reading $response.RequestMessage.RequestUri.AbsoluteUri to set $package_name,
which can break the IDisposable contract; fix by extracting the URI into
$package_name (or a temp variable) from
$response.RequestMessage.RequestUri.AbsoluteUri before the disposal line that
disposes $response, $request, $client, $http_handler so the disposal happens
after the URI is captured.
🧹 Nitpick comments (1)
bucket/geogebra5.json (1)

47-51: Consider adding error handling for HTTP request failures.

If the HTTP request fails or the response is unsuccessful, the script will silently produce incorrect output. Adding a status check would improve robustness.

Suggested improvement
 "$response = $client.SendAsync($request).Result",
+"if (-not $response.IsSuccessStatusCode) { throw \"HTTP request failed: $($response.StatusCode)\" }",
 "$redirected_uri = $response.RequestMessage.RequestUri.AbsoluteUri",

Comment thread bucket/geogebra5.json Outdated
@SorYoshino

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

geogebra5

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Comment thread bucket/geogebra5.json Outdated
@SorYoshino

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

geogebra5

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@SorYoshino SorYoshino marked this pull request as draft January 22, 2026 19:11
@SorYoshino

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

geogebra5

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@SorYoshino SorYoshino marked this pull request as ready for review January 22, 2026 19:17
@z-Fng

z-Fng commented Jan 22, 2026

Copy link
Copy Markdown
Member

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

geogebra5

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@z-Fng z-Fng left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution!

@z-Fng z-Fng merged commit 52c0170 into ScoopInstaller:master Jan 22, 2026
3 checks passed
@SorYoshino SorYoshino deleted the geogebra5 branch January 22, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants