Skip to content

Commit 7a33f7b

Browse files
authored
Release v1.4.0 (#182)
* Updated documentation for v1.4.0 * Bump to v1.4.0 - Added MacOS signing and notarization * Fixed notarization
1 parent 5f337cc commit 7a33f7b

11 files changed

Lines changed: 179 additions & 46 deletions

File tree

.github/workflows/build.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,17 @@ jobs:
4343
node-version: 20
4444

4545
- name: Build/release Electron app for macOS
46+
env:
47+
APPLE_ID: ${{ secrets.APPLE_ID }}
48+
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
49+
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
4650
if: matrix.os == 'macos-latest'
4751
uses: johannesjo/action-electron-builder@v1
4852
with:
4953
github_token: ${{ secrets.github_token }}
54+
mac_certs: ${{ secrets.mac_certs }}
55+
mac_certs_password: ${{ secrets.mac_certs_password }}
56+
build_script_name: "release"
5057
release: ${{ startsWith(github.ref, 'refs/tags/v') }}
5158
args: "--universal"
5259

@@ -55,4 +62,5 @@ jobs:
5562
uses: johannesjo/action-electron-builder@v1
5663
with:
5764
github_token: ${{ secrets.github_token }}
65+
build_script_name: "release"
5866
release: ${{ startsWith(github.ref, 'refs/tags/v') }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.vscode
2+
.env
23
node_modules*
34
.DS_Store
45
Thumbs.db

CHANGELOG.md

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,65 @@
11
# Changelog
22

3+
<a name="v1.4.0"></a>
4+
5+
## [v1.4.0 - Editor Improvements](https://github.com/lvcabral/brs-desktop/releases/tag/v1.4.0) - 03 Feb 2025
6+
7+
### Release Changes
8+
9+
* Replaced the Delete button by new code snippet tools button by [@lvcabral](https://github.com/lvcabral) in [#167](https://github.com/lvcabral/brs-desktop/pull/167)
10+
* Added support for ECP `launch`, `input` and `exit-app` endpoints by [@lvcabral](https://github.com/lvcabral) in [#170](https://github.com/lvcabral/brs-desktop/pull/170)
11+
* Added Peer Roku device menu options by [@lvcabral](https://github.com/lvcabral) in [#172](https://github.com/lvcabral/brs-desktop/pull/172)
12+
* Remove locales not supported on Roku by [@lvcabral](https://github.com/lvcabral) in [#173](https://github.com/lvcabral/brs-desktop/pull/173)
13+
* Editor: Save single snippet and alert to changes by [@lvcabral](https://github.com/lvcabral) in [#174](https://github.com/lvcabral/brs-desktop/pull/174)
14+
* Added editor context menu and improved change control by [@lvcabral](https://github.com/lvcabral) in [#176](https://github.com/lvcabral/brs-desktop/pull/176)
15+
* Removed ECP service circular dependencies by [@lvcabral](https://github.com/lvcabral) in [#177](https://github.com/lvcabral/brs-desktop/pull/177)
16+
* Removed Installer service circular dependencies by [@lvcabral](https://github.com/lvcabral) in [#178](https://github.com/lvcabral/brs-desktop/pull/178)
17+
* Removed Telnet service circular dependencies by [@lvcabral](https://github.com/lvcabral) in [#179](https://github.com/lvcabral/brs-desktop/pull/179)
18+
* Close app on peer Roku device when closed on simulator by [@lvcabral](https://github.com/lvcabral) in [#180](https://github.com/lvcabral/brs-desktop/pull/180)
19+
* Improved `roDeviceInfo.getConnectionInfo()` by getting actual network information by [@lvcabral](https://github.com/lvcabral) in [#181](https://github.com/lvcabral/brs-desktop/pull/181)
20+
* Upgraded `brs-engine` to [v1.8.5](https://github.com/lvcabral/brs-engine/releases/tag/v1.8.5) - main changes since last release:
21+
* Implemented BrightScript features up to Roku OS 14.0 by [@lvcabral](https://github.com/lvcabral) in [#420](https://github.com/lvcabral/brs-engine/pull/420)
22+
* Several Registry improvements by [@lvcabral](https://github.com/lvcabral) in [#407](https://github.com/lvcabral/brs-engine/pull/407)
23+
* Several App handling/management improvements by [@lvcabral](https://github.com/lvcabral) in [#413](https://github.com/lvcabral/brs-engine/pull/413)
24+
* Added `Platform` info to the result of `roDeviceInfo.getModelDetails()` by [@lvcabral](https://github.com/lvcabral) in [#414](https://github.com/lvcabral/brs-engine/pull/414)
25+
* Allowed `m` object to be re-assigned in Function scope by [@lvcabral](https://github.com/lvcabral) in [#417](https://github.com/lvcabral/brs-engine/pull/417)
26+
* Implemented `global` static object by [@lvcabral](https://github.com/lvcabral) in [#418](https://github.com/lvcabral/brs-engine/pull/418)
27+
* Add new supported control buttons and ECP command by [@lvcabral](https://github.com/lvcabral) in [#421](https://github.com/lvcabral/brs-engine/pull/421)
28+
* Fixed `CreateObject` behavior to match Roku by [@lvcabral](https://github.com/lvcabral) in [#423](https://github.com/lvcabral/brs-engine/pull/423)
29+
* Implemented `roSystemLog` and refactored `roMessagePort` by [@lvcabral](https://github.com/lvcabral) in [#426](https://github.com/lvcabral/brs-engine/pull/426)
30+
* Implemented `roDeviceInfoEvent` by [@lvcabral](https://github.com/lvcabral) in [#429](https://github.com/lvcabral/brs-engine/pull/429)
31+
* Implement `roCECStatus` component by [@lvcabral](https://github.com/lvcabral) in [#430](https://github.com/lvcabral/brs-engine/pull/430)
32+
* Add fake server support to `roChannelStore` by [@lvcabral](https://github.com/lvcabral) in [#431](https://github.com/lvcabral/brs-engine/pull/431)
33+
* Fixed `Int32` constructor handling of overflow to match Roku by [@lvcabral](https://github.com/lvcabral) in [#435](https://github.com/lvcabral/brs-engine/pull/435)
34+
* Added new `roDateTime` methods: `asSecondsLong` and `fromSecondsLong` by [@lvcabral](https://github.com/lvcabral) in [#437](https://github.com/lvcabral/brs-engine/pull/437)
35+
* Fixed `Int32` and `Int64` hex parsing and formatting by [@lvcabral](https://github.com/lvcabral) in [#438](https://github.com/lvcabral/brs-engine/pull/438)
36+
* Improved `sprintf` formatting by [@lvcabral](https://github.com/lvcabral) in [#443](https://github.com/lvcabral/brs-engine/pull/443)
37+
* Improved `IfToStr` type checking by [@lvcabral](https://github.com/lvcabral) in [#449](https://github.com/lvcabral/brs-engine/pull/449)
38+
* Fixed `roVideoPlayer` method `getAudioTracks` by [@lvcabral](https://github.com/lvcabral) in [#457](https://github.com/lvcabral/brs-engine/pull/457)
39+
* Added `serialNumber` to device info object and to response of `GetModelDetails()`
40+
* Fixed behavior of `End` statement to terminate the app
41+
* Improved and documented MicroDebugger functions
42+
* Improvements on WAV handling
43+
* Improved component `roURLTransfer` by [@lvcabral](https://github.com/lvcabral) in [#461](https://github.com/lvcabral/brs-engine/pull/461)
44+
* Implemented `roHdmiStatus` and `roHdmiStatusEvent` components by [@lvcabral](https://github.com/lvcabral) in [#463](https://github.com/lvcabral/brs-engine/pull/463)
45+
* Implemented `roTextureRequest` and `roTextureManager` by [@lvcabral](https://github.com/lvcabral) in [#465](https://github.com/lvcabral/brs-engine/pull/465)
46+
* Implemented `roSocketAddress` by [@lvcabral](https://github.com/lvcabral) in [#460](https://github.com/lvcabral/brs-engine/pull/460)
47+
* Implemented **mocked** `roStreamSocket` component by [@lvcabral](https://github.com/lvcabral) in [#462](https://github.com/lvcabral/brs-engine/pull/462)
48+
* Implemented **mocked** `roDataGramSocket` and extracted common interfaces into `ifSocket` by [@lvcabral](https://github.com/lvcabral) in [#466](https://github.com/lvcabral/brs-engine/pull/466)
49+
* Fixed: Some menu options were disabled when Settings is opened with app running by [@lvcabral](https://github.com/lvcabral) in [#171](https://github.com/lvcabral/brs-desktop/pull/171)
50+
* Bump nanoid from 3.3.7 to 5.0.9 by **@dependabot** in [#]175](https://github.com/lvcabral/brs-desktop/pull/175)
51+
52+
[Full Changelog][v1.4.0]
53+
354
<a name="v1.3.2"></a>
455

556
## [v1.3.2 - Checkbox to enable/disable Peer Roku](https://github.com/lvcabral/brs-desktop/releases/tag/v1.3.2) - 12 Nov 2024
657

758
### Release Changes
859

9-
* Added checkbox to enable/disable peer Roku device by [@lvcabral](https://github.com/lvcabral) in [164](https://github.com/lvcabral/brs-desktop/pull/164)
10-
* Bump elliptic from 6.5.7 to 6.6.0 by @dependabot in [165](https://github.com/lvcabral/brs-desktop/pull/165)
11-
* Fixed build on MacOS by [@lvcabral](https://github.com/lvcabral) in [166](https://github.com/lvcabral/brs-desktop/pull/166)
60+
* Added checkbox to enable/disable peer Roku device by [@lvcabral](https://github.com/lvcabral) in [#164](https://github.com/lvcabral/brs-desktop/pull/164)
61+
* Bump elliptic from 6.5.7 to 6.6.0 by @dependabot in [#165](https://github.com/lvcabral/brs-desktop/pull/165)
62+
* Fixed build on MacOS by [@lvcabral](https://github.com/lvcabral) in [#166](https://github.com/lvcabral/brs-desktop/pull/166)
1263
* Changed build to generate MacOS Universal installer (for both Intel and Arm machines)
1364

1465
[Full Changelog][v1.3.2]
@@ -19,7 +70,7 @@
1970

2071
### Release Changes
2172

22-
* Implemented option to Open from URL by [@lvcabral](https://github.com/lvcabral) in [163](https://github.com/lvcabral/brs-desktop/pull/163)
73+
* Implemented option to Open from URL by [@lvcabral](https://github.com/lvcabral) in [#163](https://github.com/lvcabral/brs-desktop/pull/163)
2374
* New option in File menu that allows to download and run any app package (zip/bpk) or code file (brs)
2475
* The downloaded file is also executed on the peer Roku device (if configured in the settings screen)
2576
* Updated documentation with the new recent features
@@ -42,7 +93,7 @@
4293
* Implemented support for multi-dimensional indexes of `roArray` and `roList` by [@lvcabral](https://github.com/lvcabral) in [#331](https://github.com/lvcabral/brs-engine/pull/331)
4394
* Implemented `ObjFun()` global function and support for `variadic` arguments on `Callable` by [@lvcabral](https://github.com/lvcabral) in [#375](https://github.com/lvcabral/brs-engine/pull/375)
4495
* Added support for `formatJson()` undocumented flags 256 and 512 by [@lvcabral](https://github.com/lvcabral) in [#377](https://github.com/lvcabral/brs-engine/pull/377)
45-
* Implemented Micro Debugger commands: `classes`, `bscs` and `stats` by [@lvcabral](https://github.com/lvcabral) in [#385](https://github.com/lvcabral/brs-engine/pull/385)
96+
* Implemented Micro Debugger commands: `classes`, `bscs` and `stats` by [@lvcabral](https://github.com/lvcabral) in [#385](https://github.com/lvcabral/brs-engine/pull/385)
4697
* Improvements to `roPath` by [@lvcabral](https://github.com/lvcabral) in [#296](https://github.com/lvcabral/brs-engine/pull/296)
4798
* Changed `roUrlEvent` and `roUniversalControlEvent` to be comparable by [@lvcabral](https://github.com/lvcabral) in [#299](https://github.com/lvcabral/brs-engine/pull/299)
4899
* Updated Firmware Version to 11.5 as `continue for/while` is now supported by [@lvcabral](https://github.com/lvcabral) in [#357](https://github.com/lvcabral/brs-engine/pull/357)
@@ -63,7 +114,7 @@
63114

64115
### Release Changes
65116

66-
* Implemented Code Editor and Console window by [@lvcabral](https://github.com/lvcabral) in [154](https://github.com/lvcabral/brs-desktop/pull/154)
117+
* Implemented Code Editor and Console window by [@lvcabral](https://github.com/lvcabral) in [#154](https://github.com/lvcabral/brs-desktop/pull/154)
67118
* Added editor and console code based on [brs-fiddle](https://github.com/lvcabral/brs-fiddle)
68119
* Removed app folder from git (all files are generated from `src` now)
69120
* Linked code editor to main simulator display
@@ -285,6 +336,7 @@ Binaries are published at the engine library repository: <https://github.com/lvc
285336

286337
[Changes][v0.5.0-app]
287338

339+
[v1.4.0]: https://github.com/lvcabral/brs-desktop/compare/v1.3.2...v1.4.0
288340
[v1.3.2]: https://github.com/lvcabral/brs-desktop/compare/v1.3.0...v1.3.2
289341
[v1.3.0]: https://github.com/lvcabral/brs-desktop/compare/v1.2.0...v1.3.0
290342
[v1.2.0]: https://github.com/lvcabral/brs-desktop/compare/v1.1.0...v1.2.0

build/entitlements.mac.plist

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
6+
<true/>
7+
<key>com.apple.security.cs.disable-library-validation</key>
8+
<true/>
9+
<key>com.apple.security.cs.allow-jit</key>
10+
<true/>
11+
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
12+
<true/>
13+
<key>com.apple.security.cs.debugger</key>
14+
<true/>
15+
<key>com.apple.security.network.client</key>
16+
<true/>
17+
<key>com.apple.security.network.server</key>
18+
<true/>
19+
<key>com.apple.security.files.user-selected.read-only</key>
20+
<true/>
21+
<key>com.apple.security.inherit</key>
22+
<true/>
23+
<key>com.apple.security.automation.apple-events</key>
24+
<true/>
25+
</dict>
26+
</plist>

build/notarize.mac.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// remove comment to build locally:
2+
// require('dotenv').config();
3+
const { notarize } = require("electron-notarize");
4+
5+
exports.default = async function notarizing(context) {
6+
const { electronPlatformName, appOutDir } = context;
7+
if (electronPlatformName !== "darwin") {
8+
return;
9+
}
10+
11+
const appName = context.packager.appInfo.productFilename;
12+
13+
return await notarize({
14+
tool: 'notarytool',
15+
teamId: process.env.APPLE_TEAM_ID,
16+
appBundleId: "com.lvcabral.brs-desktop.app",
17+
appPath: `${appOutDir}/${appName}.app`,
18+
appleId: process.env.APPLE_ID,
19+
appleIdPassword: process.env.APPLE_PASSWORD,
20+
});
21+
};

docs/build-from-source.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ To build the project you will need `NodeJS`, so you'll need to [install that fir
66

77
Once that's ready, install [yarn](https://yarnpkg.com). Installing it with `npm` is probably the simplest:
88

9-
```shell
9+
```console
1010
$ npm install -g yarn
1111
```
1212
## Setup
1313
1. Clone this repo:
14-
```
14+
```console
1515
$ git clone https://github.com/lvcabral/brs-desktop.git
1616
```
1717

1818
2. Install dependencies:
19-
```shell
19+
```console
2020
$ yarn install # or just `yarn`
2121
```
2222

@@ -25,7 +25,7 @@ $ npm install -g yarn
2525

2626
If you want to run the application without packaging it, for debugging, just execute:
2727

28-
```shell
28+
```console
2929
$ yarn start
3030
```
3131

@@ -38,30 +38,30 @@ Below the list of available build commands for each platform:
3838
#### macOS 64 bits (.dmg)
3939

4040
Run from macOS `terminal`:
41-
```shell
41+
```console
4242
$ yarn dist
4343
```
4444
#### Windows 32 & 64 bits (single installer)
4545

4646
Run from Windows `command` or `PowerShell` prompt:
47-
```shell
47+
```console
4848
C:\git\brs-desktop> yarn dist-win
4949
```
5050
#### Linux 32 bits (AppImage)
5151

5252
Run from Linux `terminal`:
53-
```shell
53+
```console
5454
$ yarn dist-linux32
5555
```
5656
#### Linux 64 bits (AppImage)
5757

5858
Run from Linux `terminal`:
59-
```shell
59+
```console
6060
$ yarn dist-linux64
6161
```
6262
#### Linux 64 bits (Debian)
6363

6464
Run from Linux `terminal`:
65-
```shell
65+
```console
6666
$ yarn dist-deb64
6767
```

docs/control-reference.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,23 @@
22

33
The simulator supports by default the following mapping of the keyboard and game pads to Roku remote control:
44

5-
| Keyboard | Game Pad | Roku Control | Description |
6-
|-------------|------------|--------------|-----------------------------------------------------------------------|
7-
| Escape | 1 | Back | Return to the previous screen, some apps will close at the main menu. |
8-
| Home | 7 or 9 | Home | Close the currently loaded app. |
9-
| Arrow Keys |Joys & D-Pad| D-Pad | Directional controls to navigate on menus and control game characters.|
10-
| Backspace | 6 or 8 | Replay | Instant replay button. Check app instructions for custom usage. |
11-
| Enter | 0 | OK | Select options from a menu. Check app instructions for custom usage. |
12-
| * or Insert | 4 or 16 | Info | Open app settings. Check app instructions for custom usage. |
13-
| , (comma) | 2 | Rewind | Reverse scan button. Check app instructions for custom usage. |
14-
| . (dot) | 3 | Fast Forward | Forward scan button. Check app instructions for custom usage. |
15-
| (space bar) | 5 | Play/Pause | Play/Pause button. Check app instructions for custom usage. |
16-
| A | 10 | A | A game buttom. Check app instructions for custom usage. |
17-
| Z | 11 | B | B game buttom. Check app instructions for custom usage. |
18-
| F10 | 17 | Volume Mute | Button to toggle the simulator volume mute on/off. |
5+
| Browser Keys | Game Pad | Roku Control | Description |
6+
|---------------| :---: | :---: |-----------------------------------------------------------------------|
7+
| Esc/Del | 1 | Back | Return to the previous screen, some apps will close at the main menu. |
8+
| Home/Shift+Esc| 8 | Home | Close the currently loaded app. |
9+
| Arrow Keys |D-Pad & Joys| D-Pad | Directional controls to navigate on menus and control games. |
10+
| Backspace | 6 or 16 | Replay | Instant replay button. |
11+
| Enter | 0 | OK | Select button. |
12+
| Insert | 4 or 7 | Info | Information/Settings button |
13+
| PageDown | 2 | Rewind | Reverse scan button. |
14+
| PageUp | 3 | Fast Forward | Forward scan button. |
15+
| End | 5 or 9 | Play/Pause | Play/Pause button. |
16+
| Ctrl+A | 10 | A | A game button. |
17+
| Ctrl+Z | 11 | B | B game button. |
18+
| F10 | 17 | Volume Mute | Button to toggle the simulator audio mute on/off. |
1919

20-
<p align="left">
20+
21+
<p align="center">
2122
<img src="images/control-reference.png?raw=true"/>
2223
</p>
2324

docs/images/control-reference.png

-1.76 KB
Loading

0 commit comments

Comments
 (0)