Skip to content
Merged

v2.12.1 #1553

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
9563b04
Add hostname and query to raw log item
chris-dma Feb 18, 2025
ff18cd2
Added UtcDate to raw item
chris-dma Feb 20, 2025
0514c17
Merge branch 'develop' into extended-logging-info
chris-dma Feb 23, 2025
2b8a960
Added recommendations made by @Badgeratir
chris-dma Feb 23, 2025
dec4144
Fix 2 issues of New-PodeLoggingMethod -File
nightroman Mar 1, 2025
94e4f6c
code completed
mdaneri Mar 1, 2025
34e08fe
documentation
mdaneri Mar 1, 2025
484e2e4
Update Endpoint.ps1
mdaneri Mar 4, 2025
1b7768d
Implement #1514
mdaneri Mar 4, 2025
61d20a5
Update Console.ps1
mdaneri Mar 10, 2025
7ca550c
Update Console.ps1
mdaneri Mar 10, 2025
c341811
Update Console.ps1
mdaneri Mar 10, 2025
1e834fe
Update Context.ps1
mdaneri Mar 11, 2025
6d2a39a
#1516: Fixes AzureAD link in docs
Badgerati Mar 16, 2025
d950ca7
Improvements
mdaneri Mar 17, 2025
7fdac93
Update Responses.ps1
mdaneri Mar 18, 2025
ef1dbd5
Merge pull request #1518 from mdaneri/win2012-console-workaround
Badgerati Mar 18, 2025
5cc9916
Merge branch 'develop' into issue-1514
Badgerati Mar 18, 2025
47cb891
Merge pull request #1515 from mdaneri/issue-1514
Badgerati Mar 18, 2025
6999414
Merge branch 'develop' into develop
Badgerati Mar 18, 2025
39aafc8
Rollback ReadAllBytes($Path)
mdaneri Mar 18, 2025
a1d1bfb
fixes
mdaneri Mar 21, 2025
6c9d85d
Merge branch 'develop' into favicon
mdaneri Mar 23, 2025
8ea088c
Merge pull request #1507 from nightroman/develop
Badgerati Mar 29, 2025
c9e2bc2
Merge branch 'develop' into extended-logging-info
Badgerati Mar 29, 2025
c8e8d87
Merge pull request #1495 from chris-dma/extended-logging-info
Badgerati Mar 29, 2025
74f5a1f
Merge branch 'develop' into Issue-1516
Badgerati Mar 29, 2025
8a5eb9e
Merge pull request #1524 from Badgerati/Issue-1516
Badgerati Mar 29, 2025
18f31f3
Merge remote-tracking branch 'upstream/develop' into favicon
mdaneri Mar 29, 2025
ecbc5eb
add favicon management cmdlets and docs
mdaneri Mar 30, 2025
cdcd48b
fix ubuntu test
mdaneri Mar 30, 2025
dbf36a6
Update Favicon.md
mdaneri Mar 30, 2025
ecf0dab
Fix buffer reuse issue in PodeSignalRequest by overriding GetBuffer
mdaneri Mar 30, 2025
4aa4b65
Update PodeRequest.cs
mdaneri Apr 8, 2025
2436c06
#1500: escape wildcard characters in static content paths
Badgerati Apr 9, 2025
7ef0062
#1500: add file for testing static routes
Badgerati Apr 9, 2025
26b8be0
Merge branch 'develop' into Issue-1500
Badgerati Apr 9, 2025
cad8020
#1500: centralise wildcard escaping into one function
Badgerati Apr 10, 2025
bb5d3da
Merge branch 'Issue-1500' of https://github.com/Badgerati/Pode into I…
Badgerati Apr 10, 2025
4b12b1e
change Buffer and add test for max size
mdaneri Apr 11, 2025
6238108
Add 32KB max size note
mdaneri Apr 11, 2025
24faee1
fix test for powershell 5.1
mdaneri Apr 11, 2025
a8c72a6
Update PodeServerSignal.cs
mdaneri Apr 11, 2025
211e68c
Merge pull request #1534 from Badgerati/Issue-1500
Badgerati Apr 12, 2025
d924b65
Merge branch 'develop' into issue-1527
Badgerati Apr 12, 2025
980d899
Merge pull request #1532 from mdaneri/issue-1527
Badgerati Apr 12, 2025
497aca7
#1528: adds new .mjs content-type map to app/js
Badgerati Apr 12, 2025
4c50780
Merge remote-tracking branch 'upstream/develop' into favicon
mdaneri Apr 12, 2025
b442f9d
Merge pull request #1535 from Badgerati/Issue-1528
Badgerati Apr 12, 2025
b73f512
Clear limit rules on server restart
Badgerati Apr 12, 2025
86a1448
Fix restart server test
Badgerati Apr 12, 2025
6f7f41d
Merge pull request #1536 from Badgerati/clear-limit-rules
Badgerati Apr 12, 2025
7f9fe53
Merge branch 'develop' into favicon
mdaneri Apr 12, 2025
27dbdca
Fix the 32KB websocket payload limit
Badgerati Apr 13, 2025
55fa76e
#1503: fix null elements in pode files
Badgerati Apr 13, 2025
cfeee70
move the packages locally
mdaneri Apr 13, 2025
adffc0a
fix issue with endpoint
mdaneri Apr 14, 2025
702980c
Update build.md
mdaneri Apr 14, 2025
84dc4d1
Update build.md
mdaneri Apr 14, 2025
ba230e8
Update pode.build.ps1
mdaneri Apr 14, 2025
5324c23
Delete yarn.lock
mdaneri Apr 14, 2025
cc77957
Update .gitignore
mdaneri Apr 14, 2025
d9602cd
Moved Favicon to the middleware
mdaneri Apr 15, 2025
07d270e
change middlewares order
mdaneri Apr 16, 2025
e284462
1st review
mdaneri Apr 16, 2025
84a15c6
reduce time-out logs from websockets, and when the server is closing
Badgerati Apr 16, 2025
36572b3
Merge pull request #1509 from mdaneri/favicon
Badgerati Apr 18, 2025
0e6784d
Merge branch 'develop' into websocket-limit-fix
Badgerati Apr 18, 2025
5fb8608
Merge pull request #1537 from Badgerati/websocket-limit-fix
Badgerati Apr 18, 2025
a00d7a7
Merge branch 'develop' into Issue-1503
Badgerati Apr 18, 2025
2c8a022
Merge pull request #1539 from Badgerati/Issue-1503
Badgerati Apr 18, 2025
38c425f
Merge branch 'develop' into use-local-packages-for-openapi
mdaneri Apr 19, 2025
c423a4a
Merge remote-tracking branch 'upstream/develop' into use-local-packag…
mdaneri Apr 19, 2025
9f2c563
Merge branch 'use-local-packages-for-openapi' of https://github.com/m…
mdaneri Apr 19, 2025
aa8b217
fix an issue with pwsh desktop
mdaneri Apr 19, 2025
88b58cc
change file byte reading/writing to use .NET and existing FileInfo ob…
Badgerati Apr 21, 2025
983caa6
switch to just use ReadAllBytes for simplicity
Badgerati Apr 21, 2025
9190265
minor doc clean-up
Badgerati Apr 21, 2025
aa75635
Merge pull request #1540 from Badgerati/read-all-bytes
Badgerati Apr 21, 2025
b602e8d
bump mkdocs-material theme to v9.6.12
Badgerati Apr 21, 2025
144a8d6
Merge pull request #1541 from Badgerati/bump-versions
Badgerati Apr 21, 2025
7904b79
fix the file browser icons, so they render on PS5
Badgerati Apr 21, 2025
1f2331e
Merge branch 'develop' into fix-file-browse-icons
Badgerati Apr 21, 2025
dab87bc
Merge branch 'develop' into use-local-packages-for-openapi
mdaneri Apr 21, 2025
e864c8b
fix tests
Badgerati Apr 21, 2025
ab23cf2
Merge branch 'fix-file-browse-icons' of https://github.com/Badgerati/…
Badgerati Apr 21, 2025
0128f7a
Merge pull request #1542 from Badgerati/fix-file-browse-icons
Badgerati Apr 21, 2025
e712d5f
Merge branch 'develop' into use-local-packages-for-openapi
Badgerati Apr 21, 2025
ee349d7
1st review
mdaneri Apr 22, 2025
a0de25a
fix(yaml): quote strings beginning with special YAML prefix characters
mdaneri Apr 23, 2025
3fa2498
Merge pull request #1546 from mdaneri/issue-1545
Badgerati Apr 25, 2025
39da80e
bumps the versions of PS7.5 in GH actions, and InvokeBuild
Badgerati Apr 25, 2025
b765d47
Merge branch 'develop' into use-local-packages-for-openapi
mdaneri Apr 25, 2025
fa20c98
automatically update licenses
mdaneri Apr 26, 2025
18c35c7
removed redirection
mdaneri Apr 26, 2025
fd5c00a
Update OpenApi.ps1
mdaneri Apr 26, 2025
f78f358
Merge pull request #1538 from mdaneri/use-local-packages-for-openapi
Badgerati Apr 26, 2025
999358e
Merge branch 'develop' into bump-ps-and-ib
Badgerati Apr 26, 2025
70ec46f
Bump swagger-ui-dist from 5.20.8 to 5.21.0
dependabot[bot] Apr 26, 2025
da1e24d
Merge pull request #1549 from Badgerati/bump-ps-and-ib
Badgerati Apr 27, 2025
929b33d
Merge branch 'develop' into dependabot/npm_and_yarn/swagger-ui-dist-5…
Badgerati Apr 27, 2025
9c412e3
fixes license line-endings
Badgerati Apr 27, 2025
6c8191f
Merge pull request #1550 from Badgerati/dependabot/npm_and_yarn/swagg…
Badgerati Apr 27, 2025
33f1bcf
Bump redoc from 2.4.0 to 2.5.0
dependabot[bot] Apr 27, 2025
67bc0d1
minor tweak to dependabot file, to assign custom label
Badgerati Apr 27, 2025
f438ede
Merge pull request #1551 from Badgerati/dependabot/npm_and_yarn/redoc…
Badgerati Apr 27, 2025
bf6ce75
prepping for 2.12.1
Badgerati Apr 27, 2025
f940490
Merge pull request #1552 from Badgerati/release-prep
Badgerati Apr 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,13 @@ updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
interval: "daily"
labels:
- "packaging :package:"

- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
labels:
- "packaging :package:"
2 changes: 1 addition & 1 deletion .github/workflows/VirusTotal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ on:
- cron: '0 12 * * *'

env:
INVOKE_BUILD_VERSION: '5.12.0'
INVOKE_BUILD_VERSION: '5.12.2'
POWERSHELL_VERSION: 'lts'

jobs:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ on:
- '.github/workflows/ci-coverage.yml'

env:
INVOKE_BUILD_VERSION: '5.12.0'
INVOKE_BUILD_VERSION: '5.12.2'

jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ on:
- 'src/Pode.psd1'

env:
INVOKE_BUILD_VERSION: '5.12.0'
INVOKE_BUILD_VERSION: '5.12.2'

jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-powershell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ on:
- '.github/workflows/ci-powershell.yml'

env:
INVOKE_BUILD_VERSION: '5.12.0'
INVOKE_BUILD_VERSION: '5.12.2'

jobs:
build:
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/ci-pwsh7_5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,8 @@ on:
- '*.dockerfile'

env:
INVOKE_BUILD_VERSION: '5.12.0'
POWERSHELL_VERSION: '7.5.0'

INVOKE_BUILD_VERSION: '5.12.2'
POWERSHELL_VERSION: '7.5.1'

jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-pwsh_lts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ on:
- '*.dockerfile'

env:
INVOKE_BUILD_VERSION: '5.12.0'
INVOKE_BUILD_VERSION: '5.12.2'
POWERSHELL_VERSION: 'lts'

jobs:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-pwsh_preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ on:
- '*.dockerfile'

env:
INVOKE_BUILD_VERSION: '5.12.0'
INVOKE_BUILD_VERSION: '5.12.2'
POWERSHELL_VERSION: 'Preview'

jobs:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@
# Pode files and directories
pode_modules/
ps_modules/
src/Misc/third_party/
docs/[Ff]unctions/
examples/state.json
examples/issue-*
examples/issues/
pkg/
deliverable/
.vs/
yarn.lock

# Code Runner
tempCodeRunnerFile.ps1
Expand Down
14 changes: 7 additions & 7 deletions docs/Getting-Started/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ If you have Pode's source code checked out locally on your machine, you can foll

1. Install InvokeBuild Module

### Using Powershell Gallery
### Using Powershell Gallery

```powershell
Install-Module InvokeBuild -Scope CurrentUser
```

### Using Chocolatey
### Using Chocolatey

```powershell
choco install invoke-build
Expand Down Expand Up @@ -52,11 +52,11 @@ If you have Pode's source code checked out locally on your machine, you can foll
```

To uninstall, use:

```powershell
Invoke-Build Remove-Module
```


6. CleanUp

To clean up after a build or a pack, run the following:
Expand All @@ -65,38 +65,39 @@ If you have Pode's source code checked out locally on your machine, you can foll
Invoke-Build clean
```

## Linux
### Linux

1. Register the Microsoft Repository

#### CentOS

```shell
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo curl -o /etc/yum.repos.d/microsoft.repo https://packages.microsoft.com/config/centos/8/prod.repo
```

#### RedHat

```shell
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo curl -o /etc/yum.repos.d/microsoft.repo https://packages.microsoft.com/config/rhel/9/prod.repo
```

#### Debian / Ubuntu

```shell
sudo apt-get update
sudo apt-get install -y wget apt-transport-https software-properties-common
wget https://packages.microsoft.com/config/debian/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo apt-get update;
```


2. Install InvokeBuild Module

```powershell
Install-Module InvokeBuild -Scope CurrentUser
```


3. Test

To run the unit tests, run the following command from the root of the repository (this will build Pode and, if needed, auto-install Pester/.NET):
Expand Down Expand Up @@ -135,7 +136,6 @@ If you have Pode's source code checked out locally on your machine, you can foll
Invoke-Build Remove-Module
```


## MacOS

An easy way to install the required components is to use [brew](https://brew.sh/):
Expand Down
2 changes: 1 addition & 1 deletion docs/Tutorials/Authentication/Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The [`New-PodeAuthScheme`](../../../Functions/Authentication/New-PodeAuthScheme)
The following schemes are supported:

* [API Key](../Methods/ApiKey)
* [Azure AD](../Methods/AzureAD)
* [Azure AD](../Inbuilt/AzureAD)
* [Basic](../Methods/Basic)
* [Bearer](../Methods/Bearer)
* [Client Certificate](../Methods/ClientCertificate)
Expand Down
100 changes: 100 additions & 0 deletions docs/Tutorials/Endpoints/Favicon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Favicons

Pode allows you to customize favicons served from HTTP/HTTPS endpoints using a set of dedicated commands. By default, Pode does not serve any favicon until one is explicitly configured using the provided favicon commands.

## Overview

Favicons are the small icons displayed in browser tabs, bookmarks, and other UI elements. Pode supports using favicons in the standard ICO format, as well as other common web image formats such as PNG or SVG (depending on browser support).

## Managing Favicons

Pode provides the following functions to manage favicons:

- `Add-PodeFavicon`: Adds a favicon to one or more endpoints.
- `Remove-PodeFavicon`: Removes the favicon from one or more endpoints.
- `Get-PodeFavicon`: Retrieves the current favicons assigned to endpoints.
- `Test-PodeFavicon`: Checks whether a favicon is configured on one or more endpoints.

These functions support targeting specific endpoints by name, or applying changes globally to all endpoints. You can also limit operations to only endpoints marked as default using the `-DefaultEndpoint` switch.

## Supported Formats

Favicons are typically stored in `.ico` format but Pode also supports:

- `.ico`: Multi-resolution raster format. Preferred for compatibility.
- `.png`: Lossless compressed raster format. Supported in modern browsers.
- `.svg`: Vector-based, resolution-independent. Supported in modern browsers with limitations.

Other formats like `.jpg` or `.gif` may work but are not recommended due to lack of transparency or limited quality.

For further details on favicon formats and specifications, refer to the [Favicon specification]([https://en.wikipedia.org/wiki/Favicon](https://en.wikipedia.org/wiki/Favicon)) and [RFC 5988]([https://datatracker.ietf.org/doc/html/rfc5988](https://datatracker.ietf.org/doc/html/rfc5988)).

## Recommended Sizes

Favicons should include multiple resolutions for optimal display across different devices. Recommended sizes include:

- **16x16** : Used in browser tabs, bookmarks, and address bars.
- **32x32** : Used in browser tabs on higher-resolution displays.
- **48x48** : Used by some older browsers and web applications.
- **64x64** : Generally not used by browsers but can be helpful for scalability in web apps.
- **256x256** : Mainly for **Windows app icons** (not typically used as a favicon in browsers).

## Usage Examples

### Add default Pode favicon to all HTTP/S endpoints

```powershell
Add-PodeFavicon -Default
```

### Add a custom favicon from file to all endpoints

```powershell
Add-PodeFavicon -Path './assets/favicon.ico'
```

### Add a favicon to a specific endpoint using binary data

```powershell
$icon = [System.IO.File]::ReadAllBytes('C:\icons\custom.ico')
Add-PodeFavicon -Binary $icon -EndpointName 'api'
```

### Add a favicon only to endpoints marked as default

```powershell
Add-PodeEndpoint -Address localhost -Port 8080 -Protocol Http
$iconBytes = [System.IO.File]::ReadAllBytes("C:\path\to\custom.ico")
Add-PodeFavicon -Binary $iconBytes -DefaultEndpoint
```

### Remove all favicons from all endpoints

```powershell
Remove-PodeFavicon
```

### Remove favicon from a specific endpoint

```powershell
Remove-PodeFavicon -EndpointName 'admin'
```

### Get all currently assigned favicons

```powershell
Get-PodeFavicon
```

### Test if a favicon exists on all default endpoints

```powershell
Test-PodeFavicon -DefaultEndpoint
```

## Notes

- Only HTTP and HTTPS endpoints support favicons.
- You can assign favicons only after endpoints are created.
- Favicons are stored in-memory as part of the endpoint object.
- Use `-DefaultEndpoint` with any command to target only default endpoints.
8 changes: 8 additions & 0 deletions docs/Tutorials/WebSockets/Endpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

Pode has support for creating WebSocket endpoints, for server-to-client and/or client-to-server communications. WebSockets allow you to broadcast messages directly from your server to connected clients. This allows you to get real-time continuous updates on the frontend without having to constantly refresh the page, or by using async javascript.

!!! note
The maximum size for WebSocket payloads in Pode depends on the version of PowerShell being used:

- For **PowerShell ≤ 6.0**, the maximum payload size is **32KB**.
- For **PowerShell ≥ 7.0**, the maximum payload size is **16KB**.

If a message exceeds these limits, the connection may be closed or the message may not be delivered correctly.

## Server Side

### Listening
Expand Down
Loading
Loading