Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

4.0.0 release readiness (pre-release review)

Abierto
#665 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
5/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
php
Área
release

Línea de trabajo

This is a tracking umbrella for the 4.0.0 pre-release review, not a single change; the real work lives in the sub-issues #666-#704 plus the Windows CI follow-up #726, and every line reference is pinned to commit a5a1504. Start by reading the sub-issue that matches your interest (the still-open T-32 #696 is explicitly deferred past 4.0.0) and its path:line pointers under src/, tests/ and the docs. "Done" here means the listed sub-issues are closed and 4.0.0 is tagged, so it is coordination rather than a first patch.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Tracking issue for the final quality pass before tagging 4.0.0. The review covered every file in src/, the test infrastructure, docs, demos, CI and packaging. Every claim was rechecked against a5a1504. Line references in the sub-issues are path:line at that commit.

Priorities:

  • P0: must be fixed, or explicitly decided, before tagging.
  • P1: ships in 4.0.0, either because it needs the BC window or because users can see the bug.
  • P2: can land in 4.0.x, unless the ticket is marked [BC].

Each sub-issue is meant to become its own commit or PR.

Decisions needed before code

  • T-06 #671: Doctrine bridge. Keep and rewrite against ORM 3, or remove.
  • T-17 #640: deterministic pointcut ids (hash of expression + aspect) instead of a static counter.
  • T-20 #684: which of the renames happen in 4.0.
  • T-22 #686: Foo+ semantics (include Foo itself? trait users?) and modifier precedence.
  • T-30 #694: Features as a final class vs an enum Feature + FeatureSet.

P0: must fix or decide before tagging

  • #666 T-01 README correctness fixes
  • #667 T-02 CHANGELOG completeness + UPGRADE-4.0.md
  • #668 T-03 Generated proxies fail to compile on use name collisions
  • #669 T-04 Intercepted property declarations spanning several lines are not neutralized
  • #670 T-05 Route all woven/proxy/function cache writes through CacheFileWriter
  • #671 T-06 Doctrine bridge: decide keep+rewrite or remove [BC]

P1: ship in 4.0.0

  • #672 T-07 Joinpoint state bugs (constructor $instance, reentrancy)
  • #673 T-08 First instance of every proxied class is retained [BC]
  • #674 T-09 cache:warmup:aop exits 0 on errors
  • #675 T-10 Test-suite portability and temp-dir convention
  • #676 T-11 Remove or rewrite Php85AuditScratchTest
  • #677 T-12 Packaging: .gitattributes, .gitignore, composer.json
  • #678 T-13 Community / release files
  • #679 T-14 Debug mode serves un-rewritten magic constants on cache hit [BC]
  • #680 T-15 Advisor cache semantics
  • #681 T-16 Attribute loading robustness [BC]
  • #640 T-17 Pointcut ids depend on registration order (promoted to 4.0.0) [BC]
  • #682 T-18 Prefix-anchored path mapping
  • #683 T-19 Exception hierarchy [BC]
  • #684 T-20 Naming decisions for the BC window [BC]
  • #685 T-21 Cache metadata format version + real source mtime [BC]
  • #686 T-22 Pointcut semantics defects [BC]
  • #687 T-23 PointcutParseTable regeneration script + consistency test
  • #688 T-24 README feature documentation

P2: 4.0.x acceptable unless [BC]

  • #689 T-25 Kernel option validation [BC]
  • #690 T-26 Dead Dissect exclusion / auto-exclude runtime deps
  • #691 T-27 final / @internal / #[\Override] sweep [BC]
  • #692 T-28 Dead code sweep [BC]
  • #693 T-29 Docblock / comment drift sweep
  • #694 T-30 Features shape [BC]
  • #695 T-31 Weaving-time and runtime performance
  • #696 T-32 Cache layer robustness — deferred past 4.0.0 (Known Issue)
  • #697 T-33 Enumerator / PathResolver correctness
  • #698 T-34 Token-surgery robustness
  • #699 T-35 Console DX
  • #700 T-36 Generated-code edge cases
  • #701 T-37 Test coverage gaps
  • #702 T-38 CI and static-analysis hygiene
  • #703 T-39 Demos refresh
  • #704 T-40 Static-state and loader robustness
  • Follow-up: Windows CI leg + test portability (#726)

Claims dropped or corrected during the recheck

Dropped:

  • T-22: "within() / ** never select introductions". IntroductionAspectExtension forces KIND_INTRODUCTION | KIND_CLASS, so they do.
  • T-24: "docs/ links missing". The README already links both limitation docs.
  • T-37: "abstract-class fixture missing". It exists (tests/Instrument/Transformer/_files/abstract-class.php).
  • T-12: ".idea/ makes the tree dirty". The tree is clean; adding /.idea/ is kept only as hygiene.
  • T-29: "smiley/typos list". The items were never enumerated, so this could not be verified.

Corrected:

  • T-02: 18 [BC BREAK] entries, not 13.
  • T-23: the table is about 12 KB, not 15 KB.
  • T-31: about 1,600 internal functions, not 2,000.
  • T-27: about 20 missing #[\Override], not 11.
  • T-17: a reorder silently rebinds only when the sanitized expressions are equal; otherwise it throws OutOfBoundsException.
  • T-14: the scope is wider than first stated. Production is hit too, through includes inside woven files.

Generated by Claude Code

Lenguaje dominante
PHP
Estrellas
1.7k
Forks
166
Merge medio
19 h 39 min
PR fusionados (30 d)
48

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de goaop/framework

Todos los issues de goaop/framework

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.