Skip to content

Refactor package metadata#7

Merged
codedmonkey merged 11 commits intomainfrom
package-metadata
Apr 3, 2026
Merged

Refactor package metadata#7
codedmonkey merged 11 commits intomainfrom
package-metadata

Conversation

@codedmonkey
Copy link
Copy Markdown
Owner

@codedmonkey codedmonkey commented Jan 26, 2026

Re-organizes package metadata to separate Doctrine entities from package versions.

See #8 for more information.

Why?

Since Composer packages are mutable configurations stored per versions, developers can publish new development versions under the same name. However, this is also true for tagged versions.

When fetching a package there is currently no way of knowing what you’re going to receive or if it’s the same as the day before. This is inherit to Composer which simply resolves package metadata directly from a VCS repository. This makes Composer very versatile as you can fetch the package metadata from different sources, but comes at the price of increased attack vectors from the source.

@codedmonkey codedmonkey force-pushed the package-metadata branch 4 times, most recently from 60c02c3 to c9c53fc Compare February 2, 2026 15:38
@codedmonkey codedmonkey linked an issue Feb 6, 2026 that may be closed by this pull request
5 tasks
@codedmonkey codedmonkey removed a link to an issue Feb 6, 2026
5 tasks
@codedmonkey codedmonkey force-pushed the package-metadata branch 3 times, most recently from 7a41989 to f587389 Compare February 9, 2026 12:00
@codedmonkey codedmonkey force-pushed the package-metadata branch 3 times, most recently from 584357a to 00345fe Compare March 19, 2026 22:20
@codedmonkey codedmonkey force-pushed the package-metadata branch 3 times, most recently from 29456d9 to dbaae5a Compare March 19, 2026 23:03
@codedmonkey codedmonkey force-pushed the package-metadata branch 4 times, most recently from 307a2be to 3ed6961 Compare March 23, 2026 07:04
@codedmonkey
Copy link
Copy Markdown
Owner Author

No issues found through automated code review.

Generated by AI (Anthropic Claude, claude-sonnet-4-6)

@codedmonkey codedmonkey force-pushed the package-metadata branch 2 times, most recently from 1f5c007 to f8ec7de Compare March 30, 2026 10:43
@codedmonkey codedmonkey force-pushed the package-metadata branch 2 times, most recently from d6b1084 to 2f12406 Compare April 2, 2026 12:48
Start of refactoring package metadata by separating package metadata from the version table to a new metadata table to create immutable packages

Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
…properties

Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
@codedmonkey codedmonkey merged commit 6c0a8e3 into main Apr 3, 2026
22 checks passed
@codedmonkey codedmonkey deleted the package-metadata branch April 3, 2026 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant