Componette

Componette

download-cloud-line composer require kdyby/forms-replicator

Kdyby/FormsReplicator


Licence Downloads this Month Downloads total Latest stable

Discussion / Help

Join the chat

Install

composer require kdyby/forms-replicator

Versions

State Version Branch PHP Nette
stable ^3.0.0 master >= 8.2 ^3.2.3
stable ^2.0.0 >= 7.1 ^3.0.0
stable ^1.4.0 nette-2.4 >= 5.6 ^2.4.0
stable ^1.3.0 nette-2.3 >= 5.6 ^2.3.0
stable ^1.2.0 nette-2.2 >= 5.6 ^2.2.0

Note: Version 3.0 requires nette/component-model >= 3.1.0.

Local compatibility testing

Enter the reproducible development shell with Nix and direnv:

direnv allow

The shell provides PHP 8.5, Composer, Just, the Docker CLI, ShellCheck, Actionlint, and the Nix formatter. Install highest dependencies locally for development and editor indexing with:

just install

Composer runs as your local user, so vendor/ remains writable by your editor and development tools.

Run the local CI suite against the installed dependencies with just ci.

Docker is the compatibility source of truth. Run the complete PHP and dependency matrix with:

just matrix

The matrix copies source into ephemeral images instead of bind-mounting the checkout. Container-owned dependencies and lock files therefore never alter host permissions; only Composer's immutable download cache is shared through a Docker volume.

The seven cells cover PHP 8.2, 8.3, and 8.4 with lowest and highest Composer dependencies, plus PHP 8.5 with highest dependencies. PHP 8.5 with lowest dependencies is excluded because component-model 3.1 itself emits PHP 8.5 deprecations.

To run one focused cell, pass its PHP version and dependency set directly:

just cell 8.2 lowest

Overview

Maintainers


David Šolc

Thank you for testing, reporting and contributing.


Homepage https://www.kdyby.org and repository https://github.com/Kdyby/FormsReplicator.

  • v3.0.1 v3.0.1

    Patch release adding compatibility with Nette Component Model 4 and PHP 8.5 while preserving the existing FormsReplicator 3.0 API.

    Fixed

    • Added explicit component monitor callbacks required by nette/component-model 4.
    • Preserved the protected attached() extension point for existing subclasses.
    • Replaced removed magic component access with public component getters.
    • Fixed the Composer CI script and current PHPStan compatibility.
    • Added regression coverage for standalone Form and UI Form attachment.

    Development

    • Added verified PHP 8.5 CI coverage.
    • Added a pinned Nix development shell with PHP, Composer, Just, and validation tools.
    • Added an isolated Docker matrix for PHP 8.2–8.5 and lowest/highest dependency coverage.
    • Upgraded GitHub Actions to their current stable runtimes with read-only permissions.

    Compatibility

    • PHP 8.2–8.5.
    • nette/forms ^3.2.3.
    • nette/component-model 3.1 and 4.x.

    No breaking changes.

    Full Changelog: v3.0.0...v3.0.1

  • v3.0.0 v3.0.0

    Release v3.0.0

    Stable release with full Nette 3.2 and PHP 8.2+ support.

    Changes since v3.0.0@rc:

    • Raised PHPStan to level max with full type safety
    • Fixed compatibility with nette/component-model 3.1.0+
    • Fixed WeakMap::contains() → offsetExists() for PHP 8.2+
    • Removed deprecated setAccessible() call (not needed since PHP 8.1)
    • Fixed createOne() type casting in createDefault()
    • Updated deprecated Nette interfaces (ISubmitterControl → SubmitterControl)
    • Added phpstan-nette and phpstan-deprecation-rules extensions
    • Added composer scripts for local CI runs
    • Improved .gitattributes to exclude dev files from package

    Breaking changes:

    • Requires nette/component-model >= 3.1.0
    • getContainers() and getButtons() now return array instead of iterable
    • addCreateOnClick() first parameter is now strictly bool

    Contributors

  • v3.0.0-rc1 v3.0.0-rc1

    This release is for:

    • PHP ^8.2
    • Nette ^3.0.0
  • v1.4.0 v1.4.0

    This release is for:

    • PHP ^5.6
    • Nette ^2.4.0
  • v2.0.0 v2.0.0

    This release is for:

    • PHP ^7.1
    • Nette ^3.0.0
  • v2.0.0-rc1 v2.0.0-RC1

    • #57 Refactoring to PHP ^7.1 and Nette ^3.0.0

    This release is for:

    • PHP ^7.1
    • Nette ^3.0.0
  • v1.3.0 v1.3.0

    • #36 addCreateOnClick and addRemoveOnClick: call lookup method on sender object in event handler; thx @matej21
    • #35 Container::countFilledWithout: fixed nested arrays handling; thx @matej21

    This release is for Nette 2.3.*

  • v1.2.0 v1.2.0

    • #36 addCreateOnClick and addRemoveOnClick: call lookup method on sender object in event handler; thx @matej21
    • #35 Container::countFilledWithout: fixed nested arrays handling; thx @matej21

    This release is for Nette 2.2.*

Componette Componette felix@nette.org