Pode Versions Save

Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers

v2.10.0

4 weeks ago

Checksum: 93FCF0ED0EFABF1D848AE37CA63934178901ED76B61F37F955D55669FB7F70B8

Features

  • #1197: Adds support for inbuilt caching of values
  • #1238: Adds support for creating custom scoped variables
  • #1256: Adds support for converting HTTP connections into SSE connections
  • #1266: Adds support for a File Browsing page on static routes (thanks @mdaneri!)

Enhancements

  • #1136: Adds full support for OpenAPI v3.0.3 and v3.1 (huge thanks to @mdaneri! 🎉)
  • #1239: Adds the missing HTTP 425 response status code
  • #1242: Adds support for enabling "session per browser Tab"
  • #1265: Adds support for customising the default folder paths, such as /views (thanks @mdaneri!)
  • #1267: Adds support for -DualMode on Add-PodeEndpoint, allowing endpoints to listen on IPv4 and IPv6
  • #1276: Adds supported and EOL PowerShell checks during server start (thanks @mdaneri!)

Bugs

  • #1246: Fixes static route ordering, and redirecting to default file
  • #1258: Fixes a script modification issue when using scriptblocks with Add-PodePage (thanks @mdaneri!)
  • #1279: Fixes a scoping issue when using Add-PodeRouteGroup
  • #1281: Removes an erroneous break command when broadcasting messages to websockets
  • #1138: Fixes the status code for expired JWT, from 400 to 401 (thanks @mdaneri!)

Documentation

  • #1232: Updates Sessions page to fix Redis example (thanks @Szeraax!)
  • #1234: Updates Tasks page to explain Task concurrency and Argument passing (thanks @Szeraax!)
  • #1276: Adds supported PowerShell documentation (thanks @mdaneri!)
  • #1277: Fix for missing merged authentication documentation
  • #1282: Adds documentation describing how to debug Pode

Packaging

  • #1261: Add support to the build script for Linux and Mac (thanks @mdaneri!)
  • #1262: Migrates tests to Pester 5.5.0 (thanks @mdaneri!)
  • #1269: Adds PSScriptAnalyzerSettings to run during CI pipelines (thanks @mdaneri!)
  • #1264, #1273: Adds CI pipelines per supported PowerShell version (thanks @mdaneri!)
  • #1276: Adds .NET8 support (thanks @mdaneri!)
  • #1284: Adds additional unit tests to verify PowerShell syntax and structure
  • #1286: General tidy-up and release prep

v2.9.0

6 months ago

Checksum: 7982A2267E12D9FF8F53C4C1732A4F5A01FA789470EA5DF940A8641D08EDEF35

Features

  • #992: Introduces new Authorisation middleware support

Enhancements

  • #588: Adds support for merging Authentication methods into a new Authentication method
  • #1082, #1107: Adds a new "Running" event type, which will be triggered once all Runspaces have started
  • #1101: Adds a new -SslProtocol parameter to Add-PodeEndpoint, to allow setting SSL Protocols per endpoint
  • #1106: Adds two new Security functions to control the hiding/showing of the Server header in responses
  • #1142: The Test-PodeJwt function is now public (thanks @alan-null!)
  • #1163: Adds a new "Session" authentication method, useful if you need multiple authentication methods and the user can choose one

Bugs

  • #1030: Fixes an issue with some Authentication methods when -AsCredential was supplied on the scheme
  • #1081: Don't attempt to parse the query string if there is no query string supplied
  • #1083: Fixes a time-zone issue when verifying JWT "exp" and "nbf" properties (thanks @avin3sh!)
  • #1087: Fixes an SMTP body parsing issue when multiple headers are in the request
  • #1093: Allow greater JSON depths to be used when saving/restoring State (thanks @plk!)
  • #1125: Fixes an issue where Verbs weren't being cleared down appropriately on server restart
  • #1130: When request logging is enabled, and an authenticated user is available, the username will now be used and not "-"
  • #1137: Fixes the loading of AutoImport configuration - it was being ignored!

Documentation

  • #1078: Adds release dates to the releases notes page
  • #1099: Adds a reference to the "Protected Users" group in the AD Authentication page
  • #1115, #1116: Fixes incorrect ports in Example scripts (thanks @ArieHein!)
  • #1117, #1118, #1119: Fixes markdown syntax in pages (thanks @ArieHein!)
  • #1123: Adds reference link about using the SecretManagement module in automation scenarios
  • #1133: Fixes broken links to functions (thanks @Chris--A!)
  • #1141: Updates the IIS page to reference the use of Maximum Worker Processes, and Sessions being stored in-memory

Packaging

  • #1169: Adds a .vscode workspace settings file, with PowerShell code formatting settings
  • #1170: Bumps the Alpine version to 3.17, and Ubuntu to 22.04 in Dockerfiles
  • #1171: Bumps the versions of MkDocs and the Material theme

v2.8.0

1 year ago

Checksum: EE4C873F72FC3C7F846FB0D80624A92438C89A43236421A49CCBEBED1240E3D9

Features

  • #980: Adds support for Secret Management, either via the SecretManagement module or using custom logic
  • #1063: Adds support for File Watchers, allowing you to run logic on file events
  • #1067: Adds support for Mutexes and Semaphores

Enhancements

  • #647: Adds a new helper function, New-PodeCron, to help with creating cron expressions for schedules
  • #964: Adds a new -IfExists parameter for Routes, letting you now specify if Pode should overwrite a Route if it already exists
  • #996: Multiple -Method values can now be passed for Routes
  • #1036: Adds functions to reset and retrieve the current session's expiry
  • #1071: Adds support for the CONNECT HTTP method

Bugs

  • #1028: Fixes the QUIT command on the SMTP server to also return a "221 OK" response
  • #1029: Resolves the "A drive with this name already exists" message
  • #1041: Fixes a parsing error when sending form data from Invoke-WebRequest
  • #1044: Fixes a duplicate key error when using the multiple attribute on HTML file inputs
  • #1046: Fixes the version of Pode within its runspaces, so it's no "0.0"
  • #1065: Fixes query string parsing when key is null (thanks @ili101!)

Documentation

  • #1009: Adds clarification around password formats when using a file to store user authentication details (thanks @fatherofinvention!)
  • #1054: Fixes rendering issue with Write-PodeHtmlResponse example
  • #1056: Fixes typo in logging documentation (thanks @fatherofinvention!)

Packaging

  • #1050: Bump Dockerfiles to use PS7.3
  • #1051: Bump the PodeListener to use .NET7
  • #1052: Bump version of mkdocs and material theme

v2.7.2

1 year ago

Checksum: 3AF04B3DB6C4B52C4CB1CDEDB68F993A86E32949D77A2B63DF9DBF0B25FC2FB7

Enhancements

  • #1002: Adds a -KeepCredential switch for Add-PodeAuthWindowsAd (thanks @TheBakaBandit!)

Bugs

  • #988: Add missing -ListenerType parameter description for Start-PodeServer
  • #1001: Fix no Verbs being defined from crashing the server on restart

Documentation

  • #975: Update the code sample image in the README to an SVG (thanks @pcgeek86!)
  • #987: Adds the beginnings of a Roadmap and Project board
  • #993: Improves documentation for the WebEvent variable

v2.7.1

1 year ago

Checksum: 48E8349BC9EABB46CD448129390A3ECA6691EE7DEDF03C63F57ECE7CFC418640

Bugs

  • #990: Fix SMTP attachment name parsing, when the name contains a space

Security

  • #997: Fix an XSS exploit on the default error pages

v2.7.0

1 year ago

Checksum: 2E8DC36A5C6342E3479AEC3C2C3358924FEB78DF5EE058C3FD6B36EE4F05276D

Features

  • #895: Add support for server to be able to connect to external WebSockets
  • #902: New TCP server, listener, and endpoints; plus Verbs support
  • #976: Add support for grouping Routes

Enhancements

  • #901: Enable support for multiple SMTP endpoints, and certificates
  • #954: Add anonymous route access support, when authentication is enabled on a route
  • #960: Add RSET and NOOP SMTP commands
  • #981: Add switch for AccessControl to create global Options route
  • #982: Add * level for errors to enable everything

Bugs

  • #956: Fix for importing functionss with inline parameters
  • #957: Fix for some OpenAPI properties being dropped
  • #958: Some SMTP attachment boundaries can include double quotes
  • #965: Fix for importing ps1 files
  • #974: Add Position=0 to most response write functions

Documentation

  • #978: Icon and Donation link updates

Packaging

  • #984: Bump Docker images to use PS7.2.4

v2.6.2

2 years ago

Checksum: 8894910B0EA18B239EC90FB7C82C0FEB516D1F067D73A6F80DE60EA262AE9CD0

Bugs

  • #948: Hotfix to resolve issue with importing ActiveDirectory module into runspaces

v2.6.1

2 years ago

Checksum: 5D7B017F6FC0560F03C93C00C35A6548CD8A1AE92F790F7C2BDBBA5370CB2851

Bugs

  • #915: Fix regex issue preventing Pode listening on IPv6 addresses
  • #934: Fix relative path issue when using -FilePath on Start-PodeServer

Performance

  • #913: Add new -DirectGroups/-ADModule switch for WindowsAD authentication

Documentation

  • #940: Add a list of available options for server.psd1 files to configuration docs page

v2.6.0

2 years ago

Checksum: 007D0EECB869F88D4F681076CF93D3F1593687287FE255902538333F9627ACFD

Features

  • #893: Add async/sync Task support
  • #894: Add helper support and middleware for security HTTP headers

Enhancements

  • #867: Add support for PKCE on OAuth2 authentication
  • #868: Add support for building OAuth2 schemes from OpenID Connect Discovery URLs
  • #869: Update support to also get the count of currently processing requests
  • #891: Add -ArgumentList to Invoke-PodeTimer and Invoke-PodeSchedule

Bugs

  • #905: Fix for route creation and matching order
  • #917: Fix for OpenAPI definition not being generated correctly
  • #932: Dispose of completed Schedule runspaces/pipelines

Performance

  • #896: Open and close RunspacePools in parallel - speeds server start-up and close
  • #910: Only create RunspacePools when they're needed

Packaging

  • #871: Compile the PodeListener into netstandard2.0, and now net6.0

v2.5.2

2 years ago

Checksum: FD247CA5BE09A31A474F014020822C3BFDABA367323E50A9AB2AF74B179EE4CC

Bugs

  • #892: Fixes a bug with importing modules, where the wrong file was being used