Skip to content

Commit 65403fd

Browse files
committed
Release 1.2.1: demo paths, PHPStan 2.x compatibility
1 parent 7df3ebb commit 65403fd

File tree

4 files changed

+31
-4
lines changed

4 files changed

+31
-4
lines changed

docs/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2222
- `demo/demo-symfony8-php85``demo/symfony8-php85`
2323
- Makefile and documentation updated to use the new paths (e.g. `make up symfony7`).
2424

25+
### Fixed
26+
27+
- **PHPStan 2.x compatibility**: Updated configuration and code for PHPStan 2
28+
- Removed deprecated `memoryLimit` and `checkMissingIterableValueType` from `phpstan.neon.dist` (use CLI `--memory-limit` and analysis level instead).
29+
- Added generic type hints for Symfony Form: `@extends AbstractType<string>` and `FormInterface<string>` in `PasswordType`.
30+
- Adjusted `NowoPasswordToggleBundle::getContainerExtension()` return type handling for parent `ExtensionInterface|false` property.
31+
- Updated `NowoPasswordToggleExtension::load()` parameter type to `array<int, array<string, mixed>>` for config array.
32+
- Test type assertions and PHPStan ignores where needed for container parameters and assertions.
33+
2534
## [1.2.0] - 2025-12-15
2635

2736
### Added

docs/RELEASE.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
# Release process
22

3-
1. Update [CHANGELOG.md](CHANGELOG.md): move entries from `[Unreleased]` to a new `[X.Y.Z] - YYYY-MM-DD` section and add the version link at the bottom. (This project does not store version in `composer.json`; Packagist uses the git tag.)
4-
2. Run pre-release checks: `make release-check` (cs-fix, cs-check, rector-dry, phpstan, test-coverage, and optionally demo healthchecks).
5-
3. Commit, tag (e.g. `v1.2.0`), and push. The release workflow will create the GitHub Release with the changelog.
6-
4. Publish the package to Packagist if applicable.
3+
1. Update [CHANGELOG.md](CHANGELOG.md): move entries from `[Unreleased]` to a new `[X.Y.Z] - YYYY-MM-DD` section. (This project does not store version in `composer.json`; Packagist uses the git tag.)
4+
2. Update [UPGRADING.md](UPGRADING.md) if the release has upgrade notes.
5+
3. Run pre-release checks: `make release-check` (cs-fix, cs-check, rector-dry, phpstan, test-coverage, and optionally demo healthchecks).
6+
4. Commit all changes, create an annotated tag (e.g. `v1.2.1`), and push branch and tag. The release workflow will create the GitHub Release with the changelog.
7+
5. Publish the package to Packagist if applicable (usually automatic when the tag is pushed).
8+
9+
## Example for v1.2.1
10+
11+
```bash
12+
git add -A
13+
git status # review
14+
git commit -m "Release 1.2.1: demo paths, PHPStan 2.x compatibility"
15+
git tag -a v1.2.1 -m "Release 1.2.1"
16+
git push origin main
17+
git push origin v1.2.1
18+
```

docs/UPGRADING.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ This document describes how to upgrade between major versions of Password Toggle
44

55
## 1.x
66

7+
### 1.2.1
8+
9+
- **Demo paths**: If you reference demo directories in scripts or CI, update paths from `demo/demo-symfony6` etc. to `demo/symfony6`, `demo/symfony7`, `demo/symfony8`, `demo/symfony8-php85`.
10+
- **PHPStan**: If you extended or copied `phpstan.neon.dist`, remove `memoryLimit` and `checkMissingIterableValueType` (not supported in PHPStan 2.x). No impact on runtime or bundle API.
11+
712
### 1.2.0
813

914
- Global configuration file `config/packages/nowo_password_toggle.yaml` is supported; demos and new Flex installs use it. No breaking changes if you were using defaults.

src/NowoPasswordToggleBundle.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public function getContainerExtension(): ?ExtensionInterface
4242
}
4343

4444
$extension = $this->extension;
45+
4546
// Parent Bundle::$extension is ExtensionInterface|false; ensure we never return false (return type is ?ExtensionInterface)
4647
/** @phpstan-ignore identical.alwaysFalse */
4748
return $extension === false ? null : $extension;

0 commit comments

Comments
 (0)