-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API changes in Magento 2.5 #473
base: master
Are you sure you want to change the base?
Conversation
- Compiled a list of interfaces that need to be marked as @api, removed or deprecated in 2.5
- Described auto-generated code that needs to be marked as @api in 2.5 - Added sections about exceptions and extension attribute classes
- Compiled a list of factories that need to be marked as @api in 2.5
I would like to see CartItemOptionsProcessor in the API. PR and reasoning here: magento/magento2#30819 |
Maybe Sales Pdf Models could be considered as well to avoid BiC problems (like what happened in 2.3.6): magento/magento2#30684 & magento/devdocs#8299 & distrimedia/magento2-distrimedia-connector#1 |
- Compiled a list of classes/interfaces that need to be marked as @api or deprecated in 2.5 based on Marketplace extension usage
- Compiled a list of Blocks that need to be marked as @api in 2.5 (credit to Andrii Kasian)
- Requests from Magento community members for additional @api in 2.5
@hostep, please provide the exact list of classes that should be marked as @api to prevent future issues with backward compatibility of PDF generation. |
1. Magento\Support\Block\Adminhtml\Report\View\Tabs | ||
1. Magento\Support\Block\Adminhtml\Backup\Log | ||
1. Fastly\Cdn\Block\System\Config\Form\Modal\UploadVcl | ||
1. Fastly\Cdn\Block\Cache\Additional |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe Fastly\Cdn is not a VBE, is that extension added by mistake or we can influence it's vendor?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it was added by mistake. @kandy pleas confirm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, it's 3party extension, bundled with cloud meta package
|
||
# Blocks to be marked as API | ||
|
||
1. Magento\Catalog\Block\Navigation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of these blocks are already marked as API (long time ago)
@paliarush can you please recheck the list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kandy could you please re-check the script used for collecting the list of blocks?
That's really sad to deprecate the entityManager, it actually works great, and I've seen some project/modules using it. It provides good extensibility and allows to perform action over CRUD operation. FYI the current AbstractModel and resourceModel does not allow such extensibility for after/before create/update/delete/read operations, and the versionControlResource only allows after save operation.. With deprecated entityManager we will have to use plugins which are not SOLID and does not provide clean view of architecture/dependencies |
Anything that Magento Coding Standard points towards as an alternative for a discouraged function should be API annotated. The first one that comes to mind is |
AC:
Compile a list of classes/interfaces that should be marked as @api in 2.5. The main goal is to reduce "grey area" when community cannot avoid using classes/interfaces that are not officially marked as @api
See https://github.com/magento-commerce/development-guild/issues/47
PR Scope: