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

The long and winding road to 8.13 #2790

Closed
12 of 13 tasks
jcupitt opened this issue May 7, 2022 · 26 comments
Closed
12 of 13 tasks

The long and winding road to 8.13 #2790

jcupitt opened this issue May 7, 2022 · 26 comments

Comments

@jcupitt
Copy link
Member

jcupitt commented May 7, 2022

Aim for a release in late May.

TODO

Milestone: https://github.com/libvips/libvips/milestone/11

@jcupitt
Copy link
Member Author

jcupitt commented May 7, 2022

@dloebl we should get some GIF fixes in too. Please add some notes to the TODO above if you like.

@vansante
Copy link

Would love to see this one 😉

@jcupitt
Copy link
Member Author

jcupitt commented May 24, 2022

pyvips now has support in master for the new targetcustom stuff, and it seems to work well

@kleisauke
Copy link
Member

I just emailed Remi Collet with a patch that migrates the vips spec file to build with Meson for the upcoming 8.13 release. While doing so, I noticed 2 things:

@jcupitt
Copy link
Member Author

jcupitt commented May 28, 2022

OK, I think we're almost ready. Shall we feature-freeze and do a release?

@kleisauke
Copy link
Member

I have nothing to add for 8.13, so I'm fine with a feature freeze and a possible release candidate. Though, I noticed some pending cgifsave PRs for possible inclusion.

@jcupitt
Copy link
Member Author

jcupitt commented May 30, 2022

I think we need to do another round of GIF polishing :( I'll make an issue with some benchmarks.

@jcupitt
Copy link
Member Author

jcupitt commented May 30, 2022

I think I found another cgifsave issue --- this GIF:

sample

When copied like this:

vips copy sample.gif[n=-1] x.gif

Becomes this:

x

I think the problem is that the colour table is being improved by the render pass. It's improving the colour table based on the first frame and that of course makes it much worse for the later frames.

We probably need to remove the improve ctable feature in global cmap mode.

@dloebl
Copy link
Contributor

dloebl commented May 31, 2022

Interesting find. This looks similar to the issue mentioned here: #2797 (comment)
We probably want to get the palette right after quantizing the attached global colour table then - so it does not get "optimized" during dithering/remapping?

if( vips__quantise_image_quantize( tmp_image,

@jcupitt
Copy link
Member Author

jcupitt commented May 31, 2022

Yes, it's a simple change, just read out the palette before remapping the frame. I'll make a PR once the current two cgif PRs merge.

@jcupitt
Copy link
Member Author

jcupitt commented Jun 8, 2022

OK, the palette improvement issue is done. I've started writing a "what's new" post -- any comments?

https://github.com/libvips/libvips/blob/gh-pages-8.13/_posts/2022-05-28-What's-new-in-8.13.md

  • @kleisauke would you like to expand the image quality section?
  • @dloebl @DarthSim would you like to add to the GIF section?
  • does the running order look OK? maybe the new build system should not be first? only devs would care about that

@DarthSim
Copy link
Contributor

DarthSim commented Jun 9, 2022

I don't think we should remove interframe-maxerror and interpalette-maxerror. While their default values are pretty good, some may want to tune them for their case.

@jcupitt
Copy link
Member Author

jcupitt commented Jun 19, 2022

Release candidate 1: https://github.com/libvips/libvips/releases/tag/v8.13.0-rc1

Release notes posted: https://www.libvips.org/2022/05/28/What's-new-in-8.13.html

API docs: https://www.libvips.org/API/8.13/

@jcupitt
Copy link
Member Author

jcupitt commented Jun 19, 2022

... let's wait a week for people to test rc1, and if no one finds anything too bad, we'll announce 8.13.0 on 26 June.

@jcupitt
Copy link
Member Author

jcupitt commented Jun 22, 2022

It looks like there are enough rc1 issues to need an rc2 next weekend.

@Elad-Laufer
Copy link
Contributor

When building from source in a container (with lima) I get the following error:

#6 100.3 Found runner: ['/usr/bin/ninja']
#6 100.6 ninja: Entering directory `/tmp/libvips-8.13.0-rc1/libvips-release'
#6 100.6 ninja: no work to do.
#6 111.2 3/8 seq         OK             3.48s
#6 111.2 4/8 stall       OK             2.18s
#6 111.2 5/8 threading   OK             7.94s
#6 111.2 7/8 descriptors OK             0.47s
#6 111.2 8/8 fuzz        OK             4.73s
#6 111.2 
#6 111.2 Summary of Failures:
#6 111.2 
#6 111.2 1/8 cli         FAIL           0.42s (exit status 1)
#6 111.2 2/8 formats     FAIL           0.37s (exit status 1)
#6 111.2 6/8 connections FAIL           0.37s (exit status 1)
#6 111.2 
#6 111.2 Ok:                 5   
#6 111.2 Expected Fail:      0   
#6 111.2 Fail:               3   
#6 111.2 Unexpected Pass:    0   
#6 111.2 Skipped:            0   
#6 111.2 Timeout:            0   

The Dockerfile:

FROM golang:bullseye as builder

ARG LIBVIPS_VERSION="8.13.0-rc1"

# Installs libvips + required libraries

RUN DEBIAN_FRONTEND=noninteractive \
    apt update && \
    apt install --no-install-recommends -y \
    meson cmake ca-certificates \
    libtool autotools-dev build-essential curl \
    libgirepository1.0-dev gtk-doc-tools libglib2.0-dev \
    libjpeg62-turbo-dev libpng-dev \
    libwebp-dev libtiff5-dev libgif-dev libexif-dev libxml2-dev libpoppler-glib-dev \
    swig libmagickwand-dev libpango1.0-dev libmatio-dev libopenslide-dev libcfitsio-dev \
    libgsf-1-dev libfftw3-dev liborc-0.4-dev librsvg2-dev libimagequant-dev libheif-dev \
    libopenjp2-7-dev liblcms2-dev

RUN cd /tmp && \
    curl -fsSLO https://github.com/libvips/libvips/archive/refs/tags/v${LIBVIPS_VERSION}.tar.gz && \
    tar zvxf v${LIBVIPS_VERSION}.tar.gz && \
    cd libvips-${LIBVIPS_VERSION} && \
    meson setup libvips-release --prefix=/tmp --libdir=lib --buildtype=release && \
    cd libvips-release && \
    meson compile && \
    meson test && \
    meson install && \
    ldconfig

@jcupitt
Copy link
Member Author

jcupitt commented Jun 23, 2022

Perhaps we can do something about this:

$ vips rotate k2.jpg x.png 90

has a one-pixel black line down the left of x.png.

@Elad-Laufer
Copy link
Contributor

Elad-Laufer commented Jun 23, 2022

Solved the Debian build issue by installing 'bc':

RUN DEBIAN_FRONTEND=noninteractive \
    apt update && \
    apt install --no-install-recommends -y \
    bc meson cmake ca-certificates \

thanks @netanel-r

@jcupitt
Copy link
Member Author

jcupitt commented Jul 12, 2022

Here's rc2.:

https://github.com/libvips/libvips/releases/tag/v8.13.0-rc2

Let's aim for release on Sunday 17 July (assuming nothing too bad happens in testing).

@danielniccoli
Copy link

Any chance for a Windows release? The last Windows binary 8.12.1 still has a bug impacting me, that was fixed in 8.12.2. 🙏

@jcupitt
Copy link
Member Author

jcupitt commented Jul 16, 2022

Kleis has made 8.12.2 binaries here:

https://github.com/libvips/build-win64-mxe/releases/tag/v8.12.2

And 8.13.0-rc2 here:

https://github.com/libvips/build-win64-mxe/releases/tag/v8.13.0-rc2

@jcupitt
Copy link
Member Author

jcupitt commented Jul 21, 2022

Ooof right, sorry, I was on holiday and had less time than I expected. Now I'm back!

A few more bugfixes have gone in this week, but only a few. Shall we do 8.13.0 now? Any thoughts?

@kleisauke
Copy link
Member

kleisauke commented Jul 21, 2022

Nothing extra from me for 8.13, so feel free to :shipit: whenever you're ready.

@jcupitt
Copy link
Member Author

jcupitt commented Jul 21, 2022

Woo hoo! Well done us!

https://github.com/libvips/libvips/releases/tag/v8.13.0

@jcupitt
Copy link
Member Author

jcupitt commented Jul 21, 2022

Just publicity left to do now. Please feel feel free to tweet, post on reddit, whatever you like.

@jcupitt jcupitt closed this as completed Jul 21, 2022
@DarthSim
Copy link
Contributor

Is it already Christmas?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants