Skip to content

Commit d8ee95e

Browse files
authored
Merge pull request #1554 from logisim-evolution/rc3.8.0
Version 3.8.0
2 parents 49398db + f78b483 commit d8ee95e

File tree

713 files changed

+11675
-10274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

713 files changed

+11675
-10274
lines changed

.github/CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# See: https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners
33

44
# Default owners or everything in the repo. Unless a later match takes precedence,
5-
* @BFH-ktt1 @maehne @MarcinOrlowski
5+
* @BFH-ktt1 @maehne @MarcinOrlowski @zdimension

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,4 @@ jobs:
8888
env:
8989
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9090
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
91-
run: ([ -z $SONAR_TOKEN ] || ./gradlew sonarqube)
91+
run: ([ -z $SONAR_TOKEN ] || ./gradlew sonarqube)

.github/workflows/nightly.yml

+46-19
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@ on:
1717
# Keep it disabled once it's merged into main branch as we only
1818
# want "schedule" to be the trigger.
1919
# NOTE: remove `if` condition marked with `HACK` once merged.
20-
pull_request:
21-
branches: [ develop ]
22-
types: [ closed ]
23-
schedule:
24-
# every day at midnight
25-
- cron: "0 0 * * *"
20+
# pull_request:
21+
# # Nightly must be run against "develop" branch only.
22+
# branches: [ develop ]
23+
# types: [ closed ]
24+
# schedule:
25+
# # every day at midnight
26+
# - cron: "0 0 * * *"
2627

2728
env:
2829
JDK_VERSION: 16
@@ -64,6 +65,7 @@ jobs:
6465
6566
# Short name for branch in which action was triggered.
6667
declare -r branch_name="${GITHUB_BASE_REF:-${GITHUB_REF#refs/heads/}}"
68+
echo "Triggered for branch: ${branch_name}"
6769
6870
# Get SHA of last commit in that branch.
6971
declare -r last_commit_sha="$(git rev-parse HEAD)"
@@ -84,7 +86,6 @@ jobs:
8486
# consider that whlie looking for artifacts (i.e. for upload).
8587
declare -r version_prop=$(grep '^version\s*=.*' gradle.properties | awk '{print $3}')
8688
87-
8889
# Remove "-" (if present) from version string.
8990
declare -r lse_version=$(echo "${version_prop}" | awk '{gsub("-","", $0); print}')
9091
echo "::set-output name=lse_version::${lse_version}"
@@ -109,12 +110,39 @@ jobs:
109110
needs: git_check
110111
if: needs.git_check.outputs.run_build == 'true'
111112
steps:
112-
# https://github.com/marketplace/actions/checkout
113-
- name: "Checkout sources"
113+
# https://github.com/z0al/dependent-issues
114+
- name: 'Checkout branch: ${{ env.GITHUB_REF }}'
114115
uses: actions/checkout@v2
115116
with:
116-
# We want develop branch only.
117117
ref: 'develop'
118+
119+
- name: 'Build Snap package'
120+
# https://github.com/snapcore/action-build
121+
uses: snapcore/action-build@v1
122+
id: snapcraft
123+
124+
- name: 'Upload *.snap artifact.'
125+
uses: actions/upload-artifact@v3
126+
if: success()
127+
with:
128+
path: ${{ steps.snapcraft.outputs.snap }}
129+
name: ${{ needs.git_check.outputs.base_name }}_amd64.snap
130+
131+
# - name: 'Pushing *.snap to snapcraft.io'
132+
# # https://github.com/snapcore/action-publish
133+
# uses: snapcore/action-publish@v1
134+
# if: success()
135+
# env:
136+
# # Obtain Snapcraft.io store token:
137+
# # $ snapcraft export-login --snaps=logisim-evolution --acls package_access,package_push,package_update,package_release token.txt
138+
# # then open Github repository settings and add new secred named SNAPCRAFT_STORE_TOKEN with the value of token.txt
139+
# SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_TOKEN }}
140+
# with:
141+
# snap: ${{ steps.snapcraft.outputs.snap }}
142+
# release: edge
143+
144+
# ###########################################################################################
145+
118146
- name: Set up JDK ${{ env.JDK_VERSION }} ${{ env.JDK_DISTRO }}
119147
uses: actions/setup-java@v2
120148
with:
@@ -133,7 +161,7 @@ jobs:
133161
134162
# https://github.com/marketplace/actions/upload-a-build-artifact
135163
- name: 'Upload binary JAR'
136-
uses: actions/upload-artifact@v2
164+
uses: actions/upload-artifact@v3
137165
if: success()
138166
with:
139167
path: build/libs/${{ needs.git_check.outputs.lse_name }}-${{ needs.git_check.outputs.lse_version }}-all.jar
@@ -150,7 +178,7 @@ jobs:
150178
./gradlew createDeb -x checkstyleMain -x checkstyleTest
151179
152180
- name: 'Upload *.deb'
153-
uses: actions/upload-artifact@v2
181+
uses: actions/upload-artifact@v3
154182
if: success()
155183
with:
156184
path: build/dist/${{ needs.git_check.outputs.lse_name }}_${{ needs.git_check.outputs.lse_version }}-1_amd64.deb
@@ -168,7 +196,7 @@ jobs:
168196
./gradlew createRpm -x checkstyleMain -x checkstyleTest
169197
170198
- name: 'Upload *.rpm'
171-
uses: actions/upload-artifact@v2
199+
uses: actions/upload-artifact@v3
172200
if: success()
173201
with:
174202
path: build/dist/${{ needs.git_check.outputs.lse_name }}-${{ needs.git_check.outputs.lse_version }}-1.x86_64.rpm
@@ -187,13 +215,13 @@ jobs:
187215
./gradlew sourcesJar
188216
189217
- name: 'Upload sources JAR'
190-
uses: actions/upload-artifact@v2
218+
uses: actions/upload-artifact@v3
191219
if: success()
192220
with:
193221
path: build/libs/${{ needs.git_check.outputs.lse_name }}-${{ needs.git_check.outputs.lse_version }}-src.jar
194222
name: ${{ needs.git_check.outputs.base_name }}-src.jar
195223

196-
# ##################################
224+
# ###############################################################################################
197225

198226
# Building for macOS.
199227
build_macos:
@@ -208,8 +236,7 @@ jobs:
208236
- name: "Checkout sources"
209237
uses: actions/checkout@v2
210238
with:
211-
# We want develop branch only.
212-
ref: 'develop'
239+
ref: ${{ github.ref_name }}
213240
- name: Set up JDK ${{ env.JDK_VERSION }} ${{ env.JDK_DISTRO }}
214241
uses: actions/setup-java@v2
215242
with:
@@ -225,7 +252,7 @@ jobs:
225252
./gradlew createDmg -x checkstyleMain -x checkstyleTest
226253
227254
- name: 'Upload DMG'
228-
uses: actions/upload-artifact@v2
255+
uses: actions/upload-artifact@v3
229256
if: success()
230257
with:
231258
path: build/dist/${{ needs.git_check.outputs.lse_name }}-${{ needs.git_check.outputs.lse_version }}.dmg
@@ -255,7 +282,7 @@ jobs:
255282
run: .\gradlew.bat createMsi -x checkstyleMain -x checkstyleTest
256283

257284
- name: 'Upload MSI'
258-
uses: actions/upload-artifact@v2
285+
uses: actions/upload-artifact@v3
259286
if: success()
260287
with:
261288
# NOTE: Gradle builder creates MSI file that always uses short version format in file name.

CHANGES.md

+23-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,29 @@
22

33
# Changes #
44

5+
* v3.8.0 (2022-10-02)
6+
* Added reset value attribute to input pins
7+
* Fixed boolean algebra minimal form bug
8+
* Fixed random fill Rom bug
9+
* Added TTL 74164, 74192 and 74193.
10+
* Fixed off grid components bug that could lead to OutOfMemory error.
11+
* Removed autolabler for tunnels, such that all get the same label in case of renaming.
12+
* Fixed bug preventing TTL 7442, 7443 and 7444 from being placed on the circuit canvas.
13+
* Sub-circuit can now be deleted with `DELETE` key, along with `BACKSPACE` used so far.
14+
* Fixed `Simulate` -> `Timing Diagram` not opening when using "Nimbus" look and feel.
15+
* Fixed pressing `CTRL`+`0` selecting the wrong element in the toolbar.
16+
* Fixed TTL 7485 `7485HdlGenerator` generating wrong HDL type.
17+
* Fixed TTL 74139, 7447 outputting inverted logic
18+
* Fixed TTL 74175, CLR inverted
19+
* Fixed TTL 7436 pin arrangement
20+
* Added TTL 74138: 3-line to 8-line decoder
21+
* Added TTL 74240, 74241, 74244: octal buffers with three-state outputs.
22+
* Added TTL 74245: octal bus transceivers with three-state outputs.
23+
* Moved TTL 74266 to 747266, correctly reimplemented 74266 with open-collector outputs.
24+
* Fixed TTL 74165, correct order of inputs, load asynchronously
25+
* Added TTL 74166: 8-bit parallel-to-serial shift register with clear
26+
* Removed fixed LM_Licence setting
27+
528
* v3.7.2 (2021-11-09)
629
* Fixed Preferences/Window "Reset window layout to defaults" not doing much.
730
* Fixed Gradle builder failing to compile LSe if sources were not checked out from Git.
@@ -34,7 +57,6 @@
3457
* Added a setting to select lower- or upper-case VHDL keywords.
3558
* Added project export feature.
3659
* Cleaned-up the written .circ file.
37-
* Cleaned-up the library tree of loaded projects.
3860

3961
* v3.6.1 (2021-09-27)
4062
* Fixed bug in LED-array

README.md

+30-4
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Branch [develop](https://github.com/logisim-evolution/logisim-evolution/tree/dev
1414
* [Features](#features)
1515
* [Requirements](#requirements)
1616
* **[Downloads](#download)**
17+
* [Package Manager](#package-manager)
1718
* [Nightly builds (unstable)](#nightly-builds)
1819
* [Pictures of Logisim-evolution](docs/pics.md)
1920
* [More Information](docs/docs.md)
@@ -65,14 +66,18 @@ include the Java runtime and do not require it to be installed separately:
6566

6667
* `logisim-evolution_<version>-1_amd64.deb`: Debian package (also suitable for Ubuntu and derivatives),
6768
* `logisim-evolution-<version>-1.x86_64.rpm`: Package for Fedora/Redhat/CentOS/SuSE Linux distributions,
69+
* `logisim-evolution-<version>_amd64.snap`: The [Snap](https://snapcraft.io/docs) archive for all
70+
supported Linux distributions (also available in [Snapcraft store](https://snapcraft.io/logisim-evolution)),
6871
* `logisim-evolution-<version>.msi`: Installer package for Microsoft Windows,
69-
* `logisim-evolution-<version>.dmg`: macOS package. Note that `Logisim-evolution` may also be installed
70-
using [MacPorts](https://www.macports.org/) (by typing `sudo port install logisim-evolution`)
71-
or via [Homebrew](https://brew.sh/) (by typing `brew install --cask logisim-evolution`).
72+
* `logisim-evolution-<version>.dmg`: macOS package.
7273

7374
The Java JAR [`logisim-evolution-<version>-all.jar`](https://github.com/logisim-evolution/logisim-evolution/releases)
7475
is also available and can be run on any system with a supported Java runtime installed.
7576

77+
[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/logisim-evolution)
78+
79+
---
80+
7681
**Note for macOS users**:
7782
The Logisim-evolution.app is not signed with an Apple approved certificate.
7883

@@ -89,6 +94,27 @@ See [Safely open apps on your Mac](https://support.apple.com/en-us/HT202491) for
8994
Depending on your security settings, you may also get a panel asking if you wish to allow it to accept
9095
network connections. You can click "Deny" as we do not need network access currently nor we do request any.
9196

97+
### Package Manager ###
98+
99+
`Logisim-evolution` is available from a bunch of package managers.
100+
Note that these (except for Snap) are not maintained by the core developers.
101+
If you should observe a bug in Logisim-evolution while using one of these packages,
102+
first make sure that it can be reproduced with the most recent official packages
103+
[provided through this repository](https://github.com/logisim-evolution/logisim-evolution/releases)
104+
and ideally the HEAD of our [develop branch](https://github.com/logisim-evolution/logisim-evolution/tree/develop)
105+
before [creating an issue](https://github.com/logisim-evolution/logisim-evolution/issues) on
106+
the official [Logisim-evolution repository](https://github.com/logisim-evolution/logisim-evolution).
107+
Otherwise, report the issue to the package maintainer!
108+
109+
* [Snap](https://snapcraft.io/logisim-evolution) (`snap install logisim-evolution`)
110+
* [Flathub](https://flathub.org/apps/details/com.github.reds.LogisimEvolution) (`flatpak install flathub com.github.reds.LogisimEvolution`)
111+
* [Homebrew](https://formulae.brew.sh/cask/logisim-evolution) (`brew install --cask logisim-evolution`)
112+
* [MacPorts](https://ports.macports.org/port/logisim-evolution/details/) (`port install logisim-evolution`)
113+
* [Chocolatey](https://community.chocolatey.org/packages/logisim-evolution) (`choco install logisim-evolution`)
114+
* [winget](https://wingetgui.com/apps?id=Logisim-evolution.Logisim-evolution)
115+
(`winget install --id=Logisim-evolution.Logisim-evolution -e`)
116+
* [Arch User Repository](https://aur.archlinux.org/packages/logisim-evolution)
117+
92118
### Nightly builds ###
93119

94120
We also offer builds based on the current state of the
@@ -111,5 +137,5 @@ if you found a bug or have suggestions for improvement.
111137

112138
## License ##
113139

114-
* `Logisim-evolution` is copyrighted ©2001-2021 by Logisim-evolution [developers](docs/credits.md).
140+
* `Logisim-evolution` is copyrighted ©2001-2022 by Logisim-evolution [developers](docs/credits.md).
115141
* This is free software licensed under [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.en.html).

artwork/README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[![Logisim-evolution](logisim-evolution-logo.png)](https://github.com/logisim-evolution/logisim-evolution)
1+
[![Logisim-evolution](../docs/img/logisim-evolution-logo.png)](https://github.com/logisim-evolution/logisim-evolution)
22

33
---
44

@@ -12,11 +12,11 @@ Designed by Marcin Orlowski <http://MarcinOrlowski.com>
1212
* `logisim-evolution-logo.png` - bitmap rendition of the the project logo to be used mainly in documentation files,
1313
* `logisim-evolution-icon.svg` - project icon.
1414

15-
"NOTE: To properly render the `logisim-evolution-logo.svg` (be it in-app, on the web page, or elsewhere)
16-
one must have all the used fonts installed on the build machine. Otherwise, your renderer/browser will substitute
17-
the fonts using available ones, which yields an incorrect image. Alternatively, you can either render
18-
your image to a bitmap (PNG image format is recommended, due to its lossless compression and transparency support)
19-
or convert all texts to paths (in [Inkscape](https://inkscape.org/): "Object" menu -> "Object to Path").
15+
> **NOTE:** To properly render the `logisim-evolution-logo.svg` (be it in-app, on the web page, or elsewhere)
16+
> one must have all the used fonts installed on the build machine. Otherwise, your renderer/browser will substitute
17+
> the fonts using available ones, which yields an incorrect image. Alternatively, you can either render
18+
> your image to a bitmap (PNG image format is recommended, due to its lossless compression and transparency support)
19+
> or convert all texts to paths (in [Inkscape](https://inkscape.org/): `Object` menu -> `Object to Path`).
2020
2121
## In-app logo ##
2222

0 commit comments

Comments
 (0)