Skip to content

Commit 0bb316f

Browse files
authored
Merge pull request #337 from Voltstro-Studios/master
Release 2.2.0
2 parents b5ddf3e + 8b5cc2e commit 0bb316f

File tree

198 files changed

+3415
-2743
lines changed

Some content is hidden

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

198 files changed

+3415
-2743
lines changed

.github/ISSUE_TEMPLATE/issue_report.yml

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,26 @@ body:
88
value: |
99
Hello, and thank you for reporting an issue with Unity Web Browser (UWB)!
1010
When filling out the information below, please try to provide as much details as you can, the more you provide, the more likely we can help and fix something.
11+
12+
**Questions and features should be asked via [Discussions](https://github.com/Voltstro-Studios/UnityWebBrowser/discussions)**
1113
1214
- type: dropdown
1315
id: platform
1416
attributes:
1517
label: What platform are you experiencing this issue on?
1618
options:
17-
- Windows
18-
- Linux
19-
- MacOS
20-
- Other
21-
validations:
22-
required: true
23-
24-
- type: dropdown
25-
id: architecture
26-
attributes:
27-
label: What architecture is your platform?
28-
options:
29-
- 64-Bit
30-
- 32-Bit
31-
- Other
19+
- Windows x64
20+
- Linux x64
21+
- MacOS x64
22+
- MacOS arm64
3223
validations:
3324
required: true
3425

35-
- type: dropdown
26+
- type: input
3627
id: version
3728
attributes:
3829
label: What version of UWB are you using?
39-
options:
40-
- Latest VoltstroUPM Release
41-
- Github Master Branch
42-
- Other (Please provide)
30+
placeholder: '2.2.0'
4331
validations:
4432
required: true
4533

@@ -66,11 +54,10 @@ body:
6654
label: Provide reproducible steps for this issue.
6755
description: Providing reproducible steps always helps. You could also provide a project with the issue here. If its a Unity project please delete the cache folder (`/Library`) and other unnecessary files from it (Such as `/Temp`, `/obj`, `*.csproj` files and builds).
6856
placeholder: Please provide reproducible steps
69-
value: "1. I did this.
70-
71-
2. I then did that.
72-
73-
3. Boom! Issue."
57+
value: |
58+
1. I did this.
59+
2. I then did that.
60+
3. Boom! Issue.
7461
validations:
7562
required: true
7663

.github/workflows/main.yml

Lines changed: 129 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,121 +1,134 @@
11
name: Build
22

33
on:
4-
push
4+
push:
5+
branches:
6+
- master
7+
- release
58

69
jobs:
7-
#This job builds the Unity project
8-
build-core:
9-
name: 'Build-UWB-Core'
10-
runs-on: ubuntu-22.04
11-
steps:
12-
13-
#Restore
14-
- uses: actions/checkout@v3
15-
with:
16-
path: 'UnityWebBrowserSource/'
17-
18-
#Setup the Environment
19-
- uses: actions/setup-dotnet@v2
20-
name: Setup .NET
21-
with:
22-
dotnet-version: '8.0.x'
23-
24-
#Build shared
25-
- name: Build Shared
26-
shell: pwsh
27-
run: '& ./publish-shared.ps1'
28-
working-directory: UnityWebBrowserSource/src/DevScripts/
29-
30-
#Restore Unity's cache
31-
- name: Unity Cache
32-
uses: actions/cache@v3
33-
with:
34-
path: UnityWebBrowserSource/src/UnityWebBrowser.UnityProject/Library
35-
key: Cache-Unity
36-
37-
#Build the Unity project
38-
- name: Build Unity Project
39-
uses: game-ci/unity-builder@v4
40-
env:
41-
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
42-
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
43-
UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
44-
with:
45-
projectPath: 'UnityWebBrowserSource/src/UnityWebBrowser.UnityProject/'
46-
targetPlatform: StandaloneLinux64
47-
buildsPath: 'UnityWebBrowserSource/src/UnityWebBrowser.UnityProject/Builds'
48-
versioning: Tag
49-
50-
#Create an output directory for artifacts
51-
- name: Create Artifacts Staging Directory
52-
shell: pwsh
53-
run: mkdir ~/UWBStaging/
54-
55-
#Pack UWB Core
56-
- name: Pack Core Package
57-
shell: pwsh
58-
run: npm pack --pack-destination ~/UWBStaging/
59-
working-directory: UnityWebBrowserSource/src/Packages/UnityWebBrowser
60-
61-
#Pack UWB Communication Pipes
62-
- name: Pack Communication Pipes Package
63-
shell: pwsh
64-
run: npm pack --pack-destination ~/UWBStaging/
65-
working-directory: UnityWebBrowserSource/src/Packages/UnityWebBrowser.Communication.Pipes
66-
67-
#Pack UWB UNIX Support
68-
- name: Pack Unix Support Package
69-
shell: pwsh
70-
run: npm pack --pack-destination ~/UWBStaging/
71-
working-directory: UnityWebBrowserSource/src/Packages/UnityWebBrowser.Unix-Support
72-
73-
# Upload Packed Packages
74-
- name: Upload Artifacts
75-
uses: actions/upload-artifact@v4
76-
with:
77-
name: UWB-Core
78-
path: ~/UWBStaging/*.tgz
79-
80-
#Builds the CEF Engine
81-
build-engine-cef:
82-
name: 'Build-Engine-Cef'
83-
runs-on: ubuntu-22.04
84-
steps:
85-
86-
#Checkout
87-
- uses: actions/checkout@v3
88-
with:
89-
fetch-depth: 0
90-
submodules: 'recursive'
91-
path: 'UnityWebBrowserSource/'
92-
93-
#Setup the Environment
94-
- uses: actions/setup-dotnet@v2
95-
name: Setup .NET
96-
with:
97-
dotnet-version: '8.0.x'
98-
99-
#Download CEF (Linux)
100-
- name: Download CEF (Linux)
101-
shell: pwsh
102-
run: '& ./download-cef-linux.ps1'
103-
working-directory: UnityWebBrowserSource/src/DevScripts/
104-
105-
#Download CEF (Windows)
106-
- name: Download CEF (Windows)
107-
shell: pwsh
108-
run: '& ./download-cef-windows.ps1'
109-
working-directory: UnityWebBrowserSource/src/DevScripts/
110-
111-
#Build CEF Engine (Linux)
112-
- name: Build CEF Engine (Linux)
113-
shell: pwsh
114-
run: '& ./publish-cef-engine-linux.ps1'
115-
working-directory: UnityWebBrowserSource/src/DevScripts/
116-
117-
#Build CEF Engine (Linux)
118-
- name: Build CEF Engine (Windows)
119-
shell: pwsh
120-
run: '& ./publish-cef-engine-windows.ps1'
121-
working-directory: UnityWebBrowserSource/src/DevScripts/
10+
#This job builds the main non-platform depent packages
11+
build-core:
12+
name: "Build-UWB-Main"
13+
runs-on: ubuntu-22.04
14+
steps:
15+
# Checkout Repo
16+
- uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
19+
20+
#Setup the Environment
21+
- uses: actions/setup-dotnet@v4
22+
name: Setup .NET
23+
with:
24+
dotnet-version: "8.0.x"
25+
26+
# Build shared
27+
- name: Build Shared
28+
run: python build_shared.py
29+
working-directory: src/DevScripts/
30+
31+
# Restore Unity's cache
32+
- name: Unity Cache
33+
uses: actions/cache@v4
34+
with:
35+
path: src/UnityWebBrowser.UnityProject/Library
36+
key: Cache-Unity
37+
38+
# Build the Unity project
39+
- name: Build Unity Project
40+
uses: game-ci/unity-builder@v4
41+
env:
42+
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
43+
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
44+
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
45+
with:
46+
projectPath: src/UnityWebBrowser.UnityProject/
47+
targetPlatform: StandaloneLinux64
48+
buildsPath: src/UnityWebBrowser.UnityProject/Builds
49+
versioning: Tag
50+
51+
# Create an output directory for artifacts
52+
- name: Create Artifacts Staging Directory
53+
shell: pwsh
54+
run: mkdir ${{ github.workspace }}/UWBStaging/
55+
56+
# Pack UWB Core
57+
- name: Pack Core Package
58+
shell: pwsh
59+
run: npm pack --pack-destination ${{ github.workspace }}/UWBStaging/
60+
working-directory: src/Packages/UnityWebBrowser
61+
62+
# Pack UWB Pipes Communication
63+
- name: Pack Pipes Communication Package
64+
shell: pwsh
65+
run: npm pack --pack-destination ${{ github.workspace }}/UWBStaging/
66+
working-directory: src/Packages/UnityWebBrowser.Communication.Pipes
67+
68+
# Upload Packed Packages
69+
- name: Upload Artifacts
70+
uses: actions/upload-artifact@v4
71+
with:
72+
name: UWB-Core
73+
path: ${{ github.workspace }}/UWBStaging/*.tgz
74+
75+
build-engine-cef:
76+
strategy:
77+
matrix:
78+
os: [windows-2022, ubuntu-22.04]
79+
include:
80+
- os: windows-2022
81+
build: windows64
82+
package: Win-x64
83+
- os: ubuntu-22.04
84+
build: linux64
85+
package: Linux-x64
86+
- os: macos-14
87+
build: macosx64
88+
package: MacOS-x64
89+
- os: macos-14
90+
build: macosarm64
91+
package: MacOS-arm64
92+
93+
runs-on: ${{ matrix.os }}
94+
name: Build-UWB-Engine-CEF-${{ matrix.package }}
95+
steps:
96+
# Checkout Repo
97+
- uses: actions/checkout@v4
98+
with:
99+
submodules: true
100+
fetch-depth: 0
101+
102+
# Setup the Environment
103+
- uses: actions/setup-dotnet@v4
104+
name: Setup .NET
105+
with:
106+
dotnet-version: "8.0.x"
107+
108+
# Download CEF
109+
- name: Download CEF ${{ matrix.build }}
110+
run: python download_cef_${{ matrix.build }}.py
111+
working-directory: src/DevScripts/
112+
113+
# Build CEF Engine
114+
- name: Build CEF Engine ${{ matrix.build }}
115+
run: python build_cef_${{ matrix.build }}.py
116+
working-directory: src/DevScripts/
117+
118+
# Create an output directory for artifacts
119+
- name: Create Artifacts Staging Directory
120+
shell: pwsh
121+
run: mkdir ${{ github.workspace }}/UWBStaging/
122+
123+
# Pack UWB Core
124+
- name: Pack CEF Engine ${{ matrix.package }} Package
125+
shell: pwsh
126+
run: npm pack --pack-destination ${{ github.workspace }}/UWBStaging/
127+
working-directory: src/Packages/UnityWebBrowser.Engine.Cef.${{ matrix.package }}
128+
129+
# Upload Packed Packages
130+
- name: Upload Artifacts
131+
uses: actions/upload-artifact@v4
132+
with:
133+
name: UWB-Engine-CEF-${{ matrix.package }}
134+
path: ${{ github.workspace }}/UWBStaging/*.tgz

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,4 +385,5 @@ FodyWeavers.xsd
385385
*.sln.iml
386386

387387
# MacOS
388-
*.DS_Store
388+
*.DS_Store
389+

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[submodule "ThirdParty/CefGlue"]
22
path = src/ThirdParty/CefGlue
3-
url = https://gitlab.com/Voltstro-Studios/WebBrowser/cefglue.git
3+
url = https://github.com/Voltstro-Studios/CefGlue.git

CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,49 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [2.2.0] - 2024-09-20
8+
9+
### Added
10+
11+
- Added MacOS support (x64, arm64)
12+
- Added CEF engine sandboxing (Windows, MacOS)
13+
- Added remote debugging allowed origins
14+
- Added CEF Event flags support (allows dragging)
15+
- Added `UWB_DISABLE_POSTPROCESSOR` define to UWB's postprocessor
16+
17+
### Changed
18+
19+
- Bump deps
20+
- Updated CEF to 128.4.9
21+
- CEF engine gets compiled using .NET Native AOT
22+
- Updated logging tags
23+
- Communication layers are loaded by name instead of assemblies
24+
- Update pipes package to use VoltRpc.Communication.Pipes package, instead of embedding
25+
- Mouse click events will always send `clickCount` with at least a value of 1
26+
- Changed control of engine pathing from being fixed (hardcoded) to being controlled by the `Engine` scriptable object
27+
- Improve copying in engine build post-processor
28+
- Change TCP timeouts to max allowed (#300)
29+
- (Dev) Build all projects in CI
30+
- (Dev) Change builds scripts to Python
31+
32+
### Deprecated
33+
34+
- Unix Support Package (`dev.voltstro.unitywebbrowser.unix-support`) - Packages should include the right execute permission from the get-go
35+
- `CommunicationLayer.connectionTimeout` - Timeouts are now set to max
36+
- `Engine.engineFileLocation` - Replaced with `Engine.engineEditorLocation`
37+
- `Engine.EngineFilesNotFoundError` - No longer needed
38+
- `EngineManager.GetEngineDirectory` - Fetching of engine paths is now handled by the engine class
39+
- `EngineManager.GetEngineDirectory` - Fetching of engine paths is now handled by the engine class
40+
- `EngineManager.GetEngineProcessFullPath` - Fetching of engine paths is now handled by the engine class
41+
- `EngineManager.GetEngineProcessFullPath` - Fetching of engine paths is now handled by the engine class
42+
- `WebBrowserUtils.GetBrowserEnginePath` - Fetching of engine paths is now handled by the engine class
43+
- `WebBrowserUtils.GetBrowserEngineProcessPath` - Fetching of engine paths is now handled by the engine class
44+
45+
### Fixed
46+
47+
- Fixed select popups not working (#314)
48+
- Fixed keyboard events not firing (#335)
49+
750
## [2.1.1] - 2024-03-22
851

952
### Added

0 commit comments

Comments
 (0)