Skip to content

Commit

Permalink
release: 1.2.10 (#651)
Browse files Browse the repository at this point in the history
* doc: update developer docs with correct deps

* doc: bump version to 1.2.10

* fix: fix code to extract the major java version

* doc: update release checklist

- add Winget manifest;
- mention testing on Raspberry PI

* doc: update CHANGELOG.md

* doc: update CHANGELOG.md and AUTHORS.md

* doc: update release notes and changelog

* doc: update release checklist

* doc: mention version number in snapcraft.yaml
  • Loading branch information
lupino3 committed Mar 5, 2022
1 parent 799bfd9 commit 4c4eb46
Show file tree
Hide file tree
Showing 8 changed files with 63 additions and 29 deletions.
4 changes: 3 additions & 1 deletion AUTHORS.md
Expand Up @@ -32,4 +32,6 @@
* Oscar Elhanafey - [**@Ooelhana**](http://github.com/Ooelhana)
* Miguel Pinto - [**@rocas777**](http://github.com/rocas777)
* Pimts - [**@pimts**](http://github.com/pimts)
* iwodder - [**@iwodder**](http://github.com/iwodder)
* iwodder - [**@iwodder**](http://github.com/iwodder)
* jcarletta - [**jcarletta**](http://github.com/jcarletta)
* hugmanrique - [**hugmanrique**](http://github.com/hugmanrique)
11 changes: 10 additions & 1 deletion CHANGELOG.md
@@ -1,8 +1,17 @@
# EduMIPS64 ChangeLog

## 1.2.10 (2022) - ?
## 1.2.10 (05/03/2022) - FP - Freedom and Peace

### Added
- New Snapcraft packages for armhf (e.g. Raspberry PI) and other architectures

### Fixed
- Parser incorrectly interprets hexadecimal immediates (Issue #450)
- Some floating-point division cycles missing in Cycles window (Issue #646)
- Infinite RAW stall in floating-point code (Issue #304) (yes, *again*)

### Changed
- Migrated to JDK (and JRE) 17

## 1.2.9 (08/11/2020) - Baby Shark
### Added
Expand Down
37 changes: 23 additions & 14 deletions RELEASE_NOTES.md
@@ -1,23 +1,24 @@
# EduMIPS64 version 1.2.9
# EduMIPS64 version 1.2.10

*8th of November, 2020*
*5th of March, 2021*

EduMIPS64 is a GPL MIPS64 Instruction Set Architecture (ISA) simulator and graphical debugger.

## Notes for this release

This is version 1.2.9 of EduMIPS64. Its codename is Baby Shark, because my
brain is overloaded with the song thanks to my son, and for some reason this
is the only name that comes to mind right now.
This is version 1.2.10 of EduMIPS64. Its codename is **FP - Freedom and Peace**, because
of the ongoing conflict in Ukraine, which is being invaded by Russia. Freedom and Peace
is what I wish right now to the Ukrainians.

This version contains 2 major bug fixes, one for the LUI instruction, which in 1.2.8 was not
completely fixed, and another for the in-app manual, which was not displayed correctly
in some platforms.
This is mostly a bug-fixing release: issues #450, #646 and #304 (for the second time) were
fixed. In terms of development changes, we moved to JDK (and JRE) 17 and we fixed the Snapcraft
packages for the `armhf` architecture (among others). The latter means that EduMIPS64 is
available on Raspberry PI via `snap`!

This version contains contributions from the following people, listed in no particular order:

* leopoldwe - [**@leopoldwe**](http://github.com/leopoldwe)
* Paolo Viotti - [**@pviotti**](http://github.com/pviotti)
* @hugmanrique and @jcarletta - reported 2 critical bugs and provided MIPS64 code to reproduce them,
which I was allowed to incorporate as regression tests.
* Andrea Spadaccini - [**@lupino3**](http://github.com/lupino3)

Please keep in mind that this is still EXPERIMENTAL SOFTWARE. It may
Expand All @@ -30,10 +31,18 @@ EduMIPS64 is hosted on GitHub: www.github.com/EduMIPS64/edumips64.

Our web site is www.edumips.org, and our development blog is http://edumips64.blogspot.com.

## Main changes since 1.2.8
## Main changes since 1.2.9

### Added
- Unit tests for multiple instructions (PR 488)

* New Snapcraft packages for armhf (e.g. Raspberry PI) and other architectures

### Fixed
- LUI modifies static field of `ALU_IType` breaking the simulator every time it is run (Issue #501)
- Character encoding issues in manual (Issue #489)

* Parser incorrectly interprets hexadecimal immediates (Issue #450)
* Some floating-point division cycles missing in Cycles window (Issue #646)
* Infinite RAW stall in floating-point code (Issue #304) (yes, *again*)

### Changed

* Migrated to JDK (and JRE) 17
3 changes: 2 additions & 1 deletion build.gradle.kts
Expand Up @@ -254,8 +254,9 @@ tasks.create<Exec>("msi"){
if (!("Windows" in os)){
throw GradleException("MSI creation must be executed on Windows")
}
var majorVersion = System.getProperty("java.version").split(".")[0].toInt()

if (System.getProperty("java.version").toInt() < 14) {
if (majorVersion < 14) {
throw GradleException("JDK 14+ is required to create the MSI package.")
}

Expand Down
29 changes: 21 additions & 8 deletions docs/developer-guide.md
Expand Up @@ -18,7 +18,7 @@

### Requirements

In order to compile EduMIPS64, you need the Java JDK version 11 or above.
In order to compile EduMIPS64, you need the Java JDK version 17 or above.

To build the user documentation, you'll need Python 3 with pip.

Expand All @@ -31,8 +31,7 @@ To build the user documentation, you'll need Python 3 with pip.
- Sphinx (http://www.sphinx-doc.org/) version 3.4.3 or above
- rst2pdf (for the PDF files) version 0.98 or above

To generate an installable Windows MSI package (using the Gradle `msi` task), you will need
JDK 14+ and the WiX toolkit.
To generate an installable Windows MSI package (using the Gradle `msi` task), you will need the WiX toolset.

This project uses GitHub Actions for continuous integration
(https://github.com/EduMIPS64/edumips64/actions).
Expand Down Expand Up @@ -197,14 +196,28 @@ Follow instructions [here](https://dev.cloudburo.net/2018/06/03/install-letsencr
Before doing a release, please do the following tasks. Over time, those should
be automated, but before that is done those checks should be done manually.

- For each released JAR / MSI file:
Before committing the release commit:

- run `./gradlew release`
- JAR and MSI:
- verify that the splash screen works
- verify that the version number, code name, build date and git ID are correct
- open one .s file (e.g., `div.d.s`)
- run it
- open the help
- close the application
- verify the JAR size (should be < 3 MB)
- open the English manual and check the version
- open the Italian manual and check the version
- check the 'edge' snap and promote it to stable if it works (https://snapcraft.io/edumips64/releases, needs login)
- JAR-only: verify the JAR size (should be < 3 MB)
- PDF:
- open the English manual and check the version
- open the Italian manual and check the version

Make sure the version number on `snapcraft.yaml` is updated.
After committing, check out `master` and run `./gradlew release` again.

Trigger builds on snapcraft.

Create release and update artifacts generated from `master`.

Check the 'edge' snap and promote it to stable if it works (https://snapcraft.io/edumips64/releases, needs login)Test both on amd64 and armhf (Raspberry PI)

Update winget manifest on https://github.com/microsoft/winget-pkgs/tree/master/manifests/e/EduMIPS64/EduMIPS64
4 changes: 2 additions & 2 deletions gradle.properties
@@ -1,2 +1,2 @@
version=1.2.9
codename="Baby Shark"
version=1.2.10
codename="FP - Freedom and Peace"
2 changes: 1 addition & 1 deletion scripts/edumips64-snap-wrapper.sh
@@ -1,3 +1,3 @@
#!/bin/sh

$SNAP/usr/lib/jvm/java-17-openjdk-$SNAP_ARCH/bin/java -jar -Djava.util.prefs.userRoot="$SNAP_USER_DATA" $SNAP/jar/edumips64-1.2.9.jar $*
$SNAP/usr/lib/jvm/java-17-openjdk-$SNAP_ARCH/bin/java -jar -Djava.util.prefs.userRoot="$SNAP_USER_DATA" $SNAP/jar/edumips64-1.2.10.jar $*
2 changes: 1 addition & 1 deletion snapcraft.yaml
@@ -1,5 +1,5 @@
name: edumips64
version: '1.2.9'
version: '1.2.10'
summary: A free visual and cross-platform MIPS64 CPU simulator.
description: EduMIPS64 is a free MIPS64 visual simulator and debugger, used as a teaching tool in Computer Architecture courses.
grade: stable
Expand Down

0 comments on commit 4c4eb46

Please sign in to comment.