As usual the goal is to avoid breaking the VRT and libvarnishapi ABIs since it's a stable branch with one notable difference this time. Following consensus from #2800 we are breaking two VRT symbols without changing the VRT 7.0 version because those symbols should not be used by inline C or VMOD authors.
And with no surprises:
diff --git a/include/vrt.h b/include/vrt.h index 936aa207f..3db7c0438 100644 --- a/include/vrt.h +++ b/include/vrt.h @@ -423,9 +423,9 @@ int VRT_Healthy(VRT_CTX, VCL_BACKEND); int VRT_VSA_GetPtr(const struct suckaddr *sua, const unsigned char ** dst); /* VMOD/Modules related */ -int VRT_Vmod_Init(VRT_CTX, struct vmod **hdl, void *ptr, int len, +int VRT_Vmod_Init(VRT_CTX, struct vmod **hdl, unsigned nbr, void *ptr, int len, const char *nm, const char *path, const char *file_id, const char *backup); -void VRT_Vmod_Fini(struct vmod **hdl); +void VRT_Vmod_Unload(VRT_CTX, struct vmod **hdl); /* VCL program related */ VCL_VCL VRT_vcl_get(VRT_CTX, const char *);
Some of the original commits were partially back-ported because sometimes patches cover a wee bit more than what the commit messages say.
I believe not to have broken the libvarnishapi ABI, and the following changes were left out:
That last one may be introduced since we have both a patch introducing it and another moving it to the last entry to preserve binary compatibility. Feedback appreciated.
Other notable changes that were left out:
Debatable changes that made it in:
I don't think they count as breaking changes. Feedback appreciated.
I found a couple nits in master, I will open separate tickets or fix them directly.
I didn't update the changelog, and according to
I will happily spam your inbox if this gets approved, and hope someone will take care of the changelog :)
Special thanks to @hermunn!
Submitted by: Frederic Lecaille <email@example.com>
... argument to specify a custom location Fixes #2742
We use double for all time representations, yet monotonic time, real time and durations are not to be confused. Also, we might want to change the representation of time in the future. To get an implicit documentation of the semantic type of a time value and to facilitate working on the latter, we start off by introducing simple typedefs which neither inply any change nor offer any type checking. But they pave the way...
When producing files with "foo > file", always use the pattern: foo > file.tmp mv file.tmp file Otherwise program failures end up generating partial content and make will not even rerun the failing program next time you type make. Actually clean CLEANFILES in the clean target. The reference dir is not built, but it should be in the distfile
Ref #2792 Conflicts: doc/changes.rst