Skip to content

Commit 4c4eb46

Browse files
authored
release: 1.2.10 (#651)
* 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
1 parent 799bfd9 commit 4c4eb46

File tree

8 files changed

+63
-29
lines changed

8 files changed

+63
-29
lines changed

AUTHORS.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,6 @@
3232
* Oscar Elhanafey - [**@Ooelhana**](http://github.com/Ooelhana)
3333
* Miguel Pinto - [**@rocas777**](http://github.com/rocas777)
3434
* Pimts - [**@pimts**](http://github.com/pimts)
35-
* iwodder - [**@iwodder**](http://github.com/iwodder)
35+
* iwodder - [**@iwodder**](http://github.com/iwodder)
36+
* jcarletta - [**jcarletta**](http://github.com/jcarletta)
37+
* hugmanrique - [**hugmanrique**](http://github.com/hugmanrique)

CHANGELOG.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
# EduMIPS64 ChangeLog
22

3-
## 1.2.10 (2022) - ?
3+
## 1.2.10 (05/03/2022) - FP - Freedom and Peace
4+
5+
### Added
6+
- New Snapcraft packages for armhf (e.g. Raspberry PI) and other architectures
7+
48
### Fixed
9+
- Parser incorrectly interprets hexadecimal immediates (Issue #450)
510
- Some floating-point division cycles missing in Cycles window (Issue #646)
11+
- Infinite RAW stall in floating-point code (Issue #304) (yes, *again*)
12+
13+
### Changed
14+
- Migrated to JDK (and JRE) 17
615

716
## 1.2.9 (08/11/2020) - Baby Shark
817
### Added

RELEASE_NOTES.md

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
1-
# EduMIPS64 version 1.2.9
1+
# EduMIPS64 version 1.2.10
22

3-
*8th of November, 2020*
3+
*5th of March, 2021*
44

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

77
## Notes for this release
88

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

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

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

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

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

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

33-
## Main changes since 1.2.8
34+
## Main changes since 1.2.9
35+
3436
### Added
35-
- Unit tests for multiple instructions (PR 488)
37+
38+
* New Snapcraft packages for armhf (e.g. Raspberry PI) and other architectures
3639

3740
### Fixed
38-
- LUI modifies static field of `ALU_IType` breaking the simulator every time it is run (Issue #501)
39-
- Character encoding issues in manual (Issue #489)
41+
42+
* Parser incorrectly interprets hexadecimal immediates (Issue #450)
43+
* Some floating-point division cycles missing in Cycles window (Issue #646)
44+
* Infinite RAW stall in floating-point code (Issue #304) (yes, *again*)
45+
46+
### Changed
47+
48+
* Migrated to JDK (and JRE) 17

build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,9 @@ tasks.create<Exec>("msi"){
254254
if (!("Windows" in os)){
255255
throw GradleException("MSI creation must be executed on Windows")
256256
}
257+
var majorVersion = System.getProperty("java.version").split(".")[0].toInt()
257258

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

docs/developer-guide.md

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
### Requirements
2020

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

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

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

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

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

200-
- For each released JAR / MSI file:
199+
Before committing the release commit:
200+
201+
- run `./gradlew release`
202+
- JAR and MSI:
201203
- verify that the splash screen works
202204
- verify that the version number, code name, build date and git ID are correct
203205
- open one .s file (e.g., `div.d.s`)
204206
- run it
205207
- open the help
206208
- close the application
207-
- verify the JAR size (should be < 3 MB)
208-
- open the English manual and check the version
209-
- open the Italian manual and check the version
210-
- check the 'edge' snap and promote it to stable if it works (https://snapcraft.io/edumips64/releases, needs login)
209+
- JAR-only: verify the JAR size (should be < 3 MB)
210+
- PDF:
211+
- open the English manual and check the version
212+
- open the Italian manual and check the version
213+
214+
Make sure the version number on `snapcraft.yaml` is updated.
215+
After committing, check out `master` and run `./gradlew release` again.
216+
217+
Trigger builds on snapcraft.
218+
219+
Create release and update artifacts generated from `master`.
220+
221+
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)
222+
223+
Update winget manifest on https://github.com/microsoft/winget-pkgs/tree/master/manifests/e/EduMIPS64/EduMIPS64

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
version=1.2.9
2-
codename="Baby Shark"
1+
version=1.2.10
2+
codename="FP - Freedom and Peace"

scripts/edumips64-snap-wrapper.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/sh
22

3-
$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 $*
3+
$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 $*

snapcraft.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: edumips64
2-
version: '1.2.9'
2+
version: '1.2.10'
33
summary: A free visual and cross-platform MIPS64 CPU simulator.
44
description: EduMIPS64 is a free MIPS64 visual simulator and debugger, used as a teaching tool in Computer Architecture courses.
55
grade: stable

0 commit comments

Comments
 (0)