getkirby / kirby

Kirby's core application folder
https://getkirby.com
Other
1.27k stars 167 forks source link

3.6 - plugins compatibility #3485

Closed distantnative closed 2 years ago

distantnative commented 3 years ago

Let's collect a list of plugins we know 3.6 will break (and where we could send PRs or give tips how to update):

Done

Please feel free to edit this post, so we have the full list always on top.

MaluNoPeleke commented 3 years ago

Komments and Commentions need to be added as well.

lukasbestle commented 3 years ago

Thanks, I added them to the list above.

mynameisfreedom commented 2 years ago

Image Clip also.

afbora commented 2 years ago

@mynameisfreedom Thanks, added to list.

MaluNoPeleke commented 2 years ago

These two as well:

https://github.com/rasteiner/k3-pagesdisplay-section/issues/9 https://github.com/texnixe/k3-filesdisplay-section/issues/3

afbora commented 2 years ago

@MaluNoPeleke Added to list.

MaluNoPeleke commented 2 years ago

These two as well:

rasteiner/k3-pagesdisplay-section#9 texnixe/k3-filesdisplay-section#3

These have been fixed and Commentions and Komments have already updated branches for 3.6 (but not released yet officially).

afbora commented 2 years ago

I've updated the list.

bnomei commented 2 years ago

my mailjet plugin as some views as well but can be considered low priority (if any): https://github.com/bnomei/kirby3-mailjet/tree/master/src/components

afbora commented 2 years ago

Added to list.

mauricerenck commented 2 years ago

I am still working on this: https://github.com/mauricerenck/kirby-podcaster

PaulMorel commented 2 years ago

As someone who has just released a custom panel view plugin, is it going to break in 3.6? I'm assuming this is related to the new Fiber system?

Edit: Maybe I should just go test it myself 😅

afbora commented 2 years ago

@PaulMorel Unfortunately yes: https://getkirby.com/releases/3.6/breaking-changes#panel__custom-panel-views

PaulMorel commented 2 years ago

@afbora Is it feasible to have my plugin compatible with both 3.6 and older versions? Or is this a headache waiting to happen?

afbora commented 2 years ago

@PaulMorel You can use releasement. For example: v0 is <=3.5, v1 is >=3.6

lukasbestle commented 2 years ago

@PaulMorel I have just worked on an update for my Versions plugin, which also uses a view.

You can actually both register the view in the frontend for older versions and register an area in the backend for 3.6+. 3.6 will ignore the view defined in the frontend and 3.5 and previous versions will ignore the area. Unless your code runs into other breaking changes, you can make an update to your plugin that supports both scenarios.

mullema commented 2 years ago

image-clip (develop branch) works now with beta2

afbora commented 2 years ago

@mullema Great! I've updated the list.

Daandelange commented 2 years ago

Report : SimpleStats works with the new develop 3.6 branch. :)

Note: I came trough an undocumented (3.6) breaking change (namespace issue) : is_a($page, 'Page') returns false after updating from 3.5.? to 3.6-beta-3.
Fix: is_a($page, 'Kirby\Cms\Page')

afbora commented 2 years ago

@Daandelange I've tested is_a($page, 'Page') returns true for homepage on 3.6.0-beta.3. Can you share more detailed information please?

ralfgoeke commented 2 years ago

I just stumbled over an incompatibility in Uniform Plugin: https://github.com/mzur/kirby-uniform/issues/219

afbora commented 2 years ago

@ralfgoeke Thanks, I've added to list.

Daandelange commented 2 years ago

@afbora My use case is in a route::after hook, while visiting a Page object. Same result printing it in a page template. Using php 7.4.2 locally on os x.

// use Kirby\Cms\Page; <-- Result with namespace declaration : bool(true) bool(true) bool(false) bool(true)
App::plugin('daandelange/simplestats', [
    'hooks' => [
        'route:after' => function ($result) {
            var_dump( is_a($result, 'Kirby\Cms\Page'), $result instanceof Kirby\Cms\Page, is_a($result, 'Page'), $result instanceof Page, $result);
            die();
        }
    ]
]);

Result: bool(true) bool(true) bool(false) bool(false) object(Kirby\Cms\Page)#584 (15) [...]

mzur commented 2 years ago

Is there a way to detect the Kirby version in a plugin? As Kirby 3.6 is a "minor" release, I'd like to keep compatibility for all 3.x versions. My plugin will break with the new Str::template arguments and all I would need to do is use different arguments for <=3.5 than >=3.6.

afbora commented 2 years ago

@mzur You can use Kirby::version() to get installed version.

mzur commented 2 years ago

Thanks. You can move Uniform to "Done" now.

seehat commented 2 years ago

The Helpsection Plugin now works fundamentally. https://github.com/amteich/kirby-helpsection/releases/tag/2.0.0

I would like to integrate routing for the subpages. Can anybody show me how or create a pullrequest?

Can somebody help me with integrating this Babel Plugin to make syntax highlighting work fully again: https://github.com/mAAdhaTTah/babel-plugin-prismjs?

steirico commented 2 years ago

Hi

there is work in progress for the Custom Add Fields Plugin at https://github.com/steirico/kirby-plugin-custom-add-fields/tree/feature/kirby-3.6

MaluNoPeleke commented 2 years ago

Here is another one WIP that could need some support: https://github.com/flokosiol/kirby-translations/tree/kirby3

PaulMorel commented 2 years ago

@PaulMorel I have just worked on an update for my Versions plugin, which also uses a view.

You can actually both register the view in the frontend for older versions and register an area in the backend for 3.6+. 3.6 will ignore the view defined in the frontend and 3.5 and previous versions will ignore the area. Unless your code runs into other breaking changes, you can make an update to your plugin that supports both scenarios.

Thanks @lukasbestle, That's exactly what I ended up doing. Registering the area for 3.6+ worked fine and I had very little changes to do for it to still work in 3.5.

MaluNoPeleke commented 2 years ago

Can you pease add this plugin to the list?

https://github.com/bvdputte/kirby-autopublish/issues/8

afbora commented 2 years ago

@MaluNoPeleke I've added to the list.

sebastiangreger commented 2 years ago

Markdown Field: https://github.com/sylvainjule/kirby-markdown-field/issues/116 (issue refers to the next branch in active development; haven't tested the current stable version with 3.6, yet)

sebastiangreger commented 2 years ago

Just for completeness, updating the info in the original post on top: Commentions is now 3.6-compatible in newly released versions on both the stable branch (v1.0.5) and the WIP v2.0 branch (v2.0-beta.4).

mauricerenck commented 2 years ago

Komments latest release (and main branch) is now 3.6 compatible and 3.5 "backward" compatible.

mauricerenck commented 2 years ago

Kirby Podcaster now works with 3.6

MaluNoPeleke commented 2 years ago

Can you pease add this plugin to the list?

bvdputte/kirby-autopublish#8

Can be removed as I cannot reproduce anymore after latest plugin update

thathoff commented 2 years ago

Trying to migrate my OAuth Plugin to 3.6. I hooked into the Vue Router to prevent a redirect to the install view so you can still login with a valid OAuth user even when there is no user created yet.

// always route back to panel home when trying to access installation view
if (panel?.app?.$route?.path === "/installation") {
  panel.app.$go("/");
}

// prevent routing to the installation view (e.g. like the login view does)
panel?.app?.$router?.beforeEach((to, _, next) => {
  if (to.path !== "/installation") next();
});

https://github.com/thathoff/kirby-oauth/blob/kirby-3.6/src/index.js#L12

Any hints on how to accomplish this with Kirby 3.6?

MaluNoPeleke commented 2 years ago

Komments latest release (and main branch) is now 3.6 compatible and 3.5 "backward" compatible.

I always get a error 500 after installing it on Kirby 3.6 RC.3 without any additional information (debugging turned on).

mauricerenck commented 2 years ago

Komments latest release (and main branch) is now 3.6 compatible and 3.5 "backward" compatible.

I always get a error 500 after installing it on Kirby 3.6 RC.3 without any additional information (debugging turned on).

Would you be so nice and create an issue in the komments github repo? This is more in my focus, I will have a look at it. Maybe with some additional info about your setup. That would be nice.

MaluNoPeleke commented 2 years ago

Done: https://github.com/mauricerenck/komments/issues/24

sylvainjule commented 2 years ago

https://github.com/sylvainjule/kirby-pagetable I've merged the 3.6 support into the latest release

I'm looking into the bouncer plugin next week!

MaluNoPeleke commented 2 years ago

Can you add this plugin and maybe offer support to make it compatible with Kirby 3.6 again?

texnixe commented 2 years ago

@MaluNoPeleke This plugin has nothing to do with the changes introduced in 3.6, it wasn't compatible with 3.5 either. Let's not mix things up.

MaluNoPeleke commented 2 years ago

Oh, sorry, sure.