.. _whatsnew_upgrading_7.6: %%%%%%%%%%%%%%%%%%%%%%%% Upgrading to Varnish 7.6 %%%%%%%%%%%%%%%%%%%%%%%% In general, upgrading from Varnish 7.5 to 7.6 should not require any changes besides the actual upgrade. The changes mentioned below are considered noteworthy nevertheless: Noteworthy changes for container workloads ========================================== When ``varnishd`` runs in a different PID namespace on Linux, typically in a container deployment, ``VSM_NOPID`` must be added to the environment of other containers running programs attaching themselves to ``varnishd``'s shared memory. This will otherwise fail liveness checks performed by VSM consumers. Noteworthy changes when upgrading varnishd ========================================== Warning about failed memory locking ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``Warning: mlock() of VSM failed`` message is now emitted when locking of shared memory segments (via ``mlock(2)``) fails. As Varnish performance may be severely impacted if shared memory segments are not resident in RAM, users seeing this message are urged to review the ``RLIMIT_MEMLOCK`` resource control as set via ``ulimit -l`` or ``LimitMEMLOCK`` with ``systemd(1)``. This is not new at all, just now the warning has been added to make administrators more aware. .. _whatsnew_upgrading_7.6_linux_jail: Warning if tmpfs is not used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ On Linux (when the new ``linux`` jail is used), the ``Working directory not mounted on tmpfs partition`` warning is now emitted if the working directory is found to reside on a file system other than ``tmpfs``. While other file systems are supported (and might be the right choice where administrators understand how to avoid blocking disk IO while ``varnishd`` is writing to shared memory), ``tmpfs`` is the failsafe option to avoid performance issues. Upgrading VCL ============= .. _RFC9110: https://www.rfc-editor.org/rfc/rfc9110.html#section-14.4 An issue has been addressed in the ``builtin.vcl`` where backend responses would fail if they contained a ``Content-Range`` header when no range was requested. According to `RFC9110`_, this header should just be ignored, yet some Varnish users might prefer stricter checks. Thus, we decided to change the ``builtin.vcl`` only and users hitting this issue are advised to call ``vcl_beresp_range`` from custom VCL. Changes for developers and VMOD authors ======================================= The VDP filter API has changed. See :ref:`whatsnew_changes_7.6_VDP` for details. The signature of ``ObjWaitExtend()`` has changed. See :ref:`whatsnew_changes_7.6_Obj` for details. ``varnishd`` now creates a ``worker_tmpdir`` which can be used by VMODs for temporary files. See :ref:`ref-vmod-event-functions` for details. *eof*