bundlewrap icon indicating copy to clipboard operation
bundlewrap copied to clipboard

bw 5 and 6

Open vain opened this issue 4 months ago • 2 comments

(We talked about this briefly in person yesterday.)

We have a couple of breaking things in the pipeline. We also have some big tasks for bw 5 pending. It is probably not feasible to tackle all of this for bw 5. I propose we release bw 5 soon and retarget the big stuff for bw 6.

To clarify:

  • “Big stuff” is
    • everything regarding the hypothetical megadict,
    • maybe https://github.com/bundlewrap/bundlewrap/issues/706,
    • maybe https://github.com/bundlewrap/bundlewrap/issues/705 (lots of downstream changes),
    • and I vaguely remember some larger TODOs in the code but I might be wrong.
  • Anything else marked for bw 5 would be the “little things”.

Option 1: At the very least, I’d like to see this merged for bw 5:

  • https://github.com/bundlewrap/bundlewrap/issues/851
  • https://github.com/bundlewrap/bundlewrap/issues/838
  • https://github.com/bundlewrap/bundlewrap/issues/818

And maybe also:

  • https://github.com/bundlewrap/bundlewrap/issues/676
  • https://github.com/bundlewrap/bundlewrap/issues/672

Option 2: Or we could go ahead and do all the “little things” now for bw 5, that would be more work of course.

I’d be fine with either option.

Since bw 5 would be the next normal release, we’d just merge all this to main (people running main must expect breakage anyway). If the need for another 4.x arises, we’ll just branch from the current 4.23.1 tag.

Thoughts?

vain avatar Oct 01 '25 05:10 vain

I think we should atleast do everything that's marked as TODO 5.0 in the code:

bundlewrap/itemqueue.py
72:        if item.cascade_skip:  # TODO 5.0 always do this when removing cascade_skip

bundlewrap/repo.py
524:        # TODO 5.0 make this a cached set
532:        # TODO 5.0 make this a cached set

bundlewrap/lock.py
238:        # TODO 5.0 Just use "page_lines(output)" here

bundlewrap/node.py
852:        # TODO remove in 5.0
882:        Deprecated, remove in 5.0.0

bundlewrap/utils/plot.py
97:            # FIXME this is not filtering auto deps, but we should rethink filters anyway in 5.0

bundlewrap/deps.py
141:        # remove next line in 5.0 when killing get_auto_deps

bundlewrap/metagen.py
151:            # TODO remove in 5.0
419:                # Uncomment this in 5.0 and remove the rest of this block

bundlewrap/items/__init__.py
593:                            # TODO remove sorted() in 5.0 to pass a set
771:        DEPRECATED remove in 5.0, use get_auto_attrs instead
842:                # TODO remove sorted() in 5.0 to pass a set
858:    # TODO rename to display_on_fix in 5.0

Personally, i'd love to have everything except for purging in 5.0, that's probably doable in a couple of weeks if we commit to throw some dev time on that.

Kunsi avatar Oct 01 '25 06:10 Kunsi

Discussed it in person and said that this looks fine.

vain avatar Nov 05 '25 10:11 vain