Skip to content
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

Release 1.0, drop unmaintained dependencies and release 2.0 #336

Open
tacman opened this issue Jun 27, 2024 · 5 comments
Open

Release 1.0, drop unmaintained dependencies and release 2.0 #336

tacman opened this issue Jun 27, 2024 · 5 comments

Comments

@tacman
Copy link

tacman commented Jun 27, 2024

By having the current release at 0.15, github treats it differently in version management, and it looks like it's still in beta. But this bundle works well enough to be released.

I think, though, that it's being unnecessarily held back by supporting PHP 7 and Symfony 4.4, both long past EOL. But since this version supports them, my idea is:

  • Release the current version as 1.0.
  • Require php 8.2+ and Symfony 6.4+ (although Symfony 5.4 is still supported, anyone requiring it can use 1.0 of this bundle). Drop annotations. Then update the code to include type-hints and property promotion and the ton of goodies you get with PHP 8.
  • Extend AbstractBundle instead of Bundle, so that all the configuration happens in PHP and in one file (gets rid of the /src/DepenencyInjection directory). The autowiring in later versions of Symfony is much better. This isn't necessary, but I've found the DX experience to be much better.
  • Add the debug toolbar that's already been written and is awaiting merge. If the reason it hasn't been merged has to do with supporting unmaintained version of Symfony or php, all the more reason to release 2.0 and only include it there.
@tacman
Copy link
Author

tacman commented Jun 27, 2024

Version 2 could also drop the deprecated aliases:

        <service id="search.client" alias="meilisearch.client" public="true">
            <deprecated package="meilisearch/search-bundle" version="0.14">The "%alias_id%" service alias is deprecated. Use "meilisearch.client" instead.</deprecated>
        </service>

        <service id="Meilisearch\Client" alias="meilisearch.client" public="true" />
        <service id="search.client" alias="meilisearch.client" public="true">
            <deprecated package="meilisearch/search-bundle" version="0.14">The "%alias_id%" service alias is deprecated. Use "meilisearch.client" instead.</deprecated>
        </service>

@norkunas
Copy link
Collaborator

4.4 is not supported anymore

@norkunas
Copy link
Collaborator

  • Require php 8.2+ and Symfony 6.4+ (although Symfony 5.4 is still supported, anyone requiring it can use 1.0 of this bundle). Drop annotations. Then update the code to include type-hints and property promotion and the ton of goodies you get with PHP 8.

What that would change for you? We need to support the Symfony supported versions otherwise it'd make this bundle less attractive

@tacman
Copy link
Author

tacman commented Jun 27, 2024

Ah, I was using https://github.com/94noni/meilisearch-symfony/blob/main/composer.json for the debug toolbar, but that allows Symfony 4.4

It's okay to drop old dependencies, like PHP 7.4, but tag that as a release so that people stuck using those environments can still install and use the bundle. But they won't get all the latest features. Often that's a good reason to update!

Like I suggested, support 5.4 and PHP 7 in Version 1, then bump to version 2. I like having typehints and such when using the library, that's the main thing it would change. To me, this bundle feels "dated" because it doesn't use PHP 8. But I don't use this bundle much, because I need to control the indexing more than setting a serialization group, and often don't even have an entity, as discussed in #302 .

Anyway, the motivation for this is the debug toolbar! Once that's integrated, then I'd like to use this bundle more. Obviously, supporting PHP 7 isn't going to stop me from doing that, but I find PHP 8 so much better than my suggestion to drop it comes from improving the DX.

I don't even have PHP 7 installed on my system. So if I were to contribute to this bundle (which I'd like to, I use the meilisearch-php library enough to have some ideas), as a developer I'd like to not be required to make sure any contributions also worked with PHP 7. That is, I think the development of this bundle is being held back by requiring that any contributions also work with an unmaintained version of PHP.

@norkunas
Copy link
Collaborator

norkunas commented Jun 27, 2024

There are still features that needs to be implemented before stable release, and also it's up to meilisearch team to decide when to release v1 :)

But IIRC they decide this based on usage stats. And there is no reason to block people that stuck on older php versions to get updates because you don't like to contribute with older php versions 😉

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

No branches or pull requests

2 participants