Skip to content

Prepare for the 24.12 release #110

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: development
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: > # this means to ignore newlines until "baseurl:"
baseurl: "" # the subpath of your site, e.g. /blog/
url: "https://openrocket.info" # the base hostname & protocol for your site
github_username: openrocket
current_version: 23.09
current_version: 24.12
defaults:
-
scope:
Expand Down
10 changes: 10 additions & 0 deletions _includes/ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
Release Notes
=============

<h2>
<a href="https://github.com/openrocket/openrocket/releases/tag/release-24.12" class="a-no-format">
OpenRocket 24.12 (2025-XX-XX)
</a>
</h2>

<div data-version="24.12" id="release-24.12-content"></div>

<hr/>

<h2>
<a href="https://github.com/openrocket/openrocket/releases/tag/release-23.09" class="a-no-format">
OpenRocket 23.09 (2023-11-16)
Expand Down
5 changes: 5 additions & 0 deletions _whats-new/wn-24.12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
layout: whats-new
---

#### Major Updates
18 changes: 18 additions & 0 deletions assets/downloads_config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
[
{
"name": "24.12",
"files": {
"macOS_Intel": " OpenRocket-24.12-installer-macOS-Intel.dmg",
"macOS_AppleSilicon": "OpenRocket-24.12-installer-macOS-AppleSilicon.dmg",
"Linux_Arm64": "OpenRocket-24.12-installer-Linux-Arm64.sh",
"Linux_x86_64": "OpenRocket-24.12-installer-Linux-x86_64.sh",
"Windows_Arm64": " OpenRocket-24.12-installer-Windows-Arm64.exe ",
"Windows_x86_64": " OpenRocket-24.12-installer-Windows-x86_64.exe",
"JAR": "OpenRocket-23.09.jar"
},
"instructions": {
"macOS": "downloads/instructions/macOS_new.md",
"Linux": "downloads/instructions/Linux_new.md",
"Windows": "downloads/instructions/Windows_new.md",
"JAR": "downloads/instructions/JAR_new.md"
}
},
{
"name": "23.09",
"files": {
Expand Down
10 changes: 9 additions & 1 deletion downloads/instructions/JAR_new.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,19 @@

You **must** use Java 17. To run the .jar file, download it, and start it from the command line with: `java -jar OpenRocket-${VERSION}$.jar`

<b style="color: red">Important note</b>: Java 17 can cause issues for some people, most noticeably the 3D view can be
<b style="color: red">Important note 1</b>: Java 17 can cause issues for some people, most noticeably the 3D view can be
broken for Windows users. A workaround for this is to run the JAR file using the command:

`java --add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED -jar OpenRocket.jar`

If your Java VM does not start with the above arguments, you can try omitting the `--add-exports=java.base/java.lang=ALL-UNNAMED` argument, so run:

`java --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED -jar OpenRocket.jar`

<b style="color: red">Important note 2</b>: Some Windows users experience UI issues like window ghosting. A workaround for this is to run the JAR file using the command:

`java -Dsun.java2d.noddraw=true -Dsun.java2d.d3d=false -Dsun.java2d.ddforcevram=true -Dsun.java2d.ddblit=false -Dswing.useflipBufferStrategy=True -jar OpenRocket.jar`

If you also experience issues with the 3D view, you can combine the two commands:

`java -Dsun.java2d.noddraw=true -Dsun.java2d.d3d=false -Dsun.java2d.ddforcevram=true -Dsun.java2d.ddblit=false -Dswing.useflipBufferStrategy=True --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED -jar OpenRocket.jar`
14 changes: 10 additions & 4 deletions js/fill_downloads.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,14 @@ function fillDownloadsDropdown() {
* @param {string} OSName The OS to target
* @param {string} title The titleText to be displayed on the site, or null if OSName should be used for the title
* @param {string} faIcon The name of the Font Awesome icon to use in the title, or an empty string if no icon is needed
* @param {...string} architectures Optional architecture parameters (e.g., "x86_64", "Arm64")
*/
function fillOSContent(version, configObj, OSName, titleText, faIcon, ...architectures) {
const content = document.getElementById(`content-${OSName}`);
const hasArchitectures = architectures.some(arch => configObj.files[`${OSName}_${arch.replace(/\s+/g, '')}`]);

// Check if we have architecture-specific files
const hasArchitectures = architectures.length > 0 &&
architectures.some(arch => configObj.files[`${OSName}_${arch.replace(/\s+/g, '')}`]);

// Title
const title = document.createElement('h3');
Expand Down Expand Up @@ -96,11 +100,13 @@ function fillOSContent(version, configObj, OSName, titleText, faIcon, ...archite
content.appendChild(node);
});

// Hide the section if no downloads are available
if (!hasArchitectures && !configObj.files[OSName]) {
content.style.display = 'none';
return;
}

// Handle architecture-specific downloads if they exist
if (hasArchitectures) {
architectures.forEach(arch => {
const archKey = `${OSName}_${arch.replace(/\s+/g, '')}`;
Expand All @@ -119,7 +125,7 @@ function fillOSContent(version, configObj, OSName, titleText, faIcon, ...archite
}
});
} else {
// Use the default button
// Use the default button for single architecture
const btn = createDownloadButton(version, configObj.files[OSName]);
content.appendChild(btn);
}
Expand Down Expand Up @@ -219,9 +225,9 @@ window.onload = async function() {
}

selectDropdownVersion(version);
fillOSContent(version, configObj, 'Windows', null, 'windows');
fillOSContent(version, configObj, 'Windows', null, 'windows', "x86_64", "Arm64");
fillOSContent(version, configObj, 'macOS', null, 'apple', "Intel", "Apple Silicon");
fillOSContent(version, configObj, 'Linux', null, 'linux');
fillOSContent(version, configObj, 'Linux', null, 'linux', "x86_64", "Arm64");
fillOSContent(version, configObj, 'JAR', 'JAR (not recommended)', 'java');
fillSourceCode(version, 'zip');
fillSourceCode(version, 'tar.gz');
Expand Down