4.0.0 release readiness (pre-release review)
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
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 (includeFooitself? trait users?) and modifier precedence. - T-30 #694:
Featuresas a final class vs anenum 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
usename 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:aopexits 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
Featuresshape[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".IntroductionAspectExtensionforcesKIND_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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de goaop/framework
-
Enhancement Performance
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
goaop/framework#747 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Enhancement Performance To Be Discussed
Dificultad 3/5 Medio día Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
-
Feature
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Bug Known Issue
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
goaop/framework#696 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Enhancement To Be Discussed
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
Todos los issues de goaop/framework
Issues similares
-
Add TuneIn-DirMon in the bot listPosiblemente ocupada @liviuconcioiu la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
matomo-org/device-detector#8424 ·
Los mantenedores suelen responder en 1 día
-
affecting 5.2 only affecting 5.3 only bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
moodle-an-hochschulen/moodle-theme_boost_union#1463 ·
Los mantenedores suelen responder en 1 día
-
Course help wanted Sensei
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
woocommerce/woocommerce-paypal-payments#4838 ·
Los mantenedores suelen responder en 1 día
-
sync-en
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 2 días