Repository navigation
Comparing changes
Open a pull request
base repository: damsfx/valet-windows
base: master
head repository: yCodeTech/valet-windows
compare: master
- 17 commits
- 19 files changed
- 7 contributors
Commits on Apr 11, 2026
-
fix: PHP port replacement string to prevent it removing the entire line.
When isolating a site, the port replacement corrupts the config and removes the entire `set $valet_site_php_port` line. This happens because: If the isolated port is `9002`, the replacement string `"$1{$phpPortValue}$2"` becomes `$19002$2`. In `preg_replace`, `$19` is treated as backreference 19, not “group 1 + literal 9”. Since group 19 does not exist, it collapses to an empty string, leaving the literal `002` plus group 2. ~ Explanation by Copilot. So the entire line is removed because the backreference to it in $1 isn't interpreted as that. - Fixed by separating the values via contatenation instead of string interpolation, and wrapped the backreference to be isolated: `${1}` to ensure the PHP port is correctly set without removing the entire line.Configuration menu - View commit details
-
Copy full SHA for dfc0618 - Browse repository at this point
Copy the full SHA dfc0618View commit details -
fix: php port replacement for multiple location blocks in a site config.
The PHP port replacement was happening only once but there can be a max of 2 location blocks with the `set $valet_site_php_port` line (ie. secured sites). This happens because the `preg_replace` had a replacement limit set to 1. - Fixed by removing the limit so it replaces all `set $valet_site_php_port` lines it finds, and not limited to the max of 2 either.
Configuration menu - View commit details
-
Copy full SHA for eab4758 - Browse repository at this point
Copy the full SHA eab4758View commit details -
fix: php port replacement removes entire line in site config (cretueu…
…sebiu#43) Fixes cretueusebiu#42. This pull request makes a minor update to the way the PHP port is replaced in the site configuration within the `replacePhpVersionInSiteConf` function. The change simplifies the usage of replacement variables in the `preg_replace` call, improving readability and maintainability. - Refactored the `preg_replace` replacement string in the `replacePhpVersionInSiteConf` function in `Site.php` to use string concatenation with `${1}` instead of double-quoted interpolation with `$1`, ensuring correct variable substitution and preventing entire line removal with the wrong interpretation of the backreference numbers. - Removed the limit of max replacements the `preg_replace` can do, ensuring all PHP port lines in multiple location blocks in the site configs are replaced.
Configuration menu - View commit details
-
Copy full SHA for f53db7d - Browse repository at this point
Copy the full SHA f53db7dView commit details -
Release v3.4.1 (cretueusebiu#44)
* chore: bump version to 3.4.1 * chore: update changelog with v3.4.1 release changes
Configuration menu - View commit details
-
Copy full SHA for 937ee4d - Browse repository at this point
Copy the full SHA 937ee4dView commit details
Commits on Jun 7, 2026
-
fix:
whichcommand bug that still uses the old `drivers/require.php……` path. (cretueusebiu#46) * fix: `which` command bug that still uses the old `drivers/require.php` path. Fixes cretueusebiu#45. - Fixed the require path in the `which` command, as it was still using the old require drivers path, it now uses the new `includes/require-drivers.php` path. Otherwise this bug would spit out a PHP warning: > PHP Warning: require(C:\Users\Name\AppData\Roaming\Composer\vendor\ycodetech\valet-windows\cli/drivers/require.php): Failed to open stream: No such file or directory in C:\Users\Name\AppData\Roaming\Composer\vendor\ycodetech\valet-windows\cli\valet.php on line 1239 Also added a deprecation notice for the require statement to prepare for future removal of legacy driver code. - Added a `use` statement at the top of the file to import the `ValetDriver` namespaced class. * fix: update changelog for `which` command bug fix * chore: update Prettier configuration for Markdown files
Configuration menu - View commit details
-
Copy full SHA for 2a75289 - Browse repository at this point
Copy the full SHA 2a75289View commit details
Commits on Jun 8, 2026
-
Fix fetch-share-url fatal errors and release v3.4.3 (cretueusebiu#48)
* fix: `fetch-share-url` command bug where the `retry` helper function was undefined. Fixes cretueusebiu#47. - Removed all the function_exists conditionals from Valet's helpers, so that they work no matter what, fixing a `PHP Fatal error: Uncaught Error: Call to undefined function Valet\retry()`. * fix: improve error messages in `currentTunnelUrl` method - Clarified the parameter description for `$site` in the docblock. - Enhanced logging and exception messages to include the site name for better debugging context. * fix: prevent duplicate TLD in share URL construction Removed the TLD from the site variable if it's included, to avoid issues with duplicate TLDs in the site being shared. * chore: update changelog and version to 3.4.3
Configuration menu - View commit details
-
Copy full SHA for ce840d2 - Browse repository at this point
Copy the full SHA ce840d2View commit details
Commits on Jun 22, 2026
-
ci: add auto changelog and version update workflows (cretueusebiu#50)
* ci: add auto changelog and version update workflows * ci: address code review feedback * fix: strip redundant leading verb from changelog entry titles When a PR title like "feat: add X" or "fix: fixed Y" was processed, the changelog entry would duplicate the verb: "Added add X" / "Fixed fixed Y". A new `stripRedundantLeadingWord` helper removes the leading verb from the cleaned title when it is a form of the prefix already applied to the entry (e.g. add/adds/added/adding when prefix is "Added"). If stripping would leave the title empty or whitespace-only, the original is kept. * refactor: simplify regex and guard in stripRedundantLeadingWord --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f2e7040 - Browse repository at this point
Copy the full SHA f2e7040View commit details
Commits on Jul 3, 2026
-
fix: ngrok error logging by adding real-time output (cretueusebiu#51)
* fix: ngrok error logging by adding real-time output It was really hard to figure out if there was something wrong with ngrok without proper logging. Ngrok does actually have a --log option. so we can use this to stream live logging output directly to the terminal. - Implemented `streamCommandOutput` method in `CommandLine` to handle command output in real time, while also optionally collecting errors for later checks, and format errors as valet errors. - Enhanced `Ngrok` class to utilize the new streaming method with the --log options for better error handling and output visibility. - Updated `error` helper function to support additional `newline` and `escapeOutput` parameters for output formatting, and changed the Symfony's `writeln` to `write` so we can toggle on/off the writing of a newline at the end of the output. * fix: improve ngrok error message formatting & add newline characters for clarity * refactor: `output` helper function to toggle newlines on/off. - Updated `output` helper function to accept a `newline` parameter, and changed the Symfony's `writeln` to `write` so we can toggle on/off the writing of a newline at the end of the output. * refactor: callback params in `streamCommandOutput` method to an array. - Refactored `CommandLine::streamCommandOutput` method: - Removed the callback `lineMatches` and `lineIsError` params. - Added a `callbacks` array param to define the many callbacks that may be used, for better flexibility. - Updated the callback defaults. - Updated ngrok integration to utilize the new callback structure for error line handling. * fix: enhance ngrok default options handling when they're not set by users - Refactored the host-header options conditional check in favour of defining the default options including the log options and their values in an array, and looping through them only adding them if they're not in the user options array. - Allowed the logging options to be overridden by users by removing the hardcoded logging options from the ngrok command in favour of the options array. * feat: enhance ngrok output handling to extract the public URL for ease - Added a `lineHandler` callback option to the `CommandLine::streamCommandOutput` method, and allow it to be called after the line has been outputted to the terminal. - Added a line handler closure function in `Ngrok::start` method to find and extract the public URL when the tunnel starts and output it as a Valet info message, so the user can easily identify the URL without having to use the `fetch-share-url` valet command. - Added a conditional to detect if the options string doesn't contain the log stdout/stderr option, then it'll output the info message to inform users they can use the `fetch-share-url` valet command. This message doesn't need to be outputted if it is logging to stdout/stderr as it tells the use about the url anyway. - Also added a notes about why stdout and stderr values are the same - because `CommandLine::streamCommandOutput` method uses `2>&1` to redirect stderr to stdout. * fix: outputting the URL info before the line is even outputted from ngrok ngrok's command output is now processed through the `output` helper function which uses Symfony's `ConsoleOutput` instead of relying on PHP's `echo`. This fixes the output race where the URL info in the lineHandler was outputted before ngrok's own output was shown. By changing it to our helper, everything goes through Symfony's buffer system and output them in order. * feat: add clipboard functionality for public URL in ngrok sharing - Implemented `ShareTool::copyUrlToClipboard` method to copy the specified URL to the clipboard, and changed the `ShareTool::currentTunnelUrl` method to use this new method instead of duplicating the code. - Removed the info message from the `fetch-share-url` command, and added it into the new `ShareTool::copyUrlToClipboard` method. - Updated `Ngrok:start` method to use the new `ShareTool::copyUrlToClipboard` method for copying the URL in the `lineHandler`. * fix: `copyUrlToClipboard` method to use PowerShell's `Set-Clipboard`. - Fixed `ShareTool::copyUrlToClipboard` method to use PowerShell's `Set-Clipboard` instead of CMD's `clip`. This is so that we can take advantage of PowerShell's single quotes to prevent command injection with shell metacharacters (e.g. &, |, >) as they are only interpreted as string characters. So if somehow the public url contains the metacharacters, they will not be used as shell operators. * fix: error line detection in ngrok output handling in `Ngrok::start`. - Added detection for 'ERR_NGROK_' in addition to 'ERROR:' to improve error logging and error appearance for easier skim-reading. * fix: `streamCommandOutput` method to output an error if the command failed - Fixed `CommandLine::streamCommandOutput` method to output an error to the user if the command failed to execute. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * docs: update README with ngrok real-time logging for the `share` command - Clarified that prior to v3.4.4, the public URL wasn't displayed and required the `fetch-share-url` command. - Added information about the new real-time logging feature in ngrok and how to disable it if needed. * chore(editorconfig): change indent size for md files to be inline with prettier * style: auto format readme * docs(readme): update the known issues section re the share url coping. Updated the known issue to state the share url will now be copied to the clipboard automatically as of v3.4.4. --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for e579e1c - Browse repository at this point
Copy the full SHA e579e1cView commit details -
refactor: update error pages (cretueusebiu#49)
* Update error pages (cretueusebiu#41) Refactor code structure for improved readability and maintainability -update dark scheme rendering Co-authored-by: Stu <31927084+yCodeTech@users.noreply.github.com> * refactor: 404 and 500 error pages structure and refined CSS. - Added container div for improved HTML structure and added classes for better style selectors. - Moved the flex styles from the body to the new container class. - Refined values for widths, margins, and font sizes. - Changed some of the styles to use CSS nesting. - Moved the SVG styles into the main style block to keep all styles together. - Moved the `@media prefers-color-scheme` rules to be nested under each element that it's for. - Updated colours for dark mode. - Auto formatting * fix: small logo on desktop by ensuring the content fills the flex space. Using width stretch the content fills the entire of the flex container space, capping at max-width, so the logo is always at optimum size. Reason why this only affects the 404 page and not 500 page, is because 500 has the additional paragraphs that always makes the content fill the flex container. * fix: change `width: stretch` to `flex-basis: 100%` Width stretch is supported but some browsers require a different name, so we're switching to flex basis 100% instead which does the same job of filling the flex container space, but without an additional property for certain browsers. --------- Co-authored-by: Damien MATHIEU <contact@hounddd.fr>
Configuration menu - View commit details
-
Copy full SHA for 0620831 - Browse repository at this point
Copy the full SHA 0620831View commit details -
docs: Update changelog (cretueusebiu#52)
* docs: update changelog for PR cretueusebiu#51 * docs: update changelog for PR cretueusebiu#49 --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ad892ee - Browse repository at this point
Copy the full SHA ad892eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for bb9ecc4 - Browse repository at this point
Copy the full SHA bb9ecc4View commit details -
Release v3.4.4 (cretueusebiu#53)
chore: version bump and update changelog Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ee07beb - Browse repository at this point
Copy the full SHA ee07bebView commit details
Commits on Jul 5, 2026
-
fix: release workflow and immutable release tags for Packagist (cretu…
…eusebiu#55) * chore(editorconfig): update indent style for YAML files * refactor: release workflow for immutable tag and release publishing Fixes cretueusebiu#54 where packagist complains the release tag has been modified after the release. To fix we need to completely change how we do releases and auto version bump. We now manually trigger the workflow, input the version tag, run the auto version bump and changelog update jobs, and then create the release and tag pragmatically after committing. - Refactor release pipeline to completely change how we do releases and auto version bump. Allowing the workflow to be triggered manually (instead of on-release) with inputs to set the release tag version and publish the release. - Introduced `tag_name`, `target_branch` with default as master, and `prerelease` boolean inputs. - Introduced `publish_only` and `release_sha` inputs to enable the skipping of a version and changelog updates and jump directly to publishing the release. - Fixed the release tag behaviour and removed the updating of tag commits. - Added a proper publish release job with the creation of immutable tags and releases. - Publish releases from resolved release commit SHA to keep tag/release contents aligned both on GitHub and Packagist. - Updated versioning validation and enforce semver release tags prefixed with a v. - Require both version.php and CHANGELOG.md updates for every release and validate them before creating a PR. * fix: formatting * fix: release tag validation being skipped in publish only mode. When using publish only mode, the release tag validation is skipped because it's a step in the skippable prepare-release job. But we still need the validation for publish only mode. Fixed by: - Moved the release tag validation into a separate required job (validate-release-tag) that always runs no matter the mode. - Refactored code to use the new validate-release-tag job outputs, and require it in the publish-release job. * fix: correct regex for extracting PR number from URL * fix: validate remote tag state for publish-only mode - Added checks to ensure that existing tags are immutable and point to the expected release commit. - Implemented conditional steps to handle tag validation based on the `publish_only` input. * fix: rename `tag_name` input to `release_tag` to make it self documenting - Changed all instances of the input `tag_name` to `release_tag`. - Changed the env variable name `TAG_NAME` to `RELEASE_TAG`.
Configuration menu - View commit details
-
Copy full SHA for 8247ff3 - Browse repository at this point
Copy the full SHA 8247ff3View commit details -
docs: Update changelog (cretueusebiu#56)
docs: update changelog for PR cretueusebiu#55 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 121e7ce - Browse repository at this point
Copy the full SHA 121e7ceView commit details -
Release v3.4.5 (cretueusebiu#57)
chore: version bump and update changelog for v3.4.5 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for aac2091 - Browse repository at this point
Copy the full SHA aac2091View commit details -
ci(release): add custom title to GitHub release in the release workflow
- Added a custom release title to the gh cli command in the publish-release job.
Configuration menu - View commit details
-
Copy full SHA for a865601 - Browse repository at this point
Copy the full SHA a865601View commit details
Commits on Oct 28, 2026
-
fix(styles): add dark mode styles to body for error templates (cretue…
…usebiu#59) * fix(cli): add dark mode styles to body for error templates * fix(cli): use css variables for colors
Configuration menu - View commit details
-
Copy full SHA for 630d6b1 - Browse repository at this point
Copy the full SHA 630d6b1View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...master